From 6f2c04931b0d910ce95bcbad23e1752adfc40b56 Mon Sep 17 00:00:00 2001 From: jboisson Date: Tue, 15 Jan 2008 16:06:58 +0000 Subject: [PATCH] New docs are included git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@882 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-mo/doc/html/annotated.html | 75 +++ trunk/paradiseo-mo/doc/html/classes.html | 54 ++ .../doc/html/classmo_algo-members.html | 53 ++ trunk/paradiseo-mo/doc/html/classmo_algo.html | 69 +++ trunk/paradiseo-mo/doc/html/classmo_algo.png | Bin 0 -> 1092 bytes .../doc/html/classmo_aspir_crit-members.html | 43 ++ .../doc/html/classmo_aspir_crit.html | 99 ++++ .../doc/html/classmo_aspir_crit.png | Bin 0 -> 1233 bytes .../classmo_best_impr_select-members.html | 48 ++ .../doc/html/classmo_best_impr_select.html | 224 ++++++++ .../doc/html/classmo_best_impr_select.png | Bin 0 -> 1074 bytes .../doc/html/classmo_comparator-members.html | 42 ++ .../doc/html/classmo_comparator.html | 68 +++ .../doc/html/classmo_comparator.png | Bin 0 -> 872 bytes .../classmo_cooling_schedule-members.html | 42 ++ .../doc/html/classmo_cooling_schedule.html | 66 +++ .../doc/html/classmo_cooling_schedule.png | Bin 0 -> 1297 bytes ..._exponential_cooling_schedule-members.html | 45 ++ .../classmo_exponential_cooling_schedule.html | 157 ++++++ .../classmo_exponential_cooling_schedule.png | Bin 0 -> 928 bytes .../classmo_first_impr_select-members.html | 49 ++ .../doc/html/classmo_first_impr_select.html | 228 +++++++++ .../doc/html/classmo_first_impr_select.png | Bin 0 -> 1067 bytes .../html/classmo_fit_comparator-members.html | 43 ++ .../doc/html/classmo_fit_comparator.html | 115 +++++ .../doc/html/classmo_fit_comparator.png | Bin 0 -> 843 bytes .../classmo_fit_sol_continue-members.html | 46 ++ .../doc/html/classmo_fit_sol_continue.html | 185 +++++++ .../doc/html/classmo_fit_sol_continue.png | Bin 0 -> 896 bytes .../classmo_gen_sol_continue-members.html | 46 ++ .../doc/html/classmo_gen_sol_continue.html | 186 +++++++ .../doc/html/classmo_gen_sol_continue.png | Bin 0 -> 900 bytes .../doc/html/classmo_h_c-members.html | 59 +++ trunk/paradiseo-mo/doc/html/classmo_h_c.html | 231 +++++++++ .../classmo_h_c_move_loop_expl-members.html | 49 ++ .../doc/html/classmo_h_c_move_loop_expl.html | 204 ++++++++ .../doc/html/classmo_h_c_move_loop_expl.png | Bin 0 -> 1569 bytes .../doc/html/classmo_i_l_s-members.html | 64 +++ .../paradiseo-mo/doc/html/classmo_i_l_s.html | 477 ++++++++++++++++++ ...ssmo_impr_best_fit_aspir_crit-members.html | 48 ++ .../classmo_impr_best_fit_aspir_crit.html | 140 +++++ .../html/classmo_impr_best_fit_aspir_crit.png | Bin 0 -> 905 bytes .../classmo_it_rand_next_move-members.html | 48 ++ .../doc/html/classmo_it_rand_next_move.html | 182 +++++++ .../doc/html/classmo_it_rand_next_move.png | Bin 0 -> 847 bytes .../html/classmo_l_s_check_point-members.html | 45 ++ .../doc/html/classmo_l_s_check_point.html | 159 ++++++ .../doc/html/classmo_l_s_check_point.png | Bin 0 -> 647 bytes ...assmo_linear_cooling_schedule-members.html | 45 ++ .../html/classmo_linear_cooling_schedule.html | 157 ++++++ .../html/classmo_linear_cooling_schedule.png | Bin 0 -> 859 bytes .../doc/html/classmo_move-members.html | 43 ++ trunk/paradiseo-mo/doc/html/classmo_move.html | 72 +++ trunk/paradiseo-mo/doc/html/classmo_move.png | Bin 0 -> 598 bytes .../doc/html/classmo_move_expl-members.html | 42 ++ .../doc/html/classmo_move_expl.html | 70 +++ .../doc/html/classmo_move_expl.png | Bin 0 -> 1884 bytes .../html/classmo_move_incr_eval-members.html | 42 ++ .../doc/html/classmo_move_incr_eval.html | 67 +++ .../doc/html/classmo_move_incr_eval.png | Bin 0 -> 634 bytes .../doc/html/classmo_move_init-members.html | 42 ++ .../doc/html/classmo_move_init.html | 67 +++ .../doc/html/classmo_move_init.png | Bin 0 -> 570 bytes .../html/classmo_move_loop_expl-members.html | 42 ++ .../doc/html/classmo_move_loop_expl.html | 70 +++ .../doc/html/classmo_move_loop_expl.png | Bin 0 -> 2000 bytes .../doc/html/classmo_move_select-members.html | 45 ++ .../doc/html/classmo_move_select.html | 157 ++++++ .../doc/html/classmo_move_select.png | Bin 0 -> 1886 bytes .../doc/html/classmo_next_move-members.html | 42 ++ .../doc/html/classmo_next_move.html | 68 +++ .../doc/html/classmo_next_move.png | Bin 0 -> 861 bytes .../html/classmo_no_aspir_crit-members.html | 44 ++ .../doc/html/classmo_no_aspir_crit.html | 146 ++++++ .../doc/html/classmo_no_aspir_crit.png | Bin 0 -> 782 bytes ...ssmo_no_fit_impr_sol_continue-members.html | 49 ++ .../classmo_no_fit_impr_sol_continue.html | 198 ++++++++ .../html/classmo_no_fit_impr_sol_continue.png | Bin 0 -> 959 bytes .../classmo_rand_impr_select-members.html | 48 ++ .../doc/html/classmo_rand_impr_select.html | 226 +++++++++ .../doc/html/classmo_rand_impr_select.png | Bin 0 -> 1076 bytes .../doc/html/classmo_rand_move-members.html | 42 ++ .../doc/html/classmo_rand_move.html | 67 +++ .../doc/html/classmo_rand_move.png | Bin 0 -> 586 bytes .../doc/html/classmo_s_a-members.html | 62 +++ trunk/paradiseo-mo/doc/html/classmo_s_a.html | 209 ++++++++ ...classmo_simple_move_tabu_list-members.html | 53 ++ .../html/classmo_simple_move_tabu_list.html | 289 +++++++++++ .../html/classmo_simple_move_tabu_list.png | Bin 0 -> 883 bytes ...smo_simple_solution_tabu_list-members.html | 53 ++ .../classmo_simple_solution_tabu_list.html | 320 ++++++++++++ .../classmo_simple_solution_tabu_list.png | Bin 0 -> 906 bytes .../html/classmo_sol_continue-members.html | 43 ++ .../doc/html/classmo_sol_continue.html | 101 ++++ .../doc/html/classmo_sol_continue.png | Bin 0 -> 2035 bytes ...assmo_steady_fit_sol_continue-members.html | 51 ++ .../html/classmo_steady_fit_sol_continue.html | 217 ++++++++ .../html/classmo_steady_fit_sol_continue.png | Bin 0 -> 967 bytes .../doc/html/classmo_t_s-members.html | 60 +++ trunk/paradiseo-mo/doc/html/classmo_t_s.html | 256 ++++++++++ .../classmo_t_s_move_loop_expl-members.html | 51 ++ .../doc/html/classmo_t_s_move_loop_expl.html | 222 ++++++++ .../doc/html/classmo_t_s_move_loop_expl.png | Bin 0 -> 1577 bytes .../doc/html/classmo_tabu_list-members.html | 46 ++ .../doc/html/classmo_tabu_list.html | 177 +++++++ .../doc/html/classmo_tabu_list.png | Bin 0 -> 1364 bytes trunk/paradiseo-mo/doc/html/doxygen.css | 359 +++++++++++++ trunk/paradiseo-mo/doc/html/doxygen.png | Bin 0 -> 1281 bytes trunk/paradiseo-mo/doc/html/files.html | 69 +++ trunk/paradiseo-mo/doc/html/ftv2blank.png | Bin 0 -> 174 bytes trunk/paradiseo-mo/doc/html/ftv2doc.png | Bin 0 -> 255 bytes .../doc/html/ftv2folderclosed.png | Bin 0 -> 259 bytes .../paradiseo-mo/doc/html/ftv2folderopen.png | Bin 0 -> 261 bytes trunk/paradiseo-mo/doc/html/ftv2lastnode.png | Bin 0 -> 233 bytes trunk/paradiseo-mo/doc/html/ftv2link.png | Bin 0 -> 358 bytes trunk/paradiseo-mo/doc/html/ftv2mlastnode.png | Bin 0 -> 160 bytes trunk/paradiseo-mo/doc/html/ftv2mnode.png | Bin 0 -> 194 bytes trunk/paradiseo-mo/doc/html/ftv2node.png | Bin 0 -> 235 bytes trunk/paradiseo-mo/doc/html/ftv2plastnode.png | Bin 0 -> 165 bytes trunk/paradiseo-mo/doc/html/ftv2pnode.png | Bin 0 -> 200 bytes trunk/paradiseo-mo/doc/html/ftv2vertline.png | Bin 0 -> 229 bytes trunk/paradiseo-mo/doc/html/functions.html | 337 +++++++++++++ .../paradiseo-mo/doc/html/functions_func.html | 180 +++++++ .../paradiseo-mo/doc/html/functions_type.html | 81 +++ .../paradiseo-mo/doc/html/functions_vars.html | 196 +++++++ trunk/paradiseo-mo/doc/html/hierarchy.html | 133 +++++ trunk/paradiseo-mo/doc/html/index.html | 11 + .../doc/html/index_8h-source.html | 35 ++ trunk/paradiseo-mo/doc/html/installdox | 117 +++++ trunk/paradiseo-mo/doc/html/main.html | 51 ++ trunk/paradiseo-mo/doc/html/mo_8h-source.html | 105 ++++ .../doc/html/mo_algo_8h-source.html | 75 +++ .../doc/html/mo_aspir_crit_8h-source.html | 80 +++ .../html/mo_best_impr_select_8h-source.html | 123 +++++ .../doc/html/mo_comparator_8h-source.html | 74 +++ .../html/mo_cooling_schedule_8h-source.html | 74 +++ ...xponential_cooling_schedule_8h-source.html | 92 ++++ .../html/mo_first_impr_select_8h-source.html | 123 +++++ .../doc/html/mo_fit_comparator_8h-source.html | 83 +++ .../html/mo_fit_sol_continue_8h-source.html | 102 ++++ .../html/mo_gen_sol_continue_8h-source.html | 102 ++++ .../doc/html/mo_h_c_8h-source.html | 124 +++++ .../html/mo_h_c_move_loop_expl_8h-source.html | 146 ++++++ .../doc/html/mo_i_l_s_8h-source.html | 175 +++++++ ...mo_impr_best_fit_aspir_crit_8h-source.html | 117 +++++ .../html/mo_it_rand_next_move_8h-source.html | 111 ++++ .../html/mo_l_s_check_point_8h-source.html | 98 ++++ .../mo_linear_cooling_schedule_8h-source.html | 92 ++++ .../doc/html/mo_move_8h-source.html | 80 +++ .../doc/html/mo_move_expl_8h-source.html | 75 +++ .../doc/html/mo_move_incr_eval_8h-source.html | 75 +++ .../doc/html/mo_move_init_8h-source.html | 75 +++ .../doc/html/mo_move_loop_expl_8h-source.html | 76 +++ .../doc/html/mo_move_select_8h-source.html | 87 ++++ .../doc/html/mo_next_move_8h-source.html | 75 +++ .../doc/html/mo_no_aspir_crit_8h-source.html | 86 ++++ ...mo_no_fit_impr_sol_continue_8h-source.html | 133 +++++ .../html/mo_rand_impr_select_8h-source.html | 128 +++++ .../doc/html/mo_rand_move_8h-source.html | 75 +++ .../doc/html/mo_s_a_8h-source.html | 167 ++++++ .../mo_simple_move_tabu_list_8h-source.html | 168 ++++++ ...o_simple_solution_tabu_list_8h-source.html | 171 +++++++ .../doc/html/mo_sol_continue_8h-source.html | 80 +++ .../mo_steady_fit_sol_continue_8h-source.html | 148 ++++++ .../doc/html/mo_t_s_8h-source.html | 146 ++++++ .../html/mo_t_s_move_loop_expl_8h-source.html | 166 ++++++ .../doc/html/mo_tabu_list_8h-source.html | 87 ++++ trunk/paradiseo-mo/doc/html/search.idx | Bin 0 -> 368522 bytes trunk/paradiseo-mo/doc/html/search.php | 381 ++++++++++++++ trunk/paradiseo-mo/doc/html/tab_b.gif | Bin 0 -> 35 bytes trunk/paradiseo-mo/doc/html/tab_l.gif | Bin 0 -> 706 bytes trunk/paradiseo-mo/doc/html/tab_r.gif | Bin 0 -> 2585 bytes trunk/paradiseo-mo/doc/html/tabs.css | 102 ++++ trunk/paradiseo-mo/doc/html/tree.html | 248 +++++++++ trunk/paradiseo-mo/doc/latex/FreeSans.ttf | Bin 0 -> 22932 bytes trunk/paradiseo-mo/doc/latex/Makefile | 39 ++ trunk/paradiseo-mo/doc/latex/annotated.tex | 39 ++ trunk/paradiseo-mo/doc/latex/classmo_algo.eps | 215 ++++++++ trunk/paradiseo-mo/doc/latex/classmo_algo.tex | 27 + .../doc/latex/classmo_aspir_crit.eps | 215 ++++++++ .../doc/latex/classmo_aspir_crit.tex | 44 ++ .../doc/latex/classmo_best_impr_select.eps | 209 ++++++++ .../doc/latex/classmo_best_impr_select.tex | 115 +++++ .../doc/latex/classmo_comparator.eps | 209 ++++++++ .../doc/latex/classmo_comparator.tex | 27 + .../doc/latex/classmo_cooling_schedule.eps | 215 ++++++++ .../doc/latex/classmo_cooling_schedule.tex | 25 + .../classmo_exponential_cooling_schedule.eps | 209 ++++++++ .../classmo_exponential_cooling_schedule.tex | 83 +++ .../doc/latex/classmo_first_impr_select.eps | 209 ++++++++ .../doc/latex/classmo_first_impr_select.tex | 118 +++++ .../doc/latex/classmo_fit_comparator.eps | 209 ++++++++ .../doc/latex/classmo_fit_comparator.tex | 51 ++ .../doc/latex/classmo_fit_sol_continue.eps | 209 ++++++++ .../doc/latex/classmo_fit_sol_continue.tex | 101 ++++ .../doc/latex/classmo_gen_sol_continue.eps | 209 ++++++++ .../doc/latex/classmo_gen_sol_continue.tex | 100 ++++ trunk/paradiseo-mo/doc/latex/classmo_h_c.tex | 110 ++++ .../doc/latex/classmo_h_c_move_loop_expl.eps | 215 ++++++++ .../doc/latex/classmo_h_c_move_loop_expl.tex | 98 ++++ .../paradiseo-mo/doc/latex/classmo_i_l_s.tex | 149 ++++++ .../classmo_impr_best_fit_aspir_crit.eps | 209 ++++++++ .../classmo_impr_best_fit_aspir_crit.tex | 76 +++ .../doc/latex/classmo_it_rand_next_move.eps | 209 ++++++++ .../doc/latex/classmo_it_rand_next_move.tex | 94 ++++ .../doc/latex/classmo_l_s_check_point.eps | 203 ++++++++ .../doc/latex/classmo_l_s_check_point.tex | 77 +++ .../latex/classmo_linear_cooling_schedule.eps | 209 ++++++++ .../latex/classmo_linear_cooling_schedule.tex | 83 +++ trunk/paradiseo-mo/doc/latex/classmo_move.eps | 203 ++++++++ trunk/paradiseo-mo/doc/latex/classmo_move.tex | 33 ++ .../doc/latex/classmo_move_expl.eps | 221 ++++++++ .../doc/latex/classmo_move_expl.tex | 27 + .../doc/latex/classmo_move_incr_eval.eps | 203 ++++++++ .../doc/latex/classmo_move_incr_eval.tex | 27 + .../doc/latex/classmo_move_init.eps | 203 ++++++++ .../doc/latex/classmo_move_init.tex | 27 + .../doc/latex/classmo_move_loop_expl.eps | 221 ++++++++ .../doc/latex/classmo_move_loop_expl.tex | 27 + .../doc/latex/classmo_move_select.eps | 219 ++++++++ .../doc/latex/classmo_move_select.tex | 75 +++ .../doc/latex/classmo_next_move.eps | 209 ++++++++ .../doc/latex/classmo_next_move.tex | 27 + .../doc/latex/classmo_no_aspir_crit.eps | 209 ++++++++ .../doc/latex/classmo_no_aspir_crit.tex | 66 +++ .../classmo_no_fit_impr_sol_continue.eps | 209 ++++++++ .../classmo_no_fit_impr_sol_continue.tex | 110 ++++ .../doc/latex/classmo_rand_impr_select.eps | 209 ++++++++ .../doc/latex/classmo_rand_impr_select.tex | 119 +++++ .../doc/latex/classmo_rand_move.eps | 203 ++++++++ .../doc/latex/classmo_rand_move.tex | 27 + trunk/paradiseo-mo/doc/latex/classmo_s_a.tex | 104 ++++ .../latex/classmo_simple_move_tabu_list.eps | 209 ++++++++ .../latex/classmo_simple_move_tabu_list.tex | 146 ++++++ .../classmo_simple_solution_tabu_list.eps | 209 ++++++++ .../classmo_simple_solution_tabu_list.tex | 162 ++++++ .../doc/latex/classmo_sol_continue.eps | 223 ++++++++ .../doc/latex/classmo_sol_continue.tex | 44 ++ .../latex/classmo_steady_fit_sol_continue.eps | 209 ++++++++ .../latex/classmo_steady_fit_sol_continue.tex | 118 +++++ trunk/paradiseo-mo/doc/latex/classmo_t_s.tex | 113 +++++ .../doc/latex/classmo_t_s_move_loop_expl.eps | 215 ++++++++ .../doc/latex/classmo_t_s_move_loop_expl.tex | 106 ++++ .../doc/latex/classmo_tabu_list.eps | 215 ++++++++ .../doc/latex/classmo_tabu_list.tex | 79 +++ trunk/paradiseo-mo/doc/latex/doxygen.sty | 78 +++ trunk/paradiseo-mo/doc/latex/hierarchy.tex | 81 +++ trunk/paradiseo-mo/doc/latex/main.tex | 18 + trunk/paradiseo-mo/doc/latex/refman.tex | 75 +++ trunk/paradiseo-mo/doc/man/man3/moAlgo.3 | 27 + trunk/paradiseo-mo/doc/man/man3/moAspirCrit.3 | 46 ++ .../doc/man/man3/moBestImprSelect.3 | 128 +++++ .../paradiseo-mo/doc/man/man3/moComparator.3 | 29 ++ .../doc/man/man3/moCoolingSchedule.3 | 27 + .../man/man3/moExponentialCoolingSchedule.3 | 90 ++++ .../doc/man/man3/moFirstImprSelect.3 | 134 +++++ .../doc/man/man3/moFitComparator.3 | 56 ++ .../doc/man/man3/moFitSolContinue.3 | 107 ++++ .../doc/man/man3/moGenSolContinue.3 | 105 ++++ trunk/paradiseo-mo/doc/man/man3/moHC.3 | 132 +++++ .../doc/man/man3/moHCMoveLoopExpl.3 | 113 +++++ trunk/paradiseo-mo/doc/man/man3/moILS.3 | 220 ++++++++ .../doc/man/man3/moImprBestFitAspirCrit.3 | 88 ++++ .../doc/man/man3/moItRandNextMove.3 | 106 ++++ .../doc/man/man3/moLSCheckPoint.3 | 83 +++ .../doc/man/man3/moLinearCoolingSchedule.3 | 90 ++++ trunk/paradiseo-mo/doc/man/man3/moMove.3 | 35 ++ trunk/paradiseo-mo/doc/man/man3/moMoveExpl.3 | 29 ++ .../doc/man/man3/moMoveIncrEval.3 | 27 + trunk/paradiseo-mo/doc/man/man3/moMoveInit.3 | 27 + .../doc/man/man3/moMoveLoopExpl.3 | 29 ++ .../paradiseo-mo/doc/man/man3/moMoveSelect.3 | 84 +++ trunk/paradiseo-mo/doc/man/man3/moNextMove.3 | 29 ++ .../paradiseo-mo/doc/man/man3/moNoAspirCrit.3 | 71 +++ .../doc/man/man3/moNoFitImprSolContinue.3 | 121 +++++ .../doc/man/man3/moRandImprSelect.3 | 132 +++++ trunk/paradiseo-mo/doc/man/man3/moRandMove.3 | 27 + trunk/paradiseo-mo/doc/man/man3/moSA.3 | 130 +++++ .../doc/man/man3/moSimpleMoveTabuList.3 | 162 ++++++ .../doc/man/man3/moSimpleSolutionTabuList.3 | 176 +++++++ .../paradiseo-mo/doc/man/man3/moSolContinue.3 | 46 ++ .../doc/man/man3/moSteadyFitSolContinue.3 | 131 +++++ trunk/paradiseo-mo/doc/man/man3/moTS.3 | 142 ++++++ .../doc/man/man3/moTSMoveLoopExpl.3 | 125 +++++ trunk/paradiseo-mo/doc/man/man3/moTabuList.3 | 85 ++++ 285 files changed, 27160 insertions(+) create mode 100644 trunk/paradiseo-mo/doc/html/annotated.html create mode 100644 trunk/paradiseo-mo/doc/html/classes.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_algo-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_algo.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_algo.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_aspir_crit-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_aspir_crit.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_aspir_crit.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_best_impr_select-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_best_impr_select.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_best_impr_select.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_comparator-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_comparator.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_comparator.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_cooling_schedule-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_cooling_schedule.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_cooling_schedule.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_first_impr_select-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_first_impr_select.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_first_impr_select.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_fit_comparator-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_fit_comparator.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_fit_comparator.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_fit_sol_continue-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_fit_sol_continue.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_fit_sol_continue.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_gen_sol_continue-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_gen_sol_continue.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_gen_sol_continue.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_h_c-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_h_c.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_i_l_s-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_i_l_s.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_it_rand_next_move-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_it_rand_next_move.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_it_rand_next_move.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_l_s_check_point-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_l_s_check_point.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_l_s_check_point.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_linear_cooling_schedule-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_linear_cooling_schedule.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_linear_cooling_schedule.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_expl-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_expl.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_expl.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_incr_eval-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_incr_eval.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_incr_eval.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_init-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_init.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_init.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_loop_expl-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_loop_expl.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_loop_expl.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_select-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_select.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_move_select.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_next_move-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_next_move.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_next_move.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_rand_impr_select-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_rand_impr_select.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_rand_impr_select.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_rand_move-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_rand_move.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_rand_move.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_s_a-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_s_a.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_simple_solution_tabu_list-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_simple_solution_tabu_list.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_simple_solution_tabu_list.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_sol_continue-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_sol_continue.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_sol_continue.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_t_s-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_t_s.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl.png create mode 100644 trunk/paradiseo-mo/doc/html/classmo_tabu_list-members.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_tabu_list.html create mode 100644 trunk/paradiseo-mo/doc/html/classmo_tabu_list.png create mode 100644 trunk/paradiseo-mo/doc/html/doxygen.css create mode 100644 trunk/paradiseo-mo/doc/html/doxygen.png create mode 100644 trunk/paradiseo-mo/doc/html/files.html create mode 100644 trunk/paradiseo-mo/doc/html/ftv2blank.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2doc.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2folderclosed.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2folderopen.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2lastnode.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2link.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2mlastnode.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2mnode.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2node.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2plastnode.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2pnode.png create mode 100644 trunk/paradiseo-mo/doc/html/ftv2vertline.png create mode 100644 trunk/paradiseo-mo/doc/html/functions.html create mode 100644 trunk/paradiseo-mo/doc/html/functions_func.html create mode 100644 trunk/paradiseo-mo/doc/html/functions_type.html create mode 100644 trunk/paradiseo-mo/doc/html/functions_vars.html create mode 100644 trunk/paradiseo-mo/doc/html/hierarchy.html create mode 100644 trunk/paradiseo-mo/doc/html/index.html create mode 100644 trunk/paradiseo-mo/doc/html/index_8h-source.html create mode 100755 trunk/paradiseo-mo/doc/html/installdox create mode 100644 trunk/paradiseo-mo/doc/html/main.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_algo_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_aspir_crit_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_best_impr_select_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_comparator_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_cooling_schedule_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_exponential_cooling_schedule_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_first_impr_select_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_fit_comparator_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_fit_sol_continue_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_gen_sol_continue_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_h_c_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_h_c_move_loop_expl_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_i_l_s_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_impr_best_fit_aspir_crit_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_it_rand_next_move_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_l_s_check_point_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_linear_cooling_schedule_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_move_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_move_expl_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_move_incr_eval_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_move_init_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_move_loop_expl_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_move_select_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_next_move_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_no_aspir_crit_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_no_fit_impr_sol_continue_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_rand_impr_select_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_rand_move_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_s_a_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_simple_move_tabu_list_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_simple_solution_tabu_list_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_sol_continue_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_steady_fit_sol_continue_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_t_s_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_t_s_move_loop_expl_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/mo_tabu_list_8h-source.html create mode 100644 trunk/paradiseo-mo/doc/html/search.idx create mode 100644 trunk/paradiseo-mo/doc/html/search.php create mode 100644 trunk/paradiseo-mo/doc/html/tab_b.gif create mode 100644 trunk/paradiseo-mo/doc/html/tab_l.gif create mode 100644 trunk/paradiseo-mo/doc/html/tab_r.gif create mode 100644 trunk/paradiseo-mo/doc/html/tabs.css create mode 100644 trunk/paradiseo-mo/doc/html/tree.html create mode 100644 trunk/paradiseo-mo/doc/latex/FreeSans.ttf create mode 100644 trunk/paradiseo-mo/doc/latex/Makefile create mode 100644 trunk/paradiseo-mo/doc/latex/annotated.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_algo.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_algo.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_aspir_crit.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_aspir_crit.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_best_impr_select.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_best_impr_select.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_comparator.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_comparator.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_cooling_schedule.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_cooling_schedule.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_exponential_cooling_schedule.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_exponential_cooling_schedule.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_first_impr_select.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_first_impr_select.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_fit_comparator.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_fit_comparator.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_fit_sol_continue.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_fit_sol_continue.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_gen_sol_continue.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_gen_sol_continue.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_h_c.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_h_c_move_loop_expl.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_h_c_move_loop_expl.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_i_l_s.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_impr_best_fit_aspir_crit.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_impr_best_fit_aspir_crit.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_it_rand_next_move.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_it_rand_next_move.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_l_s_check_point.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_l_s_check_point.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_linear_cooling_schedule.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_linear_cooling_schedule.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_expl.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_expl.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_incr_eval.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_incr_eval.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_init.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_init.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_loop_expl.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_loop_expl.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_select.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_move_select.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_next_move.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_next_move.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_no_aspir_crit.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_no_aspir_crit.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_no_fit_impr_sol_continue.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_no_fit_impr_sol_continue.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_rand_impr_select.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_rand_impr_select.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_rand_move.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_rand_move.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_s_a.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_simple_move_tabu_list.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_simple_move_tabu_list.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_simple_solution_tabu_list.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_simple_solution_tabu_list.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_sol_continue.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_sol_continue.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_steady_fit_sol_continue.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_steady_fit_sol_continue.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_t_s.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_t_s_move_loop_expl.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_t_s_move_loop_expl.tex create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_tabu_list.eps create mode 100644 trunk/paradiseo-mo/doc/latex/classmo_tabu_list.tex create mode 100644 trunk/paradiseo-mo/doc/latex/doxygen.sty create mode 100644 trunk/paradiseo-mo/doc/latex/hierarchy.tex create mode 100644 trunk/paradiseo-mo/doc/latex/main.tex create mode 100644 trunk/paradiseo-mo/doc/latex/refman.tex create mode 100644 trunk/paradiseo-mo/doc/man/man3/moAlgo.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moAspirCrit.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moBestImprSelect.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moComparator.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moCoolingSchedule.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moExponentialCoolingSchedule.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moFirstImprSelect.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moFitComparator.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moFitSolContinue.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moGenSolContinue.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moHC.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moHCMoveLoopExpl.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moILS.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moImprBestFitAspirCrit.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moItRandNextMove.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moLSCheckPoint.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moLinearCoolingSchedule.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moMove.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moMoveExpl.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moMoveIncrEval.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moMoveInit.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moMoveLoopExpl.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moMoveSelect.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moNextMove.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moNoAspirCrit.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moNoFitImprSolContinue.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moRandImprSelect.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moRandMove.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moSA.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moSimpleMoveTabuList.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moSimpleSolutionTabuList.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moSolContinue.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moSteadyFitSolContinue.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moTS.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moTSMoveLoopExpl.3 create mode 100644 trunk/paradiseo-mo/doc/man/man3/moTabuList.3 diff --git a/trunk/paradiseo-mo/doc/html/annotated.html b/trunk/paradiseo-mo/doc/html/annotated.html new file mode 100644 index 000000000..fbcc620e5 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/annotated.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOMovingObjects: Class List + + + + +
+ +
+
+ +
+

ParadisEO-MOMovingObjects Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moAlgo< EOT >Description of an algorithm of the paradiseo-mo library
moAspirCrit< M >Description of the conditions in which a tabu move could be accepted
moBestImprSelect< M >One of the possible moMoveSelect
moComparator< EOT >Template for classes which need to compare two EOT and indicate if the first is "better" than the second
moCoolingScheduleThis class gives the description of a cooling schedule
moExponentialCoolingScheduleOne of the possible moCoolingSchedule
moFirstImprSelect< M >One possible moMoveSelect
moFitComparator< EOT >Comparison according to the fitness
moFitSolContinue< EOT >One possible stop criterion for a solution-based heuristic
moGenSolContinue< EOT >One possible stop criterion for a solution-based heuristic
moHC< M >Hill Climbing (HC)
moHCMoveLoopExpl< M >Iterative explorer used by a moHC
moILS< M >Iterated Local Search (ILS)
moImprBestFitAspirCrit< M >One of the possible moAspirCrit
moItRandNextMove< M >One of the possible moNextMove
moLinearCoolingScheduleOne of the possible moCoolingSchedule
moLSCheckPoint< M >Class which allows a checkpointing system
moMove< EOT >Definition of a move
moMoveExpl< M >Description of a move (moMove) explorer
moMoveIncrEval< M >(generally) Efficient evaluation function based a move and a solution
moMoveInit< M >Move (moMove) initializer
moMoveLoopExpl< M >Class which describes an iterative explorer
moMoveSelect< M >Class that describes a move selector (moMove)
moNextMove< M >Class which allows to generate a new move (moMove)
moNoAspirCrit< M >One of the possible aspiration criterion (moAspirCrit)
moNoFitImprSolContinue< EOT >One possible stop criterion for a solution-based heuristic
moRandImprSelect< M >One of the possible moMove selector (moMoveSelect)
moRandMove< M >Random move generator
moSA< M >Simulated Annealing (SA)
moSimpleMoveTabuList< M >Class describing a move tabu list with a limited memory
moSimpleSolutionTabuList< M >Class describing a solution tabu list with limited length
moSolContinue< EOT >Class that describes a stop criterion for a solution-based heuristic
moSteadyFitSolContinue< EOT >One possible stopping criterion for a solution-based heuristic
moTabuList< M >Class describing a tabu list that a moTS uses
moTS< M >Tabu Search (TS)
moTSMoveLoopExpl< M >Explorer for a Tabu Search algorithm
+
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classes.html b/trunk/paradiseo-mo/doc/html/classes.html new file mode 100644 index 000000000..72bd18c67 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classes.html @@ -0,0 +1,54 @@ + + +ParadisEO-MOMovingObjects: Alphabetical List + + + + +
+ +
+
+ +
+

ParadisEO-MOMovingObjects Class Index

A | B | C | E | F | G | H | I | L | M | N | R | S | T

+ +
  A  
+
moHC   moNextMove   
moAlgo   moHCMoveLoopExpl   moNoAspirCrit   
moAspirCrit   
  I  
+
moNoFitImprSolContinue   
  B  
+
moILS   
  R  
+
moBestImprSelect   moImprBestFitAspirCrit   moRandImprSelect   
  C  
+
moItRandNextMove   moRandMove   
moComparator   
  L  
+
  S  
+
moCoolingSchedule   moLinearCoolingSchedule   moSA   
  E  
+
moLSCheckPoint   moSimpleMoveTabuList   
moExponentialCoolingSchedule   
  M  
+
moSimpleSolutionTabuList   
  F  
+
moMove   moSolContinue   
moFirstImprSelect   moMoveExpl   moSteadyFitSolContinue   
moFitComparator   moMoveIncrEval   
  T  
+
moFitSolContinue   moMoveInit   moTabuList   
  G  
+
moMoveLoopExpl   moTS   
moGenSolContinue   moMoveSelect   moTSMoveLoopExpl   
  H  
+
  N  
+

A | B | C | E | F | G | H | I | L | M | N | R | S | T

+


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_algo-members.html b/trunk/paradiseo-mo/doc/html/classmo_algo-members.html new file mode 100644 index 000000000..4f6911c72 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_algo-members.html @@ -0,0 +1,53 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+
+ +
+

moAlgo< EOT > Member List

This is the complete list of members for moAlgo< EOT >, including all inherited members.

+ + + + + + + + + + + + + + + +
binaryeoOp< EOType >
className() consteoMonOp< EOT > [virtual]
eoMonOp()eoMonOp< EOT >
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
functor_category()eoUF< EOT &, bool > [static]
generaleoOp< EOType >
getType() consteoOp< EOType >
operator()(EOT &)=0eoUF< EOT &, bool > [pure virtual]
OpType enum nameeoOp< EOType >
quadraticeoOp< EOType >
unaryeoOp< EOType >
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]
~eoUF()eoUF< EOT &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_algo.html b/trunk/paradiseo-mo/doc/html/classmo_algo.html new file mode 100644 index 000000000..c6d837c42 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_algo.html @@ -0,0 +1,69 @@ + + +ParadisEO-MOMovingObjects: moAlgo< EOT > Class Template Reference + + + + +
+ +
+
+ +
+

moAlgo< EOT > Class Template Reference

Description of an algorithm of the paradiseo-mo library. +More... +

+#include <moAlgo.h> +

+

+Inheritance diagram for moAlgo< EOT >:
+
+ +

+ +eoMonOp< EOT > +eoOp< EOType > +eoUF< EOT &, bool > +eoFunctorBase + +
+ +

+List of all members. + +
+


Detailed Description

+

template<class EOT>
+ class moAlgo< EOT >

+ +Description of an algorithm of the paradiseo-mo library. +

+moHC, moTS and moSA are 3 examples of algorithm of the paradiseo-mo library. +

Definition at line 46 of file moAlgo.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_algo.png b/trunk/paradiseo-mo/doc/html/classmo_algo.png new file mode 100644 index 0000000000000000000000000000000000000000..7c245ada8d1f436c674f5b4d196153779df1e6eb GIT binary patch literal 1092 zcmZ{jeK6Yx7{`P4dUUEfE!ACC!b0n2SG6wun$RYV92G>Q)TEq--CDi2NCOeI;dFs5Vn>IyW{ko z4FQz_L7X8HrRxn(wq+0YW(~wXt{E+hQd(NN5)x0f#rFEYDjVe&EWk9i3|TPW79+iT zZi#e*yj~6?SrleW3ABEk#+A(Rmb3~@fTg17EUFz~rX{KXTAk1daiH*odn5l0YqLl% zp@6mDj&##-h)?iM^Ho<7g5Bx*)s6Tzt?;)(r|Qr9qHM@qGq9RnJHbq5>MnG4ebq9g z-P%cb6q&#F00Dk?dAP$~d{_5AIO-4Cf&at(Ck?;%_)#5osTD0)C$+kWJAn2=1y^Od zJi|M8-k8vc#K6$)LxBv*cyRr#kTKmxt(}s0sp`wXo-X0Z0!j%~dN26ai}d9@s8&ECb2;ktR@2+p9~ZW* zUh$D%gX-4+*Pt@K4GpGtdEtf#OTu*J%p!Un4~|i z_tpyCuF52>`#*lB6z9;1jiD`Vdq2HYOe!uP#A-Ui1{IWud=(C8I<{07g(c>hg5e|L z1?9c6@y(H3LSOR;yeLerRD^8icGzJN72R0I1i8F9PA$qAcRxxdA(gh~fJg0mexjR} z^Cn9HUS~5C%mFrc;Ltx%wNpr(i9|xP)WZ0{#QC)XI-Vq|Ankkz*32$NRmapz;FWy6 zDjR*<<@;U-!DFar3134_e?#WQQd2a^E|a2-5~X)#Tr#k@A4^1dYSWJtZcgR~0{Hd| zCiW$CjsWL5gH}KzwglPHuev4hAJY02gq3vP)^jO)x!UGWXZWM6Zz`=0X2ki@PMTVg z!(`#BDT)X>m73BrnBYu&7T0-AK#+$sX+QsG?|(1&+ZHv$;N@Y67jMdor#7{6SF4*e zHyhw0C$HYF>6`YW5TxWut2A%f{ppsWr`uwlEr2tMVCy#7n7AM);W4IAbtX9ZE z;1rV{;`-_V$Z@$O!BC~U!)m}<0PM80Vz%mK`Y~trQ_&YaUmGJ2!k_|?%!}6_{RzoE BJ9Pj6 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_aspir_crit-members.html b/trunk/paradiseo-mo/doc/html/classmo_aspir_crit-members.html new file mode 100644 index 000000000..2510f8d7e --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_aspir_crit-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moAspirCrit< M > Member List

This is the complete list of members for moAspirCrit< M >, including all inherited members.

+ + + + + +
functor_category()eoBF< A1, A2, R > [static]
init()=0moAspirCrit< M > [pure virtual]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_aspir_crit.html b/trunk/paradiseo-mo/doc/html/classmo_aspir_crit.html new file mode 100644 index 000000000..8d96bdedb --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_aspir_crit.html @@ -0,0 +1,99 @@ + + +ParadisEO-MOMovingObjects: moAspirCrit< M > Class Template Reference + + + + +
+ +
+ +

moAspirCrit< M > Class Template Reference

Description of the conditions in which a tabu move could be accepted. +More... +

+#include <moAspirCrit.h> +

+

+Inheritance diagram for moAspirCrit< M >:
+
+ +

+ +eoBF< A1, A2, R > +eoFunctorBase +moImprBestFitAspirCrit< M > +moNoAspirCrit< M > + +
+ +

+List of all members. + + + + + +

Public Member Functions

virtual void init ()=0
 Procedure which initialises all that needs an aspiration criterion.
+


Detailed Description

+

template<class M>
+ class moAspirCrit< M >

+ +Description of the conditions in which a tabu move could be accepted. +

+It is only a description... An object that herits from this class is needed to be used in a moTS. See moNoAspriCrit for example. +

Definition at line 47 of file moAspirCrit.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + +
virtual void moAspirCrit< M >::init (  )  [pure virtual]
+
+
+ +

+Procedure which initialises all that needs an aspiration criterion. +

+It can be possible that this procedure does nothing... +

Implemented in moImprBestFitAspirCrit< M >, and moNoAspirCrit< M >.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_aspir_crit.png b/trunk/paradiseo-mo/doc/html/classmo_aspir_crit.png new file mode 100644 index 0000000000000000000000000000000000000000..e6cefe1bfc95c5549aef2ed609a360dc8c7c1e9c GIT binary patch literal 1233 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wrr53n!;$=jcwTm(`Q0X`wF|Ns97GXMWSFn@l+ z1Rx8H4;(m9edzxaAeXTu$S;_|;n|He1_qXNPZ!6KiaBrR=H|^Y5NK=GdTRcSw=HHt z*3xF>E`L{jba=+c=JJBDlt-1-+Lzv2{fcx8ToE5E$|!ZA zp-$37GI_G|?kQ%xdu_LPue^Ibm*Lh|gP9Dzc^i*S-@z2`!+7g`tJPZv_Dd(-G9H(A zhClIsym0T;=iyG$lRp`6`LRVmm*-ZYs_k4y_U{JwY`5{hx_aSqiM-XCm*1ExclvuT z59Yf&%U^x*@st^7r+#>G&@OjPZtjB$do(z9P(KXS-6!z<0hI`@Ofm#mAEOdO(x z3$<3lR3`N)Q}6Se&3`N-PE*>B;&;0uD+*4gS_{_*yffuQG}`{qUR zvs7khHXgiu!P~n~S@@)Exlhhx7yn=%#p-(xm@{@e<=4zg(Oo(H@L@f2SbXBT$9WUrcG z`$z0cFq<%=)l{P|*)92%Ga2S`U6^UN>RdzkC$5Dq{~0>Wj + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moBestImprSelect< M > Member List

This is the complete list of members for moBestImprSelect< M >, including all inherited members.

+ + + + + + + + + + +
best_fitnessmoBestImprSelect< M > [private]
best_movemoBestImprSelect< M > [private]
first_timemoBestImprSelect< M > [private]
Fitness typedefmoBestImprSelect< M >
functor_category()eoBF< M &, M::EOType::Fitness &, void > [static]
init(const Fitness &_fitness)moBestImprSelect< M > [inline, virtual]
operator()(M &_move, Fitness &_fitness)moBestImprSelect< M > [inline, virtual]
update(const M &_move, const Fitness &_fitness)moBestImprSelect< M > [inline, virtual]
~eoBF()eoBF< M &, M::EOType::Fitness &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_best_impr_select.html b/trunk/paradiseo-mo/doc/html/classmo_best_impr_select.html new file mode 100644 index 000000000..146b1a4ab --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_best_impr_select.html @@ -0,0 +1,224 @@ + + +ParadisEO-MOMovingObjects: moBestImprSelect< M > Class Template Reference + + + + +
+ +
+ +

moBestImprSelect< M > Class Template Reference

One of the possible moMoveSelect. +More... +

+#include <moBestImprSelect.h> +

+

+Inheritance diagram for moBestImprSelect< M >:
+
+ +

+ +moMoveSelect< M > +eoBF< M &, M::EOType::Fitness &, void > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef M::EOType::Fitness Fitness
 Alias for the fitness.

Public Member Functions

void init (const Fitness &_fitness)
 Procedure which initialise the exploration.
bool update (const M &_move, const Fitness &_fitness)
 Function that indicates if the current move has not improved the fitness.
void operator() (M &_move, Fitness &_fitness)
 Procedure which saved the best move and fitness.

Private Attributes

+bool first_time
 Allowing to know if at least one move has been generated.
+M best_move
 The best move.
+Fitness best_fitness
 The best fitness.
+


Detailed Description

+

template<class M>
+ class moBestImprSelect< M >

+ +One of the possible moMoveSelect. +

+All neighbors are considered, and the movement which enables the best improvement is selected. +

Definition at line 47 of file moBestImprSelect.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
void moBestImprSelect< M >::init (const Fitness _fitness  )  [inline, virtual]
+
+
+ +

+Procedure which initialise the exploration. +

+

Parameters:
+ + +
_fitness The current fitness.
+
+ +

Implements moMoveSelect< M >.

+ +

Definition at line 58 of file moBestImprSelect.h.

+ +

References moBestImprSelect< M >::first_time.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
bool moBestImprSelect< M >::update (const M &  _move,
const Fitness _fitness 
) [inline, virtual]
+
+
+ +

+Function that indicates if the current move has not improved the fitness. +

+If the given fitness enables an improvment, the move (moMove) and the fitness linked to this move are saved.

+

Parameters:
+ + + +
_move a move.
_fitness a fitness linked to the move.
+
+
Returns:
TRUE if the move does not improve the fitness.
+ +

Implements moMoveSelect< M >.

+ +

Definition at line 76 of file moBestImprSelect.h.

+ +

References moBestImprSelect< M >::best_fitness, moBestImprSelect< M >::best_move, and moBestImprSelect< M >::first_time.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
void moBestImprSelect< M >::operator() (M &  _move,
Fitness _fitness 
) [inline, virtual]
+
+
+ +

+Procedure which saved the best move and fitness. +

+

Parameters:
+ + + +
_move the current move (result of the procedure).
_fitness the current fitness (result of the procedure).
+
+ +

Implements eoBF< M &, M::EOType::Fitness &, void >.

+ +

Definition at line 94 of file moBestImprSelect.h.

+ +

References moBestImprSelect< M >::best_fitness, moBestImprSelect< M >::best_move, and moBestImprSelect< M >::first_time.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_best_impr_select.png b/trunk/paradiseo-mo/doc/html/classmo_best_impr_select.png new file mode 100644 index 0000000000000000000000000000000000000000..e803a39a43bee14670efe218d4fc1ad1dcdaf15e GIT binary patch literal 1074 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K54zMr-Ny)Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fr0sir;B4q#hkaZ1E*pQZ}DCqV~hWq?(;8{P}zz9zWjATvPMs=QD=8-2xzKWN?nT zWWVFZzhb-$3>%nMTv3YrC;Wf*QqviEGk%%f>X9;I5nlO~`RxQX zdmGoH{q-z260#V4-dM04IG3=?SIjeqf1`BE-#eSxuSbOBuVmQtOE}iFufy(n633YX zpBNnUR9k0-NX>FQvq`9Wic~{P(c+yf54aM(P1G}HNtp9 zB(vT@FP=n+SCI!~obNHLF;#f#b8k)K3|5z;GN(Rv7<+z_y52a4eY)`GC7D4*hTMmm zm!@Qk+2qgnUYK1M|9OM(gU=Gu(-%9-ovRZInSM3=*7RQnOb5zYU;Nv;=Qsc4a`qQ` zw@aZ!Tnlmtg4uUJ{Lz(SV0duDYxS#hTLRWz-pcg&DZ`bF33F0Aq!hmFJJhQj4T{QFDJBzzEpa0-%hT<2~Hbxo?FkDYpcy4DBeREA?fQ32MSp`dPTpmsbZ@-8@vXVEL#~)zMFlJP3`C0pjaD43l@X5Z9EUk?yr&LXz(^R5WN`8 z>(jb-9b`s* literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_comparator-members.html b/trunk/paradiseo-mo/doc/html/classmo_comparator-members.html new file mode 100644 index 000000000..0f0f93eab --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_comparator-members.html @@ -0,0 +1,42 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moComparator< EOT > Member List

This is the complete list of members for moComparator< EOT >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_comparator.html b/trunk/paradiseo-mo/doc/html/classmo_comparator.html new file mode 100644 index 000000000..faef4c0ea --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_comparator.html @@ -0,0 +1,68 @@ + + +ParadisEO-MOMovingObjects: moComparator< EOT > Class Template Reference + + + + +
+ +
+ +

moComparator< EOT > Class Template Reference

Template for classes which need to compare two EOT and indicate if the first is "better" than the second. +More... +

+#include <moComparator.h> +

+

+Inheritance diagram for moComparator< EOT >:
+
+ +

+ +eoBF< A1, A2, R > +eoFunctorBase +moFitComparator< EOT > + +
+ +

+List of all members. + +
+


Detailed Description

+

template<class EOT>
+ class moComparator< EOT >

+ +Template for classes which need to compare two EOT and indicate if the first is "better" than the second. +

+The objects that extend this template describe how an EOT is "better" than an other. +

Definition at line 45 of file moComparator.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_comparator.png b/trunk/paradiseo-mo/doc/html/classmo_comparator.png new file mode 100644 index 0000000000000000000000000000000000000000..5c939a24d0996e4f7294867d7dde79718b0c1b35 GIT binary patch literal 872 zcmV-u1DE`XP)==B^0000OP)t-s|Ns90 z00960z@MLBkN^MxkN^Mxkifved&2+Z00001bW%=J06^y0W&i*J{z*hZRA_iv(fU}FM-q_kx&v?c&-b~)??~_;m z{%pMXAWy|Q3$EMZNqmG(XNI5mseYIzDjuC>y(F7G;PJC}kGB@Qb(oiz3X}&jT+BVi zH!OMepu0Rsiy>m#@RIKuKRD(Al>Q|{&I}fe%GVum=ige57m{*|RJrb=+7thJ@q5HO ziJ#^dpjfKOJXBsfJuqKRrR;pT1~|^E5Ql4&pZNd4c+c==-!Et1&%cLf>o0H0WSsGg zXFTH>&v?eWG7qMTU;NZz7;iQYpl|7RR=}nXYWs%gmIIG#p3kO!r%%V;htoQJ;@@!W zoDUB0IS4vwZam+)dgg&+Lb|Y%WAE4i;-@wj=UW~$yl7wY^jJ+2&kK&@SNaE|JjXEz zpNS{9cDyji^ZHZ!x91)D=a$5YzrMrU;#cIiAHSGao_`?yCBKfx8`_-T)KBN%VSan! zj!zxQNAq3~q|QTKQBecsjIU;bbo zait4#Jxf + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moCoolingSchedule Member List

This is the complete list of members for moCoolingSchedule, including all inherited members.

+ + + + +
functor_category()eoUF< double &, bool > [static]
operator()(double &)=0eoUF< double &, bool > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< double &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_cooling_schedule.html b/trunk/paradiseo-mo/doc/html/classmo_cooling_schedule.html new file mode 100644 index 000000000..33e851312 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_cooling_schedule.html @@ -0,0 +1,66 @@ + + +ParadisEO-MOMovingObjects: moCoolingSchedule Class Reference + + + + +
+ +
+ +

moCoolingSchedule Class Reference

This class gives the description of a cooling schedule. +More... +

+#include <moCoolingSchedule.h> +

+

+Inheritance diagram for moCoolingSchedule:
+
+ +

+ +eoUF< double &, bool > +eoFunctorBase +moExponentialCoolingSchedule +moLinearCoolingSchedule + +
+ +

+List of all members. + +
+


Detailed Description

+This class gives the description of a cooling schedule. +

+It is only a description... An object that herits from this class is needed to be used in a moSA. See moExponentialCoolingSchedule or moLinearCoolingSchedule for example. +

Definition at line 46 of file moCoolingSchedule.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_cooling_schedule.png b/trunk/paradiseo-mo/doc/html/classmo_cooling_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..f60c26373fa68cbc49fdab1b9f4dacd895aa4613 GIT binary patch literal 1297 zcmeAS@N?(olHy`uVBq!ia0y~yU~B=h53n!;$#1%xdO%7dz$e7@|Ns9$=Kuc(=Fd-< z0AzvjfddDs5B+}v;Z(`AHYO&doWqW(-4yA8N)&sR>aossi7 zDMsMaWAzq^3&(gB*_xJeBxpt9C0+?C)z?RVsY9*E6e`3HrgIKbi2;HrIr)ybrHoo z|J8gJTHNE(4q@i_&i^TgVPT`fc{YKl8Rwb~I1)rMf>tY5ZCAK+<9D={APe7Ajzip9 zGsC9%eKk(DdAE5n)BE+8!c^~G+4An>3F(FJ*NRr%*W3N}z*nd1H*Ia6`Zw7>*ICz} z(D}%SrQ>bU^Sj&1IsUmenm2t)wYsHKwQHUD3QuE}{pp+^7uiMSbu9SRkdR*H67k3A zpzuO(fhk^94_ADjp3Qx5yP5NgUuQhT5-cYav@&{xtFT}Fe(=U`ql|~!m2xwmGCy#= zSHEPF*RS8oC9V4p8@N1p`d4=<2UEKj%fkfK@B2A}HTt$6;=0Ok=x?))v_po%iOuLy zE@0nsTslNDam}0ftM9jO+*Gg1!EO@vZ9U7whGVDxO;wP&5OH(APz$q^_V4hf0*B<( z|6T%o89>#4=X12qH2XJA^#9XU8b1F%E?@Iw`>$A2`!4qtQAejMyzvz1TVcww`5Q~V zmvP6-k4`r=>t!S#Z}jWCCh(>B+qR_p-5lL-`>$X4eCm1X**hN{TV|fBUCwbVG1$m) zck-X+4a<8ue+Jh21!}F{*s$!*L@PDbD^ubGt4sPCjynF1n{i1Zs(R;p9!KX-6N++c zZXGX~{ABZ-NzuQIXGj?>^HVjpefUR`F-d!pw!z*MpgP4Zf*&qE`Rp=B&Caqej5pN2 z<=^bsO)Uno=AuWv>mO7LGTvVDA1n;>cu`JW=h0O%aYSt^xm^1y3 z9{&;>!IgeyYERVezHhz2{&e4U0h4q0pU>l-yDt5z#9YafOsdQ$nWy}&b1Kkolr=xu zWpc#k><%T#UokVnc+1blIk>$I=i0Jny+;XKL(tJh<}O;_<|>`pGT+eTYFXQr;`!%x z-wdC7PU%G#NA*6>bU~h+`S#5lp3lB=>-rupp%!JKme{?l3qSO^FRUvPUKaA7;Y&Bq V`EVhDmB8|g!PC{xWt~$(695jyPS^kd literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule-members.html b/trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule-members.html new file mode 100644 index 000000000..153dd866e --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule-members.html @@ -0,0 +1,45 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moExponentialCoolingSchedule Member List

This is the complete list of members for moExponentialCoolingSchedule, including all inherited members.

+ + + + + + + +
functor_category()eoUF< double &, bool > [static]
moExponentialCoolingSchedule(double _threshold, double _ratio)moExponentialCoolingSchedule [inline]
operator()(double &_temperature)moExponentialCoolingSchedule [inline, virtual]
ratiomoExponentialCoolingSchedule [private]
thresholdmoExponentialCoolingSchedule [private]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< double &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule.html b/trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule.html new file mode 100644 index 000000000..c22a246d0 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule.html @@ -0,0 +1,157 @@ + + +ParadisEO-MOMovingObjects: moExponentialCoolingSchedule Class Reference + + + + +
+ +
+ +

moExponentialCoolingSchedule Class Reference

One of the possible moCoolingSchedule. +More... +

+#include <moExponentialCoolingSchedule.h> +

+

+Inheritance diagram for moExponentialCoolingSchedule:
+
+ +

+ +moCoolingSchedule +eoUF< double &, bool > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + +

Public Member Functions

 moExponentialCoolingSchedule (double _threshold, double _ratio)
 Simple constructor.
bool operator() (double &_temperature)
 Function which proceeds to the cooling.

Private Attributes

+double threshold
 The temperature threhold.
+double ratio
 The decreasing factor of the temperature.
+


Detailed Description

+One of the possible moCoolingSchedule. +

+An other very simple cooling schedule, the temperature decrease according to a ratio while the temperature is greater than a given threshold. +

Definition at line 46 of file moExponentialCoolingSchedule.h.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
moExponentialCoolingSchedule::moExponentialCoolingSchedule (double  _threshold,
double  _ratio 
) [inline]
+
+
+ +

+Simple constructor. +

+

Parameters:
+ + + +
_threshold the threshold.
_ratio the ratio used to descrease the temperature.
+
+ +

Definition at line 55 of file moExponentialCoolingSchedule.h.

+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
bool moExponentialCoolingSchedule::operator() (double &  _temperature  )  [inline, virtual]
+
+
+ +

+Function which proceeds to the cooling. +

+It decreases the temperature and indicates if it is greater than the threshold.

+

Parameters:
+ + +
_temperature the current temperature.
+
+
Returns:
if the new temperature (current temperature * ratio) is greater than the threshold.
+ +

Implements eoUF< double &, bool >.

+ +

Definition at line 65 of file moExponentialCoolingSchedule.h.

+ +

References ratio, and threshold.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule.png b/trunk/paradiseo-mo/doc/html/classmo_exponential_cooling_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..02c711475435533e49c9c1d63701878b8f0800f9 GIT binary patch literal 928 zcmV;R17G}!P)`4{zn*)gaNpRs2#{_Xhy zP_$^W;+yz2hbAj6hqm!4tUIg{nTA9dEr8LC82LPa$DHCvXrLrMl33y$f!8lh+S|zi zKJXsWt%Q&2|6mf6W*F#GO!e{!Qy2_xXG_xO>h={ZCrO8UKp^i})dAOt6r| z5Br~huEftfit&wqZ+`FRlg9GZI^kaYU$1BLU$3u6^Pe6+#y7t4jc4R7@!R>xvKtg_DOA=m+h)TK@v&+z`AHXR;!l!Q$tT27HAG_R5G%guqDkr6=TDNG z@@Xc%6?)s`pQMY*6gbLffekC8T$GQK|119N1~dL7d5RW^;~Jk2K2&LyU*BM{{;~AW z#`*=TxTf{*`kzYwQ`%jV|1}V(3I>gzsDT#o1L;OB@zYqo{|n$6|NFl%e&+9+@&6yc z_wz~b=c{}1P5=BX|LO5#eB&G6_{KNB@s0m{e((2-r@wz0|2&^^YFkdzQ)6ydttNhv z+0}!8VP}6V*7iebK7<+pCanmnnIytBEUo7Z>Az z=Y)!L(wZ&~oOJUf(6OEec-dPFbdbJii9^{J!uJpjJTlJn(kd?6?R6K@ke&b%BMbs| zdeP;2Ve*{lf5?Px?R++6$>*Jx{BXlG7`FL(e_mkb^RX}Zu3m-m*8P)e znO|(f73W* + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moFirstImprSelect< M > Member List

This is the complete list of members for moFirstImprSelect< M >, including all inherited members.

+ + + + + + + + + + + +
best_fitnessmoFirstImprSelect< M > [private]
best_movemoFirstImprSelect< M > [private]
Fitness typedefmoFirstImprSelect< M >
functor_category()eoBF< M &, M::EOType::Fitness &, void > [static]
init(const Fitness &_fitness)moFirstImprSelect< M > [inline, virtual]
initial_fitnessmoFirstImprSelect< M > [private]
operator()(M &_move, Fitness &_fitness)moFirstImprSelect< M > [inline, virtual]
update(const M &_move, const Fitness &_fitness)moFirstImprSelect< M > [inline, virtual]
validmoFirstImprSelect< M > [private]
~eoBF()eoBF< M &, M::EOType::Fitness &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_first_impr_select.html b/trunk/paradiseo-mo/doc/html/classmo_first_impr_select.html new file mode 100644 index 000000000..fef07c125 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_first_impr_select.html @@ -0,0 +1,228 @@ + + +ParadisEO-MOMovingObjects: moFirstImprSelect< M > Class Template Reference + + + + +
+ +
+ +

moFirstImprSelect< M > Class Template Reference

One possible moMoveSelect. +More... +

+#include <moFirstImprSelect.h> +

+

+Inheritance diagram for moFirstImprSelect< M >:
+
+ +

+ +moMoveSelect< M > +eoBF< M &, M::EOType::Fitness &, void > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef M::EOType::Fitness Fitness
 Alias for the fitness.

Public Member Functions

virtual void init (const Fitness &_fitness)
 Procedure which initialise the exploration.
bool update (const M &_move, const Fitness &_fitness)
 Function that indicates if the current move has not improved the fitness.
void operator() (M &_move, Fitness &_fitness)
 Procedure which saved the best move and fitness.

Private Attributes

+bool valid
 Allow to know if at least one move has improved the solution.
+M best_move
 Best stored movement.
+Fitness initial_fitness
 Initial fitness.
+Fitness best_fitness
 Best stored fitness.
+


Detailed Description

+

template<class M>
+ class moFirstImprSelect< M >

+ +One possible moMoveSelect. +

+The neighborhood is explored until a move enables an improvment of the current solution. +

Definition at line 48 of file moFirstImprSelect.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
virtual void moFirstImprSelect< M >::init (const Fitness _fitness  )  [inline, virtual]
+
+
+ +

+Procedure which initialise the exploration. +

+It save the current fitness as the initial value for the fitness.

Parameters:
+ + +
_fitness The current fitness.
+
+ +

Implements moMoveSelect< M >.

+ +

Definition at line 60 of file moFirstImprSelect.h.

+ +

References moFirstImprSelect< M >::initial_fitness, and moFirstImprSelect< M >::valid.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
bool moFirstImprSelect< M >::update (const M &  _move,
const Fitness _fitness 
) [inline, virtual]
+
+
+ +

+Function that indicates if the current move has not improved the fitness. +

+If the given fitness enables an improvment, the move (moMove) should be applied to the current solution.

+

Parameters:
+ + + +
_move a move.
_fitness a fitness linked to the move.
+
+
Returns:
true if the move does not improve the fitness.
+ +

Implements moMoveSelect< M >.

+ +

Definition at line 75 of file moFirstImprSelect.h.

+ +

References moFirstImprSelect< M >::best_fitness, moFirstImprSelect< M >::best_move, moFirstImprSelect< M >::initial_fitness, and moFirstImprSelect< M >::valid.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
void moFirstImprSelect< M >::operator() (M &  _move,
Fitness _fitness 
) [inline, virtual]
+
+
+ +

+Procedure which saved the best move and fitness. +

+

Parameters:
+ + + +
_move the current move (result of the procedure).
_fitness the current fitness (result of the procedure).
+
+ +

Implements eoBF< M &, M::EOType::Fitness &, void >.

+ +

Definition at line 96 of file moFirstImprSelect.h.

+ +

References moFirstImprSelect< M >::best_fitness, moFirstImprSelect< M >::best_move, and moFirstImprSelect< M >::valid.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_first_impr_select.png b/trunk/paradiseo-mo/doc/html/classmo_first_impr_select.png new file mode 100644 index 0000000000000000000000000000000000000000..a2a1234c8817927ee34de29656b933c61a3cce65 GIT binary patch literal 1067 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K54zMr-Ny)Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fr0s;r;B4q#hkaZ1Ir#O@VGvn|I_VOqmA{9 zn*sZG{a5AT;AAfJdvinY?3cnQ^=XW;+>Ueh9De)$LD6qxe%<|y3=QH89V@IRCp}%y zlp*W6@l@^A$&4!ZD);z@mFpZj=``oe8BPc7jJeqildiuw#u%|lRdJ%5!u(V7BK9yj zNU^4$WXQ1;So^t@;i9{2qnHA}V^^z*XO$Ym^WD`v3w|ElJ?Z098G-84vImx02ApL| z{3@(FDZTMo!-NnhLk`cX+aeQP)(gybyzy@Dmjo&AOVLsdi~dzyed4b2_v}@H z6^&2%8hpHpOjnwfG)JVUn(6B@%zWZj%zJ?MK#p>(`+^rCt2De+^PVoNVV|HMz<5E< zo8?57@$)^W^ST#yGg$AAkIXyPw&2SIkF16#CzTA$ogH)=uEw!y)Si=d$TKvz{lehQ z5>|XbCE}xEiL*8LjM@{{4XW%*=AB$^`CxOyidoJ_kTvPyTwCD_O|Sn*Ek=DEnUV_&&cLze5V ze%(^PZM)BHi<$V|_=;@!b%qJKZ@i*-!ky-Ruqn5SU2AblOffNg2-Z z7I}&{*cHC1?OdR<_NAPQZOYfIbzk=CvaDx5vo88qVrK*M9Qj6}>gzeFrtC3=Hm2-0 zKfm_wN{VG)75QLgyvT9gr+dSkKn}dlz*Day|L^FNyNqq8%ML>cbw!XIGLT_kaPX;^ zU&o1tNe3KOi18-A>+KRIifK#+e`EdMRp)DM|P6OtM3nZJx(<{{y{Y1y&h z6%2V?p^P@FH+Uu}Psm%(-0^(Yf@w<|_sms&E8KLK;oV(Er+0_=yjf%(yy5WSW(Z~Y zZke#-`I7@i+$9`Mh7_-RyiNcB literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_fit_comparator-members.html b/trunk/paradiseo-mo/doc/html/classmo_fit_comparator-members.html new file mode 100644 index 000000000..78118d0b2 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_fit_comparator-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moFitComparator< EOT > Member List

This is the complete list of members for moFitComparator< EOT >, including all inherited members.

+ + + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(const EOT &_solution1, const EOT &_solution2)moFitComparator< EOT > [inline]
moComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_fit_comparator.html b/trunk/paradiseo-mo/doc/html/classmo_fit_comparator.html new file mode 100644 index 000000000..2b7c2adb1 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_fit_comparator.html @@ -0,0 +1,115 @@ + + +ParadisEO-MOMovingObjects: moFitComparator< EOT > Class Template Reference + + + + +
+ +
+ +

moFitComparator< EOT > Class Template Reference

Comparison according to the fitness. +More... +

+#include <moFitComparator.h> +

+

+Inheritance diagram for moFitComparator< EOT >:
+
+ +

+ +moComparator< EOT > +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + + + + + +

Public Member Functions

bool operator() (const EOT &_solution1, const EOT &_solution2)
 Function which makes the comparison and gives the result.
+


Detailed Description

+

template<class EOT>
+ class moFitComparator< EOT >

+ +Comparison according to the fitness. +

+An EOT is better than an other if its fitness is better. +

Definition at line 46 of file moFitComparator.h.

+

Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
bool moFitComparator< EOT >::operator() (const EOT &  _solution1,
const EOT &  _solution2 
) [inline]
+
+
+ +

+Function which makes the comparison and gives the result. +

+

Parameters:
+ + + +
_solution1 The first solution.
_solution2 The second solution.
+
+
Returns:
true if the fitness of the first solution is better than the second solution, false else.
+ +

Definition at line 56 of file moFitComparator.h.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_fit_comparator.png b/trunk/paradiseo-mo/doc/html/classmo_fit_comparator.png new file mode 100644 index 0000000000000000000000000000000000000000..38eca919c7dffc6215086c363d836e9f16a0306d GIT binary patch literal 843 zcmV-R1GM~!P)==B^0000OP)t-s|Ns90 z00960z@MLBkN^MxkN^Mxkifved&2+Z00001bW%=J06^y0W&i*J;Ymb6RA_G;sL;vPup2QZLd3hB-N<&=n&cv_CFQH6}8q)kq z{0Qhwey@o0oOg~l`gz$YU%iI!;r)8voA-Qv-I{mz{5sEh&U2pgoaeleywUHIcYl9& z9v|eXsI%a_6i@gFoxbTl?^Au4Cn}E4S})0FFL-kHZt>=VH+S=Lsla%k+r>OneZ!Jh zZ@S5YR18tm4KMj_@q>LHKyG>7P|C@>HNbveh1ji8e&YWF=bhn=eqN4#p1+6Z^_Pn>80S3aInQ~{ zbDs0=%p3hadH46{|DD&Ws<6;SJti!{2OUFm*)Uk#TLW^JNAN2A_VnAR##clTs zojmJOS^2l-?fR$1m&C&cZ;4-#-*)_@EC;Fkg{-xSWWQt$Fll?~{@cxOOAb4&+Vau7 zZ;11*@}Na<#zI + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moFitSolContinue< EOT > Member List

This is the complete list of members for moFitSolContinue< EOT >, including all inherited members.

+ + + + + + + + +
Fitness typedefmoFitSolContinue< EOT >
fitnessmoFitSolContinue< EOT > [private]
functor_category()eoUF< const EOT &, bool > [static]
init()moFitSolContinue< EOT > [inline, virtual]
moFitSolContinue(Fitness _fitness)moFitSolContinue< EOT > [inline]
operator()(const EOT &_solution)moFitSolContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< const EOT &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_fit_sol_continue.html b/trunk/paradiseo-mo/doc/html/classmo_fit_sol_continue.html new file mode 100644 index 000000000..3178d37fc --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_fit_sol_continue.html @@ -0,0 +1,185 @@ + + +ParadisEO-MOMovingObjects: moFitSolContinue< EOT > Class Template Reference + + + + +
+ +
+ +

moFitSolContinue< EOT > Class Template Reference

One possible stop criterion for a solution-based heuristic. +More... +

+#include <moFitSolContinue.h> +

+

+Inheritance diagram for moFitSolContinue< EOT >:
+
+ +

+ +moSolContinue< EOT > +eoUF< const EOT &, bool > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef EOT::Fitness Fitness
 Alias for the fitness.

Public Member Functions

 moFitSolContinue (Fitness _fitness)
 Basic constructor.
bool operator() (const EOT &_solution)
 Function that activates the stopping criterion.
void init ()
 Procedure which allows to initialise all the stuff needed.

Private Attributes

+Fitness fitness
 Fitness target.
+


Detailed Description

+

template<class EOT>
+ class moFitSolContinue< EOT >

+ +One possible stop criterion for a solution-based heuristic. +

+The stop criterion corresponds to a fitness threshold gained. +

Definition at line 46 of file moFitSolContinue.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
moFitSolContinue< EOT >::moFitSolContinue (Fitness  _fitness  )  [inline]
+
+
+ +

+Basic constructor. +

+

Parameters:
+ + +
_fitness The fitness to reach.
+
+ +

Definition at line 57 of file moFitSolContinue.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
bool moFitSolContinue< EOT >::operator() (const EOT &  _solution  )  [inline, virtual]
+
+
+ +

+Function that activates the stopping criterion. +

+Indicates if the fitness threshold has not yet been reached.

+

Parameters:
+ + +
_solution the current solution.
+
+
Returns:
true or false according to the value of the fitness.
+ +

Implements eoUF< const EOT &, bool >.

+ +

Definition at line 67 of file moFitSolContinue.h.

+ +

References moFitSolContinue< EOT >::fitness.

+ +
+

+ +

+
+
+template<class EOT>
+ + + + + + + + +
void moFitSolContinue< EOT >::init (  )  [inline, virtual]
+
+
+ +

+Procedure which allows to initialise all the stuff needed. +

+It can be also used to reinitialize all the needed things. +

Implements moSolContinue< EOT >.

+ +

Definition at line 81 of file moFitSolContinue.h.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_fit_sol_continue.png b/trunk/paradiseo-mo/doc/html/classmo_fit_sol_continue.png new file mode 100644 index 0000000000000000000000000000000000000000..76c36e46ca77d18247f108197d0a2e3656cbc8ca GIT binary patch literal 896 zcmV-`1AqL9P)W8)^Cuyn#21uZ-LsOsGX99K}VCIe(IIzEoBR4uzww;Q+T-;8J)$p_L)>wHqOY0Ji&4Y1`Yh2?R*SN+tuEeVM z>Z^UfFz%j9*~6H4V>!uY8nF4o?hB}MjWFX*u8-x1_zy}s-s7_WvFDa#w$9imscbrM zK@l{!**BF7u_wjG!6Ucn0I?fD*|r&S0m=f3+C8fJ>VCVesJQ|bE-z^PLfml)NByQG zj<^gi{l<+B`+nn4hvt6H`#sY)ZuC|2fK}kBzU6N6Y#!!8bb#3Bx9SVA=rfy#7h+~G zzsP;spL{ipdsXhL=lrVolFxI^KU>Sa+B_K7xW+ZEagA$S<4UZ0ufE#%3*%0?Wpfhp zW~CAX2aIGNPu|aSFx^I6W#DupU|=**x%kK~*!Xf3yXyhXu3--?Z!f~)o>YH}Vs(M; za1rVbvsi4M*tegN@^PvIwBZuYxOHb$gdMk?s$6lbcr#h=SA)mgh8l4btvhTR9Ta%P zrE@M@eUpU1duJYgGmLB8_i$G|=U2U# ze4cCm*;?+^=E1neHLh`uYh2?RR|1wqaAC>6X52S()4g=TI}e=qIZ;pfK@Yh+mw4!P zLvE-9F9+VW3P0@2m6EW_m(L;O-sEF|!1YjD%y~$^gZF`#Kv3M^^woD<@R=-}e83$9 zUmEg`)d`+6T*xJRE*!YLDz67#=cKXD4XvVZeW?2CeqqKf{kn!4asdQ;)B(=9;hgJ= z37d$^09^Zx + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moGenSolContinue< EOT > Member List

This is the complete list of members for moGenSolContinue< EOT >, including all inherited members.

+ + + + + + + + +
functor_category()eoUF< const EOT &, bool > [static]
generationMaximumNumbermoGenSolContinue< EOT > [private]
generationNumbermoGenSolContinue< EOT > [private]
init()moGenSolContinue< EOT > [inline, virtual]
moGenSolContinue(unsigned int _generationMaximumNumber)moGenSolContinue< EOT > [inline]
operator()(const EOT &_solution)moGenSolContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< const EOT &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_gen_sol_continue.html b/trunk/paradiseo-mo/doc/html/classmo_gen_sol_continue.html new file mode 100644 index 000000000..ce57dc5fd --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_gen_sol_continue.html @@ -0,0 +1,186 @@ + + +ParadisEO-MOMovingObjects: moGenSolContinue< EOT > Class Template Reference + + + + +
+ +
+ +

moGenSolContinue< EOT > Class Template Reference

One possible stop criterion for a solution-based heuristic. +More... +

+#include <moGenSolContinue.h> +

+

+Inheritance diagram for moGenSolContinue< EOT >:
+
+ +

+ +moSolContinue< EOT > +eoUF< const EOT &, bool > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moGenSolContinue (unsigned int _generationMaximumNumber)
 Simple constructor.
bool operator() (const EOT &_solution)
 Function that activates the stop criterion.
void init ()
 Procedure which allows to initialise the generation counter.

Private Attributes

+unsigned int generationMaximumNumber
 Iteration maximum number.
+unsigned int generationNumber
 Iteration current number.
+


Detailed Description

+

template<class EOT>
+ class moGenSolContinue< EOT >

+ +One possible stop criterion for a solution-based heuristic. +

+The stop criterion corresponds to a maximum number of iteration. +

Definition at line 46 of file moGenSolContinue.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
moGenSolContinue< EOT >::moGenSolContinue (unsigned int  _generationMaximumNumber  )  [inline]
+
+
+ +

+Simple constructor. +

+

Parameters:
+ + +
_generationMaximumNumber The maximum number of generations.
+
+ +

Definition at line 54 of file moGenSolContinue.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
bool moGenSolContinue< EOT >::operator() (const EOT &  _solution  )  [inline, virtual]
+
+
+ +

+Function that activates the stop criterion. +

+Increments the counter and returns TRUE if the current number of iteration is lower than the given maximum number of iterations.

+

Parameters:
+ + +
_solution The current solution.
+
+
Returns:
true or false according to the current generation number.
+ +

Implements eoUF< const EOT &, bool >.

+ +

Definition at line 66 of file moGenSolContinue.h.

+ +

References moGenSolContinue< EOT >::generationMaximumNumber, and moGenSolContinue< EOT >::generationNumber.

+ +
+

+ +

+
+
+template<class EOT>
+ + + + + + + + +
void moGenSolContinue< EOT >::init (  )  [inline, virtual]
+
+
+ +

+Procedure which allows to initialise the generation counter. +

+It can also be used to reset the iteration counter. +

Implements moSolContinue< EOT >.

+ +

Definition at line 78 of file moGenSolContinue.h.

+ +

References moGenSolContinue< EOT >::generationNumber.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_gen_sol_continue.png b/trunk/paradiseo-mo/doc/html/classmo_gen_sol_continue.png new file mode 100644 index 0000000000000000000000000000000000000000..b40e349915ec015116a4058123385084528f5689 GIT binary patch literal 900 zcmV-~1AF|5P)0VafoeG-BfN03LISn_zKv<|0WZT?x2eIiy+T z54gZJ=Sv6|Ro|Emr@3)zTW`-59a81gJ=dq|4fnaMJx-tBGy0P5;*R?heVcwDvDS zLuk3hzR6q&H7Pa@9=Sya2-N^ew#|?Wpc5#x?ormat+(2WEmy$8&7(r*G2_m<68dt51`A^Ux2X1BBYYSzidM&#WI_h?&9s zBKNdE`Dz&Vs@zrY`BmQ~pXZu?ww8OfelV_ajcZ)v8rQhSm00y%eYO8Dj63D(;w0q7 zN*V(PjAR{8TF-MZ-A3HTz^O*Sz-S=7_{c8kd^rl$^?+j6u!okG7ooZ*+25j&U7!bC zguKEmsI3#~@-u3Doa_K~T*4VQudE8NYL-t(gxLX+w?W~R~2W3yLEc&+f!jPNl0^t_akP9H#qYg0P`i!~D-BgAH zcT{hB9{DbPz2Sx?dv2$1(+@{|qqK2z(gcqCS6YM{RK)fwY|{_9e@FfB`(a$;zK6T$ aJ^vq0?UF9hobA5=0000B1NQ literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_h_c-members.html b/trunk/paradiseo-mo/doc/html/classmo_h_c-members.html new file mode 100644 index 000000000..41e6a99f0 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_h_c-members.html @@ -0,0 +1,59 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moHC< M > Member List

This is the complete list of members for moHC< M >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
binaryeoOp< EOType >
className() consteoMonOp< M::EOType > [virtual]
eoMonOp()eoMonOp< M::EOType >
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
EOT typedefmoHC< M > [private]
Fitness typedefmoHC< M > [private]
full_evaluationmoHC< M > [private]
functor_category()eoUF< M::EOType &, bool > [static]
generaleoOp< EOType >
getType() consteoOp< EOType >
moHC(moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection, eoEvalFunc< EOT > &_full_evaluation)moHC< M > [inline]
moHC(moMoveExpl< M > &_move_explorer, eoEvalFunc< EOT > &_full_evaluation)moHC< M > [inline]
move_explorermoHC< M > [private]
operator()(EOT &_solution)moHC< M > [inline, virtual]
OpType enum nameeoOp< EOType >
quadraticeoOp< EOType >
unaryeoOp< EOType >
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]
~eoUF()eoUF< M::EOType &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_h_c.html b/trunk/paradiseo-mo/doc/html/classmo_h_c.html new file mode 100644 index 000000000..f63399a8e --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_h_c.html @@ -0,0 +1,231 @@ + + +ParadisEO-MOMovingObjects: moHC< M > Class Template Reference + + + + +
+ +
+ +

moHC< M > Class Template Reference

Hill Climbing (HC). +More... +

+#include <moHC.h> +

+Inherits moAlgo< M::EOType >. +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moHC (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection, eoEvalFunc< EOT > &_full_evaluation)
 Full constructor.
 moHC (moMoveExpl< M > &_move_explorer, eoEvalFunc< EOT > &_full_evaluation)
 Light constructor.
bool operator() (EOT &_solution)
 Function which launches the HC.

Private Types

+typedef M::EOType EOT
 Alias for the type.
+typedef EOT::Fitness Fitness
 Alias for the fitness.

Private Attributes

+moMoveExpl< M > & move_explorer
 Complete exploration of the neighborhood.
+eoEvalFunc< EOT > & full_evaluation
 A full evaluation function.
+


Detailed Description

+

template<class M>
+ class moHC< M >

+ +Hill Climbing (HC). +

+Class which describes the algorithm for a hill climbing. +

Definition at line 49 of file moHC.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moHC< M >::moHC (moMoveInit< M > &  _move_initializer,
moNextMove< M > &  _next_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moMoveSelect< M > &  _move_selection,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+Full constructor. +

+All the boxes are given in order the HC to use a moHCMoveLoopExpl.

+

Parameters:
+ + + + + + +
_move_initializer a move initialiser.
_next_move_generator a neighborhood explorer.
_incremental_evaluation a (generally) efficient evaluation function.
_move_selection a move selector.
_full_evaluation a full evaluation function.
+
+ +

Definition at line 69 of file moHC.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
moHC< M >::moHC (moMoveExpl< M > &  _move_explorer,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+Light constructor. +

+This constructor allow to use another moMoveExpl (generally not a moHCMoveLoopExpl).

+

Parameters:
+ + + +
_move_explorer a complete explorer.
_full_evaluation a full evaluation function.
+
+ +

Definition at line 82 of file moHC.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
bool moHC< M >::operator() (EOT _solution  )  [inline, virtual]
+
+
+ +

+Function which launches the HC. +

+The HC has to improve a current solution. As the moSA and the mo TS, it can be used for HYBRIDATION in an evolutionnary algorithm.

+

Parameters:
+ + +
_solution a current solution to improve.
+
+
Returns:
true.
+ +

Implements eoUF< M::EOType &, bool >.

+ +

Definition at line 94 of file moHC.h.

+ +

References moHC< M >::full_evaluation, and moHC< M >::move_explorer.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl-members.html b/trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl-members.html new file mode 100644 index 000000000..b2af6e46b --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl-members.html @@ -0,0 +1,49 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moHCMoveLoopExpl< M > Member List

This is the complete list of members for moHCMoveLoopExpl< M >, including all inherited members.

+ + + + + + + + + + + +
EOT typedefmoHCMoveLoopExpl< M > [private]
Fitness typedefmoHCMoveLoopExpl< M > [private]
functor_category()eoBF< const M::EOType &, M::EOType &, void > [static]
incremental_evaluationmoHCMoveLoopExpl< M > [private]
moHCMoveLoopExpl(moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection)moHCMoveLoopExpl< M > [inline]
move_initializermoHCMoveLoopExpl< M > [private]
move_selectionmoHCMoveLoopExpl< M > [private]
next_move_generatormoHCMoveLoopExpl< M > [private]
operator()(const EOT &_old_solution, EOT &_new_solution)moHCMoveLoopExpl< M > [inline, virtual]
~eoBF()eoBF< const M::EOType &, M::EOType &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl.html b/trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl.html new file mode 100644 index 000000000..2ea3f58de --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl.html @@ -0,0 +1,204 @@ + + +ParadisEO-MOMovingObjects: moHCMoveLoopExpl< M > Class Template Reference + + + + +
+ +
+ +

moHCMoveLoopExpl< M > Class Template Reference

Iterative explorer used by a moHC. +More... +

+#include <moHCMoveLoopExpl.h> +

+

+Inheritance diagram for moHCMoveLoopExpl< M >:
+
+ +

+ +moMoveLoopExpl< M > +moMoveExpl< M > +eoBF< const M::EOType &, M::EOType &, void > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moHCMoveLoopExpl (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection)
 Constructor.
void operator() (const EOT &_old_solution, EOT &_new_solution)
 Procedure which launches the explorer.

Private Types

+typedef M::EOType EOT
 Alias for the type.
+typedef M::EOType::Fitness Fitness
 Alias for the fitness.

Private Attributes

+moMoveInit< M > & move_initializer
 Move initialiser.
+moNextMove< M > & next_move_generator
 Neighborhood explorer.
+moMoveIncrEval< M > & incremental_evaluation
 (generally) Efficient evaluation.
+moMoveSelect< M > & move_selection
 Move selector.
+


Detailed Description

+

template<class M>
+ class moHCMoveLoopExpl< M >

+ +Iterative explorer used by a moHC. +

Definition at line 47 of file moHCMoveLoopExpl.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moHCMoveLoopExpl< M >::moHCMoveLoopExpl (moMoveInit< M > &  _move_initializer,
moNextMove< M > &  _next_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moMoveSelect< M > &  _move_selection 
) [inline]
+
+
+ +

+Constructor. +

+All the boxes have to be specified.

+

Parameters:
+ + + + + +
_move_initializer The move initialiser.
_next_move_generator The neighbourhood explorer.
_incremental_evaluation (generally) Efficient evaluation function.
_move_selection The move selector.
+
+ +

Definition at line 66 of file moHCMoveLoopExpl.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
void moHCMoveLoopExpl< M >::operator() (const EOT _old_solution,
EOT _new_solution 
) [inline, virtual]
+
+
+ +

+Procedure which launches the explorer. +

+The exploration starts from an old solution and provides a new solution.

+

Parameters:
+ + + +
_old_solution The current solution.
_new_solution The new solution (result of the procedure).
+
+ +

Implements eoBF< const M::EOType &, M::EOType &, void >.

+ +

Definition at line 79 of file moHCMoveLoopExpl.h.

+ +

References moHCMoveLoopExpl< M >::incremental_evaluation, moHCMoveLoopExpl< M >::move_initializer, moHCMoveLoopExpl< M >::move_selection, and moHCMoveLoopExpl< M >::next_move_generator.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl.png b/trunk/paradiseo-mo/doc/html/classmo_h_c_move_loop_expl.png new file mode 100644 index 0000000000000000000000000000000000000000..8c76fd46e7d798861365f4696569afed1df2dafc GIT binary patch literal 1569 zcmcJPe>Br;9LJ|nnJFr?ZaAltOH)GA53Mbk((x;?*@n!TpHmkplzy?f#=Sb`XT`Wk z_T9|AYje3V+0~db#jIOti6M&IF~73i-P<|$^zZGQ`^WP<@6UPuc%J9|dB2`)f8S#e zBd8Gw1cG=S_Xq%i^z3zdL4UPwcK->Ir&}!jy#vu&tyU+s+BPOL{H9L*GuqnPF12e% zbfw<;0N+y})adg_5Xhj>%i~C3%AF5)2>HWy8_*o)qWOCer-BrDbRL)&W|}&#>ypDe z+grWYeA^sq?klR>)JbG0#mH@cPR`6fvlg++i9u2XjO3j#BEVd#@{=Nf;qkL^$<6V$SGB1-KMw9y< z;0eW!1kUQ>ri1tnmvP>x2{1H_aUC7v2bCnL2XTt0zqW!Yrx;Y1b!w{-*t-W2H zRT*Lx?--Rrp0lnbVv(=zum$PE6mn6E)0B1Asb8!fRrUGDh*Rx*-cWn*Q$M`Dr|yze zw_M>-%9K9SPhztf$~}Rv8K*ZA@Ikb*n93c|Xc$QnQmQag&%Mjw&s8B$TUHjPkpQjg-oG;-^Wf& zKt&3t!#plOlVJ57hR)54tbjqVS^JNTa5ES~6E(|Pf^maH4!?;tdhPKuH_o|x`@X?Q6>nR^lv54Uu+ z@LO0`J~+YGQ{2L)zN5O;*$~UHweS*7ecz`Sn({~4I&hfkiBDd-)U@F16l5n)L`LRk zH$EE^wcOAQ`r2TA8RZ+a^g84b((KZ@kp>nySf--Mn!Ja8W%gIIhaiBQYAmkWYM^hy zzG8RAuC=?;3nwxFtc|uvrW1pq1@MqAS&locofU)=xnZPK<65(uFUgRLoFZ!Q;O@8- zF@3XhfokFkPK1Vqb%y7_pI5Uh-|<@(Jg;9O%;}Isj>;Cn#z0ycKS03|V&G=8PPr35hVBrMiRTFsBxxa)l6W&Kk*fAw5z1 za#&n4fSG)9h$D68awHm3w|#52Y%hn%$i}E#PehkKTdfg`PRG1`3Pt*;qBxPm@uP#W z^t-Cr&h;bPH|E(gdpA%73(@kP2`BMG`Q+49Tt~yAscOG?6B#(c$-xlnt&%9XtMxoB zMag8ay{Bvh12O!DTh@6|fW38ThD@Bec_92CB58kwN+MN9gmsLihleTQmRxMi4AoW$ z^=UGcC#B&tx>)&Yxw=INhWe!&151ZBT5gXb;$L_)7L2viP}&d}qWjN5UT9yBdiU@f Fe*v>R + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moILS< M > Member List

This is the complete list of members for moILS< M >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
acceptance_criterionmoILS< M > [private]
algorithmmoILS< M > [private]
binaryeoOp< EOType >
className() consteoMonOp< M::EOType > [virtual]
continumoILS< M > [private]
eoMonOp()eoMonOp< M::EOType >
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
EOT typedefmoILS< M > [private]
Fitness typedefmoILS< M > [private]
full_evaluationmoILS< M > [private]
functor_category()eoUF< M::EOType &, bool > [static]
generaleoOp< EOType >
getType() consteoOp< EOType >
moILS(moAlgo< EOT > &_algorithm, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)moILS< M > [inline]
moILS(moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)moILS< M > [inline]
moILS(moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion, moSolContinue< EOT > &_moTS_continue, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)moILS< M > [inline]
moILS(moRandMove< M > &_random_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moSolContinue< EOT > &_moSA_continue, double _initial_temperature, moCoolingSchedule &_cooling_schedule, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)moILS< M > [inline]
operator()(EOT &_solution)moILS< M > [inline, virtual]
OpType enum nameeoOp< EOType >
perturbationmoILS< M > [private]
quadraticeoOp< EOType >
unaryeoOp< EOType >
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]
~eoUF()eoUF< M::EOType &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_i_l_s.html b/trunk/paradiseo-mo/doc/html/classmo_i_l_s.html new file mode 100644 index 000000000..f09abf8f6 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_i_l_s.html @@ -0,0 +1,477 @@ + + +ParadisEO-MOMovingObjects: moILS< M > Class Template Reference + + + + +
+ +
+ +

moILS< M > Class Template Reference

Iterated Local Search (ILS). +More... +

+#include <moILS.h> +

+Inherits moAlgo< M::EOType >. +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moILS (moAlgo< EOT > &_algorithm, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)
 Generic constructor.
 moILS (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)
 Constructor for using a moHC for the moAlgo.
 moILS (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion, moSolContinue< EOT > &_moTS_continue, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)
 Constructor for using a moTS for the moAlgo.
 moILS (moRandMove< M > &_random_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moSolContinue< EOT > &_moSA_continue, double _initial_temperature, moCoolingSchedule &_cooling_schedule, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation)
 Constructor for using a moSA for the moAlgo.
bool operator() (EOT &_solution)
 Function which launches the ILS.

Private Types

+typedef M::EOType EOT
 Alias for the type.
+typedef EOT::Fitness Fitness
 Alias for the fitness.

Private Attributes

+moAlgo< EOT > & algorithm
 The solution based heuristic.
+moSolContinue< EOT > & continu
 The stopping criterion.
+moComparator< EOT > & acceptance_criterion
 The acceptance criterion.
+eoMonOp< EOT > & perturbation
 The perturbation generator.
+eoEvalFunc< EOT > & full_evaluation
 The full evaluation function.
+


Detailed Description

+

template<class M>
+ class moILS< M >

+ +Iterated Local Search (ILS). +

+Class which describes the algorithm for a iterated local search. +

Definition at line 50 of file moILS.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moILS< M >::moILS (moAlgo< EOT > &  _algorithm,
moSolContinue< EOT > &  _continue,
moComparator< EOT > &  _acceptance_criterion,
eoMonOp< EOT > &  _perturbation,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+Generic constructor. +

+Generic constructor using a moAlgo

+

Parameters:
+ + + + + + +
_algorithm The solution based heuristic to use.
_continue The stopping criterion.
_acceptance_criterion The acceptance criterion.
_perturbation The pertubation generator.
_full_evaluation The evaluation function.
+
+ +

Definition at line 70 of file moILS.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moILS< M >::moILS (moMoveInit< M > &  _move_initializer,
moNextMove< M > &  _next_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moMoveSelect< M > &  _move_selection,
moSolContinue< EOT > &  _continue,
moComparator< EOT > &  _acceptance_criterion,
eoMonOp< EOT > &  _perturbation,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+Constructor for using a moHC for the moAlgo. +

+

Parameters:
+ + + + + + + + + +
_move_initializer The move initialisation (for the moHC).
_next_move_generator The move generator (for the moHC).
_incremental_evaluation The partial evaluation function (for the moHC).
_move_selection The move selection strategy (for the moHC).
_continue The stopping criterion.
_acceptance_criterion The acceptance criterion.
_perturbation The pertubation generator.
_full_evaluation The evaluation function.
+
+ +

Definition at line 87 of file moILS.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moILS< M >::moILS (moMoveInit< M > &  _move_initializer,
moNextMove< M > &  _next_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moTabuList< M > &  _tabu_list,
moAspirCrit< M > &  _aspiration_criterion,
moSolContinue< EOT > &  _moTS_continue,
moSolContinue< EOT > &  _continue,
moComparator< EOT > &  _acceptance_criterion,
eoMonOp< EOT > &  _perturbation,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+Constructor for using a moTS for the moAlgo. +

+

Parameters:
+ + + + + + + + + + + +
_move_initializer The move initialisation (for the moTS).
_next_move_generator The move generator (for the moTS).
_incremental_evaluation The partial evaluation function (for the moTS).
_tabu_list The tabu list (for the moTS !!!!).
_aspiration_criterion The aspiration criterion (for the moTS).
_moTS_continue The stopping criterion (for the moTS).
_continue The stopping criterion.
_acceptance_criterion The acceptance criterion.
_perturbation The pertubation generator.
_full_evaluation The evaluation function.
+
+ +

Definition at line 108 of file moILS.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moILS< M >::moILS (moRandMove< M > &  _random_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moSolContinue< EOT > &  _moSA_continue,
double  _initial_temperature,
moCoolingSchedule _cooling_schedule,
moSolContinue< EOT > &  _continue,
moComparator< EOT > &  _acceptance_criterion,
eoMonOp< EOT > &  _perturbation,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+Constructor for using a moSA for the moAlgo. +

+

Parameters:
+ + + + + + + + + + +
_random_move_generator The random move generator (for the moSA).
_incremental_evaluation The partial evaluation function (for the moSA).
_moSA_continue The stopping criterion (for the moSA).
_initial_temperature The initial temperature (for the moSA).
_cooling_schedule The cooling schedule (for the moSA).
_continue The stopping criterion.
_acceptance_criterion The acceptance criterion.
_perturbation The pertubation generator.
_full_evaluation The evaluation function.
+
+ +

Definition at line 130 of file moILS.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
bool moILS< M >::operator() (EOT _solution  )  [inline, virtual]
+
+
+ +

+Function which launches the ILS. +

+The ILS has to improve a current solution. As the moSA, the moTS and the moHC, it can be used for HYBRIDATION in an evolutionnary algorithm.

+

Parameters:
+ + +
_solution a current solution to improve.
+
+
Returns:
true.
+ +

Implements eoUF< M::EOType &, bool >.

+ +

Definition at line 146 of file moILS.h.

+ +

References moILS< M >::acceptance_criterion, moILS< M >::algorithm, moILS< M >::continu, moILS< M >::full_evaluation, and moILS< M >::perturbation.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit-members.html b/trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit-members.html new file mode 100644 index 000000000..1fe808590 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moImprBestFitAspirCrit< M > Member List

This is the complete list of members for moImprBestFitAspirCrit< M >, including all inherited members.

+ + + + + + + + + + +
best_fitnessmoImprBestFitAspirCrit< M > [private]
first_timemoImprBestFitAspirCrit< M > [private]
Fitness typedefmoImprBestFitAspirCrit< M >
functor_category()eoBF< A1, A2, R > [static]
init()moImprBestFitAspirCrit< M > [inline, virtual]
moImprBestFitAspirCrit()moImprBestFitAspirCrit< M > [inline]
operator()(const M &_move, const Fitness &_fitness)moImprBestFitAspirCrit< M > [inline]
moAspirCrit::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit.html b/trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit.html new file mode 100644 index 000000000..cc5a36903 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit.html @@ -0,0 +1,140 @@ + + +ParadisEO-MOMovingObjects: moImprBestFitAspirCrit< M > Class Template Reference + + + + +
+ +
+ +

moImprBestFitAspirCrit< M > Class Template Reference

One of the possible moAspirCrit. +More... +

+#include <moImprBestFitAspirCrit.h> +

+

+Inheritance diagram for moImprBestFitAspirCrit< M >:
+
+ +

+ +moAspirCrit< M > +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef M::EOType::Fitness Fitness
 Alias for the fitness.

Public Member Functions

moImprBestFitAspirCrit ()
 Contructor.
+void init ()
 Initialisation procedure.
bool operator() (const M &_move, const Fitness &_fitness)
 Function that indicates if the current fitness is better that the already saved fitness.

Private Attributes

+Fitness best_fitness
 Best fitness found until now.
+bool first_time
 Indicates that a fitness has been already saved or not.
+


Detailed Description

+

template<class M>
+ class moImprBestFitAspirCrit< M >

+ +One of the possible moAspirCrit. +

+This criterion is satisfied when a given fitness is the best ever considered. +

Definition at line 47 of file moImprBestFitAspirCrit.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
bool moImprBestFitAspirCrit< M >::operator() (const M &  _move,
const Fitness _fitness 
) [inline]
+
+
+ +

+Function that indicates if the current fitness is better that the already saved fitness. +

+The first time, the function only saved the current move and fitness.

+

Parameters:
+ + + +
_move A move.
_fitness A fitness linked to the move.
+
+
Returns:
true The first time and if _fitntess > best_fitness, else false.
+ +

Definition at line 75 of file moImprBestFitAspirCrit.h.

+ +

References moImprBestFitAspirCrit< M >::best_fitness, and moImprBestFitAspirCrit< M >::first_time.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit.png b/trunk/paradiseo-mo/doc/html/classmo_impr_best_fit_aspir_crit.png new file mode 100644 index 0000000000000000000000000000000000000000..76e0473f0a9fceeca4263f73d5ff9205790d6b34 GIT binary patch literal 905 zcmV;419tq0P)C~bXDf>Wds1su~qLLNy2JRAkgJ@M%S3vH$hM(##EL>|qjv={p$ zFk-!if-T29`UE)5ts=eyODd34v3|IxBA$=Ia*X>A@l=j2_;?R~CdXA(%&7Czh*pK> z7>S;#icgz^9sE-8u-AWwee^iL1^D*&V&IS4?PA~yR)vEd>|h5w*uf5V@SzR+@V?$} z5C=a3vnGR!z82?7E2FvS6y4IzOlw_+D$PUXF)D5+!BNzc2Dl(%w6OcYS^ml3$VZcw zibpw7aNOo&7pyrZo3jNQ%5uCVZ^6m6ir8j|yc8FY^&%~DE8@9Mh0dTVn=8G|M$bgt z%<%*8sT^BXAl6!42FDD}mpiKB&{mW~4Y?Csvvxv#4t(Amd};8o*Z;5&mUjTV?lv5J z!K!eugB|Q(2Rqoo4nDMDAKusd4dUQa;N=It{Ong5j$$>|y|c-tuIA-!ZbchvN-IZT z;-FZbVld7zvYJA=N@}t=*bl}?W!Dw&xRO0rXz7qts8B?DOU+$V?TD-GT(NBUnoZB* zOBTH4szp8q%Vw@E*bR~-cSlUtwS8?S!Y(|h5w*uf5Vu!9c`$5@!c zn7ecEi@{J`0L0>x`T^K6tULjObi*>X5ca_fCV;s@?H~iz>WtK4bupa+uL{VECkOx| z1e`*G6tBd>*FmNS_5@ueHGuozfQ(L1goI`|N69T80@xh~bDFZpB#i+9^p+qjV3}?V z!GYu$G=V|;2A5r7E + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moItRandNextMove< M > Member List

This is the complete list of members for moItRandNextMove< M >, including all inherited members.

+ + + + + + + + + + +
EOT typedefmoItRandNextMove< M > [private]
functor_category()eoBF< A1, A2, R > [static]
iteration_maximum_numbermoItRandNextMove< M > [private]
iteration_numbermoItRandNextMove< M > [private]
moItRandNextMove(moRandMove< M > &_random_move_generator, unsigned int _iteration_maximum_number)moItRandNextMove< M > [inline]
operator()(M &_move, const EOT &_solution)moItRandNextMove< M > [inline]
moNextMove::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
random_move_generatormoItRandNextMove< M > [private]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_it_rand_next_move.html b/trunk/paradiseo-mo/doc/html/classmo_it_rand_next_move.html new file mode 100644 index 000000000..45cec8b07 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_it_rand_next_move.html @@ -0,0 +1,182 @@ + + +ParadisEO-MOMovingObjects: moItRandNextMove< M > Class Template Reference + + + + +
+ +
+ +

moItRandNextMove< M > Class Template Reference

One of the possible moNextMove. +More... +

+#include <moItRandNextMove.h> +

+

+Inheritance diagram for moItRandNextMove< M >:
+
+ +

+ +moNextMove< M > +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moItRandNextMove (moRandMove< M > &_random_move_generator, unsigned int _iteration_maximum_number)
 The constructor.
bool operator() (M &_move, const EOT &_solution)
 Generation of a new move.

Private Types

+typedef M::EOType EOT
 Alias for the type.

Private Attributes

+moRandMove< M > & random_move_generator
 A move generator (generally randomly).
+unsigned int iteration_maximum_number
 Iteration maximum number.
+unsigned int iteration_number
 Iteration current number.
+


Detailed Description

+

template<class M>
+ class moItRandNextMove< M >

+ +One of the possible moNextMove. +

+This class is a move (moMove) generator with a bound for the maximum number of iterations. +

Definition at line 47 of file moItRandNextMove.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
moItRandNextMove< M >::moItRandNextMove (moRandMove< M > &  _random_move_generator,
unsigned int  _iteration_maximum_number 
) [inline]
+
+
+ +

+The constructor. +

+Parameters only for initialising the attributes.

+

Parameters:
+ + + +
_random_move_generator The random move generator.
_iteration_maximum_number The iteration maximum number.
+
+ +

Definition at line 61 of file moItRandNextMove.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
bool moItRandNextMove< M >::operator() (M &  _move,
const EOT _solution 
) [inline]
+
+
+ +

+Generation of a new move. +

+If the maximum number is not already reached, the current move is forgotten and remplaced by another one.

+

Parameters:
+ + + +
_move the current move.
_solution the current solution.
+
+
Returns:
false if the maximum number of iteration is reached, else true.
+ +

Definition at line 73 of file moItRandNextMove.h.

+ +

References moItRandNextMove< M >::iteration_maximum_number, moItRandNextMove< M >::iteration_number, and moItRandNextMove< M >::random_move_generator.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_it_rand_next_move.png b/trunk/paradiseo-mo/doc/html/classmo_it_rand_next_move.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec8c97619d16e8806ce6a43826759ca7495f7da GIT binary patch literal 847 zcmV-V1F-ywP)+r=uyv+fX=ydn@Br2~N_Nx)(f9AAmf3{Dt3798*;>4{icx_IH|00&^n zip#NM=`=1`81Fiq3>J8>ZK?*|?PHvr=`tnHVwWAI9ycF5li3~ADoHf68aqIo&+IGB zagLkBEuI+X+S{bw*WliN-x&Ay{(fWJ%`@vb$2rb%j&q#jK7(8Qxp?ny<8O}RRXH5> z6534_1oyg*om{-{*sjdctc11jfmLmYBUwpb;Hn`}c5wz*mi+}sxNB*k8j5Fh3?l0c zaT+_!nrB=FMTp5O+t%b5kR z6_?JO5KajM`(rG*2>!`59VEXvzEP^u0(M3tU+16=JJ z9GgOeoAZu$?MOK+??cf-mx-Mglb**;Yh)#}2vk!_yUA?Eb?smLlR55xz%8B_7f;(? zg7Z4c3%sQ?$2rb%j&q#j9CrsCtZZ?MD+l4YMYyoV0MPWedOrq{^sSYiaGMc?4JjFmhg=v`G~pVR*dO1xvJ!#?9Gr{XlNEskA* z2KT@_gJUN{)X_v8v>1fV#7>TL>?CC+vzpQT-brRTTP3Bbdt^4_F5bJ>o8ufeiCa4{ Z{sD;WA7hs;9g_e6002ovPDHLkV1l*_mFNHf literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_l_s_check_point-members.html b/trunk/paradiseo-mo/doc/html/classmo_l_s_check_point-members.html new file mode 100644 index 000000000..4761f4e08 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_l_s_check_point-members.html @@ -0,0 +1,45 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moLSCheckPoint< M > Member List

This is the complete list of members for moLSCheckPoint< M >, including all inherited members.

+ + + + + + + +
add(eoBF< const M &, const typename M::EOType &, void > &_function)moLSCheckPoint< M > [inline]
functionsmoLSCheckPoint< M > [private]
functor_category()eoBF< A1, A2, R > [static]
operator()(const M &_move, const typename M::EOType &_solution)moLSCheckPoint< M > [inline]
eoBF::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_l_s_check_point.html b/trunk/paradiseo-mo/doc/html/classmo_l_s_check_point.html new file mode 100644 index 000000000..1d06b4cbd --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_l_s_check_point.html @@ -0,0 +1,159 @@ + + +ParadisEO-MOMovingObjects: moLSCheckPoint< M > Class Template Reference + + + + +
+ +
+ +

moLSCheckPoint< M > Class Template Reference

Class which allows a checkpointing system. +More... +

+#include <moLSCheckPoint.h> +

+

+Inheritance diagram for moLSCheckPoint< M >:
+
+ +

+ +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + +

Public Member Functions

void operator() (const M &_move, const typename M::EOType &_solution)
 Function which launches the checkpointing.
void add (eoBF< const M &, const typename M::EOType &, void > &_function)
 Procedure which add a new function to the function vector.

Private Attributes

+std::vector< eoBF< const M &,
+ const typename M::EOType &,
+ void > * > 
functions
 Vector of functions.
+


Detailed Description

+

template<class M>
+ class moLSCheckPoint< M >

+ +Class which allows a checkpointing system. +

+Thanks to this class, at each iteration, additionnal function can be used (and not only one). +

Definition at line 46 of file moLSCheckPoint.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
void moLSCheckPoint< M >::operator() (const M &  _move,
const typename M::EOType &  _solution 
) [inline]
+
+
+ +

+Function which launches the checkpointing. +

+Each saved function is used on the current move and the current solution.

+

Parameters:
+ + + +
_move a move.
_solution a solution.
+
+ +

Definition at line 57 of file moLSCheckPoint.h.

+ +

References moLSCheckPoint< M >::functions.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + +
void moLSCheckPoint< M >::add (eoBF< const M &, const typename M::EOType &, void > &  _function  )  [inline]
+
+
+ +

+Procedure which add a new function to the function vector. +

+The new function is added at the end of the vector.

Parameters:
+ + +
_function a new function to add.
+
+ +

Definition at line 72 of file moLSCheckPoint.h.

+ +

References moLSCheckPoint< M >::functions.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_l_s_check_point.png b/trunk/paradiseo-mo/doc/html/classmo_l_s_check_point.png new file mode 100644 index 0000000000000000000000000000000000000000..1e121e05e3afdf68702bb1b3308396bea1462341 GIT binary patch literal 647 zcmV;20(kw2P)gh0zoB@n@{zg2JA z%_-IBPdWW5)hOL-$DEu;MB&8zA>>F7a5xHwXQDae$l^qWgFKD8iySSdw8?CbgV-XK zWBzdTF(*r#d^Q}pFXa2`>oCeE9dl$K@BBXW$5M-1&Ix~-dL>kOj%dBqA0#?auV;sI zUX?TJy>nu`oe}*Z=k|3e&fD#FDbD5Uen(yH_u-3hxM9S#Pmif- z!YS3h>rr2ssBapnY1y>zrYakAqV#$LPF)eBC3VOtt!UvyO4_d06_QI#4JXnrNBtp_ z+;gb&r-D{azS87l0_kkys_2;wsLdy}_oV`Aoap*?iw^P``tyJ@^2h3h*tYnE6APzY z-mll;=oXFs13JlRm&TFc^50YEY&f&tJG0({f5`Fv{Q+nW#yQS$j&q#jod3(gIb(q- zDF^4A=LFsmxP~&fApt0YdIfA7b0F{Y5qb_Z+%m&F?Ky$>0gaA}f zmjlR0$svGoz(V-|!jUr+m8|D5D6eo9s2tV^XQ?4nf1s)~jlvPoJ;y9#PF`&sy<1b+ z-9RYj;(!AU2h4itIVGRM8RoOrYxO5=IOfly{Ea_c4t{Rx^Al>l)Ca9smO^CC9 + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moLinearCoolingSchedule Member List

This is the complete list of members for moLinearCoolingSchedule, including all inherited members.

+ + + + + + + +
functor_category()eoUF< double &, bool > [static]
moLinearCoolingSchedule(double _threshold, double _quantity)moLinearCoolingSchedule [inline]
operator()(double &_current_temperature)moLinearCoolingSchedule [inline, virtual]
quantitymoLinearCoolingSchedule [private]
thresholdmoLinearCoolingSchedule [private]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< double &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_linear_cooling_schedule.html b/trunk/paradiseo-mo/doc/html/classmo_linear_cooling_schedule.html new file mode 100644 index 000000000..2b1c560ea --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_linear_cooling_schedule.html @@ -0,0 +1,157 @@ + + +ParadisEO-MOMovingObjects: moLinearCoolingSchedule Class Reference + + + + +
+ +
+ +

moLinearCoolingSchedule Class Reference

One of the possible moCoolingSchedule. +More... +

+#include <moLinearCoolingSchedule.h> +

+

+Inheritance diagram for moLinearCoolingSchedule:
+
+ +

+ +moCoolingSchedule +eoUF< double &, bool > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + +

Public Member Functions

 moLinearCoolingSchedule (double _threshold, double _quantity)
 Simple constructor.
bool operator() (double &_current_temperature)
 Function which proceeds to the cooling.

Private Attributes

+double threshold
 The temperature threhold.
+double quantity
 The quantity that allows the temperature to decrease.
+


Detailed Description

+One of the possible moCoolingSchedule. +

+An another very simple cooling schedule, the temperature decrease according to a quantity while the temperature is greater than a threshold. +

Definition at line 46 of file moLinearCoolingSchedule.h.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
moLinearCoolingSchedule::moLinearCoolingSchedule (double  _threshold,
double  _quantity 
) [inline]
+
+
+ +

+Simple constructor. +

+

Parameters:
+ + + +
_threshold the threshold.
_quantity the quantity used to descrease the temperature.
+
+ +

Definition at line 55 of file moLinearCoolingSchedule.h.

+ +
+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
bool moLinearCoolingSchedule::operator() (double &  _current_temperature  )  [inline, virtual]
+
+
+ +

+Function which proceeds to the cooling. +

+It decreases the temperature and indicates if it is greater than the threshold.

+

Parameters:
+ + +
_current_temperature The current temperature.
+
+
Returns:
true if the new temperature (current temperature - quantity) is greater than the threshold, false otherwise.
+ +

Implements eoUF< double &, bool >.

+ +

Definition at line 65 of file moLinearCoolingSchedule.h.

+ +

References quantity, and threshold.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_linear_cooling_schedule.png b/trunk/paradiseo-mo/doc/html/classmo_linear_cooling_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..064f41e2d16b8d23de04d328a4d7ff42ba40ff7c GIT binary patch literal 859 zcmV-h1El006)Q0{{R3aTRq$0000OP)t-s|Ns90 z00960z@MLBkN^MxkN^Mxkifved&2+Z00001bW%=J06^y0W&i*J@kvBMRA_@GB5_jm}5Yugkb_iN*;a-h#96X^>Q5n zA!aG;1jM|C!Mh#@hA}$B7MP~Yxl&WKafa&{7}poO#rbv(DK~KgJhg_Z%7k%T@KCC9 zTtfmnRpm#_fCjt-occ?cV`ONMm5!rf-3ew(`t?tk!5Cs9{@R(G>&;(FsLy z5zRqO8P+OCu$Hh31jvJmQ;8VCTQw^U6runDbcV3@fLQ`s5qrQ)EE%rNly@>r96FNW za1BAPA<7~S*D#kW%xb->GQa35gOEp6K5P4$2LoOMPJfI}f6zY*Xu8b= zo6R$z0S#zC0~*kP?+Bd!gY)%&V;e9TRqdwAB-vT}O>YcThiY)^JOd=&@yixn&SOy8 zyC=pfqOG9O2i8M16$p(}miEY$xoRXjPCflZ;-t06Iq5Xcpvof~p7uHq>>ek21lT=J z^bqi<8E^)0`eStZgZ^1S(`_c$Y@PuPXg~uR(0~SfM<7hL#m}9HGvHjH3;!FwgW~XR z^=@LNEDUpy~d}QT|0xsp2TQ + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moMove< EOT > Member List

This is the complete list of members for moMove< EOT >, including all inherited members.

+ + + + + +
EOType typedefmoMove< EOT >
functor_category()eoUF< EOT &, void > [static]
operator()(EOT &)=0eoUF< EOT &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< EOT &, void > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move.html b/trunk/paradiseo-mo/doc/html/classmo_move.html new file mode 100644 index 000000000..98bf40658 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_move.html @@ -0,0 +1,72 @@ + + +ParadisEO-MOMovingObjects: moMove< EOT > Class Template Reference + + + + +
+ +
+ +

moMove< EOT > Class Template Reference

Definition of a move. +More... +

+#include <moMove.h> +

+

+Inheritance diagram for moMove< EOT >:
+
+ +

+ +eoUF< EOT &, void > +eoFunctorBase + +
+ +

+List of all members. + + + + + +

Public Types

+typedef EOT EOType
 Alias for the type.
+


Detailed Description

+

template<class EOT>
+ class moMove< EOT >

+ +Definition of a move. +

+A move transforms a solution to another close solution. It describes how a solution can be modified to another one. +

Definition at line 49 of file moMove.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move.png b/trunk/paradiseo-mo/doc/html/classmo_move.png new file mode 100644 index 0000000000000000000000000000000000000000..df5473c408f88a504e12c0ae13e9e12a2563ff70 GIT binary patch literal 598 zcmV-c0;&CpP)r004*t0{{R3%3*F?0000OP)t-s|Ns90 z00960z@MLBkN^MxkN^Mxkifved&2+Z00001bW%=J06^y0W&i*I>`6pHRA_9fdOj%BZdWGM0Ip!pG28d8;lttk6?->mqtILvoIm)T2}vK-}%ogTpBA zLm6`?*&mk!KChx&zfVKCT(760oT^7gF^W-)VicqNK4r{P(3zg={xgMDRMm1k3#5*c zDYW`5sk${v<2GXwcs%Vy_L5Q+T1N>5Bq&MEvNUcfH?^2uL7|k4sxz_$R0?auQkN!{ z1tnz!l~PqS?*lEPxH+eU*igtl$1*n=fl4XG>?pTb*6Jd96hvY4y5t_Q`oHz4Trb%M zN!RmI?a|?}yks7sto(^{+FzqlBxTH + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moMoveExpl< M > Member List

This is the complete list of members for moMoveExpl< M >, including all inherited members.

+ + + + +
functor_category()eoBF< const M::EOType &, M::EOType &, void > [static]
operator()(const M::EOType &, M::EOType &)=0eoBF< const M::EOType &, M::EOType &, void > [pure virtual]
~eoBF()eoBF< const M::EOType &, M::EOType &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_expl.html b/trunk/paradiseo-mo/doc/html/classmo_move_expl.html new file mode 100644 index 000000000..5b2c1d888 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_move_expl.html @@ -0,0 +1,70 @@ + + +ParadisEO-MOMovingObjects: moMoveExpl< M > Class Template Reference + + + + +
+ +
+ +

moMoveExpl< M > Class Template Reference

Description of a move (moMove) explorer. +More... +

+#include <moMoveExpl.h> +

+

+Inheritance diagram for moMoveExpl< M >:
+
+ +

+ +eoBF< const M::EOType &, M::EOType &, void > +eoFunctorBase +moMoveLoopExpl< M > +moHCMoveLoopExpl< M > +moTSMoveLoopExpl< M > + +
+ +

+List of all members. + +
+


Detailed Description

+

template<class M>
+ class moMoveExpl< M >

+ +Description of a move (moMove) explorer. +

+Only a description...See moMoveLoopExpl. +

Definition at line 45 of file moMoveExpl.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_expl.png b/trunk/paradiseo-mo/doc/html/classmo_move_expl.png new file mode 100644 index 0000000000000000000000000000000000000000..66c1602bb04d70818190b561768c8297e0e2f84b GIT binary patch literal 1884 zcmbW2YgAKL7RLi(C#CZ6!5F|Q)`m6(Z_C3nK`iAV%3~oAAQHF=A__8s=na)XM#L(h z26QNmf)Jpf7~oO~N#!OWj=VGo1ju6mjq)&%5Gh0;20|ufb(XF*{nGhxerunz_B!Y6 zv-f|W+@QdHCdO9AC=|-XcfWTC3S}6jx79{#^yJ%M^$RFWP(bKjold7Wb-GptBl?=& zS{<#et?B>Ljq9fdP)HyF_3bOkF%;^9IbUy&(6hIcB{4~re>3;7ra3>jmmDoKtN{~x zo%;Qnbn8VE4Ycy9@9Sf&Tr%pN3`R@|ZdaeJPf6kK8W+2N+&_mJp5rfeb_znadV%JH zYdwC$>_)H$6M1qdM6;2&!b4sabAA|FLeO^xEJ%e;!Ss*5OsxEL)Bbx`kfS?AW{JzoA*(19NZ`UG;%B+SN~#BV8Gj~ zzvo-oB>K6r+*7T6n+Bn0jL0!R*JPIgXnEHEiTmFJEBGx&I?0B2r&si23Fn_uHlT^x z0awR#HQc~b$*q~;IuBf$8MrVDMbl0D)X>2q`y&y<$m8}7CRtECc{+un@FW61T&(T> zSW+3|w_`R)>=HJ%Jai-YB?wJ44MxyegqZI2F^9RAUi!tr1NcSt32=&c0LciH9+@{TaOPA zo@Z(nBIm&bbLZQE1;Lm2XB~#7TamdKrt>Ywk(<69BBn#h<8<0p_m@DVSS!Qbm*c7$K_k*nMPmS8teB4L&|r+Qr6XV-q^6`k|;JHcdM7e;dUFV z+~f+wWXJT4@XmRwrOr2or6P;U!8QM2Gg6v6Rvem9&W$l>*AEJgc3tKLj2t){i=G$^ z6Kh(ij3vaU1JsL)8tyh}e?+%m@6C9~oq^ zSODFOBKXG~J}%z%D&oT3d}IFH!;PXONeATZ!SyvtNVPY*tw42p8TvTnqKvk5O%KMHoHxiuFq>R+&a2(IK0 z&p?koHNeTVaO*J9TD5B-kW9wfQ?If5uwey2!MQ;HUzS|!fMUj;!-~^s{B8(jld(>p zoM6xV6K;`nM-@d>;#TvqgOj7zFq9g~(RFm$k)r_!s;4Y*4PnVZYrm@c`#EsypKT2Ta&}6248YRT6v|0<4PkU61ZpZ^dQS$+$dahOIKHU2D&Y(16&#Hh}PcxBlv6W$b2+P88Mz!%!u`UvVUz9P0@b9GH4OjWtN z-L*@q3NSvM^=71JA`Zmm9h4^WtmDgTs4Lkr=-*W^W-x^KxT~zrPBBzRZoi%)T{d&? zD}0m_X-B2=2#erz4OIiXIm%@)sB+Il{I-bb+Z{@)CBdOPVkfzO-4QEdUteIzBfI;g zV+5@>`{8G+NqkW+d9SXwnIzw0|1?WuU0OCPiyNHHo~kA3ze1Gn-av2IGdk-(;*yhP literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_incr_eval-members.html b/trunk/paradiseo-mo/doc/html/classmo_move_incr_eval-members.html new file mode 100644 index 000000000..aebe43498 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_move_incr_eval-members.html @@ -0,0 +1,42 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moMoveIncrEval< M > Member List

This is the complete list of members for moMoveIncrEval< M >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_incr_eval.html b/trunk/paradiseo-mo/doc/html/classmo_move_incr_eval.html new file mode 100644 index 000000000..2acbafc0b --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_move_incr_eval.html @@ -0,0 +1,67 @@ + + +ParadisEO-MOMovingObjects: moMoveIncrEval< M > Class Template Reference + + + + +
+ +
+ +

moMoveIncrEval< M > Class Template Reference

(generally) Efficient evaluation function based a move and a solution. +More... +

+#include <moMoveIncrEval.h> +

+

+Inheritance diagram for moMoveIncrEval< M >:
+
+ +

+ +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + +
+


Detailed Description

+

template<class M>
+ class moMoveIncrEval< M >

+ +(generally) Efficient evaluation function based a move and a solution. +

+From a move and a solution, it computes a new fitness that could be associated to the solution if this one is updated. +

Definition at line 49 of file moMoveIncrEval.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_incr_eval.png b/trunk/paradiseo-mo/doc/html/classmo_move_incr_eval.png new file mode 100644 index 0000000000000000000000000000000000000000..1a63407f81c390f1cc60e364d60894508b57935f GIT binary patch literal 634 zcmV-=0)_pFP)dGiB$=KHw5fhI(>~9(`OnnKAiImhXBw_ zan}Bp(@t^L;?}m$$#D<}hw_2Inyg?o35O-IIpm0Q!pZ>_NiW3OI>l9FdmI3ZR8Gkc zYaes6sflOBk$nO0tF1#Xo^;HSD{b<9n4c0FtvM(1W9pSa&9g@9rTGEG6ZLv_IOknC zqux6w#_f#J3pw}iOL1=Z`=vOStCw?};~eKW$2phdjQSmQwcm$t!r_JymOh=5X~Hqh zeb=MDGGW^^qG{Q*@5b4z&mrmcI-J>qs04M$sjX<`5GHL`XAg;mlHm~Uax_0!Otu_s z@-u@LPF^wb6a(pOX|ZUT24v$&c3*0MCKFBHUbLNfy7_s)>E)-?3&6Jcl|z+Nm-p*+ zI2xzke?TWW)|Gk&m;atRXT=%y-Wl~Cd?CmC_XnUc80R?0InHs8bN(*}#*8Tr2{}0D zJSUXX&Z`IzSK3(44kyd7!`X_U4u%u>8lZ4k;Dc{58|Oem&`^tZmlJ{SF + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moMoveInit< M > Member List

This is the complete list of members for moMoveInit< M >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_init.html b/trunk/paradiseo-mo/doc/html/classmo_move_init.html new file mode 100644 index 000000000..bdb3713cc --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_move_init.html @@ -0,0 +1,67 @@ + + +ParadisEO-MOMovingObjects: moMoveInit< M > Class Template Reference + + + + +
+ +
+ +

moMoveInit< M > Class Template Reference

Move (moMove) initializer. +More... +

+#include <moMoveInit.h> +

+

+Inheritance diagram for moMoveInit< M >:
+
+ +

+ +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + +
+


Detailed Description

+

template<class M>
+ class moMoveInit< M >

+ +Move (moMove) initializer. +

+Class which allows to initiase a move. Only a description... An object that herits from this class needs to be designed to be used. +

Definition at line 47 of file moMoveInit.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_init.png b/trunk/paradiseo-mo/doc/html/classmo_move_init.png new file mode 100644 index 0000000000000000000000000000000000000000..df2d15f950a8bd8a15e92ffef6c8c0846ef44f56 GIT binary patch literal 570 zcmV-A0>%A_P)9dNGOnj06C1?;Sq~?kDB<(e2p{Rhcz4_m05B_R zR{S2`%cxmt6b?9Luh|C{F%ltL0NISlco7uM8qQ1>RUAnyd_gGQWl1KE6&y+g^-6-H z=ANx-3(pGcy~ibZj)P2Td+%ux&8jcm$?d6Tz9k!nzd-!9#BgTIa{?1qC z|KZ-py$JU{&T+>bcii#&;&5t&cqX>VakG}UUC*L%cZugEjCg4Hu-ov7CljcEC;Z}5 z%!dh%@CZDO`7)DCf}Vg6ipj2ArpHCJg6jc-!5hE8LzGEA=g)I9LRG~n7=9OzAq?It zzU^J3=9=5!CHL~$%DonxCoGf7OZ`+e?cetw4##hcpL + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moMoveLoopExpl< M > Member List

This is the complete list of members for moMoveLoopExpl< M >, including all inherited members.

+ + + + +
functor_category()eoBF< const M::EOType &, M::EOType &, void > [static]
operator()(const M::EOType &, M::EOType &)=0eoBF< const M::EOType &, M::EOType &, void > [pure virtual]
~eoBF()eoBF< const M::EOType &, M::EOType &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_loop_expl.html b/trunk/paradiseo-mo/doc/html/classmo_move_loop_expl.html new file mode 100644 index 000000000..76cd95628 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_move_loop_expl.html @@ -0,0 +1,70 @@ + + +ParadisEO-MOMovingObjects: moMoveLoopExpl< M > Class Template Reference + + + + +
+ +
+ +

moMoveLoopExpl< M > Class Template Reference

Class which describes an iterative explorer. +More... +

+#include <moMoveLoopExpl.h> +

+

+Inheritance diagram for moMoveLoopExpl< M >:
+
+ +

+ +moMoveExpl< M > +eoBF< const M::EOType &, M::EOType &, void > +eoFunctorBase +moHCMoveLoopExpl< M > +moTSMoveLoopExpl< M > + +
+ +

+List of all members. + +
+


Detailed Description

+

template<class M>
+ class moMoveLoopExpl< M >

+ +Class which describes an iterative explorer. +

+Only a description... moHCMoveLoopExpl and moTSMoveLoopExpl are exemples of class that are a moMoveLoopExpl. +

Definition at line 47 of file moMoveLoopExpl.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_loop_expl.png b/trunk/paradiseo-mo/doc/html/classmo_move_loop_expl.png new file mode 100644 index 0000000000000000000000000000000000000000..82d725cec160ec109fdc0604bc0692bb3176ad12 GIT binary patch literal 2000 zcmbVNc~H~W77m*rVqjE61QoU7fn?w^Jd!qaliS_nLB6ZeD|F1W_o(K ztykZw4uL?{yMN#3V4)<7sTOhe>eo98t(4m==~jak`|IphikcR%(AGj#sz;=@wM(MC}muiExY;E zR%m29A4!Vbpud3qh&S=h9SfNtt9=l&cGWNApXXcG!0P{#l61ycXxXFU2xzT>eWx~c z&ZqNQbjsL)DRf_$oGlR!HcsIg{@PTLy11qGv0>$N<|WZf4Tj#W0J30Kx`3VTq1x16Bv)nVqGPS z1MK$VZ=w0SN3$Y&IJ^XY!3@GvN15RGXK>+jId$Jyw)CQ~Pp2z4es`#B-Iz39sxhK2 zaavfKXA{(?l?fp~mS+^f)Fi3@65wgD^V^`QL7cQN1z-Y`c; z4>jqe`Ql8#1WjQ1!(_u#Vh3W#c-z5}tPde)t4&zgc|&gMtC2y`0i!u*Yz=<&c#{SB z=i|URC*iWc?#VX*J}vB!}m4nkii$)pst2QaA|uwbSFy37+;Fq@&C)dJcc~ zjiC@y+XYRb=Q;h$%rOvB^Awfa^A^z(?_9m?&Q#3bSwt) zG$taQ)e5*#05*d0uy|L69!HoxUv$Z>2A-9zwRvQ^<^(`QFXzE@(;L^Q<{Ui?HB?v} zq{DO<9lnkEcti_9Mo^5dhiy{s=o=w?>e7^PiQ2$@K!PCTT{K{oR}I4Sj-|$+#adxM zuGLf9MawzP_iG-xFmN5Tws~86@mFQW;9TETvZ_-_1P~DP)tyt(`>RH^C}DkHsvIsd-AixjA+^2`nXsJ#W_y9E`F$o&)45-1oQi|Nl{(FkusHA_)v{f{#F&Lf8T7Fc#Aty_u#r53Nc z^LCsaVjRYG9QDB~)Dam{3y~AaW{*`Cs2{}*Oeg?>spyB?%iUuCzDGBywm3L`(#-r* z`GXkrw-P1?c|Lo9m>O>?g5(d>(0Z!2igC> z%}YA%mScZk-XkACv$>N5D@=*sxd zy?5y1dI46<7r(BI5ac@&Vrb7acJ!n>{BE;9fClyL11yn_o+LLujDxd}Q8ny+MtEey ze$pMulHP7k*7HH#=O~%qurD$?LEe7G?0r;IQn@Hms7~Y4^-U`l$H&Q!;z-V5#m`` zscWQ5oq;dyP?&)qCj#ACucq0L`&XNz0gz=ye^D7^7|70K3U%2#`E)U+C3 zN?rZUzyt-LwpBjlcQ;vNC0%&mk9}#xJ*b&^Eq_|Ew}WBqL^rybd$qc2zI9L-0OWcz znG=};utXZkMv|Iy)9zVy6NUHcqH5nKoH$+U5A0dLzl{YXAcu*F9fjS*yn>VV=P;Cg zOlr?!MZ~evh;H+IF#Q6z*(OQ9*2T)R%hTKTR8(z#LAA*LxvWr9Wj{1(^NZKge8yAN uRj(gSsowd;zwCS;$8xqC1;GQZuPD@14v_iYK`rv{7vhfaZ~>iyQ~wJzu){0> literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_select-members.html b/trunk/paradiseo-mo/doc/html/classmo_move_select-members.html new file mode 100644 index 000000000..44d06615e --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_move_select-members.html @@ -0,0 +1,45 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moMoveSelect< M > Member List

This is the complete list of members for moMoveSelect< M >, including all inherited members.

+ + + + + + + +
Fitness typedefmoMoveSelect< M >
functor_category()eoBF< M &, M::EOType::Fitness &, void > [static]
init(const Fitness &_fitness)=0moMoveSelect< M > [pure virtual]
operator()(M &, M::EOType::Fitness &)=0eoBF< M &, M::EOType::Fitness &, void > [pure virtual]
update(const M &_move, const Fitness &_fitness)=0moMoveSelect< M > [pure virtual]
~eoBF()eoBF< M &, M::EOType::Fitness &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_select.html b/trunk/paradiseo-mo/doc/html/classmo_move_select.html new file mode 100644 index 000000000..6e74c8b77 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_move_select.html @@ -0,0 +1,157 @@ + + +ParadisEO-MOMovingObjects: moMoveSelect< M > Class Template Reference + + + + +
+ +
+ +

moMoveSelect< M > Class Template Reference

Class that describes a move selector (moMove). +More... +

+#include <moMoveSelect.h> +

+

+Inheritance diagram for moMoveSelect< M >:
+
+ +

+ +eoBF< M &, M::EOType::Fitness &, void > +eoFunctorBase +moBestImprSelect< M > +moFirstImprSelect< M > +moRandImprSelect< M > + +
+ +

+List of all members. + + + + + + + + + + + + +

Public Types

+typedef M::EOType::Fitness Fitness
 Alias for the fitness.

Public Member Functions

virtual void init (const Fitness &_fitness)=0
 Procedure which initialises all that the move selector needs including the initial fitness.
virtual bool update (const M &_move, const Fitness &_fitness)=0
 Function which updates the best solutions.
+


Detailed Description

+

template<class M>
+ class moMoveSelect< M >

+ +Class that describes a move selector (moMove). +

+It iteratively considers some moves (moMove) and their associated fitnesses. The best move is so regularly updated. At any time, it could be accessed. +

Definition at line 50 of file moMoveSelect.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
virtual void moMoveSelect< M >::init (const Fitness _fitness  )  [pure virtual]
+
+
+ +

+Procedure which initialises all that the move selector needs including the initial fitness. +

+In order to know the fitness of the solution, for which the neighborhood will be soon explored

+

Parameters:
+ + +
_fitness the current fitness.
+
+ +

Implemented in moBestImprSelect< M >, moFirstImprSelect< M >, and moRandImprSelect< M >.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
virtual bool moMoveSelect< M >::update (const M &  _move,
const Fitness _fitness 
) [pure virtual]
+
+
+ +

+Function which updates the best solutions. +

+

Parameters:
+ + + +
_move a new move.
_fitness a fitness linked to the new move.
+
+
Returns:
a boolean that expresses the need to resume the exploration.
+ +

Implemented in moBestImprSelect< M >, moFirstImprSelect< M >, and moRandImprSelect< M >.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_move_select.png b/trunk/paradiseo-mo/doc/html/classmo_move_select.png new file mode 100644 index 0000000000000000000000000000000000000000..10bda515a7357fea269e9504ccda8891cc87c296 GIT binary patch literal 1886 zcmcIlc~BBq97gjBLd^xm3y&Rks zExe*c%{0wwbOCP-vJ}g*WAhF}VcB-J-Ddh@|7d5v_rC9&_nY_L%=>=x&SSiGgMnH= z0002q4S0IY#Xb-Uae=^XXOUO`GQ%-#bii9{lm5=nb$X;8jYeID)Y?a3XI7g8$| z>+R(OKu(RG000yg_P9A8NWAv`8a77YsEV59iqO2XJGKYe4j!yE5e0Vmc%JgK%^yX! z@}bWQ*U3yAGEObn=&c!G0T+T4R_C`1Y+aYr#ml<)5l`FyM)VG%YR3%1oKb+i`)C$1 zym7y0c=N6ztj+`yvYDK@!XwjXEa_F|2B&@`X`vjbI-Q6k<4A~~#6LR6u##6kan8!* zO=s-!l&wV0EW$-o^O8rd;hiSKMh;1UQg$o2;gm;=gDlF@CpR!Ei7m$CMkjGRQYU! zFqwYgD^LVdOIj8fNbuE%q9+ucL8`93vJX_5082S@(+m$T8;J-fV_Jmo5B~H8XW6mb?vphRa?$L2?2z5B~ow~gEP`urNoG|94>BFsIxhZMlm7pi{ardNb}I%y$=ygV{~8BlM9uB z)DB0YZ(|nLZ0NcjcJRX$T<9qJKDK^p+P}}1=@nnyn7IfvK~uDBu?tOxxo?khpj=H~ zjKMn7KKh)2Me*P#o`@K7n)yETG8^Bc{<0I;&B0`@#bNe8S&S4d$9J#3ndfQ3P@y;o z_r~gY?z1v$X_AuL(*0J|CZRA?R-1C{8d~%}kO-$n^uuI=mHhBFtfp#hScdjrr1!r( z^}j;20+)p?a6e?5-Vv?kx0*^1{sLvUGh;eCGv>myN~6dLxGUILY4kNp1`>t0)#ogT z;SRBSr1D!Eh;O%Pn33^XsCzWMmpOSPe|Act-hPHy+A8sG>ooKreBc8Nrsp4$pEk0-nAKd6w7sy79p`yAA|27eE$@2NGb^n9#QnN&!= zahYCyq|c(IAqa9EM`I116eZPDcAA(0^N7cE&IdPHomBG45v0|y1}p4wI>$pHccM)a zJo;*1rgqg48bS(D_0nx8S|aSW0>6P7a#R|apst@um3L34P@4Y?{$~<8|A%J7gYLPz z_F~)RA237eJC0KKv@w@ee?+~V6idcA`^_u z#&KDTU&mc!Eyl}%7Div0c;Gozeyh!+GN+-X<7Aqy4KsC1T^n$-r%|0-JPe-FADjR= z<1p4N8BQDdS?p;4vvIUOan{1!knPIVyDhXNR@HXuG%ghqN^D+iipzE`9TLYRCtFoU z-;@L#M2ubZT2N$@0cz>4W{bTgG5l9%X(U4@YS@gF~z10??UPjX)JCVJfYXxeLWv;sm94*&Q6c?(j&o zJ4t!|Y0s)d&KUNA`tH%CKt7-C|L{~?g!MbJtYSIh<04^M;#o2AvZUoFSXZ)oR(W>o z(do9^jTEtWop_g{$&|W0GB`SHk(DFZmy?cNP#Xjt*Wrz5JodfC{S8V%sH&;ZluDVS z(2N?`g5UrS69OOMVuqs(@_G~wn;w$vYS>P^M<7VA>_@J;sL~TI_(47DE?+!NzeBcr z{<=9|NRp=s@p8224Kiebwf*wGYoN6(e2xh#9}i+x5xzF(6C^KQ1b9FZ1gl65=8g|ph-P> literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_next_move-members.html b/trunk/paradiseo-mo/doc/html/classmo_next_move-members.html new file mode 100644 index 000000000..78086a964 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_next_move-members.html @@ -0,0 +1,42 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moNextMove< M > Member List

This is the complete list of members for moNextMove< M >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_next_move.html b/trunk/paradiseo-mo/doc/html/classmo_next_move.html new file mode 100644 index 000000000..0ff4dc113 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_next_move.html @@ -0,0 +1,68 @@ + + +ParadisEO-MOMovingObjects: moNextMove< M > Class Template Reference + + + + +
+ +
+ +

moNextMove< M > Class Template Reference

Class which allows to generate a new move (moMove). +More... +

+#include <moNextMove.h> +

+

+Inheritance diagram for moNextMove< M >:
+
+ +

+ +eoBF< A1, A2, R > +eoFunctorBase +moItRandNextMove< M > + +
+ +

+List of all members. + +
+


Detailed Description

+

template<class M>
+ class moNextMove< M >

+ +Class which allows to generate a new move (moMove). +

+Useful for the explorer (for moTS or moHC). Does nothing... An object that herits from this class needs to be designed for being used. +

Definition at line 47 of file moNextMove.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_next_move.png b/trunk/paradiseo-mo/doc/html/classmo_next_move.png new file mode 100644 index 0000000000000000000000000000000000000000..2021f9a10664d8ed2e2c547b78a47ca74ffa189d GIT binary patch literal 861 zcmV-j1ETziP)g_Ob~(>vn}Rj#0!HAvv+ZX!$j>{8)abiN$fB zfkS|3s9X_K$0vVF*1&hSZ4&sj1&tF=n!RxBrVl=VCMx6 zz>)>0z9Z={F1Ik&?Qq;#pw70Ty09)?<9LsUA$iYtYAEh;a~zGz zVVf_(WM)BPs^i$f!F!7B$UK^nuuOc!s&Li)#J$o+%#JBj<>Te+0KeyG+t`vPgHtt-J$Q^!Cm-H zBMV?>TnY{gu6+D%WG_q8_G}Js9A^o=Ss%s?702BOH~GRi`Lg{bIG;y(fj5=rILA58 zagKAGcKf?F5kJKhF-x5(duMmE4&Lz=5wWEHn7|Kg9#asLBu@`Z7% z-20}&=TTnZO{F=`agKAG;~eL>JK)Bir~Mv%>~`;GjNcW9l96KT+Y|TLtV=OER@&k0 z6MIVjFt~iwXK1ui#vw0!fcy?6Z-=vakk+D56=`vXG(^x0nhRV6O-HGDJDkk}j4P=q z`AZSEbr*^eX<1t#IL%zCzS~;W{GbCI8&z<^>u`xXW?D(UkbJ87GLe^YK=F6P+U*`! zITa^iZE<7@G`JJ%433PXG$>wQq=`MUa>)2jR_AoS00000NkvXXu0mjfMg^C> literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit-members.html b/trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit-members.html new file mode 100644 index 000000000..cb5753430 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moNoAspirCrit< M > Member List

This is the complete list of members for moNoAspirCrit< M >, including all inherited members.

+ + + + + + +
functor_category()eoBF< A1, A2, R > [static]
init()moNoAspirCrit< M > [inline, private, virtual]
operator()(const M &_move, const typename M::EOType::Fitness &_fitness)moNoAspirCrit< M > [inline, private]
moAspirCrit::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit.html b/trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit.html new file mode 100644 index 000000000..2474474ea --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit.html @@ -0,0 +1,146 @@ + + +ParadisEO-MOMovingObjects: moNoAspirCrit< M > Class Template Reference + + + + +
+ +
+ +

moNoAspirCrit< M > Class Template Reference

One of the possible aspiration criterion (moAspirCrit). +More... +

+#include <moNoAspirCrit.h> +

+

+Inheritance diagram for moNoAspirCrit< M >:
+
+ +

+ +moAspirCrit< M > +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + +

Private Member Functions

bool operator() (const M &_move, const typename M::EOType::Fitness &_fitness)
 Function which describes the aspiration criterion behaviour.
void init ()
 Procedure which initialises all that needs a moNoAspirCrit.
+


Detailed Description

+

template<class M>
+ class moNoAspirCrit< M >

+ +One of the possible aspiration criterion (moAspirCrit). +

+The simplest : never satisfied. +

Definition at line 47 of file moNoAspirCrit.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
bool moNoAspirCrit< M >::operator() (const M &  _move,
const typename M::EOType::Fitness &  _fitness 
) [inline, private]
+
+
+ +

+Function which describes the aspiration criterion behaviour. +

+Does nothing.

+

Parameters:
+ + + +
_move a move.
_fitness a fitness.
+
+
Returns:
false.
+ +

Definition at line 57 of file moNoAspirCrit.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + +
void moNoAspirCrit< M >::init (  )  [inline, private, virtual]
+
+
+ +

+Procedure which initialises all that needs a moNoAspirCrit. +

+Nothing... +

Implements moAspirCrit< M >.

+ +

Definition at line 66 of file moNoAspirCrit.h.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit.png b/trunk/paradiseo-mo/doc/html/classmo_no_aspir_crit.png new file mode 100644 index 0000000000000000000000000000000000000000..c0687eec9a39458d4c9a5ffbc317b7755ec034d0 GIT binary patch literal 782 zcmV+p1M&QcP)tOMmkJP^+7(5wZa1SSvZT1XuT z=zJ|cWls3F2=_nj-`U68h`&zw@%nzk>-F*NgeR!;gd(Yo06GaQvHE;$2{0o-mV&TP2~^8f z9%BT6Hit}?nqqTTmyg9+4tqBX$jR0jw>s0jT@JH4yd!jVu(bea#AqR)5%T5fYMxrF zPsiUNE)cq##@|66_n-A&6I^e85yADQ6P(}#Cpf_gjk(@@Frj>XmoN1MD)O-UPI_t@ z(+5~v(+F6^&5=O-819}iA;lr<8B$yt2;LJAY6lOw`NnNI)mGZ+RPjZcB;iPCdw^KF zgi4S)z}^rlVkAfh5Jv)7Sk`=o7zmU_-YN$ptaG4z2)U1`lE2m=Q&)9R{ZDl*bU#S* z*TVY#=*ga(x5p>;Xu@T4f)QMAei6a-rW2gt1SdGb35~%`i(9;zqZ1~CAb;wvuJi^` z4rBF&1tI1up$2GBXt^nDgPsr=AArZeqYzSD1U^?>8Um~d5ttE$5bYIGSb7Ul2~lPN znxRlbtb{EpA&>c`u8?aXaM&7xA`XP01m3G5js(b+j4_n?ObH<`%PI#W%yQtVXF{oi zu7wh`4w-ta1FyxlHKVPC?gu`wwXnR#{cyBP+x78;OXdV4-2Sxx1Id)O<>Y;9r~m)} M07*qoM6N<$g2S*{0ssI2 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue-members.html b/trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue-members.html new file mode 100644 index 000000000..d968eaaf7 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue-members.html @@ -0,0 +1,49 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moNoFitImprSolContinue< EOT > Member List

This is the complete list of members for moNoFitImprSolContinue< EOT >, including all inherited members.

+ + + + + + + + + + + +
countermoNoFitImprSolContinue< EOT > [private]
firstFitnessSavedmoNoFitImprSolContinue< EOT > [private]
fitnessmoNoFitImprSolContinue< EOT > [private]
Fitness typedefmoNoFitImprSolContinue< EOT >
functor_category()eoUF< const EOT &, bool > [static]
init()moNoFitImprSolContinue< EOT > [inline, virtual]
maxNumberOfIterationsWithoutImprovementmoNoFitImprSolContinue< EOT > [private]
moNoFitImprSolContinue(unsigned int _maxNumberOfIterationWithoutImprovement)moNoFitImprSolContinue< EOT > [inline]
operator()(const EOT &_solution)moNoFitImprSolContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< const EOT &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue.html b/trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue.html new file mode 100644 index 000000000..798579a47 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue.html @@ -0,0 +1,198 @@ + + +ParadisEO-MOMovingObjects: moNoFitImprSolContinue< EOT > Class Template Reference + + + + +
+ +
+ +

moNoFitImprSolContinue< EOT > Class Template Reference

One possible stop criterion for a solution-based heuristic. +More... +

+#include <moNoFitImprSolContinue.h> +

+

+Inheritance diagram for moNoFitImprSolContinue< EOT >:
+
+ +

+ +moSolContinue< EOT > +eoUF< const EOT &, bool > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef EOT::Fitness Fitness
 Alias for the fitness.

Public Member Functions

 moNoFitImprSolContinue (unsigned int _maxNumberOfIterationWithoutImprovement)
 Basic constructor.
bool operator() (const EOT &_solution)
 Function that activates the stopping criterion.
void init ()
 Procedure which allows to initialise all the stuff needed.

Private Attributes

+unsigned int maxNumberOfIterationsWithoutImprovement
 Maximum number of iterations without improvement allowed.
+bool firstFitnessSaved
 Flag that this is the first time that the fitness is used.
+Fitness fitness
 Current Fitness.
+unsigned int counter
 The iteration couter.
+


Detailed Description

+

template<class EOT>
+ class moNoFitImprSolContinue< EOT >

+ +One possible stop criterion for a solution-based heuristic. +

+The stop criterion corresponds to a maximum number of iterations without improvement. +

Definition at line 46 of file moNoFitImprSolContinue.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
moNoFitImprSolContinue< EOT >::moNoFitImprSolContinue (unsigned int  _maxNumberOfIterationWithoutImprovement  )  [inline]
+
+
+ +

+Basic constructor. +

+

Parameters:
+ + +
_maxNumberOfIterationWithoutImprovement The number of iterations without fitness improvement to reach for stop.
+
+ +

Definition at line 57 of file moNoFitImprSolContinue.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
bool moNoFitImprSolContinue< EOT >::operator() (const EOT &  _solution  )  [inline, virtual]
+
+
+ +

+Function that activates the stopping criterion. +

+Indicates if the fitness has not been improved since a given number of iterations (after a minimum of iterations).

Parameters:
+ + +
_solution the current solution.
+
+
Returns:
true or false.
+ +

Implements eoUF< const EOT &, bool >.

+ +

Definition at line 67 of file moNoFitImprSolContinue.h.

+ +

References moNoFitImprSolContinue< EOT >::counter, moNoFitImprSolContinue< EOT >::firstFitnessSaved, moNoFitImprSolContinue< EOT >::fitness, and moNoFitImprSolContinue< EOT >::maxNumberOfIterationsWithoutImprovement.

+ +
+

+ +

+
+
+template<class EOT>
+ + + + + + + + +
void moNoFitImprSolContinue< EOT >::init (  )  [inline, virtual]
+
+
+ +

+Procedure which allows to initialise all the stuff needed. +

+It can be also used to reinitialize all the needed things. +

Implements moSolContinue< EOT >.

+ +

Definition at line 102 of file moNoFitImprSolContinue.h.

+ +

References moNoFitImprSolContinue< EOT >::counter, and moNoFitImprSolContinue< EOT >::firstFitnessSaved.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue.png b/trunk/paradiseo-mo/doc/html/classmo_no_fit_impr_sol_continue.png new file mode 100644 index 0000000000000000000000000000000000000000..a727d6003d5dbd84b5aa3fd7373cd4b1d99caa0e GIT binary patch literal 959 zcmV;w13>(VP)9SgeOa+P7G&IQQKF2^lzGhzmamWC;c`JBH9J_Sp~N$R0BU=%tGXN7nonmvdSN z0g${1Ni`wsi;xgUWYR%+xqz0dZH&#C_+diRdm5F;=j|?us=5 z#8qc6rvD?C}bDplrKT| z`Oc`2*C3>2!C3QUbq!bqBTbM+L01*r8etXWi4f;*9s*hON<%93z3X031bFGNLem)H3D7Hj}VB;bxgg=ow+7WCZ#3~L{cP#XO~RU z6;_A`Kgc9}=!OtMX*2P1x%y1}aJkCA1y*LVR1<7!BD%}vlvmay^@eNuqcjXJ7mE8N z)g-R*>h9V<-15iAKwi@74;l*jwUARDiB5UAyCy_+;mbj8)LjZuh(Z*i5QQj2Aqr7l zSRtPRad9uGBi*pr27(Z4$h3X*iI}_ysUl<5nnuDF`YaMYQ=~@XGpT?{f8*_(QBq`W zm^N@a%v(Dv1Q+)x4-eD%g?v2Zlt-dd9`3FQQC;|QkQ;TELKLD9g(yTJ3Q>qcc0u6%V=~j>sm_K%E)KE$ z8xEl%teLEI1W5iC%8b^-`uGTPM#U=}L?dvl(J7Um=|>pUK-o zum+GNwB;$(@F`U?vj=(eqzbW_(?TY44*|$O1>)rb8!!Y4=^KtVrAuWqdCT8VFDCAkfxCbXQ-K*j2T=3?xWwY`RbQsjiOGYCA-gNzC$sKa9P=A)^Y~4W h1BODb2sz`C=s%9;`MA`{+4BGZ002ovPDHLkV1mL~o{<0m literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_rand_impr_select-members.html b/trunk/paradiseo-mo/doc/html/classmo_rand_impr_select-members.html new file mode 100644 index 000000000..da8a699cb --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_rand_impr_select-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moRandImprSelect< M > Member List

This is the complete list of members for moRandImprSelect< M >, including all inherited members.

+ + + + + + + + + + +
better_fitnessesmoRandImprSelect< M > [private]
better_movesmoRandImprSelect< M > [private]
Fitness typedefmoRandImprSelect< M >
functor_category()eoBF< M &, M::EOType::Fitness &, void > [static]
init(const Fitness &_fitness)moRandImprSelect< M > [inline, virtual]
initial_fitnessmoRandImprSelect< M > [private]
operator()(M &_move, Fitness &_fitness)moRandImprSelect< M > [inline, virtual]
update(const M &_move, const Fitness &_fitness)moRandImprSelect< M > [inline, virtual]
~eoBF()eoBF< M &, M::EOType::Fitness &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_rand_impr_select.html b/trunk/paradiseo-mo/doc/html/classmo_rand_impr_select.html new file mode 100644 index 000000000..70897ac78 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_rand_impr_select.html @@ -0,0 +1,226 @@ + + +ParadisEO-MOMovingObjects: moRandImprSelect< M > Class Template Reference + + + + +
+ +
+ +

moRandImprSelect< M > Class Template Reference

One of the possible moMove selector (moMoveSelect). +More... +

+#include <moRandImprSelect.h> +

+

+Inheritance diagram for moRandImprSelect< M >:
+
+ +

+ +moMoveSelect< M > +eoBF< M &, M::EOType::Fitness &, void > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef M::EOType::Fitness Fitness
 Alias for the fitness.

Public Member Functions

void init (const Fitness &_fitness)
 Procedure which all that needs a moRandImprSelect.
bool update (const M &_move, const Fitness &_fitness)
 Function that updates the fitness and move vectors.
void operator() (M &_move, Fitness &_fitness)
 The move selection.

Private Attributes

+Fitness initial_fitness
 Fitness of the current solution.
+std::vector< Fitnessbetter_fitnesses
 Candidate fitnesse vector.
+std::vector< M > better_moves
 Candidate move vector.
+


Detailed Description

+

template<class M>
+ class moRandImprSelect< M >

+ +One of the possible moMove selector (moMoveSelect). +

+All the neighbors are considered. One of them that enables an improvment of the objective function is choosen. +

Definition at line 49 of file moRandImprSelect.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
void moRandImprSelect< M >::init (const Fitness _fitness  )  [inline, virtual]
+
+
+ +

+Procedure which all that needs a moRandImprSelect. +

+Give a value to the initialise fitness. Clean the move and fitness vectors.

+

Parameters:
+ + +
_fitness the current best fitness
+
+ +

Implements moMoveSelect< M >.

+ +

Definition at line 63 of file moRandImprSelect.h.

+ +

References moRandImprSelect< M >::better_fitnesses, moRandImprSelect< M >::better_moves, and moRandImprSelect< M >::initial_fitness.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
bool moRandImprSelect< M >::update (const M &  _move,
const Fitness _fitness 
) [inline, virtual]
+
+
+ +

+Function that updates the fitness and move vectors. +

+if a move give a better fitness than the initial fitness, it is saved and the fitness too.

+

Parameters:
+ + + +
_move a new move.
_fitness a new fitness associated to the new move.
+
+
Returns:
true.
+ +

Implements moMoveSelect< M >.

+ +

Definition at line 79 of file moRandImprSelect.h.

+ +

References moRandImprSelect< M >::better_fitnesses, moRandImprSelect< M >::better_moves, and moRandImprSelect< M >::initial_fitness.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
void moRandImprSelect< M >::operator() (M &  _move,
Fitness _fitness 
) [inline, virtual]
+
+
+ +

+The move selection. +

+One the saved move is randomly chosen.

+

Parameters:
+ + + +
_move the reference of the move that can be initialised by the function.
_fitness the reference of the fitness that can be initialised by the function.
+
+ +

Implements eoBF< M &, M::EOType::Fitness &, void >.

+ +

Definition at line 98 of file moRandImprSelect.h.

+ +

References moRandImprSelect< M >::better_fitnesses, moRandImprSelect< M >::better_moves, and eoRng::random().

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_rand_impr_select.png b/trunk/paradiseo-mo/doc/html/classmo_rand_impr_select.png new file mode 100644 index 0000000000000000000000000000000000000000..b935a8e2fa9abdb9411bab10b463c3c2bc1e48d9 GIT binary patch literal 1076 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K54zMr-Ny)Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fr0syr;B4q#hkaZqstyE@U*?1Ug>tLafa-f zoE83e{|m8kax$0s$;5jZi{{>qVEYou@#u-YPd)qem;N$Qb=D2cG7Jn2uX?&f_j4^M zbvf$wdX+eHz^>0F^EKX0;JC?jBF%+u0$0#;Ifieu?np2MZ8H$^VELrESEyT=K_Sp! z8c)M4=95zInLX@Yacp6z%)X@0-%oUfl3SwTxl=GY3;{j-&pY z0_L$!VrD6Mt+QjXMFX?N0doe4e-U-tYUaFqc$TrQ_FqZE`Sbnqd&I)Wx zL>X30Ny!SzeZjWzgx89=D29NOyh*$bybf0;u2T*u(Fzn3_D$Os$MWo<>6is@__<;E3bXBTAWFQ)13Cy>@ik zWXe5n`thI_Lidwx->_7?Nlvz`TG_t&J?q&`RZD7Cn=7;bSjli${&ai2L1lTv!%cS! zpoHfO24HBRqFoPvuFn95ZQSk5t2M^H7haX@Jy2oEP$H!wCb@{!p!U5H!^N%?dFgV# zUAz6Z$27h*o+2CmouMJ`O_DB~_QF1cV}8q5i@M)ZR(aFi@Gjvs;|y6_S=dkrjOW(g$wBQr)-M;0p5F_&rJ0{g{%WhsuD<_)w<2f5FENbS9sHWQHNjgj`FNCe*WT-RJfbvQR}p+ zbFRPBgKt5}&$1KSvKg5=wAnoLf~G6V-#C}e(V@Olut>CYj==Ls$8!u3=O;0D3vVud zZ5hHKv~nd=h1&-426o43XH6N{*_!0kBxl?)I&-A=4QE(|F`PAk$Im+oV<(M}IL + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moRandMove< M > Member List

This is the complete list of members for moRandMove< M >, including all inherited members.

+ + + + +
functor_category()eoUF< M &, void > [static]
operator()(M &)=0eoUF< M &, void > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< M &, void > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_rand_move.html b/trunk/paradiseo-mo/doc/html/classmo_rand_move.html new file mode 100644 index 000000000..6fa546de5 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_rand_move.html @@ -0,0 +1,67 @@ + + +ParadisEO-MOMovingObjects: moRandMove< M > Class Template Reference + + + + +
+ +
+ +

moRandMove< M > Class Template Reference

Random move generator. +More... +

+#include <moRandMove.h> +

+

+Inheritance diagram for moRandMove< M >:
+
+ +

+ +eoUF< M &, void > +eoFunctorBase + +
+ +

+List of all members. + +
+


Detailed Description

+

template<class M>
+ class moRandMove< M >

+ +Random move generator. +

+Only a description... An object that herits from this class needs to be designed in order to use a moSA. +

Definition at line 46 of file moRandMove.h.

+
The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_rand_move.png b/trunk/paradiseo-mo/doc/html/classmo_rand_move.png new file mode 100644 index 0000000000000000000000000000000000000000..2e8f6148eb9016e8c3ce22da84348e5dd43702e5 GIT binary patch literal 586 zcmV-Q0=4~#P)t^sXU#cKf{_T>1ITVf#w9>vW;ioBsNzWK;SE8u>yk_z6C9+1x|8Bq zde7cv56=-cdyi}JTn8Cx`|QheTy#Mz;a=}l-r|5i>D?$#C{fu%s=V}0Ku?tahdF** z{N#=LzKdjGwE>q&;Rvte1&OLyuRb27Jvv?Y&H!WSXD%UX;(Xnwjt_zCa!PXqhX2Y_r+@1$_3;!3+4F zIer57Iqprk&vA}B?zrQQ-xr5d7Sfs8qT^+el^m{YH}AYXZo^~9d&Mo@c?FMrj-WWC zka7rAoY(5!#S`#rVmwOPB&Y0>byBxt;?->`&X+kxdT-$)u1PB%V1siC`64P6W8osJ zT1pmgYoo`5&DP + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moSA< M > Member List

This is the complete list of members for moSA< M >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
binaryeoOp< EOType >
className() consteoMonOp< M::EOType > [virtual]
continumoSA< M > [private]
cooling_schedulemoSA< M > [private]
eoMonOp()eoMonOp< M::EOType >
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
EOT typedefmoSA< M > [private]
Fitness typedefmoSA< M > [private]
full_evaluationmoSA< M > [private]
functor_category()eoUF< M::EOType &, bool > [static]
generaleoOp< EOType >
getType() consteoOp< EOType >
incremental_evaluationmoSA< M > [private]
initial_temperaturemoSA< M > [private]
moSA(moRandMove< M > &_random_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moSolContinue< EOT > &_continue, double _initial_temperature, moCoolingSchedule &_cooling_schedule, eoEvalFunc< EOT > &_full_evaluation)moSA< M > [inline]
operator()(EOT &_solution)moSA< M > [inline, virtual]
OpType enum nameeoOp< EOType >
quadraticeoOp< EOType >
random_move_generatormoSA< M > [private]
unaryeoOp< EOType >
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]
~eoUF()eoUF< M::EOType &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_s_a.html b/trunk/paradiseo-mo/doc/html/classmo_s_a.html new file mode 100644 index 000000000..7d1b5f384 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_s_a.html @@ -0,0 +1,209 @@ + + +ParadisEO-MOMovingObjects: moSA< M > Class Template Reference + + + + +
+ +
+ +

moSA< M > Class Template Reference

Simulated Annealing (SA). +More... +

+#include <moSA.h> +

+Inherits moAlgo< M::EOType >. +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moSA (moRandMove< M > &_random_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moSolContinue< EOT > &_continue, double _initial_temperature, moCoolingSchedule &_cooling_schedule, eoEvalFunc< EOT > &_full_evaluation)
 SA constructor.
bool operator() (EOT &_solution)
 function that launches the SA algorithm.

Private Types

+typedef M::EOType EOT
 Alias for the type.
+typedef EOT::Fitness Fitness
 Alias for the fitness.

Private Attributes

+moRandMove< M > & random_move_generator
 A move generator (generally randomly).
+moMoveIncrEval< M > & incremental_evaluation
 A (generally) efficient evaluation function.
+moSolContinue< EOT > & continu
 Stopping criterion before temperature update.
+double initial_temperature
 Initial temperature.
+moCoolingSchedulecooling_schedule
 The cooling schedule.
+eoEvalFunc< EOT > & full_evaluation
 A full evaluation function.
+


Detailed Description

+

template<class M>
+ class moSA< M >

+ +Simulated Annealing (SA). +

+Class that describes a Simulated Annealing algorithm. +

Definition at line 53 of file moSA.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moSA< M >::moSA (moRandMove< M > &  _random_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moSolContinue< EOT > &  _continue,
double  _initial_temperature,
moCoolingSchedule _cooling_schedule,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+SA constructor. +

+All the boxes used by a SA need to be given.

+

Parameters:
+ + + + + + + +
_random_move_generator The move generator (generally randomly).
_incremental_evaluation The (generally) efficient evaluation function
_continue The stopping criterion.
_initial_temperature The initial temperature.
_cooling_schedule The cooling schedule, describes how the temperature is modified.
_full_evaluation The full evaluation function.
+
+ +

Definition at line 74 of file moSA.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
bool moSA< M >::operator() (EOT _solution  )  [inline, virtual]
+
+
+ +

+function that launches the SA algorithm. +

+As a moTS or a moHC, the SA can be used for HYBRIDATION in an evolutionary algorithm.

+

Parameters:
+ + +
_solution A solution to improve.
+
+
Returns:
TRUE.
+ +

Implements eoUF< M::EOType &, bool >.

+ +

Definition at line 89 of file moSA.h.

+ +

References moSA< M >::continu, moSA< M >::cooling_schedule, moSA< M >::full_evaluation, moSA< M >::incremental_evaluation, moSA< M >::initial_temperature, moSA< M >::random_move_generator, and eoRng::uniform().

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list-members.html b/trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list-members.html new file mode 100644 index 000000000..d7353e427 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list-members.html @@ -0,0 +1,53 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moSimpleMoveTabuList< M > Member List

This is the complete list of members for moSimpleMoveTabuList< M >, including all inherited members.

+ + + + + + + + + + + + + + + +
add(const M &_move, const EOT &_solution)moSimpleMoveTabuList< M > [inline, virtual]
EOT typedefmoSimpleMoveTabuList< M >
functor_category()eoBF< A1, A2, R > [static]
init()moSimpleMoveTabuList< M > [inline, virtual]
memory_maximum_sizemoSimpleMoveTabuList< M > [private]
memory_sizemoSimpleMoveTabuList< M > [private]
moSimpleMoveTabuList(unsigned int _memory_maximum_size)moSimpleMoveTabuList< M > [inline]
moveIterator typedefmoSimpleMoveTabuList< M >
operator()(const M &_move, const EOT &_solution)moSimpleMoveTabuList< M > [inline]
moTabuList::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
removeMove(const M &_move)moSimpleMoveTabuList< M > [inline, private]
tabuListmoSimpleMoveTabuList< M > [private]
update()moSimpleMoveTabuList< M > [inline, virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list.html b/trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list.html new file mode 100644 index 000000000..cf33035cf --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list.html @@ -0,0 +1,289 @@ + + +ParadisEO-MOMovingObjects: moSimpleMoveTabuList< M > Class Template Reference + + + + +
+ +
+ +

moSimpleMoveTabuList< M > Class Template Reference

Class describing a move tabu list with a limited memory. +More... +

+#include <moSimpleMoveTabuList.h> +

+

+Inheritance diagram for moSimpleMoveTabuList< M >:
+
+ +

+ +moTabuList< M > +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef M::EOType EOT
 Alias for the type.
+typedef std::list< M >::iterator moveIterator
 Alias for an iterator of a move list.

Public Member Functions

moSimpleMoveTabuList (unsigned int _memory_maximum_size)
 Constructor.
bool operator() (const M &_move, const EOT &_solution)
 Function that indicates if, in a given state, the _move is tabu or not.
void add (const M &_move, const EOT &_solution)
 Procedure to add a move in the tabu list.
void update ()
 Procedure that updates the tabu list content.
void init ()
 Procedure which initialises the tabu list.

Private Member Functions

void removeMove (const M &_move)
 Procedure that removes a given move from the tabu list (if it is into, else do nothing).

Private Attributes

+unsigned int memory_maximum_size
 The maximum size of the tabu list.
+unsigned int memory_size
 The current size of the tabu list.
+std::list< M > tabuList
 The move tabu list.
+


Detailed Description

+

template<class M>
+ class moSimpleMoveTabuList< M >

+ +Class describing a move tabu list with a limited memory. +

Definition at line 46 of file moSimpleMoveTabuList.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
bool moSimpleMoveTabuList< M >::operator() (const M &  _move,
const EOT _solution 
) [inline]
+
+
+ +

+Function that indicates if, in a given state, the _move is tabu or not. +

+

Parameters:
+ + + +
_move A given moMove.
_solution A solution.
+
+
Returns:
true or false.
+ +

Definition at line 69 of file moSimpleMoveTabuList.h.

+ +

References moSimpleMoveTabuList< M >::tabuList.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
void moSimpleMoveTabuList< M >::add (const M &  _move,
const EOT _solution 
) [inline, virtual]
+
+
+ +

+Procedure to add a move in the tabu list. +

+The two parameters have not to be modified so they are constant parameters.

+

Parameters:
+ + + +
_move a new tabu move.
_solution the origianl solution associated to this move.
+
+ +

Implements moTabuList< M >.

+ +

Definition at line 86 of file moSimpleMoveTabuList.h.

+ +

References moSimpleMoveTabuList< M >::memory_maximum_size, moSimpleMoveTabuList< M >::memory_size, moSimpleMoveTabuList< M >::removeMove(), and moSimpleMoveTabuList< M >::tabuList.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + +
void moSimpleMoveTabuList< M >::update (  )  [inline, virtual]
+
+
+ +

+Procedure that updates the tabu list content. +

+Generally, a counter associated to each saved move is decreased by one. +

Implements moTabuList< M >.

+ +

Definition at line 110 of file moSimpleMoveTabuList.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + +
void moSimpleMoveTabuList< M >::init (  )  [inline, virtual]
+
+
+ +

+Procedure which initialises the tabu list. +

+Can be useful if the data structure needs to be allocated before being used. +

Implements moTabuList< M >.

+ +

Definition at line 115 of file moSimpleMoveTabuList.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + +
void moSimpleMoveTabuList< M >::removeMove (const M &  _move  )  [inline, private]
+
+
+ +

+Procedure that removes a given move from the tabu list (if it is into, else do nothing). +

+

Parameters:
+ + +
_move A given moMove.
+
+ +

Definition at line 126 of file moSimpleMoveTabuList.h.

+ +

References moSimpleMoveTabuList< M >::tabuList.

+ +

Referenced by moSimpleMoveTabuList< M >::add().

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list.png b/trunk/paradiseo-mo/doc/html/classmo_simple_move_tabu_list.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a038c830dd1c5fe5f526f2783efbb9ecb4da6e GIT binary patch literal 883 zcmV-(1C0EMP)nFSJj+{}C2RfQ5|{+lkXSBRVw!!)NiMcAS53f6pr4?oT?Y82WwC z2oO~>w%#Y8`(|vtaXEG~I!BAZXv{wms3&(&H!_+&@tD16=A~HCKp#;qNWHZgSL45n z2GCCtbkUl6525pH74;0wf&dB9Z}Y~e(`__g@y2#;)4D7G=jdZvs|-mXgxn(;B3eU? z$1>#cVrWDEBKpLag+1kK*XVaa|NOfk`s?TCg6NB8h@lN_XhR#?(1tejGtno$x?l6V zjG;H8$@ziF&%>mgxtN*{a=;);v3Gx>a#h5Pi*49uG_pf8KsN|t34JfR+DsLVbS)-U z8_^nq#(^s9Xwf>BSxa<*6|D#C0Xh#>QI|PvWZ^WTf6S0Qj5=vSWKLA7cK%-J-4^vw z>pSR;T9*s~(C%PGV@227yE5cv={UDN?7e7BTMPFfdPgzzhoDbxgewQ)y4m60fG+8W3HH#f`5M3y!8_I$jyEnJd$o`NR zS#)FzV>@If2euwS$8z>dY)Fjy{2JBbM@2Rk)5=k>6?8qACN^Y$G>#7oCWT&M-$x^K z=p_2cBdc*XWZy@}K5AJ+?9fM}u3F<#>tapr*Scj0k^&f`oOy(n78SixKJgFT(1tdj z@1bHo-^dKnjfXmvP?gVnrrCL%cvE)@n<4ytzn_H3|VMR+YC+X znj!PlkSdS@dF%7PHx{I3NI?(sy36o~%SWM~Q4IY`^m#7}{{cWKn% + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moSimpleSolutionTabuList< M > Member List

This is the complete list of members for moSimpleSolutionTabuList< M >, including all inherited members.

+ + + + + + + + + + + + + + + +
add(const M &_move, const EOT &_solution)moSimpleSolutionTabuList< M > [inline, virtual]
EOT typedefmoSimpleSolutionTabuList< M >
functor_category()eoBF< A1, A2, R > [static]
init()moSimpleSolutionTabuList< M > [inline, virtual]
memory_maximum_sizemoSimpleSolutionTabuList< M > [private]
memory_sizemoSimpleSolutionTabuList< M > [private]
moSimpleSolutionTabuList(unsigned int _memory_maximum_size)moSimpleSolutionTabuList< M > [inline]
operator()(const M &_move, const EOT &_solution)moSimpleSolutionTabuList< M > [inline]
moTabuList::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
removeSolution(const EOT &_solution)moSimpleSolutionTabuList< M > [inline, private]
solutionIterator typedefmoSimpleSolutionTabuList< M >
tabuListmoSimpleSolutionTabuList< M > [private]
update()moSimpleSolutionTabuList< M > [inline, virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_simple_solution_tabu_list.html b/trunk/paradiseo-mo/doc/html/classmo_simple_solution_tabu_list.html new file mode 100644 index 000000000..4071f8238 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_simple_solution_tabu_list.html @@ -0,0 +1,320 @@ + + +ParadisEO-MOMovingObjects: moSimpleSolutionTabuList< M > Class Template Reference + + + + +
+ +
+ +

moSimpleSolutionTabuList< M > Class Template Reference

Class describing a solution tabu list with limited length. +More... +

+#include <moSimpleSolutionTabuList.h> +

+

+Inheritance diagram for moSimpleSolutionTabuList< M >:
+
+ +

+ +moTabuList< M > +eoBF< A1, A2, R > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef M::EOType EOT
 Alias for the type.
+typedef std::list< EOT >::iterator solutionIterator
 Alias for an iterator of a solution list.

Public Member Functions

 moSimpleSolutionTabuList (unsigned int _memory_maximum_size)
 Constructor.
bool operator() (const M &_move, const EOT &_solution)
 Function that indicates if, in a given state, the _move is tabu or not.
void add (const M &_move, const EOT &_solution)
 Procedure to add a move in the tabu list.
void update ()
 Procedure that updates the tabu list content.
void init ()
 Procedure which initialises the tabu list.

Private Member Functions

void removeSolution (const EOT &_solution)
 Procedure that removes a given solution from the tabu list (if it is into, else does nothing).

Private Attributes

+unsigned int memory_maximum_size
 The maximum size of the tabu list.
+unsigned int memory_size
 The current size of the tabu list.
+std::list< EOTtabuList
 The solution tabu list.
+


Detailed Description

+

template<class M>
+ class moSimpleSolutionTabuList< M >

+ +Class describing a solution tabu list with limited length. +

Definition at line 46 of file moSimpleSolutionTabuList.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
moSimpleSolutionTabuList< M >::moSimpleSolutionTabuList (unsigned int  _memory_maximum_size  )  [inline]
+
+
+ +

+Constructor. +

+

Parameters:
+ + +
_memory_maximum_size The maximum size of the solution tabu list.
+
+ +

Definition at line 60 of file moSimpleSolutionTabuList.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
bool moSimpleSolutionTabuList< M >::operator() (const M &  _move,
const EOT _solution 
) [inline]
+
+
+ +

+Function that indicates if, in a given state, the _move is tabu or not. +

+

Parameters:
+ + + +
_move A given moMove.
_solution A solution.
+
+
Returns:
true or false.
+ +

Definition at line 69 of file moSimpleSolutionTabuList.h.

+ +

References moSimpleSolutionTabuList< M >::tabuList.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
void moSimpleSolutionTabuList< M >::add (const M &  _move,
const EOT _solution 
) [inline, virtual]
+
+
+ +

+Procedure to add a move in the tabu list. +

+The two parameters have not to be modified so they are constant parameters.

+

Parameters:
+ + + +
_move a new tabu move.
_solution the origianl solution associated to this move.
+
+ +

Implements moTabuList< M >.

+ +

Definition at line 89 of file moSimpleSolutionTabuList.h.

+ +

References moSimpleSolutionTabuList< M >::memory_maximum_size, moSimpleSolutionTabuList< M >::memory_size, moSimpleSolutionTabuList< M >::removeSolution(), and moSimpleSolutionTabuList< M >::tabuList.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + +
void moSimpleSolutionTabuList< M >::update (  )  [inline, virtual]
+
+
+ +

+Procedure that updates the tabu list content. +

+Generally, a counter associated to each saved move is decreased by one. +

Implements moTabuList< M >.

+ +

Definition at line 115 of file moSimpleSolutionTabuList.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + +
void moSimpleSolutionTabuList< M >::init (  )  [inline, virtual]
+
+
+ +

+Procedure which initialises the tabu list. +

+Can be useful if the data structure needs to be allocated before being used. +

Implements moTabuList< M >.

+ +

Definition at line 120 of file moSimpleSolutionTabuList.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + +
void moSimpleSolutionTabuList< M >::removeSolution (const EOT _solution  )  [inline, private]
+
+
+ +

+Procedure that removes a given solution from the tabu list (if it is into, else does nothing). +

+

Parameters:
+ + +
_solution A given solution.
+
+ +

Definition at line 131 of file moSimpleSolutionTabuList.h.

+ +

References moSimpleSolutionTabuList< M >::tabuList.

+ +

Referenced by moSimpleSolutionTabuList< M >::add().

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_simple_solution_tabu_list.png b/trunk/paradiseo-mo/doc/html/classmo_simple_solution_tabu_list.png new file mode 100644 index 0000000000000000000000000000000000000000..38d26e3298b696b097277f482c5495ad0df8f9bf GIT binary patch literal 906 zcmV;519kj~P)c5`Yv)XCEM0jb;=OkR=HTv46!%YQ*`{$po={{-m1Z0Wx6Ivc?1 zrr!r#KZ^`t00S7n00uCC0d5QE{sD6RZ!`lO1)%IUErlqox>7DW0#I9_?i4^+s&u^u zq^*IYlmXLrK^XI9N8T)W6acdOkhf)~4W?x`C7r2`hg`13#lqBz2f9s?OT6uNP1@30 z0hS5x0kn*orzp+X$Y3cxE)m`W;KTzuLjySGL5=}D#X!owdt*?tD5N<7lwG<(Q%3>I z?fY-C0Ss^kK=)-!_l4Kl09H5sKH&OUWB>ygzyJm?fB_6}TL5%!gYV#F)tmuN28c0t zxkEP`@Tt{}$>CMXr>aZW*=hrDL*4Uya224|YytHd;$;hP>F9X$@zT2}@lgbxM+T(k z!Lta+R+5sIXAfWizX{b$}e2|-LIF7@61}Q)+B$>;G z=rHIY3&88VX-@z$oB|-i1Rz!f0ID$uh~cjR1J4+PHL@@PxCualJP+`#2kek<08buN zfMPA%o&l(Q5(AlyNep6E@OwbInneyIzbNvOSTaQ}X(c)RWI|3I1w6k8(>(t~yDi{z g%>ZWr^j^0716LFA;#S1Qxc~qF07*qoM6N<$g13H!SO5S3 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_sol_continue-members.html b/trunk/paradiseo-mo/doc/html/classmo_sol_continue-members.html new file mode 100644 index 000000000..0c012fd73 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_sol_continue-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moSolContinue< EOT > Member List

This is the complete list of members for moSolContinue< EOT >, including all inherited members.

+ + + + + +
functor_category()eoUF< const EOT &, bool > [static]
init()=0moSolContinue< EOT > [pure virtual]
operator()(const EOT &)=0eoUF< const EOT &, bool > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< const EOT &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_sol_continue.html b/trunk/paradiseo-mo/doc/html/classmo_sol_continue.html new file mode 100644 index 000000000..d69b7379a --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_sol_continue.html @@ -0,0 +1,101 @@ + + +ParadisEO-MOMovingObjects: moSolContinue< EOT > Class Template Reference + + + + +
+ +
+ +

moSolContinue< EOT > Class Template Reference

Class that describes a stop criterion for a solution-based heuristic. +More... +

+#include <moSolContinue.h> +

+

+Inheritance diagram for moSolContinue< EOT >:
+
+ +

+ +eoUF< const EOT &, bool > +eoFunctorBase +moFitSolContinue< EOT > +moGenSolContinue< EOT > +moNoFitImprSolContinue< EOT > +moSteadyFitSolContinue< EOT > + +
+ +

+List of all members. + + + + + +

Public Member Functions

virtual void init ()=0
 Procedure which initialises all that the stop criterion needs.
+


Detailed Description

+

template<class EOT>
+ class moSolContinue< EOT >

+ +Class that describes a stop criterion for a solution-based heuristic. +

+It allows to add an initialisation procedure to an object that is a unary function (eoUF). +

Definition at line 48 of file moSolContinue.h.

+

Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + +
virtual void moSolContinue< EOT >::init (  )  [pure virtual]
+
+
+ +

+Procedure which initialises all that the stop criterion needs. +

+Generally, it allocates some data structures or initialises some counters. +

Implemented in moFitSolContinue< EOT >, moGenSolContinue< EOT >, moNoFitImprSolContinue< EOT >, and moSteadyFitSolContinue< EOT >.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_sol_continue.png b/trunk/paradiseo-mo/doc/html/classmo_sol_continue.png new file mode 100644 index 0000000000000000000000000000000000000000..71ed9397db73dede548c264e7c7df0751dd998e3 GIT binary patch literal 2035 zcmcgteNdA}9)3v#C8DHwxr!KSuYL?4Mbngsyh23;q{R@0QWX?1CNYwN6@4)VLeK)W zd}%>I$xFs55~+Ly32`Wx1TY{Fl1MZ_0_7t@6q5!BRv2k>@#d~~ow>hmIydwDcAwpO zcIWroXLt4ri5Rv9wE+bHz?$&=`wjsB(%;6VE0DG}kiD8>>(-MZqC>1!tBqQ%QXVhi zs*U|4q*5uX!}`oNv^#f*7zON^9-;!k$}8dff}$^QO>k1O&L160{>$@}VsKMyR$lCQ zJ&l7Hwz|~kY(Lo0c;GYF(j{WWlj;`}PDLJ%Lw`t5KPN958~py5eyqE1SOEGZCt1elGfrueOeYG#X4(%3q*x-GCeP6%k9;|wQAq)0G zn*`tW1c}JU7>V&)YvBunJ$F|@H*NbkzTB4gEyVCQN7T7P^?QYQ$2)_H0pjj^bDn4O zjvc5^c%`OslW7G9pl<^TmzHW^J3j~L;?Xj3o~U!T9)AUtZcwGd});L=^Qh3#NL4iP}Cbj!o$ve$b5f z)dqmq-G}Ja$3ga2Cu1A164psC$z4Q}0a3ZzyeMPxwN1n6lkH3cg1{2Z9;c3$7c#n( z=CpZc_u{#Sot36^;!^FN-+aRbYPl;k%R<*9culXIj0=AN`^0JQe;zQ0d`6~!d%xN- zMJxyC$DIG86K^e-?wq97hqZP|%5>=9eAIs=DxZ6D`++7ys~JtzW#}@r3o@TB`LC55 z5xd9F%p`kHUzUs-h@d(%&vai;vXx7nNxmZ&G9LQ{V?K_?$w~HW zK6k=L2L)p~ojzBQWIO)nX?1FlBz{U##+!34vgoJyzcQCx^_YbQ3HPx4m3|oo<#?XD zb0WcTK7s$v5Zw;iu;>GEaT?~!0>?DdlLQM{jbx1mze}EG<8x)v2i5%^&<6a-umgU1 zc410BlHx<9bZ1L$b3-Q0B_fY+KzWOXEcR7ggIykWsWfFAP;DMq{3#`O)Qh@yDrP5~ zW?98*XE5%wm<&_NoffYD)Gq@B`(c?E-Iw~t&kI!8_uR@&-Fog>S;$4-h%ZZH>m1e3 zBQV+}8Dp?EuO=+~puV;uZgUa6+Dr&MnZXPgUYyzoQaB|P4;pHHXzI^(1D^(MRCb@& z`;E=+E_Bh0LEDQLq56wm;`<3Vntj|iIc2WK2BaOyh3;O_4b_D99E1yYswel8AKK|p z;f%eC$>#)J53(P99?zy9#k?49)R!jlMV3%{EI84V*z_F|#%15bZp#%h z&uVV*j)S=U`CGIeL4%NcEgTG{To*NxQ>)q(G>SRjQUx>Tr`@ScRV`tovl8?OJ^WPk z!}bT$#@<4&u%iA-(|8-cEKvj*JBXjr!=PSuno*eFMBA2fwwji`^WFCa;jP|fqRq?7 zwuwg-uiCtMg3d^&Yw8Y#!;FX}wmhx;P%?JyH6zva{H`A22u%{D?I={HL{Ao=w|tnD z#-DX##|YjaE*5m#o7%po1JKb6hgFW`9RhVn=Ox7v|FOpk$8r3OLjvD^h`s_k%7Gmm tgqHcpxi+HSdHn;Tz+$gYKN4g`O51}U_P#i?*7idK;UUC*^?MU8{T*$V%+3G+ literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue-members.html b/trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue-members.html new file mode 100644 index 000000000..74e638d39 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moSteadyFitSolContinue< EOT > Member List

This is the complete list of members for moSteadyFitSolContinue< EOT >, including all inherited members.

+ + + + + + + + + + + + + +
countermoSteadyFitSolContinue< EOT > [private]
firstFitnessSavedmoSteadyFitSolContinue< EOT > [private]
Fitness typedefmoSteadyFitSolContinue< EOT >
fitnessmoSteadyFitSolContinue< EOT > [private]
functor_category()eoUF< const EOT &, bool > [static]
init()moSteadyFitSolContinue< EOT > [inline, virtual]
maxNumberOfIterationsmoSteadyFitSolContinue< EOT > [private]
maxNumberOfIterationsReachedmoSteadyFitSolContinue< EOT > [private]
maxNumberOfIterationsWithoutImprovementmoSteadyFitSolContinue< EOT > [private]
moSteadyFitSolContinue(unsigned int _maxNumberOfIterations, unsigned int _maxNumberOfIterationWithoutImprovement)moSteadyFitSolContinue< EOT > [inline]
operator()(const EOT &_solution)moSteadyFitSolContinue< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< const EOT &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue.html b/trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue.html new file mode 100644 index 000000000..46abcf18c --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue.html @@ -0,0 +1,217 @@ + + +ParadisEO-MOMovingObjects: moSteadyFitSolContinue< EOT > Class Template Reference + + + + +
+ +
+ +

moSteadyFitSolContinue< EOT > Class Template Reference

One possible stopping criterion for a solution-based heuristic. +More... +

+#include <moSteadyFitSolContinue.h> +

+

+Inheritance diagram for moSteadyFitSolContinue< EOT >:
+
+ +

+ +moSolContinue< EOT > +eoUF< const EOT &, bool > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef EOT::Fitness Fitness
 Alias for the fitness.

Public Member Functions

 moSteadyFitSolContinue (unsigned int _maxNumberOfIterations, unsigned int _maxNumberOfIterationWithoutImprovement)
 Basic constructor.
bool operator() (const EOT &_solution)
 Function that activates the stopping criterion.
void init ()
 Procedure which allows to initialise the stuff needed.

Private Attributes

+unsigned int maxNumberOfIterations
 Maximum number of iterations before considering the fitness.
+unsigned int maxNumberOfIterationsWithoutImprovement
 Maximum number of iterations without improvement allowed.
+bool maxNumberOfIterationsReached
 Flag that indicates that the maxNumberIteration have been reached.
+bool firstFitnessSaved
 Flag that this is the first time that the fitness is used.
+Fitness fitness
 Current Fitness.
+unsigned int counter
 The iteration couter.
+


Detailed Description

+

template<class EOT>
+ class moSteadyFitSolContinue< EOT >

+ +One possible stopping criterion for a solution-based heuristic. +

+The stop criterion corresponds to a maximum number of iterations without improvement (after a minimum number of iterations). +

Definition at line 46 of file moSteadyFitSolContinue.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
moSteadyFitSolContinue< EOT >::moSteadyFitSolContinue (unsigned int  _maxNumberOfIterations,
unsigned int  _maxNumberOfIterationWithoutImprovement 
) [inline]
+
+
+ +

+Basic constructor. +

+

Parameters:
+ + + +
_maxNumberOfIterations The number of iterations to reach before looking for the fitness.
_maxNumberOfIterationWithoutImprovement The number of iterations without fitness improvement to reach for stop.
+
+ +

Definition at line 58 of file moSteadyFitSolContinue.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
bool moSteadyFitSolContinue< EOT >::operator() (const EOT &  _solution  )  [inline, virtual]
+
+
+ +

+Function that activates the stopping criterion. +

+Indicates if the fitness has not been improved since a number of iterations (after a minimum of iterations).

+

Parameters:
+ + +
_solution the current solution.
+
+
Returns:
true or false.
+ +

Implements eoUF< const EOT &, bool >.

+ +

Definition at line 70 of file moSteadyFitSolContinue.h.

+ +

References moSteadyFitSolContinue< EOT >::counter, moSteadyFitSolContinue< EOT >::firstFitnessSaved, moSteadyFitSolContinue< EOT >::fitness, moSteadyFitSolContinue< EOT >::maxNumberOfIterations, moSteadyFitSolContinue< EOT >::maxNumberOfIterationsReached, and moSteadyFitSolContinue< EOT >::maxNumberOfIterationsWithoutImprovement.

+ +
+

+ +

+
+
+template<class EOT>
+ + + + + + + + +
void moSteadyFitSolContinue< EOT >::init (  )  [inline, virtual]
+
+
+ +

+Procedure which allows to initialise the stuff needed. +

+It can be also used to reinitialize the counter all the needed things. +

Implements moSolContinue< EOT >.

+ +

Definition at line 114 of file moSteadyFitSolContinue.h.

+ +

References moSteadyFitSolContinue< EOT >::counter, moSteadyFitSolContinue< EOT >::firstFitnessSaved, and moSteadyFitSolContinue< EOT >::maxNumberOfIterationsReached.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue.png b/trunk/paradiseo-mo/doc/html/classmo_steady_fit_sol_continue.png new file mode 100644 index 0000000000000000000000000000000000000000..702e690a244f9d9eaebebcd697821d21c1abe375 GIT binary patch literal 967 zcmV;&133JNP)Xk5G^V2#krnaXg7Db~b|*Ssy}j#{S34pVyD&cX;*qrHs#G zcmO93U9q0YXb)Yny0!0dMqIxKWcc{!AX%aznLRSn41Ipgz`(&}2BfK{51*|0&`mSi z#{iHxVsJf@^*KfiBl74NxL1(&s_luRd4xFwKmCK+AE*bXj(fI>wJ^%d0v zoO`mb&Kb&3#^*Awxc50czK);rmW=Pew_tpIf8T;}o4!(pGL)eVWhg@#%2391T=9%^ zm*+uc{G5T(*M@kPjDWHgB>4(eD-hq62zwYCD{}l#(yk+ScZ5+yH_2dQ65AZgZOrj2 z1~jtWm{G+;W`Hm{)(uyTvR7IBW%ml>Vt9A`TLL{Szx#$I`@?}yIFdj+9hAGsdD3i7VL zdSX1Ih3_0&m+YC02SXYEBjbvDpDXU+-jbpE?prZ#(^tw+hBB0)3}q-o8OoTBE1q%g z@;s=F6Bzt@Zjz*mb~I3BQ43Bku=PggHbV%8RXiF5@w||2iD{rA`ygJfEb<^~ydLl+ zUV7_QFnkDdC65^{zqQF~A}=&+yj3^Mietm@>r_WtxGND_M)@i;NI8vVka?^jGe!wJ zV#LT*0dDqc1=(i!IRho@5#vZ6g@I>x3~1{i`f7hYSm(vQ!scg8iwiWA^NJThvCNNzKUnsyqpvTa_0fHU1C@+gy^e$eXROwbBwNl<73V^ p=XYkxI46yp{_ZMc&bZ*-=O5f + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moTS< M > Member List

This is the complete list of members for moTS< M >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
binaryeoOp< EOType >
className() consteoMonOp< M::EOType > [virtual]
continumoTS< M > [private]
eoMonOp()eoMonOp< M::EOType >
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
EOT typedefmoTS< M > [private]
Fitness typedefmoTS< M > [private]
full_evaluationmoTS< M > [private]
functor_category()eoUF< M::EOType &, bool > [static]
generaleoOp< EOType >
getType() consteoOp< EOType >
moTS(moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion, moSolContinue< EOT > &_continue, eoEvalFunc< EOT > &_full_evaluation)moTS< M > [inline]
moTS(moMoveExpl< M > &_move_explorer, moSolContinue< EOT > &_continue, eoEvalFunc< EOT > &_full_evaluation)moTS< M > [inline]
move_explorermoTS< M > [private]
operator()(EOT &_solution)moTS< M > [inline, virtual]
OpType enum nameeoOp< EOType >
quadraticeoOp< EOType >
unaryeoOp< EOType >
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]
~eoUF()eoUF< M::EOType &, bool > [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_t_s.html b/trunk/paradiseo-mo/doc/html/classmo_t_s.html new file mode 100644 index 000000000..be95fd408 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_t_s.html @@ -0,0 +1,256 @@ + + +ParadisEO-MOMovingObjects: moTS< M > Class Template Reference + + + + +
+ +
+ +

moTS< M > Class Template Reference

Tabu Search (TS). +More... +

+#include <moTS.h> +

+Inherits moAlgo< M::EOType >. +

+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moTS (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion, moSolContinue< EOT > &_continue, eoEvalFunc< EOT > &_full_evaluation)
 Constructor of a moTS specifying all the boxes.
 moTS (moMoveExpl< M > &_move_explorer, moSolContinue< EOT > &_continue, eoEvalFunc< EOT > &_full_evaluation)
 Constructor with less parameters.
bool operator() (EOT &_solution)
 Function which launchs the Tabu Search.

Private Types

+typedef M::EOType EOT
 Alias for the type.
+typedef EOT::Fitness Fitness
 Alias for the fitness.

Private Attributes

+moMoveExpl< M > & move_explorer
 Neighborhood explorer.
+moSolContinue< EOT > & continu
 Stop criterion.
+eoEvalFunc< EOT > & full_evaluation
 Full evaluation function.
+


Detailed Description

+

template<class M>
+ class moTS< M >

+ +Tabu Search (TS). +

+Generic algorithm that describes a tabu search. +

Definition at line 50 of file moTS.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moTS< M >::moTS (moMoveInit< M > &  _move_initializer,
moNextMove< M > &  _next_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moTabuList< M > &  _tabu_list,
moAspirCrit< M > &  _aspiration_criterion,
moSolContinue< EOT > &  _continue,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+Constructor of a moTS specifying all the boxes. +

+In this constructor, a moTSMoveLoopExpl is instanciated.

+

Parameters:
+ + + + + + + + +
_move_initializer The move initializer.
_next_move_generator The neighbourhood explorer.
_incremental_evaluation The (generally) efficient evaluation.
_tabu_list The tabu list.
_aspiration_criterion An aspiration criterion.
_continue The stopping criterion.
_full_evaluation A full evaluation function.
+
+ +

Definition at line 72 of file moTS.h.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moTS< M >::moTS (moMoveExpl< M > &  _move_explorer,
moSolContinue< EOT > &  _continue,
eoEvalFunc< EOT > &  _full_evaluation 
) [inline]
+
+
+ +

+Constructor with less parameters. +

+The explorer is given in the parameters.

+

Parameters:
+ + + + +
_move_explorer The explorer (generally different that a moTSMoveLoopExpl).
_continue The stopping criterion.
_full_evaluation A full evaluation function.
+
+ +

Definition at line 89 of file moTS.h.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + +
bool moTS< M >::operator() (EOT _solution  )  [inline, virtual]
+
+
+ +

+Function which launchs the Tabu Search. +

+Algorithm of the tabu search. As a moSA or a moHC, it can be used for HYBRIDATION in an evolutionary algorithm. For security a lock (pthread_mutex_t) is closed during the algorithm.

+

Parameters:
+ + +
_solution a solution to improve.
+
+
Returns:
TRUE.
+ +

Implements eoUF< M::EOType &, bool >.

+ +

Definition at line 102 of file moTS.h.

+ +

References moTS< M >::continu, moTS< M >::full_evaluation, and moTS< M >::move_explorer.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl-members.html b/trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl-members.html new file mode 100644 index 000000000..99487faf1 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moTSMoveLoopExpl< M > Member List

This is the complete list of members for moTSMoveLoopExpl< M >, including all inherited members.

+ + + + + + + + + + + + + +
aspiration_criterionmoTSMoveLoopExpl< M > [private]
EOT typedefmoTSMoveLoopExpl< M > [private]
Fitness typedefmoTSMoveLoopExpl< M > [private]
functor_category()eoBF< const M::EOType &, M::EOType &, void > [static]
incremental_evaluationmoTSMoveLoopExpl< M > [private]
moTSMoveLoopExpl(moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion)moTSMoveLoopExpl< M > [inline]
move_initializermoTSMoveLoopExpl< M > [private]
move_selectionmoTSMoveLoopExpl< M > [private]
next_move_generatormoTSMoveLoopExpl< M > [private]
operator()(const EOT &_old_solution, EOT &_new_solution)moTSMoveLoopExpl< M > [inline, virtual]
tabu_listmoTSMoveLoopExpl< M > [private]
~eoBF()eoBF< const M::EOType &, M::EOType &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl.html b/trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl.html new file mode 100644 index 000000000..932f52ded --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl.html @@ -0,0 +1,222 @@ + + +ParadisEO-MOMovingObjects: moTSMoveLoopExpl< M > Class Template Reference + + + + +
+ +
+ +

moTSMoveLoopExpl< M > Class Template Reference

Explorer for a Tabu Search algorithm. +More... +

+#include <moTSMoveLoopExpl.h> +

+

+Inheritance diagram for moTSMoveLoopExpl< M >:
+
+ +

+ +moMoveLoopExpl< M > +moMoveExpl< M > +eoBF< const M::EOType &, M::EOType &, void > +eoFunctorBase + +
+ +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moTSMoveLoopExpl (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion)
 Constructor.
void operator() (const EOT &_old_solution, EOT &_new_solution)
 Procedure which lauches the exploration.

Private Types

+typedef M::EOType EOT
 Alias for the type.
+typedef M::EOType::Fitness Fitness
 Alias for the fitness.

Private Attributes

+moMoveInit< M > & move_initializer
 Move initialisation.
+moNextMove< M > & next_move_generator
 Neighborhood explorer.
+moMoveIncrEval< M > & incremental_evaluation
 Efficient evaluation.
+moBestImprSelect< M > move_selection
 Move selector.
+moTabuList< M > & tabu_list
 Tabu list.
+moAspirCrit< M > & aspiration_criterion
 Aspiration criterion.
+


Detailed Description

+

template<class M>
+ class moTSMoveLoopExpl< M >

+ +Explorer for a Tabu Search algorithm. +

+It is used by a moTS. +

Definition at line 53 of file moTSMoveLoopExpl.h.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moTSMoveLoopExpl< M >::moTSMoveLoopExpl (moMoveInit< M > &  _move_initializer,
moNextMove< M > &  _next_move_generator,
moMoveIncrEval< M > &  _incremental_evaluation,
moTabuList< M > &  _tabu_list,
moAspirCrit< M > &  _aspiration_criterion 
) [inline]
+
+
+ +

+Constructor. +

+

Parameters:
+ + + + + + +
_move_initializer The move initializer.
_next_move_generator The neighbourhood explorer.
_incremental_evaluation A (generally) efficient evaluation.
_tabu_list The tabu list.
_aspiration_criterion An aspiration criterion.
+
+ +

Definition at line 71 of file moTSMoveLoopExpl.h.

+ +

References moTSMoveLoopExpl< M >::aspiration_criterion, and moTSMoveLoopExpl< M >::tabu_list.

+ +
+

+


Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
void moTSMoveLoopExpl< M >::operator() (const EOT _old_solution,
EOT _new_solution 
) [inline, virtual]
+
+
+ +

+Procedure which lauches the exploration. +

+The exploration continues while the chosen move is not in the tabu list or the aspiration criterion is true. If these 2 conditions are not true, the exploration stops if the move selector update function returns false.

+

Parameters:
+ + + +
_old_solution the initial solution
_new_solution the new solution
+
+ +

Implements eoBF< const M::EOType &, M::EOType &, void >.

+ +

Definition at line 90 of file moTSMoveLoopExpl.h.

+ +

References moTSMoveLoopExpl< M >::aspiration_criterion, moTSMoveLoopExpl< M >::incremental_evaluation, moTSMoveLoopExpl< M >::move_initializer, moTSMoveLoopExpl< M >::move_selection, moTSMoveLoopExpl< M >::next_move_generator, and moTSMoveLoopExpl< M >::tabu_list.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl.png b/trunk/paradiseo-mo/doc/html/classmo_t_s_move_loop_expl.png new file mode 100644 index 0000000000000000000000000000000000000000..717f30a1788ac8ef51945255e8a0eb8afaa89080 GIT binary patch literal 1577 zcmcgsTTqe-6h`xwiq@!GS}m(PvuKQEq~&@kGTU@BHIv^3Hcd?h6-o%@l3mnr)=M%| z;+mG)u2%klVv15;P*V#P@*4VXg03E8s$9bCl&qkO|4V^Zy;}{(=Ku$C!(anjV5}c8i$9) zrc?oSShj+73LBULIyL_Zsqh`l zPe|xv^_4Se^5%fZMqbU{^X8l$Stp$Pt|R&FqYU! zCzYk_vT8;pcRWkZv~TAdOeSO6Pk{snpuXFV|BJwfMGjZ&PH-o5nAs)@j9^X)v?Wnf z!yR!GZ&gPUwy0b){9i~Sp~&V=W7zmfoyv3#XSghSYESmEo91QA=L0)aJows{TzbEx zOV*UvegRHNM6`X_PTU-?fA*|LO)B>9p~tqqrzX?#!|Hdu^++@(>_pE z+Q+oLD{A8S5CT?6bJb*6IC*s(ePqmAgA7aJW?x9O9~XB{C*?RvfI4g#x9x=A<2ARu zgk_-W-ut`>dbUc9o#C;XQ QbblSR literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/classmo_tabu_list-members.html b/trunk/paradiseo-mo/doc/html/classmo_tabu_list-members.html new file mode 100644 index 000000000..5c1a0c55e --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_tabu_list-members.html @@ -0,0 +1,46 @@ + + +ParadisEO-MOMovingObjects: Member List + + + + +
+ +
+ +

moTabuList< M > Member List

This is the complete list of members for moTabuList< M >, including all inherited members.

+ + + + + + + + +
add(const M &_move, const EOT &_solution)=0moTabuList< M > [pure virtual]
EOT typedefmoTabuList< M >
functor_category()eoBF< A1, A2, R > [static]
init()=0moTabuList< M > [pure virtual]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
update()=0moTabuList< M > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_tabu_list.html b/trunk/paradiseo-mo/doc/html/classmo_tabu_list.html new file mode 100644 index 000000000..584cca1a9 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/classmo_tabu_list.html @@ -0,0 +1,177 @@ + + +ParadisEO-MOMovingObjects: moTabuList< M > Class Template Reference + + + + +
+ +
+ +

moTabuList< M > Class Template Reference

Class describing a tabu list that a moTS uses. +More... +

+#include <moTabuList.h> +

+

+Inheritance diagram for moTabuList< M >:
+
+ +

+ +eoBF< A1, A2, R > +eoFunctorBase +moSimpleMoveTabuList< M > +moSimpleSolutionTabuList< M > + +
+ +

+List of all members. + + + + + + + + + + + + + + + +

Public Types

+typedef M::EOType EOT
 Alias for the type.

Public Member Functions

virtual void add (const M &_move, const EOT &_solution)=0
 Procedure to add a move in the tabu list.
virtual void update ()=0
 Procedure that updates the tabu list content.
virtual void init ()=0
 Procedure which initialises the tabu list.
+


Detailed Description

+

template<class M>
+ class moTabuList< M >

+ +Class describing a tabu list that a moTS uses. +

+It is only a description, does nothing... A new object that herits from this class has to be defined in order to be used in a moTS. +

Definition at line 46 of file moTabuList.h.

+

Member Function Documentation

+ +
+
+
+template<class M>
+ + + + + + + + + + + + + + + + + + +
virtual void moTabuList< M >::add (const M &  _move,
const EOT _solution 
) [pure virtual]
+
+
+ +

+Procedure to add a move in the tabu list. +

+The two parameters have not to be modified so they are constant parameters.

+

Parameters:
+ + + +
_move a new tabu move.
_solution the origianl solution associated to this move.
+
+ +

Implemented in moSimpleMoveTabuList< M >, and moSimpleSolutionTabuList< M >.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + +
virtual void moTabuList< M >::update (  )  [pure virtual]
+
+
+ +

+Procedure that updates the tabu list content. +

+Generally, a counter associated to each saved move is decreased by one. +

Implemented in moSimpleMoveTabuList< M >, and moSimpleSolutionTabuList< M >.

+ +
+

+ +

+
+
+template<class M>
+ + + + + + + + +
virtual void moTabuList< M >::init (  )  [pure virtual]
+
+
+ +

+Procedure which initialises the tabu list. +

+Can be useful if the data structure needs to be allocated before being used. +

Implemented in moSimpleMoveTabuList< M >, and moSimpleSolutionTabuList< M >.

+ +
+

+


The documentation for this class was generated from the following file: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/classmo_tabu_list.png b/trunk/paradiseo-mo/doc/html/classmo_tabu_list.png new file mode 100644 index 0000000000000000000000000000000000000000..b4c545581091dc713e5c9500f436e4655f44881e GIT binary patch literal 1364 zcmeAS@N?(olHy`uVBq!ia0y~yVC(|253n!;$rn#7=K?8-0G|-o|Ns93ng9PEm_I*Z z0+0p92M!#lKJ@lC{Pt*`Ri<;&t*f_{FfC|q!*kx)@sIm zH+Y7;_)QtpMi%SoCuCF~GYOnMALu_Z*rFALN}MhpojYfBRedRgf1td`eEIc#4imPwAP6-$Rk<8i#_cBCegiG)33@sOH-4 zO?w~Z9V)VvP2=8`qN=qlOH8xl`oi3RB^8}p9C?C|s5VV(Iuv%@YMIna2aSx~(R=4P z9b?UE$mZ&eK7Q2f7`NuL9h+>Mrc zasfA_#jV^KpK#YHv$}TuNM2ohWntF@`G4{}t3@gwu=gg+c{FRzAx$9K=L+`orpoZQ zt9~tbk))a>FH*b4lszGYQYI%g?2@`25MsAKc+T|TITM5DTvz6ro7T3p ztn9@5{>NJ!7mBw1Nw|6V&o!f?24@&~4v0RxYrt;3e~In`vHfgkf_nrkjs+;T*zI#gg)d{NEcELTj>lK@?&njsX!bC_I@Ife)&aS6jOO zi(Pa7*c1P|C5HQFEZWr>JjbY@>#|yG5JO7jizKGwHlDJLOXeR9Q9WH6rM5)0xw>mB zb7q*|&4g9#JLdFmF-n#93A`H|AZWP1^|wmzjNHvReV;0y@XG|`SRARDmbsZFF5t;; zrBxn|b83XXL?xYY^L**~VxgUS?vvO8KKBKk=7;%`_3qYoF|+SGroca$-Nn{Ay_;oi z>m{*2A>Wv}diV>TyG$0DcY7WGlKKAKGvp%ti(dX%`L(lYe#rTY!k%V#pKJ(tV=a&+ z=YR9X&7)pfnymi=f@_qPf0*h$P2-Eo!Wox#e$!a?lw+&*;yL<3Dm|@9_Y=FOS1&wp zmkl$aB+M&^=hWT1eE$m9}( zh25VS)@Z&sr+lqnq^7C!-L0nY0ReBe9i4Vq&(-K+RZR!$(Xi+gxu2Y$87KC0NAz;9 z++?cPCnI!#%~fZ=wD_%cz+_;V7Q8+-Z9-AeB-u7SmL)U$4E=m2CMEaXDp$C0v%9^< z=&79R!Z3~JempNfxpXD h3 { margin-top: 0; } +.directory p { margin: 0px; white-space: nowrap; } +.directory div { display: none; margin: 0px; } +.directory img { vertical-align: -30%; } diff --git a/trunk/paradiseo-mo/doc/html/doxygen.png b/trunk/paradiseo-mo/doc/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a274bbaffdd67f6d784c894d9cf28729db0e14 GIT binary patch literal 1281 zcmaJ>ZA?>F7(Vx-ms?uoS`b@hdRtpo6o^%HU>M$hfGrBvQnk$LE?p^P!kn&ikhyq! zX~V@&tPF5Qt@V?oTL96Bi%aRiwbe1)9DWQI#?)=HxS7QSw`J`5fAJ*eJbB;uNuKA& zdERDo*{Y<(If(#(B$Lr#;nB(8Y#ia=ZCeW?JfPLuQY`=@cW$k}Rivq|vbxGrRq1Tl9;+(gNt?}UtVKM2`T5t1jLzuL@0UIs`S#vlhl4)^ zLgSYrPj@$+`|j?eSbXTmiHGkWxV8V}BzNR?pl9k_s4pDu9vd5a_UzZEPk)}Ad{AV_ zzddrjrh4=Imr`E06;LY{)YYt?o}L~H@7C}F^WB!Ra=v`Q0bj{>5&$66CWF>mf6vjP z2N>RRY6ZYa=K`76>+|_)Xdwko+7wv}7cN|btOhWb(*{sta~6b?S8Omrxw}!4`NhGr zZVpNqpu1@BE`QGWNTpEpcJVW5izu~2B^GlM?1(OPg)zwW;QcP@Ltcclm>XbJL9C|j z=9!2?ua=uIlf0%AndzHsRC}IyTL$EhAee(fdKB`?27KeS^2M8M_7b~PiCFO&r5LC7 z7gl1*a<8;SjNaw#h=843_AV9iZbWQOAp5YOC^&_F*9K0> zB|6%IDb?aM#3viTxkLU4aXg&@+CkNTOnQ1iMP*^?b|^lJy$4C)Zk4isV!|RZ*XhXh zw8q3$=*0LeGC!XI_Wc?dkT~3+*Gu%%yIqP+Wr3H$=&ROMQU6q}Ag^P~>c5vAEO;a- z_dK-3PPeKar%)6$j~vI2#*-YH!1h6HYVtwCX5_wM`iF#UKz&&@9Oo5w3%XGYrX zW>dY~)SG-((Yim%`InwgTvyRC?e=Wh^8KCao!R6Eg&TpVWUY1sN~4G}V?nFnEGo-; zHZ_$eW9-GnC%^WS9b z@p;-$oH#MtC0v>Q$HX%4^JdFdO$0cbv-W)Q TtK}Eh@>>I#ipmV1>S*>q-hkC} literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/files.html b/trunk/paradiseo-mo/doc/html/files.html new file mode 100644 index 000000000..9f1b7c2df --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/files.html @@ -0,0 +1,69 @@ + + +ParadisEO-MOMovingObjects: File Index + + + + +
+ +
+

ParadisEO-MOMovingObjects File List

Here is a list of all documented files with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
index.h [code]
mo.h [code]
moAlgo.h [code]
moAspirCrit.h [code]
moBestImprSelect.h [code]
moComparator.h [code]
moCoolingSchedule.h [code]
moExponentialCoolingSchedule.h [code]
moFirstImprSelect.h [code]
moFitComparator.h [code]
moFitSolContinue.h [code]
moGenSolContinue.h [code]
moHC.h [code]
moHCMoveLoopExpl.h [code]
moILS.h [code]
moImprBestFitAspirCrit.h [code]
moItRandNextMove.h [code]
moLinearCoolingSchedule.h [code]
moLSCheckPoint.h [code]
moMove.h [code]
moMoveExpl.h [code]
moMoveIncrEval.h [code]
moMoveInit.h [code]
moMoveLoopExpl.h [code]
moMoveSelect.h [code]
moNextMove.h [code]
moNoAspirCrit.h [code]
moNoFitImprSolContinue.h [code]
moRandImprSelect.h [code]
moRandMove.h [code]
moSA.h [code]
moSimpleMoveTabuList.h [code]
moSimpleSolutionTabuList.h [code]
moSolContinue.h [code]
moSteadyFitSolContinue.h [code]
moTabuList.h [code]
moTS.h [code]
moTSMoveLoopExpl.h [code]
+
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/ftv2blank.png b/trunk/paradiseo-mo/doc/html/ftv2blank.png new file mode 100644 index 0000000000000000000000000000000000000000..493c3c0b615ade5b22027bde773faf2c0e076d66 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr2qYM%T@!Q%(o7{me!&ckj8p!u14)&*MwA5S zr6z#mEsk^N1FBF3sc_EE%}vcKVF=AhO-xa6_jFST&P^;T z2~I3aEm8;rVk12R#UIz>f`J-DJY5_^DsClP9B62eH+WF*G=YJMp~A-KbWwke5Kx}M M)78&qol`;+0EL(^EC2ui literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2doc.png b/trunk/paradiseo-mo/doc/html/ftv2doc.png new file mode 100644 index 0000000000000000000000000000000000000000..f72999f92172cca6edaa2538286b3e369bec9f49 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^5yjnX4egh%q=bp-`Pe zR7&bp17l3gfhmh7Fm(iZ2eAfco|q!h5)>qKG?UBh!IC9QGMbJAHf6IEiufk_g|d7~ qkWqJ4k(|I-Aeo-5U~n{Fnc?dN!3Uwu?t6hQVDNPHb6Mw<&;$TLIZ`G7 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2folderclosed.png b/trunk/paradiseo-mo/doc/html/ftv2folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d063440cbf13c4128dacd96661b6fce58abf26 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^55uo^`BphW;jCHO69?}tw{JfcdnZ<*@N=4I z?xF5Qc|QYEmKAIZ;JRGVHe=bn*tx1_|J^^vyg*oVM#A1kZlFULJYD@<);T3K0RTgB BWg7qh literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2folderopen.png b/trunk/paradiseo-mo/doc/html/ftv2folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe2c913cf493ee37ad8e3a5132382138d93ac92 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^5u(C zYP)Mg%H-DB+{J~>rPn_#pYTax?r*V6ubqGX{lvROQ{?n5_cbm+cQAOm`njxgN@xNA D92;js literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2lastnode.png b/trunk/paradiseo-mo/doc/html/ftv2lastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b9ba90cb0cf71c8ce662956bfee7d64cf60fa6 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6UZ?L@CkAK|NlRbNhD}!Xpp$P zU;Pg)ksC(lf|p%(p+w2Gk+!>EaktaVt4N i!r*{E4>QXNV>t$uAA#a^n)TVt_DW*G8-srQl%FeIsRSdYm zeDdtWec}u&7@8h5rqv#p7g*pRdwwmugmlS-+cHV~j}#7`Nwj9m+AU)JGGo`8z_}`K z?s#Xsy%Z;1_jl5Y+?Gum8WyK6`MBvup0SAOKJ)mWcHyteJ?WLL>>-)=?&<$H&t5oH Vd!azZ1yDdSc)I$ztaD0e0sw}(dc*(# literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2mlastnode.png b/trunk/paradiseo-mo/doc/html/ftv2mlastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..09ceb6adb01054ce799ad20c0e818ab9272f2df2 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr#LU3Jc=+&fg$isFPOjJ*AaIJQGm()YSDb0rfjgNefXW#>UHx3vIVCg! E0ORy6RsaA1 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2mnode.png b/trunk/paradiseo-mo/doc/html/ftv2mnode.png new file mode 100644 index 0000000000000000000000000000000000000000..3254c05112199fbc80aad313611c58a5b388792d GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6Ub2s@Ck7}aNq!ti3c<^Gz9OH zn+a6GSQ6wH%;50sMjDVKR^l2_5}cn_Ql40p%8;I!W>k=uu3)5RqGz-?&YcgaLd(;| zF{I*Fa>4?=2W(CyOv{5p*uLi}G<-ambjQcb>&~4!CzK3KXWY6d$*{eWU47N}X+XCz OFnGH9xvXPg)ksC(lf|p%(p+w2Gk+y>EaktaVt4N l!r*{E4>Lv;t literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2plastnode.png b/trunk/paradiseo-mo/doc/html/ftv2plastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..0b07e00913d8069ebbb51bd7fd6d70d8bba88f75 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr#LU3Jc=+&MJ literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2pnode.png b/trunk/paradiseo-mo/doc/html/ftv2pnode.png new file mode 100644 index 0000000000000000000000000000000000000000..2001b797ba2b98a4127f1d3efca64aef08bf6d51 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6Ub2s@Ck7}aNq!ti3c<^Gz9OH zn+a6GSQ6wH%;50sMjDVKR^l2_5}cn_Ql40p%8;I!W>k=uu3)5RqGz-?&Ycga!obtT zF{I*Fa>4?=2W(Dkd1@Anj~<0|oqBMOmqox%*rjK-r)THv+0v0L%h-agt(X~hWwYzA SIxU|Ma*U^|pUXO@geCywmoZiV literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/ftv2vertline.png b/trunk/paradiseo-mo/doc/html/ftv2vertline.png new file mode 100644 index 0000000000000000000000000000000000000000..b330f3a33c0085c183ff39fc56b1b274160c1da0 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6UZ?L@CkAK|NlRbNhD}!Xpp$P zU;Pg)ksC(lf|p%(p+w2Gqgt>EaktaVt4N e!r*{^G#i7W2*a|cHZQDzQVgE1elF{r5}E+)J2fZ( literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/functions.html b/trunk/paradiseo-mo/doc/html/functions.html new file mode 100644 index 000000000..f107526ae --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/functions.html @@ -0,0 +1,337 @@ + + +ParadisEO-MOMovingObjects: Class Members + + + + +
+ +
+ + +
+ +
+ +

+Here is a list of all documented class members with links to the class documentation for each member: +

+

- a -

+

- b -

+

- c -

+

- e -

+

- f -

+

- g -

+

- h -

+

- i -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- q -

+

- r -

+

- s -

+

- t -

+

- u -

+

- v -

+
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/functions_func.html b/trunk/paradiseo-mo/doc/html/functions_func.html new file mode 100644 index 000000000..855b5f178 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/functions_func.html @@ -0,0 +1,180 @@ + + +ParadisEO-MOMovingObjects: Class Members - Functions + + + + +
+ +
+ + +
+ +
+ +

+  +

+

- a -

+

- e -

+

- f -

+

- g -

+

- h -

+

- i -

+

- l -

+

- n -

+

- o -

+

- r -

+

- s -

+

- t -

+

- u -

+
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/functions_type.html b/trunk/paradiseo-mo/doc/html/functions_type.html new file mode 100644 index 000000000..3b0a18f30 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/functions_type.html @@ -0,0 +1,81 @@ + + +ParadisEO-MOMovingObjects: Class Members - Typedefs + + + + +
+ +
+ + +  +

+

+
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/functions_vars.html b/trunk/paradiseo-mo/doc/html/functions_vars.html new file mode 100644 index 000000000..da812dc8e --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/functions_vars.html @@ -0,0 +1,196 @@ + + +ParadisEO-MOMovingObjects: Class Members - Variables + + + + +
+ +
+ + +
+ +
+ +

+  +

+

- a -

+

- b -

+

- c -

+

- f -

+

- g -

+

- i -

+

- m -

+

- n -

+

- p -

+

- q -

+

- r -

+

- t -

+

- v -

+
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/hierarchy.html b/trunk/paradiseo-mo/doc/html/hierarchy.html new file mode 100644 index 000000000..33aa7d100 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/hierarchy.html @@ -0,0 +1,133 @@ + + +ParadisEO-MOMovingObjects: Hierarchical Index + + + + +
+ +
+ +

ParadisEO-MOMovingObjects Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/index.html b/trunk/paradiseo-mo/doc/html/index.html new file mode 100644 index 000000000..80255e80b --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/index.html @@ -0,0 +1,11 @@ + + +ParadisEO-MOMovingObjects + + + + + <a href="main.html">Frames are disabled. Click here to go to the main page.</a> + + + diff --git a/trunk/paradiseo-mo/doc/html/index_8h-source.html b/trunk/paradiseo-mo/doc/html/index_8h-source.html new file mode 100644 index 000000000..045b9aa3d --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/index_8h-source.html @@ -0,0 +1,35 @@ + + +ParadisEO-MOMovingObjects: index.h Source File + + + + +
+ +
+

index.h

00001 
+00064 // coding: iso-8859-1
+00065 // mode: C++
+00066 // c-file-style: "Stroustrup"
+00067 // fill-column: 80
+00068 // End:
+

Generated on Tue Jan 15 17:04:25 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/installdox b/trunk/paradiseo-mo/doc/html/installdox new file mode 100755 index 000000000..1628445b3 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/installdox @@ -0,0 +1,117 @@ +#!/usr/bin/perl + +%subst = ( "eo.doxytag", ""); +$quiet = 0; + +if (open(F,"search.cfg")) +{ + $_= ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_; + $_= ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_; +} + +while ( @ARGV ) { + $_ = shift @ARGV; + if ( s/^-// ) { + if ( /^l(.*)/ ) { + $v = ($1 eq "") ? shift @ARGV : $1; + ($v =~ /\/$/) || ($v .= "/"); + $_ = $v; + if ( /(.+)\@(.+)/ ) { + if ( exists $subst{$1} ) { + $subst{$1} = $2; + } else { + print STDERR "Unknown tag file $1 given with option -l\n"; + &usage(); + } + } else { + print STDERR "Argument $_ is invalid for option -l\n"; + &usage(); + } + } + elsif ( /^q/ ) { + $quiet = 1; + } + elsif ( /^\?|^h/ ) { + &usage(); + } + else { + print STDERR "Illegal option -$_\n"; + &usage(); + } + } + else { + push (@files, $_ ); + } +} + +foreach $sub (keys %subst) +{ + if ( $subst{$sub} eq "" ) + { + print STDERR "No substitute given for tag file `$sub'\n"; + &usage(); + } + elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" ) + { + print "Substituting $subst{$sub} for each occurence of tag file $sub\n"; + } +} + +if ( ! @files ) { + if (opendir(D,".")) { + foreach $file ( readdir(D) ) { + $match = ".html"; + next if ( $file =~ /^\.\.?$/ ); + ($file =~ /$match/) && (push @files, $file); + ($file =~ "tree.js") && (push @files, $file); + } + closedir(D); + } +} + +if ( ! @files ) { + print STDERR "Warning: No input files given and none found!\n"; +} + +foreach $f (@files) +{ + if ( ! $quiet ) { + print "Editing: $f...\n"; + } + $oldf = $f; + $f .= ".bak"; + unless (rename $oldf,$f) { + print STDERR "Error: cannot rename file $oldf\n"; + exit 1; + } + if (open(F,"<$f")) { + unless (open(G,">$oldf")) { + print STDERR "Error: opening file $oldf for writing\n"; + exit 1; + } + if ($oldf ne "tree.js") { + while () { + s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g; + print G "$_"; + } + } + else { + while () { + s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g; + print G "$_"; + } + } + } + else { + print STDERR "Warning file $f does not exist\n"; + } + unlink $f; +} + +sub usage { + print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n"; + print STDERR "Options:\n"; + print STDERR " -l tagfile\@linkName tag file + URL or directory \n"; + print STDERR " -q Quiet mode\n\n"; + exit 1; +} diff --git a/trunk/paradiseo-mo/doc/html/main.html b/trunk/paradiseo-mo/doc/html/main.html new file mode 100644 index 000000000..4160122fb --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/main.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOMovingObjects: Welcome to PARADISEO-Moving Objects + + + + +
+ +
+

Welcome to PARADISEO-Moving Objects

+

+

1.0

+Introduction

+MO is an extension of the ANSI-C++ compliant evolutionary computation library EO.
+ It contains classes for almost any kind of one solution based heuristics.

+AUTHORS

+ + + + + +
Sebastien CAHON
Jean-Charles BOISSON
+

+LICENSE

+This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".

+As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.

+In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms.

+ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr

+Home Page

+http://paradiseo.gforge.inria.fr

+Installation

+The installation procedure of the package is detailed in the README file in the top-directory of the source-tree.
Generated on Tue Jan 15 17:04:25 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_8h-source.html new file mode 100644 index 000000000..35c477f8e --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_8h-source.html @@ -0,0 +1,105 @@ + + +ParadisEO-MOMovingObjects: mo.h Source File + + + + +
+ +
+

mo.h

00001 /*
+00002   <mo.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004   (C) OPAC Team, LIFL, 2002-2007
+00005 
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007 
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013 
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018 
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031 
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _mo_h
+00037 #define _mo_h
+00038 
+00039 #include <moAlgo.h>
+00040 #include <moAspirCrit.h>
+00041 #include <moBestImprSelect.h>
+00042 #include <moComparator.h>
+00043 #include <moCoolingSchedule.h>
+00044 #include <moExponentialCoolingSchedule.h>
+00045 #include <moFirstImprSelect.h>
+00046 #include <moFitComparator.h>
+00047 #include <moFitSolContinue.h>
+00048 #include <moGenSolContinue.h>
+00049 #include <moHC.h>
+00050 #include <moHCMoveLoopExpl.h>
+00051 #include <moILS.h>
+00052 #include <moImprBestFitAspirCrit.h>
+00053 #include <moItRandNextMove.h>
+00054 #include <moLinearCoolingSchedule.h>
+00055 #include <moLSCheckPoint.h>
+00056 #include <moMoveExpl.h>
+00057 #include <moMove.h>
+00058 #include <moMoveIncrEval.h>
+00059 #include <moMoveInit.h>
+00060 #include <moMoveLoopExpl.h>
+00061 #include <moMoveSelect.h>
+00062 #include <moNextMove.h>
+00063 #include <moNoAspirCrit.h>
+00064 #include <moNoFitImprSolContinue.h>
+00065 #include <moRandImprSelect.h>
+00066 #include <moRandMove.h>
+00067 #include <moSA.h>
+00068 #include <moSimpleMoveTabuList.h>
+00069 #include <moSimpleSolutionTabuList.h>
+00070 #include <moSolContinue.h>
+00071 #include <moSteadyFitSolContinue.h>
+00072 #include <moTabuList.h>
+00073 #include <moTS.h>
+00074 #include <moTSMoveLoopExpl.h>
+00075 
+00076 #endif
+

Generated on Tue Jan 15 17:04:25 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_algo_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_algo_8h-source.html new file mode 100644 index 000000000..ad0b87d99 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_algo_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOMovingObjects: moAlgo.h Source File + + + + +
+ +
+

moAlgo.h

00001 /*
+00002   <moAlgo.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005 
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007 
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013 
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018 
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031 
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 
+00035 */
+00036 
+00037 #ifndef _moAlgo_h
+00038 #define _moAlgo_h
+00039 
+00040 #include <eoOp.h>
+00041 
+00043 
+00046 template < class EOT > class moAlgo:public eoMonOp < EOT >
+00047 {};
+00048 
+00049 #endif
+

Generated on Tue Jan 15 17:04:25 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_aspir_crit_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_aspir_crit_8h-source.html new file mode 100644 index 000000000..d947a2516 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_aspir_crit_8h-source.html @@ -0,0 +1,80 @@ + + +ParadisEO-MOMovingObjects: moAspirCrit.h Source File + + + + +
+ +
+

moAspirCrit.h

00001 /*
+00002   <moAspirCrit.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005 
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007 
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013 
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018 
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031 
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moAspirCrit_h
+00037 #define _moAspirCrit_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00046 template < class M >
+00047 class moAspirCrit: public eoBF < const M &, const typename M::EOType::Fitness &, bool >
+00048 {
+00049  public:
+00050 
+00052 
+00055   virtual void init () = 0;
+00056 };
+00057 
+00058 #endif
+

Generated on Tue Jan 15 17:04:25 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_best_impr_select_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_best_impr_select_8h-source.html new file mode 100644 index 000000000..c29035eb5 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_best_impr_select_8h-source.html @@ -0,0 +1,123 @@ + + +ParadisEO-MOMovingObjects: moBestImprSelect.h Source File + + + + +
+ +
+

moBestImprSelect.h

00001 /*
+00002   <moBestImprSelect.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005 
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007 
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013 
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018 
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031 
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moBestImprSelect_h
+00037 #define _moBestImprSelect_h
+00038 
+00039 #include <moMoveSelect.h>
+00040 
+00042 
+00046 template < class M >
+00047 class moBestImprSelect:public moMoveSelect < M >
+00048 {
+00049  public:
+00050   
+00052   typedef typename M::EOType::Fitness Fitness;
+00053     
+00055 
+00058   void init (const Fitness & _fitness)
+00059   {
+00060     //Code only used to avoid warning because _fitness is not used in this procedure.
+00061     Fitness fitness=(Fitness)_fitness;
+00062 
+00063     first_time = true;
+00064   }
+00065 
+00066 
+00068 
+00076   bool update (const M & _move, const Fitness & _fitness)
+00077   {
+00078     if ( first_time || (_fitness > best_fitness) )
+00079       {
+00080         best_fitness = _fitness;
+00081         best_move = _move;
+00082           
+00083         first_time = false;
+00084       }
+00085 
+00086     return true;
+00087   }
+00088 
+00090 
+00094   void operator () (M & _move, Fitness & _fitness)
+00095   {
+00096     if(first_time)
+00097       {
+00098         throw std::runtime_error("[moBestImprSelect.h]: no move or/and no fitness already saved, update has to be called first.");
+00099       }
+00100 
+00101     _move = best_move;
+00102     _fitness = best_fitness;
+00103   }
+00104 
+00105  private:
+00106 
+00108   bool first_time;
+00109 
+00111   M best_move;
+00112     
+00114   Fitness best_fitness;
+00115 };
+00116 
+00117 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_comparator_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_comparator_8h-source.html new file mode 100644 index 000000000..3097114c0 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_comparator_8h-source.html @@ -0,0 +1,74 @@ + + +ParadisEO-MOMovingObjects: moComparator.h Source File + + + + +
+ +
+

moComparator.h

00001 /*
+00002   <moComparator.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005 
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007 
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013 
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018 
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031 
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moComparator_h
+00037 #define _moComparator_h
+00038 
+00039 
+00041 
+00044 template<class EOT>
+00045 class moComparator: public eoBF<const EOT &, const EOT &, bool>
+00046 {};
+00047 
+00048 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_cooling_schedule_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_cooling_schedule_8h-source.html new file mode 100644 index 000000000..d119c6bf7 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_cooling_schedule_8h-source.html @@ -0,0 +1,74 @@ + + +ParadisEO-MOMovingObjects: moCoolingSchedule.h Source File + + + + +
+ +
+

moCoolingSchedule.h

00001 /*
+00002   <moCoolingSchedule.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005 
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007 
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013 
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018 
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031 
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moCoolingSchedule_h
+00037 #define _moCoolingSchedule_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00046 class moCoolingSchedule : public eoUF < double &, bool >
+00047 {};
+00048 
+00049 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_exponential_cooling_schedule_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_exponential_cooling_schedule_8h-source.html new file mode 100644 index 000000000..60c65b19d --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_exponential_cooling_schedule_8h-source.html @@ -0,0 +1,92 @@ + + +ParadisEO-MOMovingObjects: moExponentialCoolingSchedule.h Source File + + + + +
+ +
+

moExponentialCoolingSchedule.h

00001 /*
+00002   <moExponentialCoolingSchedule.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moExponentialCoolingSchedule_h
+00037 #define _moExponentialCoolingSchedule_h
+00038 
+00039 #include <moCoolingSchedule.h>
+00040 
+00042 
+00046 class moExponentialCoolingSchedule: public moCoolingSchedule
+00047 {
+00048  public:
+00049   
+00051 
+00055   moExponentialCoolingSchedule (double _threshold, double _ratio):threshold (_threshold), ratio (_ratio)
+00056   {}
+00057     
+00059 
+00065   bool operator() (double & _temperature)
+00066   {
+00067     return (_temperature *= ratio) > threshold;
+00068   }
+00069 
+00070  private:
+00071     
+00073   double threshold;
+00074     
+00076   double ratio;
+00077 };
+00078 
+00079 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_first_impr_select_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_first_impr_select_8h-source.html new file mode 100644 index 000000000..8e3b2527a --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_first_impr_select_8h-source.html @@ -0,0 +1,123 @@ + + +ParadisEO-MOMovingObjects: moFirstImprSelect.h Source File + + + + +
+ +
+

moFirstImprSelect.h

00001 /*
+00002   <moFirstImprSelect.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moFirstImprSelect_h
+00037 #define _moFirstImprSelect_h
+00038 
+00039 #include <moMoveSelect.h>
+00040 
+00042 
+00047 template < class M >
+00048 class moFirstImprSelect:public moMoveSelect < M >
+00049 {
+00050  public:
+00051 
+00053   typedef typename M::EOType::Fitness Fitness;
+00054     
+00056 
+00060   virtual void init (const Fitness & _fitness)
+00061   {
+00062     valid = false;
+00063     initial_fitness = _fitness;
+00064   }
+00065 
+00067 
+00075   bool update (const M & _move, const Fitness & _fitness)
+00076   {
+00077 
+00078     if (_fitness > initial_fitness)
+00079       {
+00080 
+00081         best_fitness = _fitness;
+00082         best_move = _move;
+00083         valid = true;
+00084 
+00085         return false;
+00086       }
+00087 
+00088     return true;
+00089   }
+00090 
+00092 
+00096   void operator   () (M & _move, Fitness & _fitness)
+00097   {
+00098     if (valid)
+00099       {
+00100         _move = best_move;
+00101         _fitness = best_fitness;
+00102       }
+00103   }
+00104 
+00105  private:
+00106     
+00108   bool valid;
+00109 
+00111   M best_move;
+00112 
+00114   Fitness initial_fitness;
+00115 
+00117   Fitness best_fitness;
+00118 };
+00119 
+00120 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_fit_comparator_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_fit_comparator_8h-source.html new file mode 100644 index 000000000..a0fea3cd6 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_fit_comparator_8h-source.html @@ -0,0 +1,83 @@ + + +ParadisEO-MOMovingObjects: moFitComparator.h Source File + + + + +
+ +
+

moFitComparator.h

00001 /*
+00002   <moFitComparator.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005 
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007 
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013 
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018 
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031 
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moFitComparator_h
+00037 #define _moFitComparator_h
+00038 
+00039 #include <moComparator.h>
+00040 
+00042 
+00045 template<class EOT>
+00046 class moFitComparator: public moComparator<EOT>
+00047 {
+00048  public:
+00049 
+00051 
+00056   bool operator()(const EOT & _solution1, const EOT & _solution2)
+00057   {
+00058     return _solution1.fitness() > _solution2.fitness();
+00059   }
+00060 };
+00061 
+00062 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_fit_sol_continue_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_fit_sol_continue_8h-source.html new file mode 100644 index 000000000..59fa9d17a --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_fit_sol_continue_8h-source.html @@ -0,0 +1,102 @@ + + +ParadisEO-MOMovingObjects: moFitSolContinue.h Source File + + + + +
+ +
+

moFitSolContinue.h

00001 /*
+00002   <moFitSolContinue.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moFitSolContinue_h
+00037 #define _moFitSolContinue_h
+00038 
+00039 #include <moSolContinue.h>
+00040 
+00042 
+00045 template < class EOT >
+00046 class moFitSolContinue:public moSolContinue < EOT >
+00047 {
+00048  public:
+00049 
+00051   typedef typename EOT::Fitness Fitness;
+00052 
+00054 
+00057   moFitSolContinue (Fitness _fitness): fitness(_fitness)
+00058   {}
+00059 
+00061 
+00067   bool operator () (const EOT & _solution)
+00068   {
+00069     if ( _solution.invalid() )
+00070       {
+00071         throw std::runtime_error("[moFitSolContinue.h]: The current solution has not been evaluated.");
+00072       }
+00073 
+00074     return fitness > _solution.fitness();
+00075   }
+00076 
+00078 
+00081   void init ()
+00082   {}
+00083 
+00084  private:
+00085 
+00087   Fitness fitness;
+00088 };
+00089 
+00090 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_gen_sol_continue_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_gen_sol_continue_8h-source.html new file mode 100644 index 000000000..992e4e033 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_gen_sol_continue_8h-source.html @@ -0,0 +1,102 @@ + + +ParadisEO-MOMovingObjects: moGenSolContinue.h Source File + + + + +
+ +
+

moGenSolContinue.h

00001 /*
+00002   <moGenSolContinue.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moGenSolContinue_h
+00037 #define _moGenSolContinue_h
+00038 
+00039 #include "moSolContinue.h"
+00040 
+00042 
+00045 template < class EOT >
+00046 class moGenSolContinue:public moSolContinue < EOT >
+00047 {
+00048  public:
+00049 
+00051 
+00054   moGenSolContinue (unsigned int _generationMaximumNumber): generationMaximumNumber(_generationMaximumNumber), generationNumber(0)
+00055     {}
+00056 
+00058 
+00066   bool operator () (const EOT & _solution)
+00067   {
+00068     //code only used for avoiding warning because _sol is not used in this function.
+00069     EOT solution=(EOT)_solution;
+00070 
+00071     return (++generationNumber < generationMaximumNumber);
+00072   }
+00073 
+00075 
+00078   void init ()
+00079   {
+00080     generationNumber = 0;
+00081   }
+00082 
+00083  private:
+00084 
+00086   unsigned int generationMaximumNumber;
+00087 
+00089   unsigned int generationNumber;
+00090 };
+00091 
+00092 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_h_c_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_h_c_8h-source.html new file mode 100644 index 000000000..090c022b0 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_h_c_8h-source.html @@ -0,0 +1,124 @@ + + +ParadisEO-MOMovingObjects: moHC.h Source File + + + + +
+ +
+

moHC.h

00001 /*
+00002   <moHC.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef __moHC_h
+00037 #define __moHC_h
+00038 
+00039 #include <eoEvalFunc.h>
+00040 
+00041 #include <moAlgo.h>
+00042 #include <moHCMoveLoopExpl.h>
+00043 
+00045 
+00048 template < class M >
+00049 class moHC:public moAlgo < typename M::EOType >
+00050 {
+00052   typedef typename M::EOType EOT;
+00053 
+00055   typedef typename EOT::Fitness Fitness;
+00056 
+00057  public:
+00058   
+00060 
+00069   moHC (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, 
+00070         moMoveIncrEval < M > & _incremental_evaluation, moMoveSelect < M > & _move_selection, eoEvalFunc < EOT > & _full_evaluation) : 
+00071   move_explorer ( *new moHCMoveLoopExpl < M > (_move_initializer, _next_move_generator, _incremental_evaluation, _move_selection) ),
+00072     full_evaluation (_full_evaluation)
+00073   {}
+00074   
+00076 
+00082   moHC (moMoveExpl < M > & _move_explorer, eoEvalFunc < EOT > & _full_evaluation): 
+00083   move_explorer (_move_explorer), full_evaluation (_full_evaluation)
+00084   {}
+00085   
+00087 
+00094   bool operator ()(EOT & _solution)
+00095   {
+00096     EOT new_solution;
+00097     
+00098     if ( _solution.invalid() )
+00099       {
+00100         full_evaluation(_solution);
+00101       }
+00102     
+00103     new_solution=_solution;
+00104     
+00105     do
+00106       {
+00107         _solution=new_solution;
+00108         move_explorer (_solution, new_solution);
+00109       }
+00110     while ( new_solution.fitness() > _solution.fitness() );
+00111     
+00112     return true;
+00113   }
+00114 
+00115  private:
+00116 
+00118   moMoveExpl < M > & move_explorer;
+00119 
+00121   eoEvalFunc < EOT > & full_evaluation;
+00122 };
+00123 
+00124 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_h_c_move_loop_expl_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_h_c_move_loop_expl_8h-source.html new file mode 100644 index 000000000..cd787eae4 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_h_c_move_loop_expl_8h-source.html @@ -0,0 +1,146 @@ + + +ParadisEO-MOMovingObjects: moHCMoveLoopExpl.h Source File + + + + +
+ +
+

moHCMoveLoopExpl.h

00001 /*
+00002   <moHCMoveLoopExpl.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef __moHCMoveLoopExpl_h
+00037 #define __moHCMoveLoopExpl_h
+00038 
+00039 #include <moMoveLoopExpl.h>
+00040 #include <moMoveInit.h>
+00041 #include <moNextMove.h>
+00042 #include <moMoveIncrEval.h>
+00043 #include <moMoveSelect.h>
+00044 
+00046 template < class M >
+00047 class moHCMoveLoopExpl:public moMoveLoopExpl < M >
+00048 {
+00050   typedef typename M::EOType EOT;
+00051 
+00053   typedef typename M::EOType::Fitness Fitness;
+00054 
+00055  public:
+00056 
+00058 
+00066   moHCMoveLoopExpl (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, 
+00067                     moMoveIncrEval < M > & _incremental_evaluation, moMoveSelect < M > & _move_selection) :
+00068   move_initializer (_move_initializer), next_move_generator (_next_move_generator), 
+00069     incremental_evaluation (_incremental_evaluation), move_selection (_move_selection)
+00070   {}
+00071   
+00073 
+00079   void operator () (const EOT & _old_solution, EOT & _new_solution)
+00080   {
+00081     M move, best_move;
+00082     Fitness best_fitness;
+00083     bool has_next_move, selection_update_is_ok;
+00084 
+00085     if( _old_solution.invalid() )
+00086       {
+00087         throw std::runtime_error("[moHCMoveLoopExpl.h]: The current solution has not been evaluated.");
+00088       }
+00089 
+00090     /*
+00091       The two following lines are added to avoid compilation warning.
+00092       <=> current best move fitness is the current fitness.
+00093       <=> move and best move are empty for the moment.
+00094     */
+00095     best_fitness=_old_solution.fitness();
+00096     move=best_move;
+00097 
+00098     //At the begining, the new sol is equivalent to the old one.
+00099     _new_solution=(EOT)_old_solution;
+00100 
+00101     // Restarting the exploration of the neighbourhood
+00102     move_initializer(move, _old_solution); 
+00103 
+00104     move_selection.init(_old_solution.fitness ());
+00105 
+00106     do
+00107       {
+00108         selection_update_is_ok = move_selection.update (move, incremental_evaluation(move, _old_solution) );
+00109         has_next_move = next_move_generator (move, _old_solution);
+00110       }
+00111     while ( selection_update_is_ok && has_next_move);
+00112 
+00113     //The selecter gives the value of the best move and the corresponding best fitness.
+00114     move_selection (best_move, best_fitness);
+00115     
+00116     //The best move is applied on the new solution.
+00117     best_move(_new_solution);
+00118     
+00119     //The fitness is set (avoid an additional fitness compuation).
+00120     _new_solution.fitness (best_fitness);
+00121   }
+00122 
+00123  private:
+00124 
+00126   moMoveInit < M > & move_initializer;
+00127 
+00129   moNextMove < M > & next_move_generator;
+00130 
+00132   moMoveIncrEval < M > & incremental_evaluation;
+00133 
+00135   moMoveSelect < M > & move_selection;
+00136 };
+00137 
+00138 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_i_l_s_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_i_l_s_8h-source.html new file mode 100644 index 000000000..3760e9691 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_i_l_s_8h-source.html @@ -0,0 +1,175 @@ + + +ParadisEO-MOMovingObjects: moILS.h Source File + + + + +
+ +
+

moILS.h

00001 /*
+00002   <moILS.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moILS_h
+00037 #define _moILS_h
+00038 
+00039 #include <eoEvalFunc.h>
+00040 
+00041 #include <moHC.h>
+00042 #include <moTS.h>
+00043 #include <moSA.h>
+00044 
+00046 
+00049 template < class M >
+00050 class moILS:public moAlgo < typename M::EOType >
+00051 {
+00053   typedef typename M::EOType EOT;
+00054 
+00056   typedef typename EOT::Fitness Fitness;
+00057 
+00058  public:
+00059 
+00061 
+00070   moILS (moAlgo<EOT> & _algorithm, moSolContinue <EOT> & _continue, moComparator<EOT> & _acceptance_criterion, 
+00071          eoMonOp<EOT> & _perturbation, eoEvalFunc<EOT> & _full_evaluation):
+00072   algorithm(_algorithm), continu(_continue), acceptance_criterion(_acceptance_criterion), 
+00073     perturbation(_perturbation), full_evaluation(_full_evaluation)
+00074   {}
+00075 
+00077 
+00087   moILS (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, 
+00088          moMoveIncrEval < M > & _incremental_evaluation, moMoveSelect < M > & _move_selection,
+00089          moSolContinue <EOT> & _continue, moComparator<EOT> & _acceptance_criterion,
+00090          eoMonOp<EOT> & _perturbation, eoEvalFunc<EOT> & _full_evaluation):
+00091   algorithm( *new moHC<M>(_move_initializer, _next_move_generator, _incremental_evaluation, _move_selection, _full_evaluation) ),
+00092     continu(_continue), acceptance_criterion(_acceptance_criterion), perturbation(_perturbation), full_evaluation(_full_evaluation)
+00093   {}
+00094 
+00096 
+00108   moILS (moMoveInit <M> & _move_initializer, moNextMove <M> & _next_move_generator, 
+00109          moMoveIncrEval <M> & _incremental_evaluation, moTabuList <M> & _tabu_list, 
+00110          moAspirCrit <M> & _aspiration_criterion, moSolContinue <EOT> & _moTS_continue,
+00111          moSolContinue <EOT> & _continue, moComparator<EOT> & _acceptance_criterion, eoMonOp<EOT> & _perturbation,
+00112          eoEvalFunc<EOT> & _full_evaluation):
+00113   algorithm( *new moTS<M>(_move_initializer, _next_move_generator, _incremental_evaluation, _tabu_list, _aspiration_criterion, 
+00114                      _moTS_continue, _full_evaluation) ),
+00115     continu(_continue), acceptance_criterion(_acceptance_criterion), perturbation(_perturbation), full_evaluation(_full_evaluation)
+00116   {}
+00117   
+00119 
+00130   moILS (moRandMove<M> & _random_move_generator, moMoveIncrEval <M> & _incremental_evaluation, moSolContinue <EOT> & _moSA_continue, 
+00131          double _initial_temperature, moCoolingSchedule & _cooling_schedule, moSolContinue <EOT> & _continue, 
+00132          moComparator<EOT> & _acceptance_criterion, eoMonOp<EOT> & _perturbation, eoEvalFunc<EOT> & _full_evaluation):
+00133   algorithm( *new moSA<M>(_random_move_generator, _incremental_evaluation, _moSA_continue, _initial_temperature,
+00134                      _cooling_schedule, _full_evaluation) ),
+00135     continu(_continue), acceptance_criterion(_acceptance_criterion), perturbation(_perturbation), full_evaluation(_full_evaluation)
+00136   {}
+00137 
+00139 
+00146   bool operator()(EOT & _solution)
+00147   {
+00148     EOT _solution_saved=_solution;
+00149 
+00150     continu.init ();
+00151 
+00152     // some code has been duplicated in order to avoid one perturbation and one evaluation without adding a test in the loop.
+00153     // better than a do {} while; with a test in the loop.
+00154     
+00155     algorithm(_solution);
+00156 
+00157     if ( acceptance_criterion(_solution, _solution_saved) )
+00158       {
+00159         _solution_saved=_solution;
+00160 
+00161       }
+00162     else
+00163       {
+00164         _solution=_solution_saved;
+00165       }
+00166 
+00167     while ( continu (_solution) )
+00168       {
+00169         perturbation(_solution);
+00170         full_evaluation(_solution);
+00171 
+00172         algorithm(_solution);
+00173 
+00174         if ( acceptance_criterion(_solution, _solution_saved) )
+00175           {
+00176             _solution_saved=_solution;
+00177           }
+00178         else
+00179           {
+00180             _solution=_solution_saved;
+00181           }
+00182       }
+00183 
+00184     return true;
+00185   }
+00186 
+00187  private:
+00188 
+00190   moAlgo<EOT> & algorithm;
+00191 
+00193   moSolContinue<EOT> & continu;
+00194 
+00196   moComparator<EOT> & acceptance_criterion;
+00197 
+00199   eoMonOp<EOT> & perturbation;
+00200 
+00202   eoEvalFunc<EOT> & full_evaluation;
+00203 };
+00204 
+00205 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_impr_best_fit_aspir_crit_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_impr_best_fit_aspir_crit_8h-source.html new file mode 100644 index 000000000..34a788e27 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_impr_best_fit_aspir_crit_8h-source.html @@ -0,0 +1,117 @@ + + +ParadisEO-MOMovingObjects: moImprBestFitAspirCrit.h Source File + + + + +
+ +
+

moImprBestFitAspirCrit.h

00001 /*
+00002   <moImprBestFitAspirCrit.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moImprBestFitAspirCrit_h
+00037 #define _moImprBestFitAspirCrit_h
+00038 
+00039 #include <moAspirCrit.h>
+00040 
+00042 
+00046 template < class M >
+00047 class moImprBestFitAspirCrit:public moAspirCrit < M >
+00048 {
+00049 
+00050  public:
+00051 
+00053   typedef typename M::EOType::Fitness Fitness;
+00054 
+00056   moImprBestFitAspirCrit ()
+00057     {
+00058       first_time = true;
+00059     }
+00060 
+00062   void init ()
+00063   {
+00064     first_time = true;
+00065   }
+00066 
+00068 
+00075   bool operator () (const M & _move, const Fitness & _fitness)
+00076   {
+00077     if (first_time)
+00078       {
+00079         best_fitness = _fitness;
+00080         first_time = false;
+00081 
+00082         return true;
+00083       }
+00084 
+00085     if (_fitness < best_fitness)
+00086       {
+00087         return false;
+00088       }
+00089     
+00090     best_fitness = _fitness;
+00091     
+00092     return true;
+00093   }
+00094 
+00095  private:
+00096 
+00098   Fitness best_fitness;
+00099 
+00101   bool first_time;
+00102 };
+00103 
+00104 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_it_rand_next_move_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_it_rand_next_move_8h-source.html new file mode 100644 index 000000000..a7f03c3eb --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_it_rand_next_move_8h-source.html @@ -0,0 +1,111 @@ + + +ParadisEO-MOMovingObjects: moItRandNextMove.h Source File + + + + +
+ +
+

moItRandNextMove.h

00001 /*
+00002   <moItRandNextMove.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moItRandNextMove_h
+00037 #define _moItRandNextMove_h
+00038 
+00039 #include <moNextMove.h>
+00040 #include <moRandMove.h>
+00041 
+00043 
+00046 template < class M > 
+00047 class moItRandNextMove:public moNextMove < M >
+00048 {
+00050   typedef typename M::EOType EOT;
+00051 
+00052  public:
+00053 
+00055 
+00061   moItRandNextMove (moRandMove < M > & _random_move_generator, unsigned int _iteration_maximum_number):
+00062   random_move_generator(_random_move_generator), iteration_maximum_number(_iteration_maximum_number), iteration_number(0)
+00063     {}
+00064 
+00066 
+00073   bool operator () (M & _move, const EOT & _solution)
+00074   {
+00075     //code only used to avoid warning because _solution is not used in this function.
+00076     EOT solution=(EOT)_solution;
+00077     
+00078     if (iteration_number++ > iteration_maximum_number)
+00079       {
+00080         iteration_number = 0;
+00081         return false;
+00082       }
+00083     
+00084     random_move_generator (_move);
+00085     iteration_number++;
+00086     
+00087     return true;
+00088   }
+00089 
+00090  private:
+00091 
+00093   moRandMove < M > & random_move_generator;
+00094 
+00096   unsigned int iteration_maximum_number;
+00097 
+00099   unsigned int iteration_number;
+00100 };
+00101 
+00102 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_l_s_check_point_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_l_s_check_point_8h-source.html new file mode 100644 index 000000000..d9e6c2ae5 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_l_s_check_point_8h-source.html @@ -0,0 +1,98 @@ + + +ParadisEO-MOMovingObjects: moLSCheckPoint.h Source File + + + + +
+ +
+

moLSCheckPoint.h

00001 /*
+00002   <moLSCheckPoint.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moLSCheckPoint_h
+00037 #define _moLSCheckPoint_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00045 template < class M > 
+00046 class moLSCheckPoint:public eoBF < const M &, const typename M::EOType &, void >
+00047 {
+00048  public:
+00049   
+00051 
+00057   void operator () (const M & _move, const typename M::EOType & _solution)
+00058   {
+00059     unsigned int i;
+00060     
+00061     for (i = 0; i < functions.size (); i++)
+00062       {
+00063         functions[i]->operator ()(_move, _solution);
+00064       }
+00065   }
+00066 
+00068 
+00072   void add (eoBF < const M &, const typename M::EOType &, void >& _function)
+00073   {
+00074     functions.push_back(& _function);
+00075   }
+00076   
+00077  private:
+00078 
+00080   std::vector < eoBF < const M &, const typename M::EOType &, void >*>  functions;
+00081 };
+00082 
+00083 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_linear_cooling_schedule_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_linear_cooling_schedule_8h-source.html new file mode 100644 index 000000000..2cb384a32 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_linear_cooling_schedule_8h-source.html @@ -0,0 +1,92 @@ + + +ParadisEO-MOMovingObjects: moLinearCoolingSchedule.h Source File + + + + +
+ +
+

moLinearCoolingSchedule.h

00001 /*
+00002   <moLinearCoolingSchedule.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moLinearCoolingSchedule_h
+00037 #define _moLinearCoolingSchedule_h
+00038 
+00039 #include <moCoolingSchedule.h>
+00040 
+00042 
+00046 class moLinearCoolingSchedule: public moCoolingSchedule
+00047 {
+00048 
+00049  public:
+00051 
+00055   moLinearCoolingSchedule (double _threshold, double _quantity):threshold (_threshold), quantity (_quantity)
+00056   {}
+00057 
+00059 
+00065   bool operator() (double & _current_temperature)
+00066   {
+00067     return (_current_temperature -= quantity) > threshold;
+00068   }
+00069 
+00070  private:
+00071 
+00073   double threshold;
+00074 
+00076   double quantity;
+00077 };
+00078 
+00079 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_move_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_move_8h-source.html new file mode 100644 index 000000000..5f1a8e79b --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_move_8h-source.html @@ -0,0 +1,80 @@ + + +ParadisEO-MOMovingObjects: moMove.h Source File + + + + +
+ +
+

moMove.h

00001 /*
+00002   <moMove.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034  
+00035 */
+00036 
+00037 #ifndef _moMove_h
+00038 #define _moMove_h
+00039 
+00040 #include <eoFunctor.h>
+00041 
+00043 
+00048 template < class EOT >
+00049 class moMove:public eoUF < EOT &, void >
+00050 {
+00051  public:
+00052   
+00054   typedef EOT EOType;
+00055 };
+00056 
+00057 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_move_expl_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_move_expl_8h-source.html new file mode 100644 index 000000000..c01fad372 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_move_expl_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOMovingObjects: moMoveExpl.h Source File + + + + +
+ +
+

moMoveExpl.h

00001 /*
+00002   <moMoveExpl.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moMoveExpl_h
+00037 #define _moMoveExpl_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00045 template < class M > class 
+00046 moMoveExpl : public eoBF < const typename M::EOType &, typename M::EOType &, void > 
+00047 {};
+00048 
+00049 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_move_incr_eval_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_move_incr_eval_8h-source.html new file mode 100644 index 000000000..1b24d07d8 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_move_incr_eval_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOMovingObjects: moMoveIncrEval.h Source File + + + + +
+ +
+

moMoveIncrEval.h

00001 /*
+00002   <moMoveIncrEval.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moMoveIncrEval_h
+00037 #define _moMoveIncrEval_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00048 template < class M >
+00049 class moMoveIncrEval:public eoBF < const M &, const typename M::EOType &, typename M::EOType::Fitness >
+00050 {};
+00051 
+00052 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_move_init_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_move_init_8h-source.html new file mode 100644 index 000000000..0513ccb5d --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_move_init_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOMovingObjects: moMoveInit.h Source File + + + + +
+ +
+

moMoveInit.h

00001 /*
+00002   <moMoveInit.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moMoveInit_h
+00037 #define _moMoveInit_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00046 template < class M >
+00047 class moMoveInit:public eoBF < M &, const typename M::EOType &, void >
+00048 {};
+00049 
+00050 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_move_loop_expl_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_move_loop_expl_8h-source.html new file mode 100644 index 000000000..fb889b483 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_move_loop_expl_8h-source.html @@ -0,0 +1,76 @@ + + +ParadisEO-MOMovingObjects: moMoveLoopExpl.h Source File + + + + +
+ +
+

moMoveLoopExpl.h

00001 /*
+00002   <moMoveLoopExpl.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034  
+00035 */
+00036 
+00037 #ifndef _moMoveLoopExpl_h
+00038 #define _moMoveLoopExpl_h
+00039 
+00040 #include <moMoveExpl.h>
+00041 
+00043 
+00046 template < class M >
+00047 class moMoveLoopExpl:public moMoveExpl < M >
+00048 {};
+00049 
+00050 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_move_select_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_move_select_8h-source.html new file mode 100644 index 000000000..e49395f8c --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_move_select_8h-source.html @@ -0,0 +1,87 @@ + + +ParadisEO-MOMovingObjects: moMoveSelect.h Source File + + + + +
+ +
+

moMoveSelect.h

00001 /*
+00002   <moMoveSelect.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034  
+00035 */
+00036 
+00037 #ifndef _moMoveSelect_h
+00038 #define _moMoveSelect_h
+00039 
+00040 #include <eoFunctor.h>
+00041 #include <stdexcept>
+00042 
+00044 
+00049 template < class M >
+00050 class moMoveSelect:public eoBF < M &, typename M::EOType::Fitness &, void >
+00051 {
+00052  public:
+00054   typedef typename M::EOType::Fitness Fitness;
+00055   
+00057 
+00064   virtual void init (const Fitness & _fitness) = 0;
+00065 
+00067 
+00072   virtual bool update (const M & _move, const Fitness & _fitness) = 0;
+00073 
+00074 };
+00075 
+00076 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_next_move_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_next_move_8h-source.html new file mode 100644 index 000000000..7aede7266 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_next_move_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOMovingObjects: moNextMove.h Source File + + + + +
+ +
+

moNextMove.h

00001 /*
+00002   <moNextMove.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moNextMove_h
+00037 #define _moNextMove_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00046 template < class M > 
+00047 class moNextMove:public eoBF < M &, const typename M::EOType &, bool >
+00048 {};
+00049 
+00050 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_no_aspir_crit_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_no_aspir_crit_8h-source.html new file mode 100644 index 000000000..03c778fbb --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_no_aspir_crit_8h-source.html @@ -0,0 +1,86 @@ + + +ParadisEO-MOMovingObjects: moNoAspirCrit.h Source File + + + + +
+ +
+

moNoAspirCrit.h

00001 /*
+00002   <moNoAspirCrit.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034  
+00035 */
+00036 
+00037 #ifndef _moNoAspirCrit_h
+00038 #define _moNoAspirCrit_h
+00039 
+00040 #include <moAspirCrit.h>
+00041 
+00043 
+00046 template < class M >
+00047 class moNoAspirCrit:public moAspirCrit < M >
+00048 {
+00050 
+00057   bool operator   () (const M & _move, const typename M::EOType::Fitness & _fitness)
+00058   {
+00059     return false;
+00060   }
+00061 
+00063 
+00066   void init ()
+00067   {}
+00068 };
+00069 
+00070 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_no_fit_impr_sol_continue_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_no_fit_impr_sol_continue_8h-source.html new file mode 100644 index 000000000..11ecfe4b7 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_no_fit_impr_sol_continue_8h-source.html @@ -0,0 +1,133 @@ + + +ParadisEO-MOMovingObjects: moNoFitImprSolContinue.h Source File + + + + +
+ +
+

moNoFitImprSolContinue.h

00001 /*
+00002   <moNoFitImprSolContinue.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moNoFitImprSolContinue_h
+00037 #define _moNoFitImprSolContinue_h
+00038 
+00039 #include <moSolContinue.h>
+00040 
+00042 
+00045 template < class EOT > 
+00046 class moNoFitImprSolContinue:public moSolContinue < EOT >
+00047 {
+00048  public:
+00049 
+00051   typedef typename EOT::Fitness Fitness;
+00052 
+00054 
+00057   moNoFitImprSolContinue (unsigned int _maxNumberOfIterationWithoutImprovement)
+00058     : maxNumberOfIterationsWithoutImprovement(_maxNumberOfIterationWithoutImprovement), firstFitnessSaved(true), counter(0)
+00059     {}
+00060 
+00062 
+00067   bool operator () (const EOT & _solution)
+00068   {
+00069     if (_solution.invalid())
+00070       {
+00071         throw std::runtime_error("[moNoFitImprSolContinue.h]: The current solution has not been evaluated.");
+00072       }
+00073     
+00074     if (firstFitnessSaved)
+00075       {
+00076         fitness=_solution.fitness();
+00077         counter=0;
+00078         firstFitnessSaved=false;
+00079         return true;
+00080       }
+00081 
+00082     counter++;
+00083 
+00084     if ( _solution.fitness() > fitness)
+00085       {
+00086         fitness=_solution.fitness();
+00087         counter=0;
+00088       }
+00089 
+00090     if (counter==maxNumberOfIterationsWithoutImprovement)
+00091       {
+00092         std::cout << "[moNoFitImrpSolContinue.h]: Done [" << counter  << "] iterations without improvement." << std::endl;
+00093       }
+00094     
+00095     return counter!=maxNumberOfIterationsWithoutImprovement;
+00096   }
+00097 
+00099 
+00102   void init ()
+00103   {
+00104     firstFitnessSaved=true;
+00105     counter=0;
+00106   }
+00107 
+00108  private:
+00109 
+00111   unsigned int maxNumberOfIterationsWithoutImprovement;
+00112 
+00114   bool firstFitnessSaved;
+00115 
+00117   Fitness fitness;
+00118 
+00120   unsigned int counter;
+00121 };
+00122 
+00123 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_rand_impr_select_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_rand_impr_select_8h-source.html new file mode 100644 index 000000000..64f0d1d22 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_rand_impr_select_8h-source.html @@ -0,0 +1,128 @@ + + +ParadisEO-MOMovingObjects: moRandImprSelect.h Source File + + + + +
+ +
+

moRandImprSelect.h

00001 /*
+00002   <moRandImprSelect.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moRandImprSelect_h
+00037 #define _moRandImprSelect_h
+00038 
+00039 #include <vector>
+00040 #include <utils/eoRNG.h>
+00041 #include <moMoveSelect.h>
+00042 
+00044 
+00048 template < class M > 
+00049 class moRandImprSelect: public moMoveSelect < M >
+00050 {
+00051  public:
+00052 
+00054   typedef typename M::EOType::Fitness Fitness;
+00055 
+00057 
+00063   void init (const Fitness & _fitness)
+00064   {
+00065     initial_fitness = _fitness;
+00066     better_fitnesses.clear();
+00067     better_moves.clear();
+00068   }
+00069 
+00071 
+00079   bool update (const M & _move, const Fitness & _fitness)
+00080   {
+00081 
+00082     if (_fitness > initial_fitness)
+00083       {
+00084         better_fitnesses.push_back(_fitness);
+00085         better_moves.push_back(_move);
+00086       }
+00087 
+00088     return true;
+00089   }
+00090 
+00092 
+00098   void operator () (M & _move, Fitness & _fitness)
+00099   {
+00100     unsigned int index;
+00101     
+00102     index=0;
+00103 
+00104     if( (better_fitnesses.size()==0) || (better_moves.size()==0) )
+00105       {
+00106         std::cout << "[moRandImprSelect.h]: no move or/and no fitness already saved, update has to be called first." << std::endl;
+00107       }
+00108 
+00109     index = rng.random (better_fitnesses.size ());
+00110     
+00111     _move = better_moves[index];
+00112     _fitness = better_fitnesses[index];
+00113   }
+00114 
+00115  private:
+00116 
+00118   Fitness initial_fitness;
+00119 
+00121   std::vector < Fitness > better_fitnesses;
+00122 
+00124   std::vector < M > better_moves;
+00125 };
+00126 
+00127 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_rand_move_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_rand_move_8h-source.html new file mode 100644 index 000000000..3d1bbdca6 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_rand_move_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOMovingObjects: moRandMove.h Source File + + + + +
+ +
+

moRandMove.h

00001 /*
+00002   <moRandMove.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moRandMove_h
+00037 #define _moRandMove_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00045 template < class M >
+00046 class moRandMove:public eoUF < M &, void >
+00047 {};
+00048 
+00049 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_s_a_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_s_a_8h-source.html new file mode 100644 index 000000000..da7981f30 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_s_a_8h-source.html @@ -0,0 +1,167 @@ + + +ParadisEO-MOMovingObjects: moSA.h Source File + + + + +
+ +
+

moSA.h

00001 /*
+00002   <moSA.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moSA_h
+00037 #define _moSA_h
+00038 
+00039 #include <math.h>
+00040 
+00041 #include <eoEvalFunc.h>
+00042 #include <moAlgo.h>
+00043 #include <moRandMove.h>
+00044 #include <moMoveIncrEval.h>
+00045 #include <moCoolingSchedule.h>
+00046 #include <moSolContinue.h>
+00047 
+00049 
+00052 template < class M >
+00053 class moSA:public moAlgo < typename M::EOType >
+00054 {
+00056   typedef typename M::EOType EOT;
+00057 
+00059   typedef typename EOT::Fitness Fitness;
+00060 
+00061  public:
+00062 
+00064 
+00074   moSA (moRandMove < M > & _random_move_generator, moMoveIncrEval < M > & _incremental_evaluation,
+00075         moSolContinue < EOT > & _continue, double _initial_temperature, moCoolingSchedule & _cooling_schedule,
+00076         eoEvalFunc < EOT > & _full_evaluation):
+00077   random_move_generator(_random_move_generator), incremental_evaluation(_incremental_evaluation),
+00078     continu(_continue), initial_temperature(_initial_temperature),
+00079     cooling_schedule(_cooling_schedule), full_evaluation(_full_evaluation)
+00080   {}
+00081   
+00083 
+00089   bool operator ()(EOT & _solution)
+00090   {
+00091     Fitness incremental_fitness, delta_fit;
+00092     EOT best_solution;
+00093     double temperature;
+00094     M move;
+00095 
+00096     if (_solution.invalid())
+00097       {
+00098         full_evaluation (_solution);
+00099       }
+00100 
+00101     temperature = initial_temperature;
+00102 
+00103     best_solution = _solution;
+00104 
+00105     do
+00106       {
+00107         continu.init ();
+00108         
+00109         do
+00110           {
+00111             random_move_generator(move);
+00112 
+00113             incremental_fitness = incremental_evaluation (move, _solution);
+00114 
+00115             delta_fit = incremental_fitness - _solution.fitness ();
+00116             
+00117             if( (_solution.fitness() > incremental_fitness ) && (exp (delta_fit / temperature) > 1.0) )
+00118               {
+00119                 delta_fit = -delta_fit;
+00120               }
+00121 
+00122             if ( (incremental_fitness > _solution.fitness()) || (rng.uniform () < exp (delta_fit / temperature)) )
+00123               {
+00124                 move(_solution);
+00125                 _solution.fitness(incremental_fitness);
+00126                 
+00127                 // Updating the best solution found  until now ?
+00128                 if ( _solution.fitness() > best_solution.fitness() )
+00129                   {
+00130                     best_solution = _solution;
+00131                   }
+00132               }
+00133             
+00134           }
+00135         while ( continu (_solution) );
+00136       }
+00137     while ( cooling_schedule (temperature) );
+00138 
+00139     _solution = best_solution;
+00140 
+00141     return true;
+00142   }
+00143 
+00144  private:
+00145 
+00147   moRandMove < M > & random_move_generator;
+00148 
+00150   moMoveIncrEval < M > & incremental_evaluation;
+00151 
+00153   moSolContinue < EOT > & continu;
+00154 
+00156   double  initial_temperature;
+00157   
+00159   moCoolingSchedule & cooling_schedule;
+00160   
+00162   eoEvalFunc < EOT > & full_evaluation;
+00163 };
+00164 
+00165 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_simple_move_tabu_list_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_simple_move_tabu_list_8h-source.html new file mode 100644 index 000000000..919b73ec1 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_simple_move_tabu_list_8h-source.html @@ -0,0 +1,168 @@ + + +ParadisEO-MOMovingObjects: moSimpleMoveTabuList.h Source File + + + + +
+ +
+

moSimpleMoveTabuList.h

00001 /*
+00002   <moSimpleMoveTabuList.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moSimpleMoveTabuList_h
+00037 #define _moSimpleMoveTabuList_h
+00038 
+00039 #include <list>
+00040 #include <iterator>
+00041 
+00042 #include <moTabuList.h>
+00043 
+00045 template <class M>
+00046 class moSimpleMoveTabuList: public moTabuList < M >
+00047 {
+00048  public:
+00049 
+00051   typedef typename M::EOType EOT;
+00052 
+00054   typedef typename std::list<M>::iterator moveIterator;
+00055 
+00057   /*
+00058     \param _size The maximum size of the move tabu list.
+00059   */
+00060  moSimpleMoveTabuList(unsigned int _memory_maximum_size): memory_maximum_size(_memory_maximum_size), memory_size(0)
+00061     {}
+00062 
+00064 
+00069   bool operator () (const M & _move, const EOT & _solution)
+00070   {
+00071     moveIterator it;
+00072     //code only used to avoid warning because _solution is not used in this function.
+00073     EOT solution=(EOT)_solution;
+00074     
+00075     it=tabuList.begin();
+00076     // The code is !(*it)==_move instead of (*it)!=_move because people designing their specific move representation 
+00077     // will write the "==" operator (I hope) but not necessary the "!=" operator.
+00078     while ( it!=tabuList.end() && !((*it)==_move) )
+00079       {
+00080         it++;
+00081       }
+00082 
+00083     return it!=tabuList.end();
+00084   }
+00085 
+00086   void add(const M & _move, const EOT & _solution)
+00087   {
+00088     //code only used to avoid warning because _solution is not used in this function.
+00089     EOT solution=(EOT)_solution;
+00090 
+00091     if (memory_size!=0)
+00092       {
+00093         // Useful in the case of a move has been kept thanks to the moAspirCrit.
+00094         // In this case, the move can already be in the tabuList.
+00095         removeMove(_move);
+00096       }
+00097 
+00098     tabuList.push_back(_move);
+00099 
+00100     if (memory_size == memory_maximum_size)
+00101       {
+00102         tabuList.erase(tabuList.begin());
+00103       }
+00104     else
+00105       {
+00106         memory_size++;
+00107       }
+00108   }
+00109 
+00110   void update ()
+00111   {
+00112     //nothing to do
+00113   }
+00114   
+00115   void init ()
+00116   {
+00117     //nothing to do
+00118   }
+00119 
+00120  private:
+00121 
+00123 
+00126   void removeMove(const M & _move)
+00127   {
+00128     moveIterator it;
+00129     
+00130     it=tabuList.begin();
+00131     // The code is !(*it)==_move instead of (*it)!=_move because people designing their specific move representation 
+00132     // will write the "==" operator (I hope) but not necessary the "!=" operator.
+00133     while ( it!=tabuList.end() && (!((*it)==_move) ))
+00134       {
+00135         it++;
+00136       }
+00137     
+00138     if (it!=tabuList.end())
+00139       {
+00140         tabuList.erase(it);
+00141       }
+00142   }
+00143 
+00145   unsigned int memory_maximum_size;
+00146 
+00148   unsigned int memory_size;
+00149 
+00151   std::list<M> tabuList;
+00152 };
+00153 
+00154 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_simple_solution_tabu_list_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_simple_solution_tabu_list_8h-source.html new file mode 100644 index 000000000..317bed255 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_simple_solution_tabu_list_8h-source.html @@ -0,0 +1,171 @@ + + +ParadisEO-MOMovingObjects: moSimpleSolutionTabuList.h Source File + + + + +
+ +
+

moSimpleSolutionTabuList.h

00001 /*
+00002   <moSimpleSolutionTabuList.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moSimpleSolutionTabuList_h
+00037 #define _moSimpleSolutionTabuList_h
+00038 
+00039 #include <list>
+00040 #include <iterator>
+00041 
+00042 #include <moTabuList.h>
+00043 
+00045 template <class M>
+00046 class moSimpleSolutionTabuList: public moTabuList < M >
+00047 {
+00048  public:
+00049 
+00051   typedef typename M::EOType EOT;
+00052 
+00054   typedef typename std::list<EOT>::iterator solutionIterator;
+00055   
+00057 
+00060  moSimpleSolutionTabuList(unsigned int _memory_maximum_size): memory_maximum_size(_memory_maximum_size), memory_size(0)
+00061     {}
+00062 
+00064 
+00069   bool operator () (const M & _move, const EOT & _solution)
+00070   {
+00071     solutionIterator it;
+00072 
+00073     M move=(M)_move;
+00074     EOT solution=(EOT) _solution;
+00075 
+00076     move(solution);
+00077 
+00078     it=tabuList.begin();
+00079     // The code is !(*it)==_solution instead of (*it)!=_solution because people designing their specific solution representation 
+00080     // will write the "==" operator (I hope) but not necessary the "!=" operator.
+00081     while (it!=tabuList.end()&&(!((*it)==solution)))
+00082       {
+00083         it++;
+00084       }
+00085 
+00086     return it!=tabuList.end();
+00087   }
+00088 
+00089   void add (const M & _move, const EOT & _solution)
+00090   {
+00091     M move=(M)_move;
+00092     EOT solution=(EOT) _solution;
+00093 
+00094     _move(_solution);
+00095 
+00096     if (memory_size!=0)
+00097       {
+00098         // Useful in the case of a solution has been kept thanks to the moAspirCrit.
+00099         // In this case, the solution can already be in the tabuList.
+00100         removeSolution(_solution);
+00101       }
+00102 
+00103     tabuList.push_back(_solution);
+00104 
+00105     if (memory_size == memory_maximum_size)
+00106       {
+00107         tabuList.erase(tabuList.begin());
+00108       }
+00109     else
+00110       {
+00111         memory_size++;
+00112       }
+00113   }
+00114 
+00115   void update ()
+00116   {
+00117     //nothing to do
+00118   }
+00119 
+00120   void init ()
+00121   {
+00122     //nothing to do
+00123   }
+00124 
+00125  private:
+00126 
+00128 
+00131   void removeSolution(const EOT & _solution)
+00132   {
+00133     solutionIterator it;
+00134 
+00135     it=tabuList.begin();
+00136     // The code is !(*it)==_solution instead of (*it)!=_solution because people designing their specific solution representation 
+00137     // will write the "==" operator (I hope) but not necessary the "!=" operator.
+00138     while ( it!=tabuList.end() && !((*it)==_solution) )
+00139       {
+00140         it++;
+00141       }
+00142 
+00143     if (it!=tabuList.end())
+00144       {
+00145         tabuList.erase(it);
+00146       }
+00147   }
+00148 
+00150   unsigned int memory_maximum_size;
+00151 
+00153   unsigned int memory_size;
+00154 
+00156   std::list<EOT> tabuList;
+00157 };
+00158 
+00159 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_sol_continue_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_sol_continue_8h-source.html new file mode 100644 index 000000000..75e2a2409 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_sol_continue_8h-source.html @@ -0,0 +1,80 @@ + + +ParadisEO-MOMovingObjects: moSolContinue.h Source File + + + + +
+ +
+

moSolContinue.h

00001 /*
+00002   <moSolContinue.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moSolContinue_h
+00037 #define _moSolContinue_h
+00038 
+00039 #include <eoFunctor.h>
+00040 #include <stdexcept>
+00041 
+00043 
+00047 template < class EOT >
+00048 class moSolContinue:public eoUF < const EOT &, bool >
+00049 {
+00050  public:
+00052 
+00055   virtual void init () = 0;
+00056 };
+00057 
+00058 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_steady_fit_sol_continue_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_steady_fit_sol_continue_8h-source.html new file mode 100644 index 000000000..4b80c29ee --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_steady_fit_sol_continue_8h-source.html @@ -0,0 +1,148 @@ + + +ParadisEO-MOMovingObjects: moSteadyFitSolContinue.h Source File + + + + +
+ +
+

moSteadyFitSolContinue.h

00001 /*
+00002   <moSteadyFitSolContinue.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moSteadyFitSolContinue_h
+00037 #define _moSteadyFitSolContinue_h
+00038 
+00039 #include <moSolContinue.h>
+00040 
+00042 
+00045 template < class EOT > 
+00046 class moSteadyFitSolContinue:public moSolContinue < EOT >
+00047 {
+00048  public:
+00049 
+00051   typedef typename EOT::Fitness Fitness;
+00052   
+00054 
+00058   moSteadyFitSolContinue (unsigned int _maxNumberOfIterations, unsigned int _maxNumberOfIterationWithoutImprovement)
+00059     : maxNumberOfIterations (_maxNumberOfIterations), maxNumberOfIterationsWithoutImprovement(_maxNumberOfIterationWithoutImprovement),
+00060     maxNumberOfIterationsReached(false), firstFitnessSaved(true), counter(0)
+00061     {}
+00062 
+00064 
+00070   bool operator () (const EOT & _solution)
+00071   {
+00072     if (!maxNumberOfIterationsReached)
+00073       {
+00074         maxNumberOfIterationsReached=((++counter)==maxNumberOfIterations);
+00075         if (maxNumberOfIterationsReached)
+00076           {
+00077             std::cout << "[moSteadyFitSolContinue.h]: Done the minimum number of iterations [" << counter << "]." << std::endl;
+00078           }
+00079         return true;
+00080       }
+00081     
+00082     if (_solution.invalid())
+00083       {
+00084         return true;
+00085       }
+00086     
+00087     if (firstFitnessSaved)
+00088       {
+00089         fitness=_solution.fitness();
+00090         counter=0;
+00091         firstFitnessSaved=false;
+00092         return true;
+00093       }
+00094 
+00095     counter++;
+00096 
+00097     if ( _solution.fitness() > fitness )
+00098       {
+00099         fitness=_solution.fitness();
+00100         counter=0;
+00101       }
+00102 
+00103     if (counter==maxNumberOfIterationsWithoutImprovement)
+00104       {
+00105         std::cout << "[moSteadyFitSolContinue.h]: Done [" << counter  << "] iterations without improvement." << std::endl;
+00106       }
+00107     return counter!=maxNumberOfIterationsWithoutImprovement;
+00108   }
+00109 
+00111 
+00114   void init ()
+00115   {
+00116     maxNumberOfIterationsReached=false;
+00117     counter=0;
+00118     firstFitnessSaved=true;
+00119   }
+00120 
+00121  private:
+00122 
+00124   unsigned int maxNumberOfIterations;
+00125 
+00127   unsigned int maxNumberOfIterationsWithoutImprovement;
+00128 
+00130   bool maxNumberOfIterationsReached;
+00131 
+00133   bool firstFitnessSaved;
+00134 
+00136   Fitness fitness;
+00137 
+00139   unsigned int counter;
+00140 };
+00141 
+00142 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_t_s_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_t_s_8h-source.html new file mode 100644 index 000000000..168d9b526 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_t_s_8h-source.html @@ -0,0 +1,146 @@ + + +ParadisEO-MOMovingObjects: moTS.h Source File + + + + +
+ +
+

moTS.h

00001 /*
+00002   <moTS.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moTS_h
+00037 #define _moTS_h
+00038 
+00039 #include <eoEvalFunc.h>
+00040 
+00041 #include <moAlgo.h>
+00042 #include <moSolContinue.h>
+00043 #include <moTSMoveLoopExpl.h>
+00044 
+00046 
+00049 template < class M >
+00050 class moTS:public moAlgo < typename M::EOType >
+00051 {
+00053   typedef typename M::EOType EOT;
+00054 
+00056   typedef typename EOT::Fitness  Fitness;
+00057   
+00058  public:
+00059   
+00061 
+00072   moTS (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, 
+00073         moMoveIncrEval < M > & _incremental_evaluation, moTabuList < M > & _tabu_list, 
+00074         moAspirCrit < M > & _aspiration_criterion, moSolContinue < EOT > & _continue, 
+00075         eoEvalFunc < EOT > & _full_evaluation): 
+00076   move_explorer ( *new moTSMoveLoopExpl < M >(_move_initializer, _next_move_generator, _incremental_evaluation,
+00077                                               _tabu_list,_aspiration_criterion) ),
+00078     continu (_continue), full_evaluation (_full_evaluation)
+00079   {}
+00080   
+00082 
+00089   moTS (moMoveExpl < M > & _move_explorer, moSolContinue < EOT > & _continue, eoEvalFunc < EOT > & _full_evaluation):
+00090   move_explorer (_move_explorer), continu (_continue), full_evaluation (_full_evaluation)
+00091   {}
+00092   
+00094 
+00102   bool operator ()(EOT & _solution)
+00103   {
+00104     M move;
+00105     
+00106     EOT best_solution, new_solution;
+00107 
+00108     if ( _solution.invalid () )
+00109       {
+00110         full_evaluation (_solution);
+00111       }
+00112     
+00113     best_solution=_solution;
+00114 
+00115     // code used for avoiding warning because new_solution is indirectly initialized by move_expl.
+00116     new_solution=_solution;
+00117     
+00118     continu.init ();
+00119 
+00120     do
+00121       {
+00122         move_explorer (_solution, new_solution);
+00123         
+00124         // Updating the best solution found until now ?
+00125         if (new_solution.fitness() > _solution.fitness())
+00126           {
+00127             best_solution = new_solution;
+00128           }
+00129         
+00130         _solution = new_solution;
+00131       }
+00132     while ( continu (_solution) );
+00133 
+00134     _solution = best_solution;
+00135 
+00136     return true;
+00137   }
+00138 
+00139  private:
+00140 
+00142   moMoveExpl < M > & move_explorer;
+00143 
+00145   moSolContinue < EOT > & continu;
+00146 
+00148   eoEvalFunc < EOT > & full_evaluation;
+00149 };
+00150 
+00151 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_t_s_move_loop_expl_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_t_s_move_loop_expl_8h-source.html new file mode 100644 index 000000000..1ba487728 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_t_s_move_loop_expl_8h-source.html @@ -0,0 +1,166 @@ + + +ParadisEO-MOMovingObjects: moTSMoveLoopExpl.h Source File + + + + +
+ +
+

moTSMoveLoopExpl.h

00001 /*
+00002   <moTSMoveLoopExpl.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moTSMoveLoopExpl_h
+00037 #define _moTSMoveLoopExpl_h
+00038 
+00039 #include <moMoveLoopExpl.h>
+00040 #include <moMoveInit.h>
+00041 #include <moNextMove.h>
+00042 #include <moMoveIncrEval.h>
+00043 #include <moMoveSelect.h>
+00044 #include <moTabuList.h>
+00045 #include <moAspirCrit.h>
+00046 #include <moBestImprSelect.h>
+00047 
+00049 
+00052 template < class M >
+00053 class moTSMoveLoopExpl:public moMoveLoopExpl < M >
+00054 {
+00056   typedef typename M::EOType EOT;
+00057 
+00059   typedef typename M::EOType::Fitness Fitness;
+00060 
+00061  public:
+00062 
+00064 
+00071   moTSMoveLoopExpl (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator,
+00072                     moMoveIncrEval < M > & _incremental_evaluation, moTabuList < M > & _tabu_list, 
+00073                     moAspirCrit < M > & _aspiration_criterion):
+00074   move_initializer(_move_initializer), next_move_generator(_next_move_generator), incremental_evaluation(_incremental_evaluation),
+00075     tabu_list(_tabu_list), aspiration_criterion(_aspiration_criterion)
+00076   {
+00077     tabu_list.init ();
+00078     aspiration_criterion.init ();
+00079   }
+00080   
+00082 
+00090   void operator () (const EOT & _old_solution, EOT & _new_solution)
+00091   {
+00092     M move, best_move;
+00093     Fitness fitness, best_move_fitness;
+00094 
+00095     bool move_is_tabu, aspiration_criterion_is_verified, selection_update_is_ok, has_next_move;
+00096 
+00097     if( _old_solution.invalid() )
+00098       {
+00099         throw std::runtime_error("[moTSMoveLoopExpl.h]: The current solution has not been evaluated.");
+00100       }
+00101     
+00102     //At the begining, the new solution is equivalent to the old one.
+00103     _new_solution=(EOT)_old_solution;
+00104 
+00105     // Restarting the exploration of  of the neighborhood !
+00106     move_initializer (move, _old_solution);     
+00107 
+00108     move_selection.init( _old_solution.fitness() );
+00109 
+00110     do
+00111       {
+00112         fitness = incremental_evaluation(move, _old_solution);
+00113 
+00114         move_is_tabu = tabu_list(move, _old_solution);
+00115 
+00116         aspiration_criterion_is_verified = aspiration_criterion(move, fitness);
+00117 
+00118         if( !move_is_tabu || aspiration_criterion_is_verified )
+00119           {
+00120             selection_update_is_ok = move_selection.update(move, fitness);
+00121           }
+00122 
+00123         has_next_move = next_move_generator(move, _old_solution);
+00124       }
+00125     while( has_next_move && selection_update_is_ok );
+00126 
+00127     move_selection(best_move, best_move_fitness);
+00128 
+00129     // Apply the best move.
+00130     best_move(_new_solution);
+00131     
+00132     // The fitness is set to avoid an additionnal fitness computation.
+00133     _new_solution.fitness(best_move_fitness);
+00134       
+00135     // Removing moves that are no more tabu.
+00136     tabu_list.update ();
+00137     
+00138     // Updating the tabu list
+00139     tabu_list.add(best_move, _new_solution);
+00140   }
+00141 
+00142  private:
+00143 
+00145   moMoveInit < M > & move_initializer;
+00146 
+00148   moNextMove < M > & next_move_generator;
+00149 
+00151   moMoveIncrEval < M > & incremental_evaluation;
+00152 
+00154   moBestImprSelect < M > move_selection;
+00155 
+00157   moTabuList < M > & tabu_list;
+00158 
+00160   moAspirCrit < M > & aspiration_criterion;
+00161 };
+00162 
+00163 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/mo_tabu_list_8h-source.html b/trunk/paradiseo-mo/doc/html/mo_tabu_list_8h-source.html new file mode 100644 index 000000000..24f46b7d1 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/mo_tabu_list_8h-source.html @@ -0,0 +1,87 @@ + + +ParadisEO-MOMovingObjects: moTabuList.h Source File + + + + +
+ +
+

moTabuList.h

00001 /*
+00002   <moTabuList.h>
+00003   Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
+00004   (C) OPAC Team, LIFL, 2002-2008
+00005  
+00006   Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr)
+00007  
+00008   This software is governed by the CeCILL license under French law and
+00009   abiding by the rules of distribution of free software.  You can  use,
+00010   modify and/ or redistribute the software under the terms of the CeCILL
+00011   license as circulated by CEA, CNRS and INRIA at the following URL
+00012   "http://www.cecill.info".
+00013  
+00014   As a counterpart to the access to the source code and  rights to copy,
+00015   modify and redistribute granted by the license, users are provided only
+00016   with a limited warranty  and the software's author,  the holder of the
+00017   economic rights,  and the successive licensors  have only  limited liability.
+00018  
+00019   In this respect, the user's attention is drawn to the risks associated
+00020   with loading,  using,  modifying and/or developing or reproducing the
+00021   software by the user in light of its specific status of free software,
+00022   that may mean  that it is complicated to manipulate,  and  that  also
+00023   therefore means  that it is reserved for developers  and  experienced
+00024   professionals having in-depth computer knowledge. Users are therefore
+00025   encouraged to load and test the software's suitability as regards their
+00026   requirements in conditions enabling the security of their systems and/or
+00027   data to be ensured and,  more generally, to use and operate it in the
+00028   same conditions as regards security.
+00029   The fact that you are presently reading this means that you have had
+00030   knowledge of the CeCILL license and that you accept its terms.
+00031  
+00032   ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033   Contact: paradiseo-help@lists.gforge.inria.fr
+00034 */
+00035 
+00036 #ifndef _moTabuList_h
+00037 #define _moTabuList_h
+00038 
+00039 #include <eoFunctor.h>
+00040 
+00042 
+00046 template < class M > class moTabuList: public eoBF < const M &, const typename M::EOType &, bool >
+00047 {
+00048  public:
+00049 
+00051   typedef typename M::EOType EOT;
+00052   
+00054 
+00060   virtual void add(const M & _move, const EOT & _solution) = 0;
+00061 
+00063 
+00066   virtual void update () = 0;
+00067   
+00069 
+00072   virtual void init () = 0;
+00073 };
+00074 
+00075 #endif
+

Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/search.idx b/trunk/paradiseo-mo/doc/html/search.idx new file mode 100644 index 0000000000000000000000000000000000000000..d5aa98a2292679a494b131d653a69f810d88f939 GIT binary patch literal 368522 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 + +Search + + + + +
+
    +
  • Main Page
  • +
  • Classes
  • +
  • Files
  • +
  • +
    + + + + +1 document matching your query."; + } + else // $num>1 + { + return "Found $num documents matching your query. Showing best matches first."; + } +} + +function report_matches() +{ + return "Matches: "; +} +function end_form($value) +{ + echo " \n \n
    \n
    \n
  • \n
\n
\n"; +} + +function readInt($file) +{ + $b1 = ord(fgetc($file)); $b2 = ord(fgetc($file)); + $b3 = ord(fgetc($file)); $b4 = ord(fgetc($file)); + return ($b1<<24)|($b2<<16)|($b3<<8)|$b4; +} + +function readString($file) +{ + $result=""; + while (ord($c=fgetc($file))) $result.=$c; + return $result; +} + +function readHeader($file) +{ + $header =fgetc($file); $header.=fgetc($file); + $header.=fgetc($file); $header.=fgetc($file); + return $header; +} + +function computeIndex($word) +{ + // Fast string hashing + //$lword = strtolower($word); + //$l = strlen($lword); + //for ($i=0;$i<$l;$i++) + //{ + // $c = ord($lword{$i}); + // $v = (($v & 0xfc00) ^ ($v << 6) ^ $c) & 0xffff; + //} + //return $v; + + // Simple hashing that allows for substring search + if (strlen($word)<2) return -1; + // high char of the index + $hi = ord($word{0}); + if ($hi==0) return -1; + // low char of the index + $lo = ord($word{1}); + if ($lo==0) return -1; + // return index + return $hi*256+$lo; +} + +function search($file,$word,&$statsList) +{ + $index = computeIndex($word); + if ($index!=-1) // found a valid index + { + fseek($file,$index*4+4); // 4 bytes per entry, skip header + $index = readInt($file); + if ($index) // found words matching the hash key + { + $start=sizeof($statsList); + $count=$start; + fseek($file,$index); + $w = readString($file); + while ($w) + { + $statIdx = readInt($file); + if ($word==substr($w,0,strlen($word))) + { // found word that matches (as substring) + $statsList[$count++]=array( + "word"=>$word, + "match"=>$w, + "index"=>$statIdx, + "full"=>strlen($w)==strlen($word), + "docs"=>array() + ); + } + $w = readString($file); + } + $totalHi=0; + $totalFreqHi=0; + $totalFreqLo=0; + for ($count=$start;$count $idx, + "freq" => $freq>>1, + "rank" => 0.0, + "hi" => $freq&1 + ); + if ($freq&1) // word occurs in high priority doc + { + $totalHi++; + $totalFreqHi+=$freq*$multiplier; + } + else // word occurs in low priority doc + { + $totalFreqLo+=$freq*$multiplier; + } + } + // read name and url info for the doc + for ($i=0;$i<$numDocs;$i++) + { + fseek($file,$docInfo[$i]["idx"]); + $docInfo[$i]["name"]=readString($file); + $docInfo[$i]["url"]=readString($file); + } + $statInfo["docs"]=$docInfo; + } + $totalFreq=($totalHi+1)*$totalFreqLo + $totalFreqHi; + for ($count=$start;$count$key, + "name"=>$di["name"], + "rank"=>$rank + ); + } + $docs[$key]["words"][] = array( + "word"=>$wordInfo["word"], + "match"=>$wordInfo["match"], + "freq"=>$di["freq"] + ); + } + } + return $docs; +} + +function filter_results($docs,&$requiredWords,&$forbiddenWords) +{ + $filteredDocs=array(); + while (list ($key, $val) = each ($docs)) + { + $words = &$docs[$key]["words"]; + $copy=1; // copy entry by default + if (sizeof($requiredWords)>0) + { + foreach ($requiredWords as $reqWord) + { + $found=0; + foreach ($words as $wordInfo) + { + $found = $wordInfo["word"]==$reqWord; + if ($found) break; + } + if (!$found) + { + $copy=0; // document contains none of the required words + break; + } + } + } + if (sizeof($forbiddenWords)>0) + { + foreach ($words as $wordInfo) + { + if (in_array($wordInfo["word"],$forbiddenWords)) + { + $copy=0; // document contains a forbidden word + break; + } + } + } + if ($copy) $filteredDocs[$key]=$docs[$key]; + } + return $filteredDocs; +} + +function compare_rank($a,$b) +{ + if ($a["rank"] == $b["rank"]) + { + return 0; + } + return ($a["rank"]>$b["rank"]) ? -1 : 1; +} + +function sort_results($docs,&$sorted) +{ + $sorted = $docs; + usort($sorted,"compare_rank"); + return $sorted; +} + +function report_results(&$docs) +{ + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + $numDocs = sizeof($docs); + if ($numDocs==0) + { + echo " \n"; + echo " \n"; + echo " \n"; + } + else + { + echo " \n"; + echo " \n"; + echo " \n"; + $num=1; + foreach ($docs as $doc) + { + echo " \n"; + echo " "; + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + $num++; + } + } + echo "

".search_results()."

".matches_text(0)."
".matches_text($numDocs); + echo "\n"; + echo "
$num.".$doc["name"]."
".report_matches()." "; + foreach ($doc["words"] as $wordInfo) + { + $word = $wordInfo["word"]; + $matchRight = substr($wordInfo["match"],strlen($word)); + echo "$word$matchRight(".$wordInfo["freq"].") "; + } + echo "
\n"; +} + +function main() +{ + if(strcmp('4.1.0', phpversion()) > 0) + { + die("Error: PHP version 4.1.0 or above required!"); + } + if (!($file=fopen("search.idx","rb"))) + { + die("Error: Search index file could NOT be opened!"); + } + if (readHeader($file)!="DOXS") + { + die("Error: Header of index file is invalid!"); + } + $query=""; + if (array_key_exists("query", $_GET)) + { + $query=$_GET["query"]; + } + end_form($query); + echo " \n
\n"; + $results = array(); + $requiredWords = array(); + $forbiddenWords = array(); + $foundWords = array(); + $word=strtok($query," "); + while ($word) // for each word in the search query + { + if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; } + if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; } + if (!in_array($word,$foundWords)) + { + $foundWords[]=$word; + search($file,strtolower($word),$results); + } + $word=strtok(" "); + } + $docs = array(); + combine_results($results,$docs); + // filter out documents with forbidden word or that do not contain + // required words + $filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords); + // sort the results based on rank + $sorted = array(); + sort_results($filteredDocs,$sorted); + // report results to the user + report_results($sorted); + echo "
\n"; + fclose($file); +} + +main(); + + +?> +
Generated on Tue Jan 15 17:04:26 2008 for ParadisEO-MOMovingObjects by  + +doxygen 1.5.4
+ + diff --git a/trunk/paradiseo-mo/doc/html/tab_b.gif b/trunk/paradiseo-mo/doc/html/tab_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d623483ffdf5f9f96900108042a7ab0643fe2a3 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcJy*>IeJfk6j|fqX^=1|}vKMh0sDa2W*H literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/tab_l.gif b/trunk/paradiseo-mo/doc/html/tab_l.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b1e6337c9299a700401a2a78a2c6ffced475216 GIT binary patch literal 706 zcmZ?wbhEHbZT`}F1e&(Gg}Y(8=I;HA5#Z$3JI=gGB)FQ#odI(O&E^@q;x zK6mr*m3xOS-#u~t!I@i+u0DKm^U160k6t`|^WpV}&n+8{U%dD9&a>B#U%!9-@yol< zU%&tQ{rk_K|NsC0`}dE5ET99@1@a36+kb~?0UJ*yc&I3X_m z!ND^5$O7$#8OFRuDhG}!?8z?cdZK&!`PWjdR;Aj^wZ` zeK{IEYHBJ)6K8VIp1`BVt++swf6j+=L{p1*nO(VhE`pFexG@5$|>uaCcd z`0m=9m+yak{QmXN#Sc$^{$X9h9&q2jiKAI|&T)a;PPx2K9p`YIdw8HtR5k2Q$2-O2 z*;3y{MQ-RnJTgJfI&R5|O)AHxDf_00XbPvDZPy4t=hHd)nfLPvms&O`Ok(sD()5v$ z5U@&h;a=#xbxVbo2~X&Xj0Ie(f{v>vERH+qC+nTG=B8Nca=wU-O$?1&vUgV~9=!H; zx>3p9Yn%*<>t~sk+&0xfyS8RsPfYBd<~wWK%j-LmpU>O7yX^h#UCp1x-p#i7@bE;py8XI6 zmY<)m>~)W~yIWcMVoiPg{duuf<*)9qZ9l$m*Ph&W&$jlv*Vpa+{pH@n=IQ$L?0$ax ec60Ul|8o2P|NVbd{6P)#weSbE3}s?04AuZvx_~SI literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/tab_r.gif b/trunk/paradiseo-mo/doc/html/tab_r.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce9dd9f533cb5486d6941844f442b59d4a9e9175 GIT binary patch literal 2585 zcmbV}`9Bkk1ILFF--w5zJc=ZZT(zjE=;2|_S)Qm~rCWz1Pc)KPl;jv%A#&v2*x}yc zmf2~Jm~&=xjJY?PqwIN}f8qQ2{r$uH{c*nJbmr{cR5??*egHrs-B=MzCF`3%e{FAW z{oL5xTHn~5TM{jaB;@|_Ue5F&Zb@p(kMyG{*;gWDg zyeL|eZf7Qd8=#bXzSiR{yzRgLSj-fJS8>lBjVHN z^o-0eS=nE6a`W;LChBs=`+QAJP~{b93>H^eRb5kCSC1zUNezun%`L5M?RDzv#%jk7 zYVRX=vATPD`+oEfum^{RM@GjuP?-r=yh0!p;Vx^T9G7~`7%5ydH%70=jyJ;;`d;hv92x3R=z{xp+Lg2!*@OK*K15-t&okoPtSED)h&$RLxdbA zseWm^C3d%-yRNi-ryk^!ek+C`n&~cd$#ZWct_cUL{l~i+Nzx^5d!n94(>bW-iL~Rl z&8r)?q|1DIo=0=judQ{FaGcfLERz8gfn3-Qt<2lksh{mzpT}DXxUuR^z=^key&q4! z+wWI45vL0k$R^(F#{qfqhUsN@WA+w-V?LPH33!Q?WFSB3)WBojE@hK41Nb?KfS+Qo zXgrzfsP$wr4Qzy*{OD>uJBjdgGM@VMml5)2f~_}lD*YyOb}Hjeobhz#4c`w(l^>KK zr?Ud;W~Z}*w;%hZ|2^p^+f06gJDJQD zeIhGADbDmm&6arh(q>EZ<7mjzg7l|z$hRL8=1>)Nv=S7CY$B}iYJ&*T_-T_OG*L1q ztZ3Lana33?y3AKnyq^YCF|4x%Rb5WU&2qcl{TFKey%QJeMxn^SdT!hZ5+0i1zeusiYVp-phBl7b5+Px-X&LhByq z0F&<;K0l2+v>qiHlXb#$jXMv$uK-dEGE9L~qtdU(XeRXmvu*K2Q&6!fD**JxYP4b4BR7FdJ$Qx9G9`J%-_X!a#LGpp3g9)VWytGCa;7`S1_e8F~!R+aSJ zOF17p2`H?2kPs8Q`_;U}+D%3p zs2-0BTqFwpUoBk`?P;iPQ(IbEA|JmMx!P&YYG|R@S=5Mnw;-?A6rEEVyV%d7{iU4a zNk`i!%F(Ykpm`}#oH;BjY->@b8vQedv;pza2FL&*6ufjd+*3Ute&>kes~TU?^KkojsTh(o~(3tk1Y6>4(yn( z#U*ID9@eg-beKo1B;HXe+}{Z%n@7m0+yxivuqk9~;!1LGQlah)xYK4>wgL}l6dsaN zIxlRlq`*`j9PG4*0hD6YV_b_2w5b#)o7J?`q#{GjvvKlD`T*dWcZx<-s(ZvLB44E# z=!|sw!?)@%y$oRNL#25WS3lzdii}TuQ3?CLnvQ1_n};2sT_;Y;#d3=+-(O% zMN$>O!3;ke(UuLR%h_&)N zs^!-@A>QR}4yB1bPp`9S19ikTbZ~O{&FF-yHK{En;mmShDUIEw03`j(DBIsM}Rjki2J#SQa3gFZTKBPDeIiLt9Z z%bL3(B@Qw%(B`wSMS~dPh$=R`(}lBoFXKy(s|*{#ru$wjsBc_O#zxNk9w+UUHmx(U zmJ8+M+ndtnZ<7|VU9Mbt61zpo9T&3%Wx&XII=#QJxjR`CZf22ac3d51Z?GD%LEe_&*t46Qf;4`bZ7p2K(Ab5>GfT^}4! zBT&HZD`^PEgWoI&{~o-ID0F?O`75sm(87x%A{(}Ch1)QlzdJ)1B-eqe5a(weg0`4lQIf1evjvbBY50DVbzO7CLf|vP z2#0(U-|jZ`H{y5N^o7%iK6H>_HEGN->U6^!)1{XpJV!!4(Ig7wzZQ*9WYF4X1rG0x z=1uA@i`rIAciubDC{;~b(|&|A@xkjRP5aRcvRU9tvIm}jDB6J eQ0-6-y)mpwdT=ayS0tBxKDA*~;EWmo literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/html/tabs.css b/trunk/paradiseo-mo/doc/html/tabs.css new file mode 100644 index 000000000..c37faafe8 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/tabs.css @@ -0,0 +1,102 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI.current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI.current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.nav +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; +} diff --git a/trunk/paradiseo-mo/doc/html/tree.html b/trunk/paradiseo-mo/doc/html/tree.html new file mode 100644 index 000000000..e627e9067 --- /dev/null +++ b/trunk/paradiseo-mo/doc/html/tree.html @@ -0,0 +1,248 @@ + + + + + + + TreeView + + + + +
+

ParadisEO-MOMovingObjects

+
+

o*Welcome to PARADISEO-Moving Objects

+

o+ParadisEO-MOMovingObjects Class List

+ +

o+ParadisEO-MOMovingObjects Class Hierarchy

+ +

o*Class Members

+

\+ParadisEO-MOMovingObjects File List

+
+

 o*index.h

+

 o*mo.h

+

 o*moAlgo.h

+

 o*moAspirCrit.h

+

 o*moBestImprSelect.h

+

 o*moComparator.h

+

 o*moCoolingSchedule.h

+

 o*moExponentialCoolingSchedule.h

+

 o*moFirstImprSelect.h

+

 o*moFitComparator.h

+

 o*moFitSolContinue.h

+

 o*moGenSolContinue.h

+

 o*moHC.h

+

 o*moHCMoveLoopExpl.h

+

 o*moILS.h

+

 o*moImprBestFitAspirCrit.h

+

 o*moItRandNextMove.h

+

 o*moLinearCoolingSchedule.h

+

 o*moLSCheckPoint.h

+

 o*moMove.h

+

 o*moMoveExpl.h

+

 o*moMoveIncrEval.h

+

 o*moMoveInit.h

+

 o*moMoveLoopExpl.h

+

 o*moMoveSelect.h

+

 o*moNextMove.h

+

 o*moNoAspirCrit.h

+

 o*moNoFitImprSolContinue.h

+

 o*moRandImprSelect.h

+

 o*moRandMove.h

+

 o*moSA.h

+

 o*moSimpleMoveTabuList.h

+

 o*moSimpleSolutionTabuList.h

+

 o*moSolContinue.h

+

 o*moSteadyFitSolContinue.h

+

 o*moTabuList.h

+

 o*moTS.h

+

 \*moTSMoveLoopExpl.h

+
+
+
+ + diff --git a/trunk/paradiseo-mo/doc/latex/FreeSans.ttf b/trunk/paradiseo-mo/doc/latex/FreeSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b550b90ba5480f9a3db170a19a1f86daecb0dc92 GIT binary patch literal 22932 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 RlllN>Fk>(~eFPlj{{dxA`xyWL literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/doc/latex/Makefile b/trunk/paradiseo-mo/doc/latex/Makefile new file mode 100644 index 000000000..776fcf968 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/Makefile @@ -0,0 +1,39 @@ +all: clean refman.dvi + +ps: refman.ps + +pdf: refman.pdf + +ps_2on1: refman_2on1.ps + +pdf_2on1: refman_2on1.pdf + +refman.ps: refman.dvi + dvips -o refman.ps refman.dvi + +refman.pdf: refman.ps + ps2pdf refman.ps refman.pdf + +refman.dvi: refman.tex doxygen.sty + echo "Running latex..." + latex refman.tex + echo "Running makeindex..." + makeindex refman.idx + echo "Rerunning latex...." + latex refman.tex + latex_count=5 ; \ + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ + do \ + echo "Rerunning latex...." ;\ + latex refman.tex ;\ + latex_count=`expr $$latex_count - 1` ;\ + done + +refman_2on1.ps: refman.ps + psnup -2 refman.ps >refman_2on1.ps + +refman_2on1.pdf: refman_2on1.ps + ps2pdf refman_2on1.ps refman_2on1.pdf + +clean: + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf diff --git a/trunk/paradiseo-mo/doc/latex/annotated.tex b/trunk/paradiseo-mo/doc/latex/annotated.tex new file mode 100644 index 000000000..c8c0c5f5b --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/annotated.tex @@ -0,0 +1,39 @@ +\section{ParadisEO-MOMovingObjects Class List} +Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} +\item\contentsline{section}{{\bf moAlgo$<$ EOT $>$} (Description of an algorithm of the paradiseo-mo library )}{\pageref{classmo_algo}}{} +\item\contentsline{section}{{\bf moAspirCrit$<$ M $>$} (Description of the conditions in which a tabu move could be accepted )}{\pageref{classmo_aspir_crit}}{} +\item\contentsline{section}{{\bf moBestImprSelect$<$ M $>$} (One of the possible \doxyref{moMoveSelect}{p.}{classmo_move_select} )}{\pageref{classmo_best_impr_select}}{} +\item\contentsline{section}{{\bf moComparator$<$ EOT $>$} (Template for classes which need to compare two EOT and indicate if the first is \char`\"{}better\char`\"{} than the second )}{\pageref{classmo_comparator}}{} +\item\contentsline{section}{{\bf moCoolingSchedule} (This class gives the description of a cooling schedule )}{\pageref{classmo_cooling_schedule}}{} +\item\contentsline{section}{{\bf moExponentialCoolingSchedule} (One of the possible \doxyref{moCoolingSchedule}{p.}{classmo_cooling_schedule} )}{\pageref{classmo_exponential_cooling_schedule}}{} +\item\contentsline{section}{{\bf moFirstImprSelect$<$ M $>$} (One possible \doxyref{moMoveSelect}{p.}{classmo_move_select} )}{\pageref{classmo_first_impr_select}}{} +\item\contentsline{section}{{\bf moFitComparator$<$ EOT $>$} (Comparison according to the fitness )}{\pageref{classmo_fit_comparator}}{} +\item\contentsline{section}{{\bf moFitSolContinue$<$ EOT $>$} (One possible stop criterion for a solution-based heuristic )}{\pageref{classmo_fit_sol_continue}}{} +\item\contentsline{section}{{\bf moGenSolContinue$<$ EOT $>$} (One possible stop criterion for a solution-based heuristic )}{\pageref{classmo_gen_sol_continue}}{} +\item\contentsline{section}{{\bf moHC$<$ M $>$} (Hill Climbing (HC) )}{\pageref{classmo_h_c}}{} +\item\contentsline{section}{{\bf moHCMoveLoopExpl$<$ M $>$} (Iterative explorer used by a \doxyref{moHC}{p.}{classmo_h_c} )}{\pageref{classmo_h_c_move_loop_expl}}{} +\item\contentsline{section}{{\bf moILS$<$ M $>$} (Iterated Local Search (ILS) )}{\pageref{classmo_i_l_s}}{} +\item\contentsline{section}{{\bf moImprBestFitAspirCrit$<$ M $>$} (One of the possible \doxyref{moAspirCrit}{p.}{classmo_aspir_crit} )}{\pageref{classmo_impr_best_fit_aspir_crit}}{} +\item\contentsline{section}{{\bf moItRandNextMove$<$ M $>$} (One of the possible \doxyref{moNextMove}{p.}{classmo_next_move} )}{\pageref{classmo_it_rand_next_move}}{} +\item\contentsline{section}{{\bf moLinearCoolingSchedule} (One of the possible \doxyref{moCoolingSchedule}{p.}{classmo_cooling_schedule} )}{\pageref{classmo_linear_cooling_schedule}}{} +\item\contentsline{section}{{\bf moLSCheckPoint$<$ M $>$} (Class which allows a checkpointing system )}{\pageref{classmo_l_s_check_point}}{} +\item\contentsline{section}{{\bf moMove$<$ EOT $>$} (Definition of a move )}{\pageref{classmo_move}}{} +\item\contentsline{section}{{\bf moMoveExpl$<$ M $>$} (Description of a move (\doxyref{moMove}{p.}{classmo_move}) explorer )}{\pageref{classmo_move_expl}}{} +\item\contentsline{section}{{\bf moMoveIncrEval$<$ M $>$} ((generally) Efficient evaluation function based a move and a solution )}{\pageref{classmo_move_incr_eval}}{} +\item\contentsline{section}{{\bf moMoveInit$<$ M $>$} (Move (\doxyref{moMove}{p.}{classmo_move}) initializer )}{\pageref{classmo_move_init}}{} +\item\contentsline{section}{{\bf moMoveLoopExpl$<$ M $>$} (Class which describes an iterative explorer )}{\pageref{classmo_move_loop_expl}}{} +\item\contentsline{section}{{\bf moMoveSelect$<$ M $>$} (Class that describes a move selector (\doxyref{moMove}{p.}{classmo_move}) )}{\pageref{classmo_move_select}}{} +\item\contentsline{section}{{\bf moNextMove$<$ M $>$} (Class which allows to generate a new move (\doxyref{moMove}{p.}{classmo_move}) )}{\pageref{classmo_next_move}}{} +\item\contentsline{section}{{\bf moNoAspirCrit$<$ M $>$} (One of the possible aspiration criterion (\doxyref{moAspirCrit}{p.}{classmo_aspir_crit}) )}{\pageref{classmo_no_aspir_crit}}{} +\item\contentsline{section}{{\bf moNoFitImprSolContinue$<$ EOT $>$} (One possible stop criterion for a solution-based heuristic )}{\pageref{classmo_no_fit_impr_sol_continue}}{} +\item\contentsline{section}{{\bf moRandImprSelect$<$ M $>$} (One of the possible \doxyref{moMove}{p.}{classmo_move} selector (\doxyref{moMoveSelect}{p.}{classmo_move_select}) )}{\pageref{classmo_rand_impr_select}}{} +\item\contentsline{section}{{\bf moRandMove$<$ M $>$} (Random move generator )}{\pageref{classmo_rand_move}}{} +\item\contentsline{section}{{\bf moSA$<$ M $>$} (Simulated Annealing (SA) )}{\pageref{classmo_s_a}}{} +\item\contentsline{section}{{\bf moSimpleMoveTabuList$<$ M $>$} (Class describing a move tabu list with a limited memory )}{\pageref{classmo_simple_move_tabu_list}}{} +\item\contentsline{section}{{\bf moSimpleSolutionTabuList$<$ M $>$} (Class describing a solution tabu list with limited length )}{\pageref{classmo_simple_solution_tabu_list}}{} +\item\contentsline{section}{{\bf moSolContinue$<$ EOT $>$} (Class that describes a stop criterion for a solution-based heuristic )}{\pageref{classmo_sol_continue}}{} +\item\contentsline{section}{{\bf moSteadyFitSolContinue$<$ EOT $>$} (One possible stopping criterion for a solution-based heuristic )}{\pageref{classmo_steady_fit_sol_continue}}{} +\item\contentsline{section}{{\bf moTabuList$<$ M $>$} (Class describing a tabu list that a \doxyref{moTS}{p.}{classmo_t_s} uses )}{\pageref{classmo_tabu_list}}{} +\item\contentsline{section}{{\bf moTS$<$ M $>$} (Tabu Search (TS) )}{\pageref{classmo_t_s}}{} +\item\contentsline{section}{{\bf moTSMoveLoopExpl$<$ M $>$} (Explorer for a Tabu Search algorithm )}{\pageref{classmo_t_s_move_loop_expl}}{} +\end{CompactList} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_algo.eps b/trunk/paradiseo-mo/doc/latex/classmo_algo.eps new file mode 100644 index 000000000..5a1270e24 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_algo.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 273.973 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.825 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moAlgo< EOT >) cw +(eoMonOp< EOT >) cw +(eoOp< EOType >) cw +(eoUF< EOT &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moAlgo< EOT >) 0.5 0 box + (eoMonOp< EOT >) 0.5 1 box + (eoOp< EOType >) 0 2 box + (eoUF< EOT &, bool >) 1 2 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_algo.tex b/trunk/paradiseo-mo/doc/latex/classmo_algo.tex new file mode 100644 index 000000000..1a6736e14 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_algo.tex @@ -0,0 +1,27 @@ +\section{moAlgo$<$ EOT $>$ Class Template Reference} +\label{classmo_algo}\index{moAlgo@{moAlgo}} +Description of an algorithm of the paradiseo-mo library. + + +{\tt \#include $<$moAlgo.h$>$} + +Inheritance diagram for moAlgo$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_algo} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moAlgo$<$ EOT $>$} + +Description of an algorithm of the paradiseo-mo library. + +\doxyref{moHC}{p.}{classmo_h_c}, \doxyref{moTS}{p.}{classmo_t_s} and \doxyref{moSA}{p.}{classmo_s_a} are 3 examples of algorithm of the paradiseo-mo library. + +Definition at line 46 of file moAlgo.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moAlgo.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_aspir_crit.eps b/trunk/paradiseo-mo/doc/latex/classmo_aspir_crit.eps new file mode 100644 index 000000000..7a0252d70 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_aspir_crit.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 218.579 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.2875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moAspirCrit< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moImprBestFitAspirCrit< M >) cw +(moNoAspirCrit< M >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moAspirCrit< M >) 0.5 1 box + (eoBF< A1, A2, R >) 0.5 2 box + (eoFunctorBase) 0.5 3 box + (moImprBestFitAspirCrit< M >) 0 0 box + (moNoAspirCrit< M >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_aspir_crit.tex b/trunk/paradiseo-mo/doc/latex/classmo_aspir_crit.tex new file mode 100644 index 000000000..1e4a73e8e --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_aspir_crit.tex @@ -0,0 +1,44 @@ +\section{moAspirCrit$<$ M $>$ Class Template Reference} +\label{classmo_aspir_crit}\index{moAspirCrit@{moAspirCrit}} +Description of the conditions in which a tabu move could be accepted. + + +{\tt \#include $<$moAspirCrit.h$>$} + +Inheritance diagram for moAspirCrit$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_aspir_crit} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual void {\bf init} ()=0 +\begin{CompactList}\small\item\em Procedure which initialises all that needs an aspiration criterion. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moAspirCrit$<$ M $>$} + +Description of the conditions in which a tabu move could be accepted. + +It is only a description... An object that herits from this class is needed to be used in a \doxyref{moTS}{p.}{classmo_t_s}. See moNoAspriCrit for example. + +Definition at line 47 of file moAspirCrit.h. + +\subsection{Member Function Documentation} +\index{moAspirCrit@{moAspirCrit}!init@{init}} +\index{init@{init}!moAspirCrit@{moAspirCrit}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void {\bf moAspirCrit}$<$ M $>$::init ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_aspir_crit_a8ce84510a5ec7c9078381e542c6d140} + + +Procedure which initialises all that needs an aspiration criterion. + +It can be possible that this procedure does nothing... + +Implemented in {\bf moImprBestFitAspirCrit$<$ M $>$} \doxyref{}{p.}{classmo_impr_best_fit_aspir_crit_ffa451a14ff4ea86fb8bd9fdbc348630}, and {\bf moNoAspirCrit$<$ M $>$} \doxyref{}{p.}{classmo_no_aspir_crit_f3a286fc4c2d36bd390ba9a3074f3037}. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moAspirCrit.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_best_impr_select.eps b/trunk/paradiseo-mo/doc/latex/classmo_best_impr_select.eps new file mode 100644 index 000000000..e1504ce28 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_best_impr_select.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 303.03 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moBestImprSelect< M >) cw +(moMoveSelect< M >) cw +(eoBF< M &, M::EOType::Fitness &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moBestImprSelect< M >) 0 0 box + (moMoveSelect< M >) 0 1 box + (eoBF< M &, M::EOType::Fitness &, void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_best_impr_select.tex b/trunk/paradiseo-mo/doc/latex/classmo_best_impr_select.tex new file mode 100644 index 000000000..8241c528a --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_best_impr_select.tex @@ -0,0 +1,115 @@ +\section{moBestImprSelect$<$ M $>$ Class Template Reference} +\label{classmo_best_impr_select}\index{moBestImprSelect@{moBestImprSelect}} +One of the possible \doxyref{moMoveSelect}{p.}{classmo_move_select}. + + +{\tt \#include $<$moBestImprSelect.h$>$} + +Inheritance diagram for moBestImprSelect$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_best_impr_select} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef M::EOType::Fitness {\bf Fitness}\label{classmo_best_impr_select_c4ae17435221fb0a8e8acd285210cfcb} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void {\bf init} (const {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em Procedure which initialise the exploration. \item\end{CompactList}\item +bool {\bf update} (const M \&\_\-move, const {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em {\bf Function} that indicates if the current move has not improved the fitness. \item\end{CompactList}\item +void {\bf operator()} (M \&\_\-move, {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em Procedure which saved the best move and fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +bool {\bf first\_\-time}\label{classmo_best_impr_select_352b14d206b0772eb9f40efb7beb0f13} + +\begin{CompactList}\small\item\em Allowing to know if at least one move has been generated. \item\end{CompactList}\item +M {\bf best\_\-move}\label{classmo_best_impr_select_bd86f70519f954c07ff0d8a2a3a8ff6a} + +\begin{CompactList}\small\item\em The best move. \item\end{CompactList}\item +{\bf Fitness} {\bf best\_\-fitness}\label{classmo_best_impr_select_e51345fe28ca7cbaca65bdad1aa8ecb7} + +\begin{CompactList}\small\item\em The best fitness. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moBestImprSelect$<$ M $>$} + +One of the possible \doxyref{moMoveSelect}{p.}{classmo_move_select}. + +All neighbors are considered, and the movement which enables the best improvement is selected. + +Definition at line 47 of file moBestImprSelect.h. + +\subsection{Member Function Documentation} +\index{moBestImprSelect@{moBestImprSelect}!init@{init}} +\index{init@{init}!moBestImprSelect@{moBestImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moBestImprSelect}$<$ M $>$::init (const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_best_impr_select_83f961549986b8ad94692e433aa79114} + + +Procedure which initialise the exploration. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness}]The current fitness. \end{description} +\end{Desc} + + +Implements {\bf moMoveSelect$<$ M $>$} \doxyref{}{p.}{classmo_move_select_58038bd859632c1bd022d23d9792bdca}. + +Definition at line 58 of file moBestImprSelect.h. + +References moBestImprSelect$<$ M $>$::first\_\-time.\index{moBestImprSelect@{moBestImprSelect}!update@{update}} +\index{update@{update}!moBestImprSelect@{moBestImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moBestImprSelect}$<$ M $>$::update (const M \& {\em \_\-move}, const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_best_impr_select_5c0729fd316b0ef78406bce5ca91de2a} + + +{\bf Function} that indicates if the current move has not improved the fitness. + +If the given fitness enables an improvment, the move (\doxyref{moMove}{p.}{classmo_move}) and the fitness linked to this move are saved. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a move. \item[{\em \_\-fitness}]a fitness linked to the move. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]TRUE if the move does not improve the fitness. \end{Desc} + + +Implements {\bf moMoveSelect$<$ M $>$} \doxyref{}{p.}{classmo_move_select_5b4d3b2f030cca80c563c3db0c4af404}. + +Definition at line 76 of file moBestImprSelect.h. + +References moBestImprSelect$<$ M $>$::best\_\-fitness, moBestImprSelect$<$ M $>$::best\_\-move, and moBestImprSelect$<$ M $>$::first\_\-time.\index{moBestImprSelect@{moBestImprSelect}!operator()@{operator()}} +\index{operator()@{operator()}!moBestImprSelect@{moBestImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moBestImprSelect}$<$ M $>$::operator() (M \& {\em \_\-move}, {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_best_impr_select_33b3de7bd322f737eb97cce9a5404527} + + +Procedure which saved the best move and fitness. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]the current move (result of the procedure). \item[{\em \_\-fitness}]the current fitness (result of the procedure). \end{description} +\end{Desc} + + +Implements {\bf eoBF$<$ M \&, M::EOType::Fitness \&, void $>$}. + +Definition at line 94 of file moBestImprSelect.h. + +References moBestImprSelect$<$ M $>$::best\_\-fitness, moBestImprSelect$<$ M $>$::best\_\-move, and moBestImprSelect$<$ M $>$::first\_\-time. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moBestImprSelect.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_comparator.eps b/trunk/paradiseo-mo/doc/latex/classmo_comparator.eps new file mode 100644 index 000000000..d7869534e --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_comparator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 484.848 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.03125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moComparator< EOT >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moFitComparator< EOT >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moComparator< EOT >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + (moFitComparator< EOT >) 0 0 box + +% ----- relations ----- + +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_comparator.tex b/trunk/paradiseo-mo/doc/latex/classmo_comparator.tex new file mode 100644 index 000000000..1e3efba12 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_comparator.tex @@ -0,0 +1,27 @@ +\section{moComparator$<$ EOT $>$ Class Template Reference} +\label{classmo_comparator}\index{moComparator@{moComparator}} +Template for classes which need to compare two EOT and indicate if the first is \char`\"{}better\char`\"{} than the second. + + +{\tt \#include $<$moComparator.h$>$} + +Inheritance diagram for moComparator$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_comparator} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moComparator$<$ EOT $>$} + +Template for classes which need to compare two EOT and indicate if the first is \char`\"{}better\char`\"{} than the second. + +The objects that extend this template describe how an EOT is \char`\"{}better\char`\"{} than an other. + +Definition at line 45 of file moComparator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moComparator.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_cooling_schedule.eps b/trunk/paradiseo-mo/doc/latex/classmo_cooling_schedule.eps new file mode 100644 index 000000000..099ff0bb2 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_cooling_schedule.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 203.046 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.4625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moCoolingSchedule) cw +(eoUF< double &, bool >) cw +(eoFunctorBase) cw +(moExponentialCoolingSchedule) cw +(moLinearCoolingSchedule) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moCoolingSchedule) 0.5 1 box + (eoUF< double &, bool >) 0.5 2 box + (eoFunctorBase) 0.5 3 box + (moExponentialCoolingSchedule) 0 0 box + (moLinearCoolingSchedule) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_cooling_schedule.tex b/trunk/paradiseo-mo/doc/latex/classmo_cooling_schedule.tex new file mode 100644 index 000000000..3eb005745 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_cooling_schedule.tex @@ -0,0 +1,25 @@ +\section{moCoolingSchedule Class Reference} +\label{classmo_cooling_schedule}\index{moCoolingSchedule@{moCoolingSchedule}} +This class gives the description of a cooling schedule. + + +{\tt \#include $<$moCoolingSchedule.h$>$} + +Inheritance diagram for moCoolingSchedule::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_cooling_schedule} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +This class gives the description of a cooling schedule. + +It is only a description... An object that herits from this class is needed to be used in a \doxyref{moSA}{p.}{classmo_s_a}. See \doxyref{moExponentialCoolingSchedule}{p.}{classmo_exponential_cooling_schedule} or \doxyref{moLinearCoolingSchedule}{p.}{classmo_linear_cooling_schedule} for example. + +Definition at line 46 of file moCoolingSchedule.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moCoolingSchedule.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_exponential_cooling_schedule.eps b/trunk/paradiseo-mo/doc/latex/classmo_exponential_cooling_schedule.eps new file mode 100644 index 000000000..92ecef949 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_exponential_cooling_schedule.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 406.091 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.23125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moExponentialCoolingSchedule) cw +(moCoolingSchedule) cw +(eoUF< double &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moExponentialCoolingSchedule) 0 0 box + (moCoolingSchedule) 0 1 box + (eoUF< double &, bool >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_exponential_cooling_schedule.tex b/trunk/paradiseo-mo/doc/latex/classmo_exponential_cooling_schedule.tex new file mode 100644 index 000000000..93b0768db --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_exponential_cooling_schedule.tex @@ -0,0 +1,83 @@ +\section{moExponentialCoolingSchedule Class Reference} +\label{classmo_exponential_cooling_schedule}\index{moExponentialCoolingSchedule@{moExponentialCoolingSchedule}} +One of the possible \doxyref{moCoolingSchedule}{p.}{classmo_cooling_schedule}. + + +{\tt \#include $<$moExponentialCoolingSchedule.h$>$} + +Inheritance diagram for moExponentialCoolingSchedule::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_exponential_cooling_schedule} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moExponentialCoolingSchedule} (double \_\-threshold, double \_\-ratio) +\begin{CompactList}\small\item\em Simple constructor. \item\end{CompactList}\item +bool {\bf operator()} (double \&\_\-temperature) +\begin{CompactList}\small\item\em {\bf Function} which proceeds to the cooling. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf threshold}\label{classmo_exponential_cooling_schedule_8d4327c0bb33b7121a322279eea97f84} + +\begin{CompactList}\small\item\em The temperature threhold. \item\end{CompactList}\item +double {\bf ratio}\label{classmo_exponential_cooling_schedule_e8f3f87417c1c7253efb938a740846fa} + +\begin{CompactList}\small\item\em The decreasing factor of the temperature. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +One of the possible \doxyref{moCoolingSchedule}{p.}{classmo_cooling_schedule}. + +An other very simple cooling schedule, the temperature decrease according to a ratio while the temperature is greater than a given threshold. + +Definition at line 46 of file moExponentialCoolingSchedule.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moExponentialCoolingSchedule@{moExponentialCoolingSchedule}!moExponentialCoolingSchedule@{moExponentialCoolingSchedule}} +\index{moExponentialCoolingSchedule@{moExponentialCoolingSchedule}!moExponentialCoolingSchedule@{moExponentialCoolingSchedule}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}moExponentialCoolingSchedule::moExponentialCoolingSchedule (double {\em \_\-threshold}, double {\em \_\-ratio})\hspace{0.3cm}{\tt [inline]}}\label{classmo_exponential_cooling_schedule_e60ce9eb5e632f4758ea96ae92a52774} + + +Simple constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-threshold}]the threshold. \item[{\em \_\-ratio}]the ratio used to descrease the temperature. \end{description} +\end{Desc} + + +Definition at line 55 of file moExponentialCoolingSchedule.h. + +\subsection{Member Function Documentation} +\index{moExponentialCoolingSchedule@{moExponentialCoolingSchedule}!operator()@{operator()}} +\index{operator()@{operator()}!moExponentialCoolingSchedule@{moExponentialCoolingSchedule}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool moExponentialCoolingSchedule::operator() (double \& {\em \_\-temperature})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_exponential_cooling_schedule_95b075e9786a5cc984ef1bb59a2107e4} + + +{\bf Function} which proceeds to the cooling. + +It decreases the temperature and indicates if it is greater than the threshold. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-temperature}]the current temperature. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]if the new temperature (current temperature $\ast$ ratio) is greater than the threshold. \end{Desc} + + +Implements {\bf eoUF$<$ double \&, bool $>$}. + +Definition at line 65 of file moExponentialCoolingSchedule.h. + +References ratio, and threshold. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moExponentialCoolingSchedule.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_first_impr_select.eps b/trunk/paradiseo-mo/doc/latex/classmo_first_impr_select.eps new file mode 100644 index 000000000..7057473a9 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_first_impr_select.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 303.03 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moFirstImprSelect< M >) cw +(moMoveSelect< M >) cw +(eoBF< M &, M::EOType::Fitness &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moFirstImprSelect< M >) 0 0 box + (moMoveSelect< M >) 0 1 box + (eoBF< M &, M::EOType::Fitness &, void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_first_impr_select.tex b/trunk/paradiseo-mo/doc/latex/classmo_first_impr_select.tex new file mode 100644 index 000000000..e729ba49e --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_first_impr_select.tex @@ -0,0 +1,118 @@ +\section{moFirstImprSelect$<$ M $>$ Class Template Reference} +\label{classmo_first_impr_select}\index{moFirstImprSelect@{moFirstImprSelect}} +One possible \doxyref{moMoveSelect}{p.}{classmo_move_select}. + + +{\tt \#include $<$moFirstImprSelect.h$>$} + +Inheritance diagram for moFirstImprSelect$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_first_impr_select} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef M::EOType::Fitness {\bf Fitness}\label{classmo_first_impr_select_64763ce3e6d2873266624382b407fa5a} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual void {\bf init} (const {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em Procedure which initialise the exploration. \item\end{CompactList}\item +bool {\bf update} (const M \&\_\-move, const {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em {\bf Function} that indicates if the current move has not improved the fitness. \item\end{CompactList}\item +void {\bf operator()} (M \&\_\-move, {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em Procedure which saved the best move and fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +bool {\bf valid}\label{classmo_first_impr_select_a99c0586ba07449234705c17a258d58c} + +\begin{CompactList}\small\item\em Allow to know if at least one move has improved the solution. \item\end{CompactList}\item +M {\bf best\_\-move}\label{classmo_first_impr_select_dfed419a608dd7c41f07fa1f1279cb8c} + +\begin{CompactList}\small\item\em Best stored movement. \item\end{CompactList}\item +{\bf Fitness} {\bf initial\_\-fitness}\label{classmo_first_impr_select_669f8f2f74e71bf2b7fdabfc9cca2c0e} + +\begin{CompactList}\small\item\em Initial fitness. \item\end{CompactList}\item +{\bf Fitness} {\bf best\_\-fitness}\label{classmo_first_impr_select_287937f5c059b078ccec94e86e0a8238} + +\begin{CompactList}\small\item\em Best stored fitness. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moFirstImprSelect$<$ M $>$} + +One possible \doxyref{moMoveSelect}{p.}{classmo_move_select}. + +The neighborhood is explored until a move enables an improvment of the current solution. + +Definition at line 48 of file moFirstImprSelect.h. + +\subsection{Member Function Documentation} +\index{moFirstImprSelect@{moFirstImprSelect}!init@{init}} +\index{init@{init}!moFirstImprSelect@{moFirstImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void {\bf moFirstImprSelect}$<$ M $>$::init (const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_first_impr_select_a923437ecc3db50e7052b002a9a1bbf8} + + +Procedure which initialise the exploration. + +It save the current fitness as the initial value for the fitness. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness}]The current fitness. \end{description} +\end{Desc} + + +Implements {\bf moMoveSelect$<$ M $>$} \doxyref{}{p.}{classmo_move_select_58038bd859632c1bd022d23d9792bdca}. + +Definition at line 60 of file moFirstImprSelect.h. + +References moFirstImprSelect$<$ M $>$::initial\_\-fitness, and moFirstImprSelect$<$ M $>$::valid.\index{moFirstImprSelect@{moFirstImprSelect}!update@{update}} +\index{update@{update}!moFirstImprSelect@{moFirstImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moFirstImprSelect}$<$ M $>$::update (const M \& {\em \_\-move}, const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_first_impr_select_f68b7ee7b35bf7347c16006f0587d313} + + +{\bf Function} that indicates if the current move has not improved the fitness. + +If the given fitness enables an improvment, the move (\doxyref{moMove}{p.}{classmo_move}) should be applied to the current solution. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a move. \item[{\em \_\-fitness}]a fitness linked to the move. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true if the move does not improve the fitness. \end{Desc} + + +Implements {\bf moMoveSelect$<$ M $>$} \doxyref{}{p.}{classmo_move_select_5b4d3b2f030cca80c563c3db0c4af404}. + +Definition at line 75 of file moFirstImprSelect.h. + +References moFirstImprSelect$<$ M $>$::best\_\-fitness, moFirstImprSelect$<$ M $>$::best\_\-move, moFirstImprSelect$<$ M $>$::initial\_\-fitness, and moFirstImprSelect$<$ M $>$::valid.\index{moFirstImprSelect@{moFirstImprSelect}!operator()@{operator()}} +\index{operator()@{operator()}!moFirstImprSelect@{moFirstImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moFirstImprSelect}$<$ M $>$::operator() (M \& {\em \_\-move}, {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_first_impr_select_976569efd882886cb13184daeba79766} + + +Procedure which saved the best move and fitness. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]the current move (result of the procedure). \item[{\em \_\-fitness}]the current fitness (result of the procedure). \end{description} +\end{Desc} + + +Implements {\bf eoBF$<$ M \&, M::EOType::Fitness \&, void $>$}. + +Definition at line 96 of file moFirstImprSelect.h. + +References moFirstImprSelect$<$ M $>$::best\_\-fitness, moFirstImprSelect$<$ M $>$::best\_\-move, and moFirstImprSelect$<$ M $>$::valid. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moFirstImprSelect.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_fit_comparator.eps b/trunk/paradiseo-mo/doc/latex/classmo_fit_comparator.eps new file mode 100644 index 000000000..902d882c9 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_fit_comparator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 484.848 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.03125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moFitComparator< EOT >) cw +(moComparator< EOT >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moFitComparator< EOT >) 0 0 box + (moComparator< EOT >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_fit_comparator.tex b/trunk/paradiseo-mo/doc/latex/classmo_fit_comparator.tex new file mode 100644 index 000000000..68b8c3725 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_fit_comparator.tex @@ -0,0 +1,51 @@ +\section{moFitComparator$<$ EOT $>$ Class Template Reference} +\label{classmo_fit_comparator}\index{moFitComparator@{moFitComparator}} +Comparison according to the fitness. + + +{\tt \#include $<$moFitComparator.h$>$} + +Inheritance diagram for moFitComparator$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_fit_comparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +bool {\bf operator()} (const EOT \&\_\-solution1, const EOT \&\_\-solution2) +\begin{CompactList}\small\item\em {\bf Function} which makes the comparison and gives the result. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moFitComparator$<$ EOT $>$} + +Comparison according to the fitness. + +An EOT is better than an other if its fitness is better. + +Definition at line 46 of file moFitComparator.h. + +\subsection{Member Function Documentation} +\index{moFitComparator@{moFitComparator}!operator()@{operator()}} +\index{operator()@{operator()}!moFitComparator@{moFitComparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moFitComparator}$<$ EOT $>$::operator() (const EOT \& {\em \_\-solution1}, const EOT \& {\em \_\-solution2})\hspace{0.3cm}{\tt [inline]}}\label{classmo_fit_comparator_c920d5a49deb16710daf1e5fcde6b16c} + + +{\bf Function} which makes the comparison and gives the result. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution1}]The first solution. \item[{\em \_\-solution2}]The second solution. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true if the fitness of the first solution is better than the second solution, false else. \end{Desc} + + +Definition at line 56 of file moFitComparator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moFitComparator.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_fit_sol_continue.eps b/trunk/paradiseo-mo/doc/latex/classmo_fit_sol_continue.eps new file mode 100644 index 000000000..020df214d --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_fit_sol_continue.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 441.989 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.13125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moFitSolContinue< EOT >) cw +(moSolContinue< EOT >) cw +(eoUF< const EOT &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moFitSolContinue< EOT >) 0 0 box + (moSolContinue< EOT >) 0 1 box + (eoUF< const EOT &, bool >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_fit_sol_continue.tex b/trunk/paradiseo-mo/doc/latex/classmo_fit_sol_continue.tex new file mode 100644 index 000000000..09420f13f --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_fit_sol_continue.tex @@ -0,0 +1,101 @@ +\section{moFitSolContinue$<$ EOT $>$ Class Template Reference} +\label{classmo_fit_sol_continue}\index{moFitSolContinue@{moFitSolContinue}} +One possible stop criterion for a solution-based heuristic. + + +{\tt \#include $<$moFitSolContinue.h$>$} + +Inheritance diagram for moFitSolContinue$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_fit_sol_continue} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf Fitness}\label{classmo_fit_sol_continue_369ed94a788d8bdc08d5554f7669376f} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moFitSolContinue} ({\bf Fitness} \_\-fitness) +\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item +bool {\bf operator()} (const EOT \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} that activates the stopping criterion. \item\end{CompactList}\item +void {\bf init} () +\begin{CompactList}\small\item\em Procedure which allows to initialise all the stuff needed. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf Fitness} {\bf fitness}\label{classmo_fit_sol_continue_87d0ba8f2f76f61c89317eed5f094dfc} + +\begin{CompactList}\small\item\em Fitness target. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moFitSolContinue$<$ EOT $>$} + +One possible stop criterion for a solution-based heuristic. + +The stop criterion corresponds to a fitness threshold gained. + +Definition at line 46 of file moFitSolContinue.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moFitSolContinue@{moFitSolContinue}!moFitSolContinue@{moFitSolContinue}} +\index{moFitSolContinue@{moFitSolContinue}!moFitSolContinue@{moFitSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moFitSolContinue}$<$ EOT $>$::{\bf moFitSolContinue} ({\bf Fitness} {\em \_\-fitness})\hspace{0.3cm}{\tt [inline]}}\label{classmo_fit_sol_continue_5f0dc5e529e8cd307ff4a1ae982d5b84} + + +Basic constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness}]The fitness to reach. \end{description} +\end{Desc} + + +Definition at line 57 of file moFitSolContinue.h. + +\subsection{Member Function Documentation} +\index{moFitSolContinue@{moFitSolContinue}!operator()@{operator()}} +\index{operator()@{operator()}!moFitSolContinue@{moFitSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moFitSolContinue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_fit_sol_continue_ce4e02895c13bfd131fc759adf83798f} + + +{\bf Function} that activates the stopping criterion. + +Indicates if the fitness threshold has not yet been reached. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]the current solution. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true or false according to the value of the fitness. \end{Desc} + + +Implements {\bf eoUF$<$ const EOT \&, bool $>$}. + +Definition at line 67 of file moFitSolContinue.h. + +References moFitSolContinue$<$ EOT $>$::fitness.\index{moFitSolContinue@{moFitSolContinue}!init@{init}} +\index{init@{init}!moFitSolContinue@{moFitSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moFitSolContinue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_fit_sol_continue_670bd895b4edfcd3aebb40d2295d7f7c} + + +Procedure which allows to initialise all the stuff needed. + +It can be also used to reinitialize all the needed things. + +Implements {\bf moSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}. + +Definition at line 81 of file moFitSolContinue.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moFitSolContinue.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_gen_sol_continue.eps b/trunk/paradiseo-mo/doc/latex/classmo_gen_sol_continue.eps new file mode 100644 index 000000000..c73c60ba3 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_gen_sol_continue.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 441.989 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.13125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moGenSolContinue< EOT >) cw +(moSolContinue< EOT >) cw +(eoUF< const EOT &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moGenSolContinue< EOT >) 0 0 box + (moSolContinue< EOT >) 0 1 box + (eoUF< const EOT &, bool >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_gen_sol_continue.tex b/trunk/paradiseo-mo/doc/latex/classmo_gen_sol_continue.tex new file mode 100644 index 000000000..61d36459e --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_gen_sol_continue.tex @@ -0,0 +1,100 @@ +\section{moGenSolContinue$<$ EOT $>$ Class Template Reference} +\label{classmo_gen_sol_continue}\index{moGenSolContinue@{moGenSolContinue}} +One possible stop criterion for a solution-based heuristic. + + +{\tt \#include $<$moGenSolContinue.h$>$} + +Inheritance diagram for moGenSolContinue$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_gen_sol_continue} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moGenSolContinue} (unsigned int \_\-generationMaximumNumber) +\begin{CompactList}\small\item\em Simple constructor. \item\end{CompactList}\item +bool {\bf operator()} (const EOT \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} that activates the stop criterion. \item\end{CompactList}\item +void {\bf init} () +\begin{CompactList}\small\item\em Procedure which allows to initialise the generation counter. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int {\bf generationMaximumNumber}\label{classmo_gen_sol_continue_c838d923436b71c584891c1cbe3f47ba} + +\begin{CompactList}\small\item\em Iteration maximum number. \item\end{CompactList}\item +unsigned int {\bf generationNumber}\label{classmo_gen_sol_continue_af0b3e5ca3ceee0d843670955c8f1e58} + +\begin{CompactList}\small\item\em Iteration current number. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moGenSolContinue$<$ EOT $>$} + +One possible stop criterion for a solution-based heuristic. + +The stop criterion corresponds to a maximum number of iteration. + +Definition at line 46 of file moGenSolContinue.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moGenSolContinue@{moGenSolContinue}!moGenSolContinue@{moGenSolContinue}} +\index{moGenSolContinue@{moGenSolContinue}!moGenSolContinue@{moGenSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moGenSolContinue}$<$ EOT $>$::{\bf moGenSolContinue} (unsigned int {\em \_\-generationMaximumNumber})\hspace{0.3cm}{\tt [inline]}}\label{classmo_gen_sol_continue_8e2456421b641d38e3f800f3bbe45159} + + +Simple constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-generationMaximumNumber}]The maximum number of generations. \end{description} +\end{Desc} + + +Definition at line 54 of file moGenSolContinue.h. + +\subsection{Member Function Documentation} +\index{moGenSolContinue@{moGenSolContinue}!operator()@{operator()}} +\index{operator()@{operator()}!moGenSolContinue@{moGenSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moGenSolContinue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_gen_sol_continue_2fd5f2f10b6d6208412582578fad48ea} + + +{\bf Function} that activates the stop criterion. + +Increments the counter and returns TRUE if the current number of iteration is lower than the given maximum number of iterations. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]The current solution. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true or false according to the current generation number. \end{Desc} + + +Implements {\bf eoUF$<$ const EOT \&, bool $>$}. + +Definition at line 66 of file moGenSolContinue.h. + +References moGenSolContinue$<$ EOT $>$::generationMaximumNumber, and moGenSolContinue$<$ EOT $>$::generationNumber.\index{moGenSolContinue@{moGenSolContinue}!init@{init}} +\index{init@{init}!moGenSolContinue@{moGenSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moGenSolContinue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_gen_sol_continue_6c5db8182157584b56507cc9075602d4} + + +Procedure which allows to initialise the generation counter. + +It can also be used to reset the iteration counter. + +Implements {\bf moSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}. + +Definition at line 78 of file moGenSolContinue.h. + +References moGenSolContinue$<$ EOT $>$::generationNumber. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moGenSolContinue.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_h_c.tex b/trunk/paradiseo-mo/doc/latex/classmo_h_c.tex new file mode 100644 index 000000000..a5ca89321 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_h_c.tex @@ -0,0 +1,110 @@ +\section{moHC$<$ M $>$ Class Template Reference} +\label{classmo_h_c}\index{moHC@{moHC}} +Hill Climbing (HC). + + +{\tt \#include $<$moHC.h$>$} + +Inherits {\bf moAlgo$<$ M::EOType $>$}. + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moHC} ({\bf moMoveInit}$<$ M $>$ \&\_\-move\_\-initializer, {\bf moNextMove}$<$ M $>$ \&\_\-next\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moMoveSelect}$<$ M $>$ \&\_\-move\_\-selection, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item +{\bf moHC} ({\bf moMoveExpl}$<$ M $>$ \&\_\-move\_\-explorer, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em Light constructor. \item\end{CompactList}\item +bool {\bf operator()} ({\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} which launches the HC. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_h_c_d219296ede03c679646bce2fe8ff96cb} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item +typedef EOT::Fitness {\bf Fitness}\label{classmo_h_c_56487c97a7cf0c423cc879d1bbd45027} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moMoveExpl}$<$ M $>$ \& {\bf move\_\-explorer}\label{classmo_h_c_ec4e702a6ec240f40ff9d262c36d080b} + +\begin{CompactList}\small\item\em Complete exploration of the neighborhood. \item\end{CompactList}\item +{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-evaluation}\label{classmo_h_c_1175c588c19d3658cfc690d5f3f8d825} + +\begin{CompactList}\small\item\em A full evaluation function. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moHC$<$ M $>$} + +Hill Climbing (HC). + +Class which describes the algorithm for a hill climbing. + +Definition at line 49 of file moHC.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moHC@{moHC}!moHC@{moHC}} +\index{moHC@{moHC}!moHC@{moHC}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moHC}$<$ M $>$::{\bf moHC} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-move\_\-initializer}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-next\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moMoveSelect}$<$ M $>$ \& {\em \_\-move\_\-selection}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_44a35bd30df6e79cff95a31b84889bd7} + + +Full constructor. + +All the boxes are given in order the HC to use a \doxyref{moHCMoveLoopExpl}{p.}{classmo_h_c_move_loop_expl}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\_\-initializer}]a move initialiser. \item[{\em \_\-next\_\-move\_\-generator}]a neighborhood explorer. \item[{\em \_\-incremental\_\-evaluation}]a (generally) efficient evaluation function. \item[{\em \_\-move\_\-selection}]a move selector. \item[{\em \_\-full\_\-evaluation}]a full evaluation function. \end{description} +\end{Desc} + + +Definition at line 69 of file moHC.h.\index{moHC@{moHC}!moHC@{moHC}} +\index{moHC@{moHC}!moHC@{moHC}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moHC}$<$ M $>$::{\bf moHC} ({\bf moMoveExpl}$<$ M $>$ \& {\em \_\-move\_\-explorer}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_5002f969ef0a4d959610158fc62f137a} + + +Light constructor. + +This constructor allow to use another \doxyref{moMoveExpl}{p.}{classmo_move_expl} (generally not a \doxyref{moHCMoveLoopExpl}{p.}{classmo_h_c_move_loop_expl}). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\_\-explorer}]a complete explorer. \item[{\em \_\-full\_\-evaluation}]a full evaluation function. \end{description} +\end{Desc} + + +Definition at line 82 of file moHC.h. + +\subsection{Member Function Documentation} +\index{moHC@{moHC}!operator()@{operator()}} +\index{operator()@{operator()}!moHC@{moHC}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moHC}$<$ M $>$::operator() ({\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_h_c_b739f9586b647e32bf31605066f984ad} + + +{\bf Function} which launches the HC. + +The HC has to improve a current solution. As the \doxyref{moSA}{p.}{classmo_s_a} and the mo TS, it can be used for HYBRIDATION in an evolutionnary algorithm. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]a current solution to improve. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true. \end{Desc} + + +Implements {\bf eoUF$<$ M::EOType \&, bool $>$}. + +Definition at line 94 of file moHC.h. + +References moHC$<$ M $>$::full\_\-evaluation, and moHC$<$ M $>$::move\_\-explorer. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moHC.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_h_c_move_loop_expl.eps b/trunk/paradiseo-mo/doc/latex/classmo_h_c_move_loop_expl.eps new file mode 100644 index 000000000..1240e010d --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_h_c_move_loop_expl.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 327.869 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.525 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moHCMoveLoopExpl< M >) cw +(moMoveLoopExpl< M >) cw +(moMoveExpl< M >) cw +(eoBF< const M::EOType &, M::EOType &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moHCMoveLoopExpl< M >) 0 0 box + (moMoveLoopExpl< M >) 0 1 box + (moMoveExpl< M >) 0 2 box + (eoBF< const M::EOType &, M::EOType &, void >) 0 3 box + (eoFunctorBase) 0 4 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 0 4 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_h_c_move_loop_expl.tex b/trunk/paradiseo-mo/doc/latex/classmo_h_c_move_loop_expl.tex new file mode 100644 index 000000000..8a315110c --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_h_c_move_loop_expl.tex @@ -0,0 +1,98 @@ +\section{moHCMoveLoopExpl$<$ M $>$ Class Template Reference} +\label{classmo_h_c_move_loop_expl}\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}} +Iterative explorer used by a \doxyref{moHC}{p.}{classmo_h_c}. + + +{\tt \#include $<$moHCMoveLoopExpl.h$>$} + +Inheritance diagram for moHCMoveLoopExpl$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmo_h_c_move_loop_expl} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moHCMoveLoopExpl} ({\bf moMoveInit}$<$ M $>$ \&\_\-move\_\-initializer, {\bf moNextMove}$<$ M $>$ \&\_\-next\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moMoveSelect}$<$ M $>$ \&\_\-move\_\-selection) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +void {\bf operator()} (const {\bf EOT} \&\_\-old\_\-solution, {\bf EOT} \&\_\-new\_\-solution) +\begin{CompactList}\small\item\em Procedure which launches the explorer. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_h_c_move_loop_expl_077befd4106c201eafd3ea22bcea2fe9} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item +typedef M::EOType::Fitness {\bf Fitness}\label{classmo_h_c_move_loop_expl_f24871224316d5549b9013a2d27ab465} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moMoveInit}$<$ M $>$ \& {\bf move\_\-initializer}\label{classmo_h_c_move_loop_expl_17506f3f1172714f9adbfa4e8a15953a} + +\begin{CompactList}\small\item\em Move initialiser. \item\end{CompactList}\item +{\bf moNextMove}$<$ M $>$ \& {\bf next\_\-move\_\-generator}\label{classmo_h_c_move_loop_expl_fdc44d40d8859bae1d7b92e77f36aa30} + +\begin{CompactList}\small\item\em Neighborhood explorer. \item\end{CompactList}\item +{\bf moMoveIncrEval}$<$ M $>$ \& {\bf incremental\_\-evaluation}\label{classmo_h_c_move_loop_expl_a044b28f972d007a22736b646d86f265} + +\begin{CompactList}\small\item\em (generally) Efficient evaluation. \item\end{CompactList}\item +{\bf moMoveSelect}$<$ M $>$ \& {\bf move\_\-selection}\label{classmo_h_c_move_loop_expl_5f0532e0ee8ef8ecaeeb4e56342be443} + +\begin{CompactList}\small\item\em Move selector. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moHCMoveLoopExpl$<$ M $>$} + +Iterative explorer used by a \doxyref{moHC}{p.}{classmo_h_c}. + +Definition at line 47 of file moHCMoveLoopExpl.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}!moHCMoveLoopExpl@{moHCMoveLoopExpl}} +\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}!moHCMoveLoopExpl@{moHCMoveLoopExpl}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moHCMoveLoopExpl}$<$ M $>$::{\bf moHCMoveLoopExpl} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-move\_\-initializer}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-next\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moMoveSelect}$<$ M $>$ \& {\em \_\-move\_\-selection})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_move_loop_expl_fac2eb6695ba1b797ffab4f290d760b8} + + +Constructor. + +All the boxes have to be specified. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\_\-initializer}]The move initialiser. \item[{\em \_\-next\_\-move\_\-generator}]The neighbourhood explorer. \item[{\em \_\-incremental\_\-evaluation}](generally) Efficient evaluation function. \item[{\em \_\-move\_\-selection}]The move selector. \end{description} +\end{Desc} + + +Definition at line 66 of file moHCMoveLoopExpl.h. + +\subsection{Member Function Documentation} +\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}!operator()@{operator()}} +\index{operator()@{operator()}!moHCMoveLoopExpl@{moHCMoveLoopExpl}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moHCMoveLoopExpl}$<$ M $>$::operator() (const {\bf EOT} \& {\em \_\-old\_\-solution}, {\bf EOT} \& {\em \_\-new\_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_h_c_move_loop_expl_fe9362c10d74a5e6ed09b56345396192} + + +Procedure which launches the explorer. + +The exploration starts from an old solution and provides a new solution. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-old\_\-solution}]The current solution. \item[{\em \_\-new\_\-solution}]The new solution (result of the procedure). \end{description} +\end{Desc} + + +Implements {\bf eoBF$<$ const M::EOType \&, M::EOType \&, void $>$}. + +Definition at line 79 of file moHCMoveLoopExpl.h. + +References moHCMoveLoopExpl$<$ M $>$::incremental\_\-evaluation, moHCMoveLoopExpl$<$ M $>$::move\_\-initializer, moHCMoveLoopExpl$<$ M $>$::move\_\-selection, and moHCMoveLoopExpl$<$ M $>$::next\_\-move\_\-generator. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moHCMoveLoopExpl.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_i_l_s.tex b/trunk/paradiseo-mo/doc/latex/classmo_i_l_s.tex new file mode 100644 index 000000000..9494ef43a --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_i_l_s.tex @@ -0,0 +1,149 @@ +\section{moILS$<$ M $>$ Class Template Reference} +\label{classmo_i_l_s}\index{moILS@{moILS}} +Iterated Local Search (ILS). + + +{\tt \#include $<$moILS.h$>$} + +Inherits {\bf moAlgo$<$ M::EOType $>$}. + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moILS} ({\bf moAlgo}$<$ {\bf EOT} $>$ \&\_\-algorithm, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-acceptance\_\-criterion, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em Generic constructor. \item\end{CompactList}\item +{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \&\_\-move\_\-initializer, {\bf moNextMove}$<$ M $>$ \&\_\-next\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moMoveSelect}$<$ M $>$ \&\_\-move\_\-selection, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-acceptance\_\-criterion, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em Constructor for using a \doxyref{moHC}{p.}{classmo_h_c} for the \doxyref{moAlgo}{p.}{classmo_algo}. \item\end{CompactList}\item +{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \&\_\-move\_\-initializer, {\bf moNextMove}$<$ M $>$ \&\_\-next\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moTabuList}$<$ M $>$ \&\_\-tabu\_\-list, {\bf moAspirCrit}$<$ M $>$ \&\_\-aspiration\_\-criterion, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-moTS\_\-continue, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-acceptance\_\-criterion, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em Constructor for using a \doxyref{moTS}{p.}{classmo_t_s} for the \doxyref{moAlgo}{p.}{classmo_algo}. \item\end{CompactList}\item +{\bf moILS} ({\bf moRandMove}$<$ M $>$ \&\_\-random\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-moSA\_\-continue, double \_\-initial\_\-temperature, {\bf moCoolingSchedule} \&\_\-cooling\_\-schedule, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-acceptance\_\-criterion, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em Constructor for using a \doxyref{moSA}{p.}{classmo_s_a} for the \doxyref{moAlgo}{p.}{classmo_algo}. \item\end{CompactList}\item +bool {\bf operator()} ({\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} which launches the ILS. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_i_l_s_c81bafc611e4d4fd44347cf7162198c7} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item +typedef EOT::Fitness {\bf Fitness}\label{classmo_i_l_s_8c464a9eae064a78eff75d4c722b619c} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moAlgo}$<$ {\bf EOT} $>$ \& {\bf algorithm}\label{classmo_i_l_s_5651a4d94b59d523d341d5d6e24ca311} + +\begin{CompactList}\small\item\em The solution based heuristic. \item\end{CompactList}\item +{\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\bf continu}\label{classmo_i_l_s_30edab439401d7ec04fd8d37b4513d94} + +\begin{CompactList}\small\item\em The stopping criterion. \item\end{CompactList}\item +{\bf moComparator}$<$ {\bf EOT} $>$ \& {\bf acceptance\_\-criterion}\label{classmo_i_l_s_295f6d0342c67bd3dc4cb82e2adc26be} + +\begin{CompactList}\small\item\em The acceptance criterion. \item\end{CompactList}\item +{\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\bf perturbation}\label{classmo_i_l_s_f667a1bda06b6d221292df9aba3db8a2} + +\begin{CompactList}\small\item\em The perturbation generator. \item\end{CompactList}\item +{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-evaluation}\label{classmo_i_l_s_8e8c383ac6ec34aaf071fa18bb54be67} + +\begin{CompactList}\small\item\em The full evaluation function. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moILS$<$ M $>$} + +Iterated Local Search (ILS). + +Class which describes the algorithm for a iterated local search. + +Definition at line 50 of file moILS.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moILS@{moILS}!moILS@{moILS}} +\index{moILS@{moILS}!moILS@{moILS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moILS}$<$ M $>$::{\bf moILS} ({\bf moAlgo}$<$ {\bf EOT} $>$ \& {\em \_\-algorithm}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-acceptance\_\-criterion}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_c83f81ba0836ae262305efa15eeb3da2} + + +Generic constructor. + +Generic constructor using a \doxyref{moAlgo}{p.}{classmo_algo} + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-algorithm}]The solution based heuristic to use. \item[{\em \_\-continue}]The stopping criterion. \item[{\em \_\-acceptance\_\-criterion}]The acceptance criterion. \item[{\em \_\-perturbation}]The pertubation generator. \item[{\em \_\-full\_\-evaluation}]The evaluation function. \end{description} +\end{Desc} + + +Definition at line 70 of file moILS.h.\index{moILS@{moILS}!moILS@{moILS}} +\index{moILS@{moILS}!moILS@{moILS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moILS}$<$ M $>$::{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-move\_\-initializer}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-next\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moMoveSelect}$<$ M $>$ \& {\em \_\-move\_\-selection}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-acceptance\_\-criterion}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_6d684a1d13ad224a911c8b0277812297} + + +Constructor for using a \doxyref{moHC}{p.}{classmo_h_c} for the \doxyref{moAlgo}{p.}{classmo_algo}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\_\-initializer}]The move initialisation (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-next\_\-move\_\-generator}]The move generator (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-incremental\_\-evaluation}]The partial evaluation function (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-move\_\-selection}]The move selection strategy (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-continue}]The stopping criterion. \item[{\em \_\-acceptance\_\-criterion}]The acceptance criterion. \item[{\em \_\-perturbation}]The pertubation generator. \item[{\em \_\-full\_\-evaluation}]The evaluation function. \end{description} +\end{Desc} + + +Definition at line 87 of file moILS.h.\index{moILS@{moILS}!moILS@{moILS}} +\index{moILS@{moILS}!moILS@{moILS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moILS}$<$ M $>$::{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-move\_\-initializer}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-next\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moTabuList}$<$ M $>$ \& {\em \_\-tabu\_\-list}, {\bf moAspirCrit}$<$ M $>$ \& {\em \_\-aspiration\_\-criterion}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-moTS\_\-continue}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-acceptance\_\-criterion}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_740ac81a0d06eb471592ba0861d3a6d7} + + +Constructor for using a \doxyref{moTS}{p.}{classmo_t_s} for the \doxyref{moAlgo}{p.}{classmo_algo}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\_\-initializer}]The move initialisation (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-next\_\-move\_\-generator}]The move generator (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-incremental\_\-evaluation}]The partial evaluation function (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-tabu\_\-list}]The tabu list (for the \doxyref{moTS}{p.}{classmo_t_s} !!!!). \item[{\em \_\-aspiration\_\-criterion}]The aspiration criterion (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-moTS\_\-continue}]The stopping criterion (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-continue}]The stopping criterion. \item[{\em \_\-acceptance\_\-criterion}]The acceptance criterion. \item[{\em \_\-perturbation}]The pertubation generator. \item[{\em \_\-full\_\-evaluation}]The evaluation function. \end{description} +\end{Desc} + + +Definition at line 108 of file moILS.h.\index{moILS@{moILS}!moILS@{moILS}} +\index{moILS@{moILS}!moILS@{moILS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moILS}$<$ M $>$::{\bf moILS} ({\bf moRandMove}$<$ M $>$ \& {\em \_\-random\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-moSA\_\-continue}, double {\em \_\-initial\_\-temperature}, {\bf moCoolingSchedule} \& {\em \_\-cooling\_\-schedule}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-acceptance\_\-criterion}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_36bab16abf36957dac36c467b86385bc} + + +Constructor for using a \doxyref{moSA}{p.}{classmo_s_a} for the \doxyref{moAlgo}{p.}{classmo_algo}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-random\_\-move\_\-generator}]The random move generator (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-incremental\_\-evaluation}]The partial evaluation function (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-moSA\_\-continue}]The stopping criterion (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-initial\_\-temperature}]The initial temperature (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-cooling\_\-schedule}]The cooling schedule (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-continue}]The stopping criterion. \item[{\em \_\-acceptance\_\-criterion}]The acceptance criterion. \item[{\em \_\-perturbation}]The pertubation generator. \item[{\em \_\-full\_\-evaluation}]The evaluation function. \end{description} +\end{Desc} + + +Definition at line 130 of file moILS.h. + +\subsection{Member Function Documentation} +\index{moILS@{moILS}!operator()@{operator()}} +\index{operator()@{operator()}!moILS@{moILS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moILS}$<$ M $>$::operator() ({\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_i_l_s_3f6b950e5a6c363f04b8d4c259502488} + + +{\bf Function} which launches the ILS. + +The ILS has to improve a current solution. As the \doxyref{moSA}{p.}{classmo_s_a}, the \doxyref{moTS}{p.}{classmo_t_s} and the \doxyref{moHC}{p.}{classmo_h_c}, it can be used for HYBRIDATION in an evolutionnary algorithm. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]a current solution to improve. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true. \end{Desc} + + +Implements {\bf eoUF$<$ M::EOType \&, bool $>$}. + +Definition at line 146 of file moILS.h. + +References moILS$<$ M $>$::acceptance\_\-criterion, moILS$<$ M $>$::algorithm, moILS$<$ M $>$::continu, moILS$<$ M $>$::full\_\-evaluation, and moILS$<$ M $>$::perturbation. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moILS.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_impr_best_fit_aspir_crit.eps b/trunk/paradiseo-mo/doc/latex/classmo_impr_best_fit_aspir_crit.eps new file mode 100644 index 000000000..a00a3c3cb --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_impr_best_fit_aspir_crit.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 437.158 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.14375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moImprBestFitAspirCrit< M >) cw +(moAspirCrit< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moImprBestFitAspirCrit< M >) 0 0 box + (moAspirCrit< M >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_impr_best_fit_aspir_crit.tex b/trunk/paradiseo-mo/doc/latex/classmo_impr_best_fit_aspir_crit.tex new file mode 100644 index 000000000..370288469 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_impr_best_fit_aspir_crit.tex @@ -0,0 +1,76 @@ +\section{moImprBestFitAspirCrit$<$ M $>$ Class Template Reference} +\label{classmo_impr_best_fit_aspir_crit}\index{moImprBestFitAspirCrit@{moImprBestFitAspirCrit}} +One of the possible \doxyref{moAspirCrit}{p.}{classmo_aspir_crit}. + + +{\tt \#include $<$moImprBestFitAspirCrit.h$>$} + +Inheritance diagram for moImprBestFitAspirCrit$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_impr_best_fit_aspir_crit} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef M::EOType::Fitness {\bf Fitness}\label{classmo_impr_best_fit_aspir_crit_0bc1a8c9af99781e662570c04750cca8} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moImprBestFitAspirCrit} ()\label{classmo_impr_best_fit_aspir_crit_e2c697a5cf3a7696e38bb52b6694a340} + +\begin{CompactList}\small\item\em Contructor. \item\end{CompactList}\item +void {\bf init} ()\label{classmo_impr_best_fit_aspir_crit_ffa451a14ff4ea86fb8bd9fdbc348630} + +\begin{CompactList}\small\item\em Initialisation procedure. \item\end{CompactList}\item +bool {\bf operator()} (const M \&\_\-move, const {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em {\bf Function} that indicates if the current fitness is better that the already saved fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf Fitness} {\bf best\_\-fitness}\label{classmo_impr_best_fit_aspir_crit_03230e8672389de65aacd2bf7b6c1184} + +\begin{CompactList}\small\item\em Best fitness found until now. \item\end{CompactList}\item +bool {\bf first\_\-time}\label{classmo_impr_best_fit_aspir_crit_2d5226c7dd661b33011402dbbbe78265} + +\begin{CompactList}\small\item\em Indicates that a fitness has been already saved or not. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moImprBestFitAspirCrit$<$ M $>$} + +One of the possible \doxyref{moAspirCrit}{p.}{classmo_aspir_crit}. + +This criterion is satisfied when a given fitness is the best ever considered. + +Definition at line 47 of file moImprBestFitAspirCrit.h. + +\subsection{Member Function Documentation} +\index{moImprBestFitAspirCrit@{moImprBestFitAspirCrit}!operator()@{operator()}} +\index{operator()@{operator()}!moImprBestFitAspirCrit@{moImprBestFitAspirCrit}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moImprBestFitAspirCrit}$<$ M $>$::operator() (const M \& {\em \_\-move}, const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline]}}\label{classmo_impr_best_fit_aspir_crit_b6e5e96d57a6b846033fc22a9951b067} + + +{\bf Function} that indicates if the current fitness is better that the already saved fitness. + +The first time, the function only saved the current move and fitness. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]A move. \item[{\em \_\-fitness}]A fitness linked to the move. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true The first time and if \_\-fitntess $>$ best\_\-fitness, else false. \end{Desc} + + +Definition at line 75 of file moImprBestFitAspirCrit.h. + +References moImprBestFitAspirCrit$<$ M $>$::best\_\-fitness, and moImprBestFitAspirCrit$<$ M $>$::first\_\-time. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moImprBestFitAspirCrit.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_it_rand_next_move.eps b/trunk/paradiseo-mo/doc/latex/classmo_it_rand_next_move.eps new file mode 100644 index 000000000..5f2df0014 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_it_rand_next_move.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 490.798 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.01875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moItRandNextMove< M >) cw +(moNextMove< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moItRandNextMove< M >) 0 0 box + (moNextMove< M >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_it_rand_next_move.tex b/trunk/paradiseo-mo/doc/latex/classmo_it_rand_next_move.tex new file mode 100644 index 000000000..17c436d62 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_it_rand_next_move.tex @@ -0,0 +1,94 @@ +\section{moItRandNextMove$<$ M $>$ Class Template Reference} +\label{classmo_it_rand_next_move}\index{moItRandNextMove@{moItRandNextMove}} +One of the possible \doxyref{moNextMove}{p.}{classmo_next_move}. + + +{\tt \#include $<$moItRandNextMove.h$>$} + +Inheritance diagram for moItRandNextMove$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_it_rand_next_move} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moItRandNextMove} ({\bf moRandMove}$<$ M $>$ \&\_\-random\_\-move\_\-generator, unsigned int \_\-iteration\_\-maximum\_\-number) +\begin{CompactList}\small\item\em The constructor. \item\end{CompactList}\item +bool {\bf operator()} (M \&\_\-move, const {\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em Generation of a new move. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_it_rand_next_move_ee666007fc494bf4a5f0cd065e5671cf} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moRandMove}$<$ M $>$ \& {\bf random\_\-move\_\-generator}\label{classmo_it_rand_next_move_92601819402ad00d01933113d0bcf40d} + +\begin{CompactList}\small\item\em A move generator (generally randomly). \item\end{CompactList}\item +unsigned int {\bf iteration\_\-maximum\_\-number}\label{classmo_it_rand_next_move_1b06067aee7a78f8a255563391514d2d} + +\begin{CompactList}\small\item\em Iteration maximum number. \item\end{CompactList}\item +unsigned int {\bf iteration\_\-number}\label{classmo_it_rand_next_move_2f8d52c88d6c002be518091cc52beca1} + +\begin{CompactList}\small\item\em Iteration current number. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moItRandNextMove$<$ M $>$} + +One of the possible \doxyref{moNextMove}{p.}{classmo_next_move}. + +This class is a move (\doxyref{moMove}{p.}{classmo_move}) generator with a bound for the maximum number of iterations. + +Definition at line 47 of file moItRandNextMove.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moItRandNextMove@{moItRandNextMove}!moItRandNextMove@{moItRandNextMove}} +\index{moItRandNextMove@{moItRandNextMove}!moItRandNextMove@{moItRandNextMove}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moItRandNextMove}$<$ M $>$::{\bf moItRandNextMove} ({\bf moRandMove}$<$ M $>$ \& {\em \_\-random\_\-move\_\-generator}, unsigned int {\em \_\-iteration\_\-maximum\_\-number})\hspace{0.3cm}{\tt [inline]}}\label{classmo_it_rand_next_move_c27b1fb0d64d4862dd886f7a59419b8c} + + +The constructor. + +{\bf Parameters} only for initialising the attributes. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-random\_\-move\_\-generator}]The random move generator. \item[{\em \_\-iteration\_\-maximum\_\-number}]The iteration maximum number. \end{description} +\end{Desc} + + +Definition at line 61 of file moItRandNextMove.h. + +\subsection{Member Function Documentation} +\index{moItRandNextMove@{moItRandNextMove}!operator()@{operator()}} +\index{operator()@{operator()}!moItRandNextMove@{moItRandNextMove}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moItRandNextMove}$<$ M $>$::operator() (M \& {\em \_\-move}, const {\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline]}}\label{classmo_it_rand_next_move_21454db723a12fe6c8eb5caeccd32df6} + + +Generation of a new move. + +If the maximum number is not already reached, the current move is forgotten and remplaced by another one. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]the current move. \item[{\em \_\-solution}]the current solution. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]false if the maximum number of iteration is reached, else true. \end{Desc} + + +Definition at line 73 of file moItRandNextMove.h. + +References moItRandNextMove$<$ M $>$::iteration\_\-maximum\_\-number, moItRandNextMove$<$ M $>$::iteration\_\-number, and moItRandNextMove$<$ M $>$::random\_\-move\_\-generator. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moItRandNextMove.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_l_s_check_point.eps b/trunk/paradiseo-mo/doc/latex/classmo_l_s_check_point.eps new file mode 100644 index 000000000..dfd4f441a --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_l_s_check_point.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 400 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.25 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moLSCheckPoint< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moLSCheckPoint< M >) 0 0 box + (eoBF< A1, A2, R >) 0 1 box + (eoFunctorBase) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_l_s_check_point.tex b/trunk/paradiseo-mo/doc/latex/classmo_l_s_check_point.tex new file mode 100644 index 000000000..1362d6392 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_l_s_check_point.tex @@ -0,0 +1,77 @@ +\section{moLSCheckPoint$<$ M $>$ Class Template Reference} +\label{classmo_l_s_check_point}\index{moLSCheckPoint@{moLSCheckPoint}} +Class which allows a checkpointing system. + + +{\tt \#include $<$moLSCheckPoint.h$>$} + +Inheritance diagram for moLSCheckPoint$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmo_l_s_check_point} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void {\bf operator()} (const M \&\_\-move, const typename M::EOType \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} which launches the checkpointing. \item\end{CompactList}\item +void {\bf add} ({\bf eoBF}$<$ const M \&, const typename M::EOType \&, void $>$ \&\_\-function) +\begin{CompactList}\small\item\em Procedure which add a new function to the function vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +std::vector$<$ {\bf eoBF}$<$ const M \&, const typename M::EOType \&, void $>$ $\ast$ $>$ {\bf functions}\label{classmo_l_s_check_point_56a7427a6aebac7955c22bab302c050a} + +\begin{CompactList}\small\item\em Vector of functions. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moLSCheckPoint$<$ M $>$} + +Class which allows a checkpointing system. + +Thanks to this class, at each iteration, additionnal function can be used (and not only one). + +Definition at line 46 of file moLSCheckPoint.h. + +\subsection{Member Function Documentation} +\index{moLSCheckPoint@{moLSCheckPoint}!operator()@{operator()}} +\index{operator()@{operator()}!moLSCheckPoint@{moLSCheckPoint}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moLSCheckPoint}$<$ M $>$::operator() (const M \& {\em \_\-move}, const typename M::EOType \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline]}}\label{classmo_l_s_check_point_e9b9d41e40dd7bab648327686b2b938d} + + +{\bf Function} which launches the checkpointing. + +Each saved function is used on the current move and the current solution. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a move. \item[{\em \_\-solution}]a solution. \end{description} +\end{Desc} + + +Definition at line 57 of file moLSCheckPoint.h. + +References moLSCheckPoint$<$ M $>$::functions.\index{moLSCheckPoint@{moLSCheckPoint}!add@{add}} +\index{add@{add}!moLSCheckPoint@{moLSCheckPoint}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moLSCheckPoint}$<$ M $>$::add ({\bf eoBF}$<$ const M \&, const typename M::EOType \&, void $>$ \& {\em \_\-function})\hspace{0.3cm}{\tt [inline]}}\label{classmo_l_s_check_point_f95f2dc556cdfbdc81688562ca95202d} + + +Procedure which add a new function to the function vector. + +The new function is added at the end of the vector. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-function}]a new function to add. \end{description} +\end{Desc} + + +Definition at line 72 of file moLSCheckPoint.h. + +References moLSCheckPoint$<$ M $>$::functions. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moLSCheckPoint.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_linear_cooling_schedule.eps b/trunk/paradiseo-mo/doc/latex/classmo_linear_cooling_schedule.eps new file mode 100644 index 000000000..3e62629a9 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_linear_cooling_schedule.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 476.19 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.05 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moLinearCoolingSchedule) cw +(moCoolingSchedule) cw +(eoUF< double &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moLinearCoolingSchedule) 0 0 box + (moCoolingSchedule) 0 1 box + (eoUF< double &, bool >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_linear_cooling_schedule.tex b/trunk/paradiseo-mo/doc/latex/classmo_linear_cooling_schedule.tex new file mode 100644 index 000000000..e4ff3c703 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_linear_cooling_schedule.tex @@ -0,0 +1,83 @@ +\section{moLinearCoolingSchedule Class Reference} +\label{classmo_linear_cooling_schedule}\index{moLinearCoolingSchedule@{moLinearCoolingSchedule}} +One of the possible \doxyref{moCoolingSchedule}{p.}{classmo_cooling_schedule}. + + +{\tt \#include $<$moLinearCoolingSchedule.h$>$} + +Inheritance diagram for moLinearCoolingSchedule::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_linear_cooling_schedule} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moLinearCoolingSchedule} (double \_\-threshold, double \_\-quantity) +\begin{CompactList}\small\item\em Simple constructor. \item\end{CompactList}\item +bool {\bf operator()} (double \&\_\-current\_\-temperature) +\begin{CompactList}\small\item\em {\bf Function} which proceeds to the cooling. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf threshold}\label{classmo_linear_cooling_schedule_e7f539f986801ea71392c4a55ba08a76} + +\begin{CompactList}\small\item\em The temperature threhold. \item\end{CompactList}\item +double {\bf quantity}\label{classmo_linear_cooling_schedule_6159dc39ceda89b23ffdab3d6ce8d8ed} + +\begin{CompactList}\small\item\em The quantity that allows the temperature to decrease. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +One of the possible \doxyref{moCoolingSchedule}{p.}{classmo_cooling_schedule}. + +An another very simple cooling schedule, the temperature decrease according to a quantity while the temperature is greater than a threshold. + +Definition at line 46 of file moLinearCoolingSchedule.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moLinearCoolingSchedule@{moLinearCoolingSchedule}!moLinearCoolingSchedule@{moLinearCoolingSchedule}} +\index{moLinearCoolingSchedule@{moLinearCoolingSchedule}!moLinearCoolingSchedule@{moLinearCoolingSchedule}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}moLinearCoolingSchedule::moLinearCoolingSchedule (double {\em \_\-threshold}, double {\em \_\-quantity})\hspace{0.3cm}{\tt [inline]}}\label{classmo_linear_cooling_schedule_420939ebf57f01d242cbe4eb668dffde} + + +Simple constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-threshold}]the threshold. \item[{\em \_\-quantity}]the quantity used to descrease the temperature. \end{description} +\end{Desc} + + +Definition at line 55 of file moLinearCoolingSchedule.h. + +\subsection{Member Function Documentation} +\index{moLinearCoolingSchedule@{moLinearCoolingSchedule}!operator()@{operator()}} +\index{operator()@{operator()}!moLinearCoolingSchedule@{moLinearCoolingSchedule}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool moLinearCoolingSchedule::operator() (double \& {\em \_\-current\_\-temperature})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_linear_cooling_schedule_b0a1886aaa7ee2a0c8e929e55ca321ce} + + +{\bf Function} which proceeds to the cooling. + +It decreases the temperature and indicates if it is greater than the threshold. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-current\_\-temperature}]The current temperature. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true if the new temperature (current temperature - quantity) is greater than the threshold, false otherwise. \end{Desc} + + +Implements {\bf eoUF$<$ double \&, bool $>$}. + +Definition at line 65 of file moLinearCoolingSchedule.h. + +References quantity, and threshold. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moLinearCoolingSchedule.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move.eps b/trunk/paradiseo-mo/doc/latex/classmo_move.eps new file mode 100644 index 000000000..68c490c6c --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 410.959 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.21667 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moMove< EOT >) cw +(eoUF< EOT &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moMove< EOT >) 0 0 box + (eoUF< EOT &, void >) 0 1 box + (eoFunctorBase) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move.tex b/trunk/paradiseo-mo/doc/latex/classmo_move.tex new file mode 100644 index 000000000..eff88ad06 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move.tex @@ -0,0 +1,33 @@ +\section{moMove$<$ EOT $>$ Class Template Reference} +\label{classmo_move}\index{moMove@{moMove}} +Definition of a move. + + +{\tt \#include $<$moMove.h$>$} + +Inheritance diagram for moMove$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmo_move} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT {\bf EOType}\label{classmo_move_7fb853a91ba1319530529e515380bbba} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moMove$<$ EOT $>$} + +Definition of a move. + +A move transforms a solution to another close solution. It describes how a solution can be modified to another one. + +Definition at line 49 of file moMove.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moMove.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_expl.eps b/trunk/paradiseo-mo/doc/latex/classmo_move_expl.eps new file mode 100644 index 000000000..18fb8889f --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_expl.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 163.934 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.05 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moMoveExpl< M >) cw +(eoBF< const M::EOType &, M::EOType &, void >) cw +(eoFunctorBase) cw +(moMoveLoopExpl< M >) cw +(moHCMoveLoopExpl< M >) cw +(moTSMoveLoopExpl< M >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moMoveExpl< M >) 0.5 2 box + (eoBF< const M::EOType &, M::EOType &, void >) 0.5 3 box + (eoFunctorBase) 0.5 4 box + (moMoveLoopExpl< M >) 0.5 1 box + (moHCMoveLoopExpl< M >) 0 0 box + (moTSMoveLoopExpl< M >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +1 0.5 4 in +solid +1 0.5 1.25 out +solid +0 0.5 1.75 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_expl.tex b/trunk/paradiseo-mo/doc/latex/classmo_move_expl.tex new file mode 100644 index 000000000..9d53ebd21 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_expl.tex @@ -0,0 +1,27 @@ +\section{moMoveExpl$<$ M $>$ Class Template Reference} +\label{classmo_move_expl}\index{moMoveExpl@{moMoveExpl}} +Description of a move (\doxyref{moMove}{p.}{classmo_move}) explorer. + + +{\tt \#include $<$moMoveExpl.h$>$} + +Inheritance diagram for moMoveExpl$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.59016cm]{classmo_move_expl} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moMoveExpl$<$ M $>$} + +Description of a move (\doxyref{moMove}{p.}{classmo_move}) explorer. + +Only a description...See \doxyref{moMoveLoopExpl}{p.}{classmo_move_loop_expl}. + +Definition at line 45 of file moMoveExpl.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moMoveExpl.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_incr_eval.eps b/trunk/paradiseo-mo/doc/latex/classmo_move_incr_eval.eps new file mode 100644 index 000000000..1f107a403 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_incr_eval.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 400 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.25 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moMoveIncrEval< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moMoveIncrEval< M >) 0 0 box + (eoBF< A1, A2, R >) 0 1 box + (eoFunctorBase) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_incr_eval.tex b/trunk/paradiseo-mo/doc/latex/classmo_move_incr_eval.tex new file mode 100644 index 000000000..e49ccdc4c --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_incr_eval.tex @@ -0,0 +1,27 @@ +\section{moMoveIncrEval$<$ M $>$ Class Template Reference} +\label{classmo_move_incr_eval}\index{moMoveIncrEval@{moMoveIncrEval}} +(generally) Efficient evaluation function based a move and a solution. + + +{\tt \#include $<$moMoveIncrEval.h$>$} + +Inheritance diagram for moMoveIncrEval$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmo_move_incr_eval} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moMoveIncrEval$<$ M $>$} + +(generally) Efficient evaluation function based a move and a solution. + +From a move and a solution, it computes a new fitness that could be associated to the solution if this one is updated. + +Definition at line 49 of file moMoveIncrEval.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moMoveIncrEval.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_init.eps b/trunk/paradiseo-mo/doc/latex/classmo_move_init.eps new file mode 100644 index 000000000..e04209e70 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_init.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 454.545 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.1 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moMoveInit< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moMoveInit< M >) 0 0 box + (eoBF< A1, A2, R >) 0 1 box + (eoFunctorBase) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_init.tex b/trunk/paradiseo-mo/doc/latex/classmo_move_init.tex new file mode 100644 index 000000000..949a2d4c9 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_init.tex @@ -0,0 +1,27 @@ +\section{moMoveInit$<$ M $>$ Class Template Reference} +\label{classmo_move_init}\index{moMoveInit@{moMoveInit}} +Move (\doxyref{moMove}{p.}{classmo_move}) initializer. + + +{\tt \#include $<$moMoveInit.h$>$} + +Inheritance diagram for moMoveInit$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmo_move_init} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moMoveInit$<$ M $>$} + +Move (\doxyref{moMove}{p.}{classmo_move}) initializer. + +Class which allows to initiase a move. Only a description... An object that herits from this class needs to be designed to be used. + +Definition at line 47 of file moMoveInit.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moMoveInit.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_loop_expl.eps b/trunk/paradiseo-mo/doc/latex/classmo_move_loop_expl.eps new file mode 100644 index 000000000..c6a78b5b1 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_loop_expl.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 163.934 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.05 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moMoveLoopExpl< M >) cw +(moMoveExpl< M >) cw +(eoBF< const M::EOType &, M::EOType &, void >) cw +(eoFunctorBase) cw +(moHCMoveLoopExpl< M >) cw +(moTSMoveLoopExpl< M >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moMoveLoopExpl< M >) 0.5 1 box + (moMoveExpl< M >) 0.5 2 box + (eoBF< const M::EOType &, M::EOType &, void >) 0.5 3 box + (eoFunctorBase) 0.5 4 box + (moHCMoveLoopExpl< M >) 0 0 box + (moTSMoveLoopExpl< M >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +1 0.5 4 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_loop_expl.tex b/trunk/paradiseo-mo/doc/latex/classmo_move_loop_expl.tex new file mode 100644 index 000000000..2132e4306 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_loop_expl.tex @@ -0,0 +1,27 @@ +\section{moMoveLoopExpl$<$ M $>$ Class Template Reference} +\label{classmo_move_loop_expl}\index{moMoveLoopExpl@{moMoveLoopExpl}} +Class which describes an iterative explorer. + + +{\tt \#include $<$moMoveLoopExpl.h$>$} + +Inheritance diagram for moMoveLoopExpl$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.59016cm]{classmo_move_loop_expl} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moMoveLoopExpl$<$ M $>$} + +Class which describes an iterative explorer. + +Only a description... \doxyref{moHCMoveLoopExpl}{p.}{classmo_h_c_move_loop_expl} and \doxyref{moTSMoveLoopExpl}{p.}{classmo_t_s_move_loop_expl} are exemples of class that are a \doxyref{moMoveLoopExpl}{p.}{classmo_move_loop_expl}. + +Definition at line 47 of file moMoveLoopExpl.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moMoveLoopExpl.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_select.eps b/trunk/paradiseo-mo/doc/latex/classmo_move_select.eps new file mode 100644 index 000000000..b61e2bf9f --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_select.eps @@ -0,0 +1,219 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 101.01 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 4.95 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 3 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moMoveSelect< M >) cw +(eoBF< M &, M::EOType::Fitness &, void >) cw +(eoFunctorBase) cw +(moBestImprSelect< M >) cw +(moFirstImprSelect< M >) cw +(moRandImprSelect< M >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moMoveSelect< M >) 1 1 box + (eoBF< M &, M::EOType::Fitness &, void >) 1 2 box + (eoFunctorBase) 1 3 box + (moBestImprSelect< M >) 0 0 box + (moFirstImprSelect< M >) 1 0 box + (moRandImprSelect< M >) 2 0 box + +% ----- relations ----- + +solid +0 1 1 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in +solid +1 1 0.25 out +solid +0 2 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_move_select.tex b/trunk/paradiseo-mo/doc/latex/classmo_move_select.tex new file mode 100644 index 000000000..62736edfd --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_move_select.tex @@ -0,0 +1,75 @@ +\section{moMoveSelect$<$ M $>$ Class Template Reference} +\label{classmo_move_select}\index{moMoveSelect@{moMoveSelect}} +Class that describes a move selector (\doxyref{moMove}{p.}{classmo_move}). + + +{\tt \#include $<$moMoveSelect.h$>$} + +Inheritance diagram for moMoveSelect$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2.82828cm]{classmo_move_select} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef M::EOType::Fitness {\bf Fitness}\label{classmo_move_select_8148ccc0e6fbd209c3fe6829559895c8} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual void {\bf init} (const {\bf Fitness} \&\_\-fitness)=0 +\begin{CompactList}\small\item\em Procedure which initialises all that the move selector needs including the initial fitness. \item\end{CompactList}\item +virtual bool {\bf update} (const M \&\_\-move, const {\bf Fitness} \&\_\-fitness)=0 +\begin{CompactList}\small\item\em {\bf Function} which updates the best solutions. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moMoveSelect$<$ M $>$} + +Class that describes a move selector (\doxyref{moMove}{p.}{classmo_move}). + +It iteratively considers some moves (\doxyref{moMove}{p.}{classmo_move}) and their associated fitnesses. The best move is so regularly updated. At any time, it could be accessed. + +Definition at line 50 of file moMoveSelect.h. + +\subsection{Member Function Documentation} +\index{moMoveSelect@{moMoveSelect}!init@{init}} +\index{init@{init}!moMoveSelect@{moMoveSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void {\bf moMoveSelect}$<$ M $>$::init (const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_move_select_58038bd859632c1bd022d23d9792bdca} + + +Procedure which initialises all that the move selector needs including the initial fitness. + +In order to know the fitness of the solution, for which the neighborhood will be soon explored + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness}]the current fitness. \end{description} +\end{Desc} + + +Implemented in {\bf moBestImprSelect$<$ M $>$} \doxyref{}{p.}{classmo_best_impr_select_83f961549986b8ad94692e433aa79114}, {\bf moFirstImprSelect$<$ M $>$} \doxyref{}{p.}{classmo_first_impr_select_a923437ecc3db50e7052b002a9a1bbf8}, and {\bf moRandImprSelect$<$ M $>$} \doxyref{}{p.}{classmo_rand_impr_select_7af99966b31aa387ecef74fd307a42e8}.\index{moMoveSelect@{moMoveSelect}!update@{update}} +\index{update@{update}!moMoveSelect@{moMoveSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual bool {\bf moMoveSelect}$<$ M $>$::update (const M \& {\em \_\-move}, const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_move_select_5b4d3b2f030cca80c563c3db0c4af404} + + +{\bf Function} which updates the best solutions. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a new move. \item[{\em \_\-fitness}]a fitness linked to the new move. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]a boolean that expresses the need to resume the exploration. \end{Desc} + + +Implemented in {\bf moBestImprSelect$<$ M $>$} \doxyref{}{p.}{classmo_best_impr_select_5c0729fd316b0ef78406bce5ca91de2a}, {\bf moFirstImprSelect$<$ M $>$} \doxyref{}{p.}{classmo_first_impr_select_f68b7ee7b35bf7347c16006f0587d313}, and {\bf moRandImprSelect$<$ M $>$} \doxyref{}{p.}{classmo_rand_impr_select_b20cfd0164266aa75960cba3c1673f69}. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moMoveSelect.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_next_move.eps b/trunk/paradiseo-mo/doc/latex/classmo_next_move.eps new file mode 100644 index 000000000..08b997f12 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_next_move.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 490.798 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.01875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moNextMove< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moItRandNextMove< M >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moNextMove< M >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + (moItRandNextMove< M >) 0 0 box + +% ----- relations ----- + +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_next_move.tex b/trunk/paradiseo-mo/doc/latex/classmo_next_move.tex new file mode 100644 index 000000000..fe0d8d923 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_next_move.tex @@ -0,0 +1,27 @@ +\section{moNextMove$<$ M $>$ Class Template Reference} +\label{classmo_next_move}\index{moNextMove@{moNextMove}} +Class which allows to generate a new move (\doxyref{moMove}{p.}{classmo_move}). + + +{\tt \#include $<$moNextMove.h$>$} + +Inheritance diagram for moNextMove$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_next_move} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moNextMove$<$ M $>$} + +Class which allows to generate a new move (\doxyref{moMove}{p.}{classmo_move}). + +Useful for the explorer (for \doxyref{moTS}{p.}{classmo_t_s} or \doxyref{moHC}{p.}{classmo_h_c}). Does nothing... An object that herits from this class needs to be designed for being used. + +Definition at line 47 of file moNextMove.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moNextMove.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_no_aspir_crit.eps b/trunk/paradiseo-mo/doc/latex/classmo_no_aspir_crit.eps new file mode 100644 index 000000000..f5d50a373 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_no_aspir_crit.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 583.942 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 0.85625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moNoAspirCrit< M >) cw +(moAspirCrit< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moNoAspirCrit< M >) 0 0 box + (moAspirCrit< M >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_no_aspir_crit.tex b/trunk/paradiseo-mo/doc/latex/classmo_no_aspir_crit.tex new file mode 100644 index 000000000..3168eb3e7 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_no_aspir_crit.tex @@ -0,0 +1,66 @@ +\section{moNoAspirCrit$<$ M $>$ Class Template Reference} +\label{classmo_no_aspir_crit}\index{moNoAspirCrit@{moNoAspirCrit}} +One of the possible aspiration criterion (\doxyref{moAspirCrit}{p.}{classmo_aspir_crit}). + + +{\tt \#include $<$moNoAspirCrit.h$>$} + +Inheritance diagram for moNoAspirCrit$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_no_aspir_crit} +\end{center} +\end{figure} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +bool {\bf operator()} (const M \&\_\-move, const typename M::EOType::Fitness \&\_\-fitness) +\begin{CompactList}\small\item\em {\bf Function} which describes the aspiration criterion behaviour. \item\end{CompactList}\item +void {\bf init} () +\begin{CompactList}\small\item\em Procedure which initialises all that needs a \doxyref{moNoAspirCrit}{p.}{classmo_no_aspir_crit}. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moNoAspirCrit$<$ M $>$} + +One of the possible aspiration criterion (\doxyref{moAspirCrit}{p.}{classmo_aspir_crit}). + +The simplest : never satisfied. + +Definition at line 47 of file moNoAspirCrit.h. + +\subsection{Member Function Documentation} +\index{moNoAspirCrit@{moNoAspirCrit}!operator()@{operator()}} +\index{operator()@{operator()}!moNoAspirCrit@{moNoAspirCrit}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moNoAspirCrit}$<$ M $>$::operator() (const M \& {\em \_\-move}, const typename M::EOType::Fitness \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, private]}}\label{classmo_no_aspir_crit_289aac56f03c4651fcbcec4a91fb6fd6} + + +{\bf Function} which describes the aspiration criterion behaviour. + +Does nothing. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a move. \item[{\em \_\-fitness}]a fitness. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]false. \end{Desc} + + +Definition at line 57 of file moNoAspirCrit.h.\index{moNoAspirCrit@{moNoAspirCrit}!init@{init}} +\index{init@{init}!moNoAspirCrit@{moNoAspirCrit}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moNoAspirCrit}$<$ M $>$::init ()\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmo_no_aspir_crit_f3a286fc4c2d36bd390ba9a3074f3037} + + +Procedure which initialises all that needs a \doxyref{moNoAspirCrit}{p.}{classmo_no_aspir_crit}. + +Nothing... + +Implements {\bf moAspirCrit$<$ M $>$} \doxyref{}{p.}{classmo_aspir_crit_a8ce84510a5ec7c9078381e542c6d140}. + +Definition at line 66 of file moNoAspirCrit.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moNoAspirCrit.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_no_fit_impr_sol_continue.eps b/trunk/paradiseo-mo/doc/latex/classmo_no_fit_impr_sol_continue.eps new file mode 100644 index 000000000..67d7d5048 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_no_fit_impr_sol_continue.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 386.473 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.29375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moNoFitImprSolContinue< EOT >) cw +(moSolContinue< EOT >) cw +(eoUF< const EOT &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moNoFitImprSolContinue< EOT >) 0 0 box + (moSolContinue< EOT >) 0 1 box + (eoUF< const EOT &, bool >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_no_fit_impr_sol_continue.tex b/trunk/paradiseo-mo/doc/latex/classmo_no_fit_impr_sol_continue.tex new file mode 100644 index 000000000..be8997c1c --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_no_fit_impr_sol_continue.tex @@ -0,0 +1,110 @@ +\section{moNoFitImprSolContinue$<$ EOT $>$ Class Template Reference} +\label{classmo_no_fit_impr_sol_continue}\index{moNoFitImprSolContinue@{moNoFitImprSolContinue}} +One possible stop criterion for a solution-based heuristic. + + +{\tt \#include $<$moNoFitImprSolContinue.h$>$} + +Inheritance diagram for moNoFitImprSolContinue$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_no_fit_impr_sol_continue} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf Fitness}\label{classmo_no_fit_impr_sol_continue_64c184de66bb37d75d53aa600ac947b3} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moNoFitImprSolContinue} (unsigned int \_\-maxNumberOfIterationWithoutImprovement) +\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item +bool {\bf operator()} (const EOT \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} that activates the stopping criterion. \item\end{CompactList}\item +void {\bf init} () +\begin{CompactList}\small\item\em Procedure which allows to initialise all the stuff needed. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int {\bf maxNumberOfIterationsWithoutImprovement}\label{classmo_no_fit_impr_sol_continue_03612ffc3af9d943c1b1d2cde09d461b} + +\begin{CompactList}\small\item\em Maximum number of iterations without improvement allowed. \item\end{CompactList}\item +bool {\bf firstFitnessSaved}\label{classmo_no_fit_impr_sol_continue_ca3591e47a075b59e0826f31234c71ef} + +\begin{CompactList}\small\item\em Flag that this is the first time that the fitness is used. \item\end{CompactList}\item +{\bf Fitness} {\bf fitness}\label{classmo_no_fit_impr_sol_continue_3d3d2b43a4dd73e38689cc0018d44ee7} + +\begin{CompactList}\small\item\em Current Fitness. \item\end{CompactList}\item +unsigned int {\bf counter}\label{classmo_no_fit_impr_sol_continue_46fc008a8f7cd06dcaaeb4016b433adb} + +\begin{CompactList}\small\item\em The iteration couter. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moNoFitImprSolContinue$<$ EOT $>$} + +One possible stop criterion for a solution-based heuristic. + +The stop criterion corresponds to a maximum number of iterations without improvement. + +Definition at line 46 of file moNoFitImprSolContinue.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moNoFitImprSolContinue@{moNoFitImprSolContinue}!moNoFitImprSolContinue@{moNoFitImprSolContinue}} +\index{moNoFitImprSolContinue@{moNoFitImprSolContinue}!moNoFitImprSolContinue@{moNoFitImprSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moNoFitImprSolContinue}$<$ EOT $>$::{\bf moNoFitImprSolContinue} (unsigned int {\em \_\-maxNumberOfIterationWithoutImprovement})\hspace{0.3cm}{\tt [inline]}}\label{classmo_no_fit_impr_sol_continue_0793f68a0ad558c8203b97c33c8f9c90} + + +Basic constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-maxNumberOfIterationWithoutImprovement}]The number of iterations without fitness improvement to reach for stop. \end{description} +\end{Desc} + + +Definition at line 57 of file moNoFitImprSolContinue.h. + +\subsection{Member Function Documentation} +\index{moNoFitImprSolContinue@{moNoFitImprSolContinue}!operator()@{operator()}} +\index{operator()@{operator()}!moNoFitImprSolContinue@{moNoFitImprSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moNoFitImprSolContinue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_no_fit_impr_sol_continue_d8966c73cbe625644df9061377f7221a} + + +{\bf Function} that activates the stopping criterion. + +Indicates if the fitness has not been improved since a given number of iterations (after a minimum of iterations). \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]the current solution. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true or false. \end{Desc} + + +Implements {\bf eoUF$<$ const EOT \&, bool $>$}. + +Definition at line 67 of file moNoFitImprSolContinue.h. + +References moNoFitImprSolContinue$<$ EOT $>$::counter, moNoFitImprSolContinue$<$ EOT $>$::firstFitnessSaved, moNoFitImprSolContinue$<$ EOT $>$::fitness, and moNoFitImprSolContinue$<$ EOT $>$::maxNumberOfIterationsWithoutImprovement.\index{moNoFitImprSolContinue@{moNoFitImprSolContinue}!init@{init}} +\index{init@{init}!moNoFitImprSolContinue@{moNoFitImprSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moNoFitImprSolContinue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_no_fit_impr_sol_continue_21641c0a38a4501baae6133cbc591de4} + + +Procedure which allows to initialise all the stuff needed. + +It can be also used to reinitialize all the needed things. + +Implements {\bf moSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}. + +Definition at line 102 of file moNoFitImprSolContinue.h. + +References moNoFitImprSolContinue$<$ EOT $>$::counter, and moNoFitImprSolContinue$<$ EOT $>$::firstFitnessSaved. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moNoFitImprSolContinue.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_rand_impr_select.eps b/trunk/paradiseo-mo/doc/latex/classmo_rand_impr_select.eps new file mode 100644 index 000000000..fe55210a4 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_rand_impr_select.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 303.03 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moRandImprSelect< M >) cw +(moMoveSelect< M >) cw +(eoBF< M &, M::EOType::Fitness &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moRandImprSelect< M >) 0 0 box + (moMoveSelect< M >) 0 1 box + (eoBF< M &, M::EOType::Fitness &, void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_rand_impr_select.tex b/trunk/paradiseo-mo/doc/latex/classmo_rand_impr_select.tex new file mode 100644 index 000000000..df5de5fde --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_rand_impr_select.tex @@ -0,0 +1,119 @@ +\section{moRandImprSelect$<$ M $>$ Class Template Reference} +\label{classmo_rand_impr_select}\index{moRandImprSelect@{moRandImprSelect}} +One of the possible \doxyref{moMove}{p.}{classmo_move} selector (\doxyref{moMoveSelect}{p.}{classmo_move_select}). + + +{\tt \#include $<$moRandImprSelect.h$>$} + +Inheritance diagram for moRandImprSelect$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_rand_impr_select} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef M::EOType::Fitness {\bf Fitness}\label{classmo_rand_impr_select_3bff2fdb963297430543c82ffb567a5c} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void {\bf init} (const {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em Procedure which all that needs a \doxyref{moRandImprSelect}{p.}{classmo_rand_impr_select}. \item\end{CompactList}\item +bool {\bf update} (const M \&\_\-move, const {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em {\bf Function} that updates the fitness and move vectors. \item\end{CompactList}\item +void {\bf operator()} (M \&\_\-move, {\bf Fitness} \&\_\-fitness) +\begin{CompactList}\small\item\em The move selection. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf Fitness} {\bf initial\_\-fitness}\label{classmo_rand_impr_select_d566fa23689861b1d04257e53c71ae20} + +\begin{CompactList}\small\item\em Fitness of the current solution. \item\end{CompactList}\item +std::vector$<$ {\bf Fitness} $>$ {\bf better\_\-fitnesses}\label{classmo_rand_impr_select_220d6e3db838b11938e59bc7b29a0db6} + +\begin{CompactList}\small\item\em Candidate fitnesse vector. \item\end{CompactList}\item +std::vector$<$ M $>$ {\bf better\_\-moves}\label{classmo_rand_impr_select_8a2e7bd7d7a74d7f7402ef25737b09e1} + +\begin{CompactList}\small\item\em Candidate move vector. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moRandImprSelect$<$ M $>$} + +One of the possible \doxyref{moMove}{p.}{classmo_move} selector (\doxyref{moMoveSelect}{p.}{classmo_move_select}). + +All the neighbors are considered. One of them that enables an improvment of the objective function is choosen. + +Definition at line 49 of file moRandImprSelect.h. + +\subsection{Member Function Documentation} +\index{moRandImprSelect@{moRandImprSelect}!init@{init}} +\index{init@{init}!moRandImprSelect@{moRandImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moRandImprSelect}$<$ M $>$::init (const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_rand_impr_select_7af99966b31aa387ecef74fd307a42e8} + + +Procedure which all that needs a \doxyref{moRandImprSelect}{p.}{classmo_rand_impr_select}. + +Give a value to the initialise fitness. Clean the move and fitness vectors. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness}]the current best fitness \end{description} +\end{Desc} + + +Implements {\bf moMoveSelect$<$ M $>$} \doxyref{}{p.}{classmo_move_select_58038bd859632c1bd022d23d9792bdca}. + +Definition at line 63 of file moRandImprSelect.h. + +References moRandImprSelect$<$ M $>$::better\_\-fitnesses, moRandImprSelect$<$ M $>$::better\_\-moves, and moRandImprSelect$<$ M $>$::initial\_\-fitness.\index{moRandImprSelect@{moRandImprSelect}!update@{update}} +\index{update@{update}!moRandImprSelect@{moRandImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moRandImprSelect}$<$ M $>$::update (const M \& {\em \_\-move}, const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_rand_impr_select_b20cfd0164266aa75960cba3c1673f69} + + +{\bf Function} that updates the fitness and move vectors. + +if a move give a better fitness than the initial fitness, it is saved and the fitness too. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a new move. \item[{\em \_\-fitness}]a new fitness associated to the new move. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true. \end{Desc} + + +Implements {\bf moMoveSelect$<$ M $>$} \doxyref{}{p.}{classmo_move_select_5b4d3b2f030cca80c563c3db0c4af404}. + +Definition at line 79 of file moRandImprSelect.h. + +References moRandImprSelect$<$ M $>$::better\_\-fitnesses, moRandImprSelect$<$ M $>$::better\_\-moves, and moRandImprSelect$<$ M $>$::initial\_\-fitness.\index{moRandImprSelect@{moRandImprSelect}!operator()@{operator()}} +\index{operator()@{operator()}!moRandImprSelect@{moRandImprSelect}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moRandImprSelect}$<$ M $>$::operator() (M \& {\em \_\-move}, {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_rand_impr_select_1bc88f10830960c1d88e22e444c4e670} + + +The move selection. + +One the saved move is randomly chosen. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]the reference of the move that can be initialised by the function. \item[{\em \_\-fitness}]the reference of the fitness that can be initialised by the function. \end{description} +\end{Desc} + + +Implements {\bf eoBF$<$ M \&, M::EOType::Fitness \&, void $>$}. + +Definition at line 98 of file moRandImprSelect.h. + +References moRandImprSelect$<$ M $>$::better\_\-fitnesses, moRandImprSelect$<$ M $>$::better\_\-moves, and eoRng::random(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moRandImprSelect.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_rand_move.eps b/trunk/paradiseo-mo/doc/latex/classmo_rand_move.eps new file mode 100644 index 000000000..9fc3a66e9 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_rand_move.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 454.545 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.1 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moRandMove< M >) cw +(eoUF< M &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moRandMove< M >) 0 0 box + (eoUF< M &, void >) 0 1 box + (eoFunctorBase) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_rand_move.tex b/trunk/paradiseo-mo/doc/latex/classmo_rand_move.tex new file mode 100644 index 000000000..3593c7055 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_rand_move.tex @@ -0,0 +1,27 @@ +\section{moRandMove$<$ M $>$ Class Template Reference} +\label{classmo_rand_move}\index{moRandMove@{moRandMove}} +Random move generator. + + +{\tt \#include $<$moRandMove.h$>$} + +Inheritance diagram for moRandMove$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmo_rand_move} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moRandMove$<$ M $>$} + +Random move generator. + +Only a description... An object that herits from this class needs to be designed in order to use a \doxyref{moSA}{p.}{classmo_s_a}. + +Definition at line 46 of file moRandMove.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moRandMove.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_s_a.tex b/trunk/paradiseo-mo/doc/latex/classmo_s_a.tex new file mode 100644 index 000000000..d55b636ad --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_s_a.tex @@ -0,0 +1,104 @@ +\section{moSA$<$ M $>$ Class Template Reference} +\label{classmo_s_a}\index{moSA@{moSA}} +Simulated Annealing (SA). + + +{\tt \#include $<$moSA.h$>$} + +Inherits {\bf moAlgo$<$ M::EOType $>$}. + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moSA} ({\bf moRandMove}$<$ M $>$ \&\_\-random\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-continue, double \_\-initial\_\-temperature, {\bf moCoolingSchedule} \&\_\-cooling\_\-schedule, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em SA constructor. \item\end{CompactList}\item +bool {\bf operator()} ({\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em function that launches the SA algorithm. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_s_a_d5d64a8797bdedc7b3af7893aded0bd5} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item +typedef EOT::Fitness {\bf Fitness}\label{classmo_s_a_97f1a40d5ab5a0b3f878d0347b34804b} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moRandMove}$<$ M $>$ \& {\bf random\_\-move\_\-generator}\label{classmo_s_a_92656523f556669862fcffdccea178dd} + +\begin{CompactList}\small\item\em A move generator (generally randomly). \item\end{CompactList}\item +{\bf moMoveIncrEval}$<$ M $>$ \& {\bf incremental\_\-evaluation}\label{classmo_s_a_fdb49f837dc602624554279418c94bdb} + +\begin{CompactList}\small\item\em A (generally) efficient evaluation function. \item\end{CompactList}\item +{\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\bf continu}\label{classmo_s_a_776586a839c2bbd6d12a731c12a1b748} + +\begin{CompactList}\small\item\em Stopping criterion before temperature update. \item\end{CompactList}\item +double {\bf initial\_\-temperature}\label{classmo_s_a_e07bf4ca64248e94ab85e8a1ba32aa8c} + +\begin{CompactList}\small\item\em Initial temperature. \item\end{CompactList}\item +{\bf moCoolingSchedule} \& {\bf cooling\_\-schedule}\label{classmo_s_a_f514ae01cdfc67bf0b87d5389b3792e5} + +\begin{CompactList}\small\item\em The cooling schedule. \item\end{CompactList}\item +{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-evaluation}\label{classmo_s_a_ace30095ffc4924d84e14a0e59f7746f} + +\begin{CompactList}\small\item\em A full evaluation function. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moSA$<$ M $>$} + +Simulated Annealing (SA). + +Class that describes a Simulated Annealing algorithm. + +Definition at line 53 of file moSA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moSA@{moSA}!moSA@{moSA}} +\index{moSA@{moSA}!moSA@{moSA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moSA}$<$ M $>$::{\bf moSA} ({\bf moRandMove}$<$ M $>$ \& {\em \_\-random\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-continue}, double {\em \_\-initial\_\-temperature}, {\bf moCoolingSchedule} \& {\em \_\-cooling\_\-schedule}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_s_a_12e7da3a56b82daa29a30d1254da5823} + + +SA constructor. + +All the boxes used by a SA need to be given. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-random\_\-move\_\-generator}]The move generator (generally randomly). \item[{\em \_\-incremental\_\-evaluation}]The (generally) efficient evaluation function \item[{\em \_\-continue}]The stopping criterion. \item[{\em \_\-initial\_\-temperature}]The initial temperature. \item[{\em \_\-cooling\_\-schedule}]The cooling schedule, describes how the temperature is modified. \item[{\em \_\-full\_\-evaluation}]The full evaluation function. \end{description} +\end{Desc} + + +Definition at line 74 of file moSA.h. + +\subsection{Member Function Documentation} +\index{moSA@{moSA}!operator()@{operator()}} +\index{operator()@{operator()}!moSA@{moSA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moSA}$<$ M $>$::operator() ({\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_s_a_bea8176b0c05a96696b2ab29d3f3c544} + + +function that launches the SA algorithm. + +As a \doxyref{moTS}{p.}{classmo_t_s} or a \doxyref{moHC}{p.}{classmo_h_c}, the SA can be used for HYBRIDATION in an evolutionary algorithm. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]A solution to improve. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]TRUE. \end{Desc} + + +Implements {\bf eoUF$<$ M::EOType \&, bool $>$}. + +Definition at line 89 of file moSA.h. + +References moSA$<$ M $>$::continu, moSA$<$ M $>$::cooling\_\-schedule, moSA$<$ M $>$::full\_\-evaluation, moSA$<$ M $>$::incremental\_\-evaluation, moSA$<$ M $>$::initial\_\-temperature, moSA$<$ M $>$::random\_\-move\_\-generator, and eoRng::uniform(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moSA.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_simple_move_tabu_list.eps b/trunk/paradiseo-mo/doc/latex/classmo_simple_move_tabu_list.eps new file mode 100644 index 000000000..b0dcef476 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_simple_move_tabu_list.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 427.807 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.16875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moSimpleMoveTabuList< M >) cw +(moTabuList< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moSimpleMoveTabuList< M >) 0 0 box + (moTabuList< M >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_simple_move_tabu_list.tex b/trunk/paradiseo-mo/doc/latex/classmo_simple_move_tabu_list.tex new file mode 100644 index 000000000..992ff613a --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_simple_move_tabu_list.tex @@ -0,0 +1,146 @@ +\section{moSimpleMoveTabuList$<$ M $>$ Class Template Reference} +\label{classmo_simple_move_tabu_list}\index{moSimpleMoveTabuList@{moSimpleMoveTabuList}} +Class describing a move tabu list with a limited memory. + + +{\tt \#include $<$moSimpleMoveTabuList.h$>$} + +Inheritance diagram for moSimpleMoveTabuList$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_simple_move_tabu_list} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_simple_move_tabu_list_91286ff3ba6b1e9e1db9e4fdade2edb7} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item +typedef std::list$<$ M $>$::iterator {\bf moveIterator}\label{classmo_simple_move_tabu_list_4ca9387c0a20bb9f4142682cbfee26bf} + +\begin{CompactList}\small\item\em Alias for an iterator of a move list. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moSimpleMoveTabuList} (unsigned int \_\-memory\_\-maximum\_\-size)\label{classmo_simple_move_tabu_list_c27e7fabe1370ea65f56981c5cbc1769} + +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +bool {\bf operator()} (const M \&\_\-move, const {\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} that indicates if, in a given state, the \_\-move is tabu or not. \item\end{CompactList}\item +void {\bf add} (const M \&\_\-move, const {\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em Procedure to add a move in the tabu list. \item\end{CompactList}\item +void {\bf update} () +\begin{CompactList}\small\item\em Procedure that updates the tabu list content. \item\end{CompactList}\item +void {\bf init} () +\begin{CompactList}\small\item\em Procedure which initialises the tabu list. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf removeMove} (const M \&\_\-move) +\begin{CompactList}\small\item\em Procedure that removes a given move from the tabu list (if it is into, else do nothing). \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int {\bf memory\_\-maximum\_\-size}\label{classmo_simple_move_tabu_list_fea7fe7c62a6da9b8f087a2732f44251} + +\begin{CompactList}\small\item\em The maximum size of the tabu list. \item\end{CompactList}\item +unsigned int {\bf memory\_\-size}\label{classmo_simple_move_tabu_list_defd20fe6d0d51fdaedbc5b95018aea7} + +\begin{CompactList}\small\item\em The current size of the tabu list. \item\end{CompactList}\item +std::list$<$ M $>$ {\bf tabuList}\label{classmo_simple_move_tabu_list_d91bc838361524720616b44eda9b2c3a} + +\begin{CompactList}\small\item\em The move tabu list. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moSimpleMoveTabuList$<$ M $>$} + +Class describing a move tabu list with a limited memory. + +Definition at line 46 of file moSimpleMoveTabuList.h. + +\subsection{Member Function Documentation} +\index{moSimpleMoveTabuList@{moSimpleMoveTabuList}!operator()@{operator()}} +\index{operator()@{operator()}!moSimpleMoveTabuList@{moSimpleMoveTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moSimpleMoveTabuList}$<$ M $>$::operator() (const M \& {\em \_\-move}, const {\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline]}}\label{classmo_simple_move_tabu_list_8d38f296f3d7721025820f16f25fcf7e} + + +{\bf Function} that indicates if, in a given state, the \_\-move is tabu or not. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]A given \doxyref{moMove}{p.}{classmo_move}. \item[{\em \_\-solution}]A solution. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true or false. \end{Desc} + + +Definition at line 69 of file moSimpleMoveTabuList.h. + +References moSimpleMoveTabuList$<$ M $>$::tabuList.\index{moSimpleMoveTabuList@{moSimpleMoveTabuList}!add@{add}} +\index{add@{add}!moSimpleMoveTabuList@{moSimpleMoveTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moSimpleMoveTabuList}$<$ M $>$::add (const M \& {\em \_\-move}, const {\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_move_tabu_list_e6c0835fbfab2bdc63097cf2fd5328aa} + + +Procedure to add a move in the tabu list. + +The two parameters have not to be modified so they are constant parameters. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a new tabu move. \item[{\em \_\-solution}]the origianl solution associated to this move. \end{description} +\end{Desc} + + +Implements {\bf moTabuList$<$ M $>$} \doxyref{}{p.}{classmo_tabu_list_55204939b6d67b6d37b4af725d70cf6d}. + +Definition at line 86 of file moSimpleMoveTabuList.h. + +References moSimpleMoveTabuList$<$ M $>$::memory\_\-maximum\_\-size, moSimpleMoveTabuList$<$ M $>$::memory\_\-size, moSimpleMoveTabuList$<$ M $>$::removeMove(), and moSimpleMoveTabuList$<$ M $>$::tabuList.\index{moSimpleMoveTabuList@{moSimpleMoveTabuList}!update@{update}} +\index{update@{update}!moSimpleMoveTabuList@{moSimpleMoveTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moSimpleMoveTabuList}$<$ M $>$::update ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_move_tabu_list_96cffc8118456ed762b07b9fc0e0679f} + + +Procedure that updates the tabu list content. + +Generally, a counter associated to each saved move is decreased by one. + +Implements {\bf moTabuList$<$ M $>$} \doxyref{}{p.}{classmo_tabu_list_a2e5d1132f064093c8ed57046405f5ca}. + +Definition at line 110 of file moSimpleMoveTabuList.h.\index{moSimpleMoveTabuList@{moSimpleMoveTabuList}!init@{init}} +\index{init@{init}!moSimpleMoveTabuList@{moSimpleMoveTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moSimpleMoveTabuList}$<$ M $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_move_tabu_list_b91ae9971be30769757d1ad92c6009dc} + + +Procedure which initialises the tabu list. + +Can be useful if the data structure needs to be allocated before being used. + +Implements {\bf moTabuList$<$ M $>$} \doxyref{}{p.}{classmo_tabu_list_0a06c459d56e8e2b408a8f3c6aec4e57}. + +Definition at line 115 of file moSimpleMoveTabuList.h.\index{moSimpleMoveTabuList@{moSimpleMoveTabuList}!removeMove@{removeMove}} +\index{removeMove@{removeMove}!moSimpleMoveTabuList@{moSimpleMoveTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moSimpleMoveTabuList}$<$ M $>$::removeMove (const M \& {\em \_\-move})\hspace{0.3cm}{\tt [inline, private]}}\label{classmo_simple_move_tabu_list_922ac2e3c45cbb94698517265be95de5} + + +Procedure that removes a given move from the tabu list (if it is into, else do nothing). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]A given \doxyref{moMove}{p.}{classmo_move}. \end{description} +\end{Desc} + + +Definition at line 126 of file moSimpleMoveTabuList.h. + +References moSimpleMoveTabuList$<$ M $>$::tabuList. + +Referenced by moSimpleMoveTabuList$<$ M $>$::add(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moSimpleMoveTabuList.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_simple_solution_tabu_list.eps b/trunk/paradiseo-mo/doc/latex/classmo_simple_solution_tabu_list.eps new file mode 100644 index 000000000..06f8e8fc5 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_simple_solution_tabu_list.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 400 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.25 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moSimpleSolutionTabuList< M >) cw +(moTabuList< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moSimpleSolutionTabuList< M >) 0 0 box + (moTabuList< M >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_simple_solution_tabu_list.tex b/trunk/paradiseo-mo/doc/latex/classmo_simple_solution_tabu_list.tex new file mode 100644 index 000000000..4706babdc --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_simple_solution_tabu_list.tex @@ -0,0 +1,162 @@ +\section{moSimpleSolutionTabuList$<$ M $>$ Class Template Reference} +\label{classmo_simple_solution_tabu_list}\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}} +Class describing a solution tabu list with limited length. + + +{\tt \#include $<$moSimpleSolutionTabuList.h$>$} + +Inheritance diagram for moSimpleSolutionTabuList$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_simple_solution_tabu_list} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_simple_solution_tabu_list_881060871a6b49e5e8554c5df85176d9} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item +typedef std::list$<$ {\bf EOT} $>$::iterator {\bf solutionIterator}\label{classmo_simple_solution_tabu_list_3438db9ed9e1a94a24c418d8cbadec54} + +\begin{CompactList}\small\item\em Alias for an iterator of a solution list. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moSimpleSolutionTabuList} (unsigned int \_\-memory\_\-maximum\_\-size) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +bool {\bf operator()} (const M \&\_\-move, const {\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} that indicates if, in a given state, the \_\-move is tabu or not. \item\end{CompactList}\item +void {\bf add} (const M \&\_\-move, const {\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em Procedure to add a move in the tabu list. \item\end{CompactList}\item +void {\bf update} () +\begin{CompactList}\small\item\em Procedure that updates the tabu list content. \item\end{CompactList}\item +void {\bf init} () +\begin{CompactList}\small\item\em Procedure which initialises the tabu list. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf removeSolution} (const {\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em Procedure that removes a given solution from the tabu list (if it is into, else does nothing). \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int {\bf memory\_\-maximum\_\-size}\label{classmo_simple_solution_tabu_list_06631e7b9a2511e3c11540aa14b9e636} + +\begin{CompactList}\small\item\em The maximum size of the tabu list. \item\end{CompactList}\item +unsigned int {\bf memory\_\-size}\label{classmo_simple_solution_tabu_list_0d54e6b0af0e6088aafae596392c9490} + +\begin{CompactList}\small\item\em The current size of the tabu list. \item\end{CompactList}\item +std::list$<$ {\bf EOT} $>$ {\bf tabuList}\label{classmo_simple_solution_tabu_list_75df9cd683528d3722d02bac407b710b} + +\begin{CompactList}\small\item\em The solution tabu list. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moSimpleSolutionTabuList$<$ M $>$} + +Class describing a solution tabu list with limited length. + +Definition at line 46 of file moSimpleSolutionTabuList.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!moSimpleSolutionTabuList@{moSimpleSolutionTabuList}} +\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!moSimpleSolutionTabuList@{moSimpleSolutionTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moSimpleSolutionTabuList}$<$ M $>$::{\bf moSimpleSolutionTabuList} (unsigned int {\em \_\-memory\_\-maximum\_\-size})\hspace{0.3cm}{\tt [inline]}}\label{classmo_simple_solution_tabu_list_8499bf947de47519d155e9e45f815d41} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-memory\_\-maximum\_\-size}]The maximum size of the solution tabu list. \end{description} +\end{Desc} + + +Definition at line 60 of file moSimpleSolutionTabuList.h. + +\subsection{Member Function Documentation} +\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!operator()@{operator()}} +\index{operator()@{operator()}!moSimpleSolutionTabuList@{moSimpleSolutionTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moSimpleSolutionTabuList}$<$ M $>$::operator() (const M \& {\em \_\-move}, const {\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline]}}\label{classmo_simple_solution_tabu_list_9052858ae3e6765cbe4c344bdae6c692} + + +{\bf Function} that indicates if, in a given state, the \_\-move is tabu or not. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]A given \doxyref{moMove}{p.}{classmo_move}. \item[{\em \_\-solution}]A solution. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true or false. \end{Desc} + + +Definition at line 69 of file moSimpleSolutionTabuList.h. + +References moSimpleSolutionTabuList$<$ M $>$::tabuList.\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!add@{add}} +\index{add@{add}!moSimpleSolutionTabuList@{moSimpleSolutionTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moSimpleSolutionTabuList}$<$ M $>$::add (const M \& {\em \_\-move}, const {\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_solution_tabu_list_58ae13e7642c429ea51ff679a932aceb} + + +Procedure to add a move in the tabu list. + +The two parameters have not to be modified so they are constant parameters. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a new tabu move. \item[{\em \_\-solution}]the origianl solution associated to this move. \end{description} +\end{Desc} + + +Implements {\bf moTabuList$<$ M $>$} \doxyref{}{p.}{classmo_tabu_list_55204939b6d67b6d37b4af725d70cf6d}. + +Definition at line 89 of file moSimpleSolutionTabuList.h. + +References moSimpleSolutionTabuList$<$ M $>$::memory\_\-maximum\_\-size, moSimpleSolutionTabuList$<$ M $>$::memory\_\-size, moSimpleSolutionTabuList$<$ M $>$::removeSolution(), and moSimpleSolutionTabuList$<$ M $>$::tabuList.\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!update@{update}} +\index{update@{update}!moSimpleSolutionTabuList@{moSimpleSolutionTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moSimpleSolutionTabuList}$<$ M $>$::update ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_solution_tabu_list_91b8b01dba7ffea8b63765d931e56f56} + + +Procedure that updates the tabu list content. + +Generally, a counter associated to each saved move is decreased by one. + +Implements {\bf moTabuList$<$ M $>$} \doxyref{}{p.}{classmo_tabu_list_a2e5d1132f064093c8ed57046405f5ca}. + +Definition at line 115 of file moSimpleSolutionTabuList.h.\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!init@{init}} +\index{init@{init}!moSimpleSolutionTabuList@{moSimpleSolutionTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moSimpleSolutionTabuList}$<$ M $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_solution_tabu_list_d5645c39fec71a6110a2cbccbb08b816} + + +Procedure which initialises the tabu list. + +Can be useful if the data structure needs to be allocated before being used. + +Implements {\bf moTabuList$<$ M $>$} \doxyref{}{p.}{classmo_tabu_list_0a06c459d56e8e2b408a8f3c6aec4e57}. + +Definition at line 120 of file moSimpleSolutionTabuList.h.\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!removeSolution@{removeSolution}} +\index{removeSolution@{removeSolution}!moSimpleSolutionTabuList@{moSimpleSolutionTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moSimpleSolutionTabuList}$<$ M $>$::removeSolution (const {\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, private]}}\label{classmo_simple_solution_tabu_list_e4a57001a201e1fb7446902381a7ac7d} + + +Procedure that removes a given solution from the tabu list (if it is into, else does nothing). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]A given solution. \end{description} +\end{Desc} + + +Definition at line 131 of file moSimpleSolutionTabuList.h. + +References moSimpleSolutionTabuList$<$ M $>$::tabuList. + +Referenced by moSimpleSolutionTabuList$<$ M $>$::add(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moSimpleSolutionTabuList.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_sol_continue.eps b/trunk/paradiseo-mo/doc/latex/classmo_sol_continue.eps new file mode 100644 index 000000000..3914bf1d9 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_sol_continue.eps @@ -0,0 +1,223 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 96.6184 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 5.175 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 4 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moSolContinue< EOT >) cw +(eoUF< const EOT &, bool >) cw +(eoFunctorBase) cw +(moFitSolContinue< EOT >) cw +(moGenSolContinue< EOT >) cw +(moNoFitImprSolContinue< EOT >) cw +(moSteadyFitSolContinue< EOT >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moSolContinue< EOT >) 1.5 1 box + (eoUF< const EOT &, bool >) 1.5 2 box + (eoFunctorBase) 1.5 3 box + (moFitSolContinue< EOT >) 0 0 box + (moGenSolContinue< EOT >) 1 0 box + (moNoFitImprSolContinue< EOT >) 2 0 box + (moSteadyFitSolContinue< EOT >) 3 0 box + +% ----- relations ----- + +solid +0 1.5 1 out +solid +1 1.5 2 in +solid +0 1.5 2 out +solid +1 1.5 3 in +solid +1 1.5 0.25 out +solid +0 3 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in +solid +0 3 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_sol_continue.tex b/trunk/paradiseo-mo/doc/latex/classmo_sol_continue.tex new file mode 100644 index 000000000..04ba970c0 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_sol_continue.tex @@ -0,0 +1,44 @@ +\section{moSolContinue$<$ EOT $>$ Class Template Reference} +\label{classmo_sol_continue}\index{moSolContinue@{moSolContinue}} +Class that describes a stop criterion for a solution-based heuristic. + + +{\tt \#include $<$moSolContinue.h$>$} + +Inheritance diagram for moSolContinue$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2.70531cm]{classmo_sol_continue} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual void {\bf init} ()=0 +\begin{CompactList}\small\item\em Procedure which initialises all that the stop criterion needs. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moSolContinue$<$ EOT $>$} + +Class that describes a stop criterion for a solution-based heuristic. + +It allows to add an initialisation procedure to an object that is a unary function ({\bf eoUF}). + +Definition at line 48 of file moSolContinue.h. + +\subsection{Member Function Documentation} +\index{moSolContinue@{moSolContinue}!init@{init}} +\index{init@{init}!moSolContinue@{moSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void {\bf moSolContinue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7} + + +Procedure which initialises all that the stop criterion needs. + +Generally, it allocates some data structures or initialises some counters. + +Implemented in {\bf moFitSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_fit_sol_continue_670bd895b4edfcd3aebb40d2295d7f7c}, {\bf moGenSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_gen_sol_continue_6c5db8182157584b56507cc9075602d4}, {\bf moNoFitImprSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_no_fit_impr_sol_continue_21641c0a38a4501baae6133cbc591de4}, and {\bf moSteadyFitSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_steady_fit_sol_continue_87563493addc8e4b58982c55a67179b9}. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moSolContinue.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_steady_fit_sol_continue.eps b/trunk/paradiseo-mo/doc/latex/classmo_steady_fit_sol_continue.eps new file mode 100644 index 000000000..944e80b1e --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_steady_fit_sol_continue.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 388.35 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.2875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moSteadyFitSolContinue< EOT >) cw +(moSolContinue< EOT >) cw +(eoUF< const EOT &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moSteadyFitSolContinue< EOT >) 0 0 box + (moSolContinue< EOT >) 0 1 box + (eoUF< const EOT &, bool >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_steady_fit_sol_continue.tex b/trunk/paradiseo-mo/doc/latex/classmo_steady_fit_sol_continue.tex new file mode 100644 index 000000000..a30d99821 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_steady_fit_sol_continue.tex @@ -0,0 +1,118 @@ +\section{moSteadyFitSolContinue$<$ EOT $>$ Class Template Reference} +\label{classmo_steady_fit_sol_continue}\index{moSteadyFitSolContinue@{moSteadyFitSolContinue}} +One possible stopping criterion for a solution-based heuristic. + + +{\tt \#include $<$moSteadyFitSolContinue.h$>$} + +Inheritance diagram for moSteadyFitSolContinue$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_steady_fit_sol_continue} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf Fitness}\label{classmo_steady_fit_sol_continue_c289721abbbafe50f6e3b8305dd31007} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moSteadyFitSolContinue} (unsigned int \_\-maxNumberOfIterations, unsigned int \_\-maxNumberOfIterationWithoutImprovement) +\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item +bool {\bf operator()} (const EOT \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} that activates the stopping criterion. \item\end{CompactList}\item +void {\bf init} () +\begin{CompactList}\small\item\em Procedure which allows to initialise the stuff needed. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int {\bf maxNumberOfIterations}\label{classmo_steady_fit_sol_continue_36b43c2a252887ad027165ac32393fe8} + +\begin{CompactList}\small\item\em Maximum number of iterations before considering the fitness. \item\end{CompactList}\item +unsigned int {\bf maxNumberOfIterationsWithoutImprovement}\label{classmo_steady_fit_sol_continue_cde593c09f497a5fa66ff62732544f40} + +\begin{CompactList}\small\item\em Maximum number of iterations without improvement allowed. \item\end{CompactList}\item +bool {\bf maxNumberOfIterationsReached}\label{classmo_steady_fit_sol_continue_7d88c0eb91b2a12121ba1c3ae9139887} + +\begin{CompactList}\small\item\em Flag that indicates that the maxNumberIteration have been reached. \item\end{CompactList}\item +bool {\bf firstFitnessSaved}\label{classmo_steady_fit_sol_continue_025bf2789e470fdde989eee9121035c3} + +\begin{CompactList}\small\item\em Flag that this is the first time that the fitness is used. \item\end{CompactList}\item +{\bf Fitness} {\bf fitness}\label{classmo_steady_fit_sol_continue_a5c62e7049b36f6e71e92b559568c09e} + +\begin{CompactList}\small\item\em Current Fitness. \item\end{CompactList}\item +unsigned int {\bf counter}\label{classmo_steady_fit_sol_continue_245c9099a2c40dfc4f34b3ff216d13ce} + +\begin{CompactList}\small\item\em The iteration couter. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moSteadyFitSolContinue$<$ EOT $>$} + +One possible stopping criterion for a solution-based heuristic. + +The stop criterion corresponds to a maximum number of iterations without improvement (after a minimum number of iterations). + +Definition at line 46 of file moSteadyFitSolContinue.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moSteadyFitSolContinue@{moSteadyFitSolContinue}!moSteadyFitSolContinue@{moSteadyFitSolContinue}} +\index{moSteadyFitSolContinue@{moSteadyFitSolContinue}!moSteadyFitSolContinue@{moSteadyFitSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moSteadyFitSolContinue}$<$ EOT $>$::{\bf moSteadyFitSolContinue} (unsigned int {\em \_\-maxNumberOfIterations}, unsigned int {\em \_\-maxNumberOfIterationWithoutImprovement})\hspace{0.3cm}{\tt [inline]}}\label{classmo_steady_fit_sol_continue_c5e0e998b73e3a48ca3e87f4f816569b} + + +Basic constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-maxNumberOfIterations}]The number of iterations to reach before looking for the fitness. \item[{\em \_\-maxNumberOfIterationWithoutImprovement}]The number of iterations without fitness improvement to reach for stop. \end{description} +\end{Desc} + + +Definition at line 58 of file moSteadyFitSolContinue.h. + +\subsection{Member Function Documentation} +\index{moSteadyFitSolContinue@{moSteadyFitSolContinue}!operator()@{operator()}} +\index{operator()@{operator()}!moSteadyFitSolContinue@{moSteadyFitSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moSteadyFitSolContinue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_steady_fit_sol_continue_f7432bccb768d50a2fef248c2b174904} + + +{\bf Function} that activates the stopping criterion. + +Indicates if the fitness has not been improved since a number of iterations (after a minimum of iterations). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]the current solution. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]true or false. \end{Desc} + + +Implements {\bf eoUF$<$ const EOT \&, bool $>$}. + +Definition at line 70 of file moSteadyFitSolContinue.h. + +References moSteadyFitSolContinue$<$ EOT $>$::counter, moSteadyFitSolContinue$<$ EOT $>$::firstFitnessSaved, moSteadyFitSolContinue$<$ EOT $>$::fitness, moSteadyFitSolContinue$<$ EOT $>$::maxNumberOfIterations, moSteadyFitSolContinue$<$ EOT $>$::maxNumberOfIterationsReached, and moSteadyFitSolContinue$<$ EOT $>$::maxNumberOfIterationsWithoutImprovement.\index{moSteadyFitSolContinue@{moSteadyFitSolContinue}!init@{init}} +\index{init@{init}!moSteadyFitSolContinue@{moSteadyFitSolContinue}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moSteadyFitSolContinue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_steady_fit_sol_continue_87563493addc8e4b58982c55a67179b9} + + +Procedure which allows to initialise the stuff needed. + +It can be also used to reinitialize the counter all the needed things. + +Implements {\bf moSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}. + +Definition at line 114 of file moSteadyFitSolContinue.h. + +References moSteadyFitSolContinue$<$ EOT $>$::counter, moSteadyFitSolContinue$<$ EOT $>$::firstFitnessSaved, and moSteadyFitSolContinue$<$ EOT $>$::maxNumberOfIterationsReached. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moSteadyFitSolContinue.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_t_s.tex b/trunk/paradiseo-mo/doc/latex/classmo_t_s.tex new file mode 100644 index 000000000..4d16a15ef --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_t_s.tex @@ -0,0 +1,113 @@ +\section{moTS$<$ M $>$ Class Template Reference} +\label{classmo_t_s}\index{moTS@{moTS}} +Tabu Search (TS). + + +{\tt \#include $<$moTS.h$>$} + +Inherits {\bf moAlgo$<$ M::EOType $>$}. + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moTS} ({\bf moMoveInit}$<$ M $>$ \&\_\-move\_\-initializer, {\bf moNextMove}$<$ M $>$ \&\_\-next\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moTabuList}$<$ M $>$ \&\_\-tabu\_\-list, {\bf moAspirCrit}$<$ M $>$ \&\_\-aspiration\_\-criterion, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-continue, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em Constructor of a \doxyref{moTS}{p.}{classmo_t_s} specifying all the boxes. \item\end{CompactList}\item +{\bf moTS} ({\bf moMoveExpl}$<$ M $>$ \&\_\-move\_\-explorer, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-continue, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-full\_\-evaluation) +\begin{CompactList}\small\item\em Constructor with less parameters. \item\end{CompactList}\item +bool {\bf operator()} ({\bf EOT} \&\_\-solution) +\begin{CompactList}\small\item\em {\bf Function} which launchs the Tabu Search. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_t_s_90d19d468c12ab5bd796948ce1ce79b1} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item +typedef EOT::Fitness {\bf Fitness}\label{classmo_t_s_aa0eefbb17111422e495d1255f876fca} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moMoveExpl}$<$ M $>$ \& {\bf move\_\-explorer}\label{classmo_t_s_9fd948a2c586f1991f5a1eee927af8a6} + +\begin{CompactList}\small\item\em Neighborhood explorer. \item\end{CompactList}\item +{\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\bf continu}\label{classmo_t_s_962a37393faf5239e657388d375cd9b3} + +\begin{CompactList}\small\item\em Stop criterion. \item\end{CompactList}\item +{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-evaluation}\label{classmo_t_s_f44bb408007e2bff99f7a201842e8e48} + +\begin{CompactList}\small\item\em Full evaluation function. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moTS$<$ M $>$} + +Tabu Search (TS). + +Generic algorithm that describes a tabu search. + +Definition at line 50 of file moTS.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moTS@{moTS}!moTS@{moTS}} +\index{moTS@{moTS}!moTS@{moTS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moTS}$<$ M $>$::{\bf moTS} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-move\_\-initializer}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-next\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moTabuList}$<$ M $>$ \& {\em \_\-tabu\_\-list}, {\bf moAspirCrit}$<$ M $>$ \& {\em \_\-aspiration\_\-criterion}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-continue}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_336408ddf8b7a29ffa8e01e9c18d8e10} + + +Constructor of a \doxyref{moTS}{p.}{classmo_t_s} specifying all the boxes. + +In this constructor, a \doxyref{moTSMoveLoopExpl}{p.}{classmo_t_s_move_loop_expl} is instanciated. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\_\-initializer}]The move initializer. \item[{\em \_\-next\_\-move\_\-generator}]The neighbourhood explorer. \item[{\em \_\-incremental\_\-evaluation}]The (generally) efficient evaluation. \item[{\em \_\-tabu\_\-list}]The tabu list. \item[{\em \_\-aspiration\_\-criterion}]An aspiration criterion. \item[{\em \_\-continue}]The stopping criterion. \item[{\em \_\-full\_\-evaluation}]A full evaluation function. \end{description} +\end{Desc} + + +Definition at line 72 of file moTS.h.\index{moTS@{moTS}!moTS@{moTS}} +\index{moTS@{moTS}!moTS@{moTS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moTS}$<$ M $>$::{\bf moTS} ({\bf moMoveExpl}$<$ M $>$ \& {\em \_\-move\_\-explorer}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-continue}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-full\_\-evaluation})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_7e435fac1b8d5a410b7374d114e005e2} + + +Constructor with less parameters. + +The explorer is given in the parameters. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\_\-explorer}]The explorer (generally different that a \doxyref{moTSMoveLoopExpl}{p.}{classmo_t_s_move_loop_expl}). \item[{\em \_\-continue}]The stopping criterion. \item[{\em \_\-full\_\-evaluation}]A full evaluation function. \end{description} +\end{Desc} + + +Definition at line 89 of file moTS.h. + +\subsection{Member Function Documentation} +\index{moTS@{moTS}!operator()@{operator()}} +\index{operator()@{operator()}!moTS@{moTS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moTS}$<$ M $>$::operator() ({\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_t_s_2a011779723e24a5132a37593775bf56} + + +{\bf Function} which launchs the Tabu Search. + +Algorithm of the tabu search. As a \doxyref{moSA}{p.}{classmo_s_a} or a \doxyref{moHC}{p.}{classmo_h_c}, it can be used for HYBRIDATION in an evolutionary algorithm. For security a lock (pthread\_\-mutex\_\-t) is closed during the algorithm. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-solution}]a solution to improve. \end{description} +\end{Desc} +\begin{Desc} +\item[Returns:]TRUE. \end{Desc} + + +Implements {\bf eoUF$<$ M::EOType \&, bool $>$}. + +Definition at line 102 of file moTS.h. + +References moTS$<$ M $>$::continu, moTS$<$ M $>$::full\_\-evaluation, and moTS$<$ M $>$::move\_\-explorer. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moTS.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_t_s_move_loop_expl.eps b/trunk/paradiseo-mo/doc/latex/classmo_t_s_move_loop_expl.eps new file mode 100644 index 000000000..fd31fc02a --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_t_s_move_loop_expl.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 327.869 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.525 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moTSMoveLoopExpl< M >) cw +(moMoveLoopExpl< M >) cw +(moMoveExpl< M >) cw +(eoBF< const M::EOType &, M::EOType &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moTSMoveLoopExpl< M >) 0 0 box + (moMoveLoopExpl< M >) 0 1 box + (moMoveExpl< M >) 0 2 box + (eoBF< const M::EOType &, M::EOType &, void >) 0 3 box + (eoFunctorBase) 0 4 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 0 4 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_t_s_move_loop_expl.tex b/trunk/paradiseo-mo/doc/latex/classmo_t_s_move_loop_expl.tex new file mode 100644 index 000000000..3b32dfa1c --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_t_s_move_loop_expl.tex @@ -0,0 +1,106 @@ +\section{moTSMoveLoopExpl$<$ M $>$ Class Template Reference} +\label{classmo_t_s_move_loop_expl}\index{moTSMoveLoopExpl@{moTSMoveLoopExpl}} +Explorer for a Tabu Search algorithm. + + +{\tt \#include $<$moTSMoveLoopExpl.h$>$} + +Inheritance diagram for moTSMoveLoopExpl$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmo_t_s_move_loop_expl} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moTSMoveLoopExpl} ({\bf moMoveInit}$<$ M $>$ \&\_\-move\_\-initializer, {\bf moNextMove}$<$ M $>$ \&\_\-next\_\-move\_\-generator, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-incremental\_\-evaluation, {\bf moTabuList}$<$ M $>$ \&\_\-tabu\_\-list, {\bf moAspirCrit}$<$ M $>$ \&\_\-aspiration\_\-criterion) +\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item +void {\bf operator()} (const {\bf EOT} \&\_\-old\_\-solution, {\bf EOT} \&\_\-new\_\-solution) +\begin{CompactList}\small\item\em Procedure which lauches the exploration. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_t_s_move_loop_expl_47f42225e2ed096374b818bdb848a527} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item +typedef M::EOType::Fitness {\bf Fitness}\label{classmo_t_s_move_loop_expl_a1ba36c937b195ca2f7d1a24adaa7018} + +\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moMoveInit}$<$ M $>$ \& {\bf move\_\-initializer}\label{classmo_t_s_move_loop_expl_cd680d22382b9941d2c34133a641d443} + +\begin{CompactList}\small\item\em Move initialisation. \item\end{CompactList}\item +{\bf moNextMove}$<$ M $>$ \& {\bf next\_\-move\_\-generator}\label{classmo_t_s_move_loop_expl_a2bbb593af2beefb05a307277c22b3d5} + +\begin{CompactList}\small\item\em Neighborhood explorer. \item\end{CompactList}\item +{\bf moMoveIncrEval}$<$ M $>$ \& {\bf incremental\_\-evaluation}\label{classmo_t_s_move_loop_expl_491fa46e1cb7935cb515b27b85bf8765} + +\begin{CompactList}\small\item\em Efficient evaluation. \item\end{CompactList}\item +{\bf moBestImprSelect}$<$ M $>$ {\bf move\_\-selection}\label{classmo_t_s_move_loop_expl_1caa6939fbe65ec4255e9e6dc3ce333b} + +\begin{CompactList}\small\item\em Move selector. \item\end{CompactList}\item +{\bf moTabuList}$<$ M $>$ \& {\bf tabu\_\-list}\label{classmo_t_s_move_loop_expl_0e5988a940ba218e87c53b7e56d79790} + +\begin{CompactList}\small\item\em Tabu list. \item\end{CompactList}\item +{\bf moAspirCrit}$<$ M $>$ \& {\bf aspiration\_\-criterion}\label{classmo_t_s_move_loop_expl_bdfc8efb22599c150b3c3d44cd416b09} + +\begin{CompactList}\small\item\em Aspiration criterion. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moTSMoveLoopExpl$<$ M $>$} + +Explorer for a Tabu Search algorithm. + +It is used by a \doxyref{moTS}{p.}{classmo_t_s}. + +Definition at line 53 of file moTSMoveLoopExpl.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moTSMoveLoopExpl@{moTSMoveLoopExpl}!moTSMoveLoopExpl@{moTSMoveLoopExpl}} +\index{moTSMoveLoopExpl@{moTSMoveLoopExpl}!moTSMoveLoopExpl@{moTSMoveLoopExpl}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moTSMoveLoopExpl}$<$ M $>$::{\bf moTSMoveLoopExpl} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-move\_\-initializer}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-next\_\-move\_\-generator}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-incremental\_\-evaluation}, {\bf moTabuList}$<$ M $>$ \& {\em \_\-tabu\_\-list}, {\bf moAspirCrit}$<$ M $>$ \& {\em \_\-aspiration\_\-criterion})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_move_loop_expl_be5cf0853777718c3bbcbef456b50bc7} + + +Constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\_\-initializer}]The move initializer. \item[{\em \_\-next\_\-move\_\-generator}]The neighbourhood explorer. \item[{\em \_\-incremental\_\-evaluation}]A (generally) efficient evaluation. \item[{\em \_\-tabu\_\-list}]The tabu list. \item[{\em \_\-aspiration\_\-criterion}]An aspiration criterion. \end{description} +\end{Desc} + + +Definition at line 71 of file moTSMoveLoopExpl.h. + +References moTSMoveLoopExpl$<$ M $>$::aspiration\_\-criterion, and moTSMoveLoopExpl$<$ M $>$::tabu\_\-list. + +\subsection{Member Function Documentation} +\index{moTSMoveLoopExpl@{moTSMoveLoopExpl}!operator()@{operator()}} +\index{operator()@{operator()}!moTSMoveLoopExpl@{moTSMoveLoopExpl}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moTSMoveLoopExpl}$<$ M $>$::operator() (const {\bf EOT} \& {\em \_\-old\_\-solution}, {\bf EOT} \& {\em \_\-new\_\-solution})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_t_s_move_loop_expl_853743f2e21def3ea129556f47fafa55} + + +Procedure which lauches the exploration. + +The exploration continues while the chosen move is not in the tabu list or the aspiration criterion is true. If these 2 conditions are not true, the exploration stops if the move selector update function returns false. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-old\_\-solution}]the initial solution \item[{\em \_\-new\_\-solution}]the new solution \end{description} +\end{Desc} + + +Implements {\bf eoBF$<$ const M::EOType \&, M::EOType \&, void $>$}. + +Definition at line 90 of file moTSMoveLoopExpl.h. + +References moTSMoveLoopExpl$<$ M $>$::aspiration\_\-criterion, moTSMoveLoopExpl$<$ M $>$::incremental\_\-evaluation, moTSMoveLoopExpl$<$ M $>$::move\_\-initializer, moTSMoveLoopExpl$<$ M $>$::move\_\-selection, moTSMoveLoopExpl$<$ M $>$::next\_\-move\_\-generator, and moTSMoveLoopExpl$<$ M $>$::tabu\_\-list. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moTSMoveLoopExpl.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/classmo_tabu_list.eps b/trunk/paradiseo-mo/doc/latex/classmo_tabu_list.eps new file mode 100644 index 000000000..43c125a8a --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_tabu_list.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 200 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.5 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moTabuList< M >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moSimpleMoveTabuList< M >) cw +(moSimpleSolutionTabuList< M >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moTabuList< M >) 0.5 1 box + (eoBF< A1, A2, R >) 0.5 2 box + (eoFunctorBase) 0.5 3 box + (moSimpleMoveTabuList< M >) 0 0 box + (moSimpleSolutionTabuList< M >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-mo/doc/latex/classmo_tabu_list.tex b/trunk/paradiseo-mo/doc/latex/classmo_tabu_list.tex new file mode 100644 index 000000000..b940647c0 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/classmo_tabu_list.tex @@ -0,0 +1,79 @@ +\section{moTabuList$<$ M $>$ Class Template Reference} +\label{classmo_tabu_list}\index{moTabuList@{moTabuList}} +Class describing a tabu list that a \doxyref{moTS}{p.}{classmo_t_s} uses. + + +{\tt \#include $<$moTabuList.h$>$} + +Inheritance diagram for moTabuList$<$ M $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmo_tabu_list} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef M::EOType {\bf EOT}\label{classmo_tabu_list_e219715cc3fdd5626764bc50ce6357df} + +\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual void {\bf add} (const M \&\_\-move, const {\bf EOT} \&\_\-solution)=0 +\begin{CompactList}\small\item\em Procedure to add a move in the tabu list. \item\end{CompactList}\item +virtual void {\bf update} ()=0 +\begin{CompactList}\small\item\em Procedure that updates the tabu list content. \item\end{CompactList}\item +virtual void {\bf init} ()=0 +\begin{CompactList}\small\item\em Procedure which initialises the tabu list. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class M$>$ class moTabuList$<$ M $>$} + +Class describing a tabu list that a \doxyref{moTS}{p.}{classmo_t_s} uses. + +It is only a description, does nothing... A new object that herits from this class has to be defined in order to be used in a \doxyref{moTS}{p.}{classmo_t_s}. + +Definition at line 46 of file moTabuList.h. + +\subsection{Member Function Documentation} +\index{moTabuList@{moTabuList}!add@{add}} +\index{add@{add}!moTabuList@{moTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void {\bf moTabuList}$<$ M $>$::add (const M \& {\em \_\-move}, const {\bf EOT} \& {\em \_\-solution})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_tabu_list_55204939b6d67b6d37b4af725d70cf6d} + + +Procedure to add a move in the tabu list. + +The two parameters have not to be modified so they are constant parameters. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move}]a new tabu move. \item[{\em \_\-solution}]the origianl solution associated to this move. \end{description} +\end{Desc} + + +Implemented in {\bf moSimpleMoveTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_move_tabu_list_e6c0835fbfab2bdc63097cf2fd5328aa}, and {\bf moSimpleSolutionTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_solution_tabu_list_58ae13e7642c429ea51ff679a932aceb}.\index{moTabuList@{moTabuList}!update@{update}} +\index{update@{update}!moTabuList@{moTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void {\bf moTabuList}$<$ M $>$::update ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_tabu_list_a2e5d1132f064093c8ed57046405f5ca} + + +Procedure that updates the tabu list content. + +Generally, a counter associated to each saved move is decreased by one. + +Implemented in {\bf moSimpleMoveTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_move_tabu_list_96cffc8118456ed762b07b9fc0e0679f}, and {\bf moSimpleSolutionTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_solution_tabu_list_91b8b01dba7ffea8b63765d931e56f56}.\index{moTabuList@{moTabuList}!init@{init}} +\index{init@{init}!moTabuList@{moTabuList}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void {\bf moTabuList}$<$ M $>$::init ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_tabu_list_0a06c459d56e8e2b408a8f3c6aec4e57} + + +Procedure which initialises the tabu list. + +Can be useful if the data structure needs to be allocated before being used. + +Implemented in {\bf moSimpleMoveTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_move_tabu_list_b91ae9971be30769757d1ad92c6009dc}, and {\bf moSimpleSolutionTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_solution_tabu_list_d5645c39fec71a6110a2cbccbb08b816}. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moTabuList.h\end{CompactItemize} diff --git a/trunk/paradiseo-mo/doc/latex/doxygen.sty b/trunk/paradiseo-mo/doc/latex/doxygen.sty new file mode 100644 index 000000000..edd2bec40 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/doxygen.sty @@ -0,0 +1,78 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} +\RequirePackage{calc} +\RequirePackage{array} +\pagestyle{fancyplain} +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} +\renewcommand{\chaptermark}[1]{\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +\lhead[\fancyplain{}{\bfseries\thepage}] + {\fancyplain{}{\bfseries\rightmark}} +\rhead[\fancyplain{}{\bfseries\leftmark}] + {\fancyplain{}{\bfseries\thepage}} +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Tue Jan 15 17:04:25 2008 for ParadisEO-MOMovingObjects by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Jan 15 17:04:25 2008 for ParadisEO-MOMovingObjects by Doxygen }} +\cfoot{} +\newenvironment{Code} +{\footnotesize} +{\normalsize} +\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})} +\newenvironment{DocInclude} +{\footnotesize} +{\normalsize} +\newenvironment{VerbInclude} +{\footnotesize} +{\normalsize} +\newenvironment{Image} +{\begin{figure}[H]} +{\end{figure}} +\newenvironment{ImageNoCaption}{}{} +\newenvironment{CompactList} +{\begin{list}{}{ + \setlength{\leftmargin}{0.5cm} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \renewcommand{\makelabel}{\hfill}}} +{\end{list}} +\newenvironment{CompactItemize} +{ + \begin{itemize} + \setlength{\itemsep}{-3pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \setlength{\partopsep}{0pt} +} +{\end{itemize}} +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} +\newlength{\tmplength} +\newenvironment{TabularC}[1] +{ +\setlength{\tmplength} + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} + \par\begin{tabular*}{\linewidth} + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} +} +{\end{tabular*}\par} +\newcommand{\entrylabel}[1]{ + {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}} +\newenvironment{Desc} +{\begin{list}{} + { + \settowidth{\labelwidth}{40pt} + \setlength{\leftmargin}{\labelwidth} + \setlength{\parsep}{0pt} + \setlength{\itemsep}{-4pt} + \renewcommand{\makelabel}{\entrylabel} + } +} +{\end{list}} +\newenvironment{Indent} + {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} + \item[]\ignorespaces} + {\unskip\end{list}} +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.2cm} +\addtocounter{secnumdepth}{1} +\sloppy +\usepackage[T1]{fontenc} diff --git a/trunk/paradiseo-mo/doc/latex/hierarchy.tex b/trunk/paradiseo-mo/doc/latex/hierarchy.tex new file mode 100644 index 000000000..6f4fa3033 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/hierarchy.tex @@ -0,0 +1,81 @@ +\section{ParadisEO-MOMovingObjects Class Hierarchy} +This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} +\item eoFunctorBase{\tt [external]}\begin{CompactList} +\item eoBF$<$ A1, A2, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moAspirCrit$<$ M $>$}{\pageref{classmo_aspir_crit}}{} +\begin{CompactList} +\item \contentsline{section}{moImprBestFitAspirCrit$<$ M $>$}{\pageref{classmo_impr_best_fit_aspir_crit}}{} +\item \contentsline{section}{moNoAspirCrit$<$ M $>$}{\pageref{classmo_no_aspir_crit}}{} +\end{CompactList} +\item \contentsline{section}{moComparator$<$ EOT $>$}{\pageref{classmo_comparator}}{} +\begin{CompactList} +\item \contentsline{section}{moFitComparator$<$ EOT $>$}{\pageref{classmo_fit_comparator}}{} +\end{CompactList} +\item \contentsline{section}{moLSCheckPoint$<$ M $>$}{\pageref{classmo_l_s_check_point}}{} +\item \contentsline{section}{moMoveIncrEval$<$ M $>$}{\pageref{classmo_move_incr_eval}}{} +\item \contentsline{section}{moMoveInit$<$ M $>$}{\pageref{classmo_move_init}}{} +\item \contentsline{section}{moNextMove$<$ M $>$}{\pageref{classmo_next_move}}{} +\begin{CompactList} +\item \contentsline{section}{moItRandNextMove$<$ M $>$}{\pageref{classmo_it_rand_next_move}}{} +\end{CompactList} +\item \contentsline{section}{moTabuList$<$ M $>$}{\pageref{classmo_tabu_list}}{} +\begin{CompactList} +\item \contentsline{section}{moSimpleMoveTabuList$<$ M $>$}{\pageref{classmo_simple_move_tabu_list}}{} +\item \contentsline{section}{moSimpleSolutionTabuList$<$ M $>$}{\pageref{classmo_simple_solution_tabu_list}}{} +\end{CompactList} +\end{CompactList} +\item eoBF$<$ const M::EOType \&, M::EOType \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moMoveExpl$<$ M $>$}{\pageref{classmo_move_expl}}{} +\begin{CompactList} +\item \contentsline{section}{moMoveLoopExpl$<$ M $>$}{\pageref{classmo_move_loop_expl}}{} +\begin{CompactList} +\item \contentsline{section}{moHCMoveLoopExpl$<$ M $>$}{\pageref{classmo_h_c_move_loop_expl}}{} +\item \contentsline{section}{moTSMoveLoopExpl$<$ M $>$}{\pageref{classmo_t_s_move_loop_expl}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eoBF$<$ M \&, M::EOType::Fitness \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moMoveSelect$<$ M $>$}{\pageref{classmo_move_select}}{} +\begin{CompactList} +\item \contentsline{section}{moBestImprSelect$<$ M $>$}{\pageref{classmo_best_impr_select}}{} +\item \contentsline{section}{moFirstImprSelect$<$ M $>$}{\pageref{classmo_first_impr_select}}{} +\item \contentsline{section}{moRandImprSelect$<$ M $>$}{\pageref{classmo_rand_impr_select}}{} +\end{CompactList} +\end{CompactList} +\item eoUF$<$ const EOT \&, bool $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moSolContinue$<$ EOT $>$}{\pageref{classmo_sol_continue}}{} +\begin{CompactList} +\item \contentsline{section}{moFitSolContinue$<$ EOT $>$}{\pageref{classmo_fit_sol_continue}}{} +\item \contentsline{section}{moGenSolContinue$<$ EOT $>$}{\pageref{classmo_gen_sol_continue}}{} +\item \contentsline{section}{moNoFitImprSolContinue$<$ EOT $>$}{\pageref{classmo_no_fit_impr_sol_continue}}{} +\item \contentsline{section}{moSteadyFitSolContinue$<$ EOT $>$}{\pageref{classmo_steady_fit_sol_continue}}{} +\end{CompactList} +\end{CompactList} +\item eoUF$<$ double \&, bool $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moCoolingSchedule}{\pageref{classmo_cooling_schedule}}{} +\begin{CompactList} +\item \contentsline{section}{moExponentialCoolingSchedule}{\pageref{classmo_exponential_cooling_schedule}}{} +\item \contentsline{section}{moLinearCoolingSchedule}{\pageref{classmo_linear_cooling_schedule}}{} +\end{CompactList} +\end{CompactList} +\item eoUF$<$ EOT \&, bool $>${\tt [external]}\begin{CompactList} +\item eoMonOp$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moAlgo$<$ EOT $>$}{\pageref{classmo_algo}}{} +\end{CompactList} +\end{CompactList} +\item eoUF$<$ EOT \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moMove$<$ EOT $>$}{\pageref{classmo_move}}{} +\end{CompactList} +\item eoUF$<$ EOType \&, bool $>${\tt [external]}\item eoUF$<$ M \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moRandMove$<$ M $>$}{\pageref{classmo_rand_move}}{} +\end{CompactList} +\item eoUF$<$ M::EOType \&, bool $>${\tt [external]}\begin{CompactList} +\item eoMonOp$<$ M::EOType $>${\tt [external]}\end{CompactList} +\end{CompactList} +\item eoOp$<$ EOType $>${\tt [external]}\begin{CompactList} +\item eoMonOp$<$ EOT $>${\tt [external]}\item eoMonOp$<$ M::EOType $>${\tt [external]}\end{CompactList} +\item \contentsline{section}{moHC$<$ M $>$}{\pageref{classmo_h_c}}{} +\item \contentsline{section}{moILS$<$ M $>$}{\pageref{classmo_i_l_s}}{} +\item \contentsline{section}{moSA$<$ M $>$}{\pageref{classmo_s_a}}{} +\item \contentsline{section}{moTS$<$ M $>$}{\pageref{classmo_t_s}}{} +\end{CompactList} diff --git a/trunk/paradiseo-mo/doc/latex/main.tex b/trunk/paradiseo-mo/doc/latex/main.tex new file mode 100644 index 000000000..d5e5ec254 --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/main.tex @@ -0,0 +1,18 @@ +\section{Introduction}\label{main_Introduction} +MO is an extension of the ANSI-C++ compliant evolutionary computation library {\bf EO}. \par + It contains classes for almost any kind of one solution based heuristics.\section{AUTHORS}\label{main_authors} +\begin{TabularC}{1} +\hline +Sebastien CAHON \\\hline +{\tt Jean-Charles BOISSON} \\\hline +\end{TabularC} +\section{LICENSE}\label{main_LICENSE} +This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL license as circulated by CEA, CNRS and INRIA at the following URL \char`\"{}http://www.cecill.info\char`\"{}. + +As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability. + +In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms. + +ParadisEO WebSite : {\tt http://paradiseo.gforge.inria.fr} Contact: {\tt paradiseo-help@lists.gforge.inria.fr}\section{Home Page}\label{main_Paradiseo} +{\tt http://paradiseo.gforge.inria.fr}\section{Installation}\label{main_Installation} +The installation procedure of the package is detailed in the {\tt README} file in the top-directory of the source-tree. \ No newline at end of file diff --git a/trunk/paradiseo-mo/doc/latex/refman.tex b/trunk/paradiseo-mo/doc/latex/refman.tex new file mode 100644 index 000000000..ac20a661f --- /dev/null +++ b/trunk/paradiseo-mo/doc/latex/refman.tex @@ -0,0 +1,75 @@ +\documentclass[a4paper]{book} +\usepackage{a4wide} +\usepackage{makeidx} +\usepackage{fancyhdr} +\usepackage{graphicx} +\usepackage{multicol} +\usepackage{float} +\usepackage{textcomp} +\usepackage{alltt} +\usepackage[utf8]{inputenc} +\usepackage{doxygen} +\makeindex +\setcounter{tocdepth}{1} +\renewcommand{\footrulewidth}{0.4pt} +\begin{document} +\begin{titlepage} +\vspace*{7cm} +\begin{center} +{\Large ParadisEO-MOMovingObjects Reference Manual\\[1ex]\large 1.0 }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.5.4}\\ +\vspace*{0.5cm} +{\small Tue Jan 15 17:04:25 2008}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\chapter{Welcome to PARADISEO-Moving Objects } +\label{index}\input{main} +\chapter{ParadisEO-MOMovingObjects Hierarchical Index} +\input{hierarchy} +\chapter{ParadisEO-MOMovingObjects Class Index} +\input{annotated} +\chapter{ParadisEO-MOMovingObjects Class Documentation} +\input{classmo_algo} +\include{classmo_aspir_crit} +\include{classmo_best_impr_select} +\include{classmo_comparator} +\include{classmo_cooling_schedule} +\include{classmo_exponential_cooling_schedule} +\include{classmo_first_impr_select} +\include{classmo_fit_comparator} +\include{classmo_fit_sol_continue} +\include{classmo_gen_sol_continue} +\include{classmo_h_c} +\include{classmo_h_c_move_loop_expl} +\include{classmo_i_l_s} +\include{classmo_impr_best_fit_aspir_crit} +\include{classmo_it_rand_next_move} +\include{classmo_linear_cooling_schedule} +\include{classmo_l_s_check_point} +\include{classmo_move} +\include{classmo_move_expl} +\include{classmo_move_incr_eval} +\include{classmo_move_init} +\include{classmo_move_loop_expl} +\include{classmo_move_select} +\include{classmo_next_move} +\include{classmo_no_aspir_crit} +\include{classmo_no_fit_impr_sol_continue} +\include{classmo_rand_impr_select} +\include{classmo_rand_move} +\include{classmo_s_a} +\include{classmo_simple_move_tabu_list} +\include{classmo_simple_solution_tabu_list} +\include{classmo_sol_continue} +\include{classmo_steady_fit_sol_continue} +\include{classmo_tabu_list} +\include{classmo_t_s} +\include{classmo_t_s_move_loop_expl} +\printindex +\end{document} diff --git a/trunk/paradiseo-mo/doc/man/man3/moAlgo.3 b/trunk/paradiseo-mo/doc/man/man3/moAlgo.3 new file mode 100644 index 000000000..085ebf655 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moAlgo.3 @@ -0,0 +1,27 @@ +.TH "moAlgo" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moAlgo \- Description of an algorithm of the paradiseo-mo library. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoMonOp< EOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moAlgo< EOT >" +Description of an algorithm of the paradiseo-mo library. + +\fBmoHC\fP, \fBmoTS\fP and \fBmoSA\fP are 3 examples of algorithm of the paradiseo-mo library. +.PP +Definition at line 46 of file moAlgo.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moAspirCrit.3 b/trunk/paradiseo-mo/doc/man/man3/moAspirCrit.3 new file mode 100644 index 000000000..4cdd7e32b --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moAspirCrit.3 @@ -0,0 +1,46 @@ +.TH "moAspirCrit" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moAspirCrit \- Description of the conditions in which a tabu move could be accepted. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const M &, M::EOType::Fitness &, bool >\fP. +.PP +Inherited by \fBmoImprBestFitAspirCrit< M >\fP, and \fBmoNoAspirCrit< M >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBinit\fP ()=0" +.br +.RI "\fIProcedure which initialises all that needs an aspiration criterion. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moAspirCrit< M >" +Description of the conditions in which a tabu move could be accepted. + +It is only a description... An object that herits from this class is needed to be used in a \fBmoTS\fP. See moNoAspriCrit for example. +.PP +Definition at line 47 of file moAspirCrit.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoAspirCrit\fP< M >::init ()\fC [pure virtual]\fP" +.PP +Procedure which initialises all that needs an aspiration criterion. +.PP +It can be possible that this procedure does nothing... +.PP +Implemented in \fBmoImprBestFitAspirCrit< M >\fP, and \fBmoNoAspirCrit< M >\fP. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moBestImprSelect.3 b/trunk/paradiseo-mo/doc/man/man3/moBestImprSelect.3 new file mode 100644 index 000000000..d57510d4c --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moBestImprSelect.3 @@ -0,0 +1,128 @@ +.TH "moBestImprSelect" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moBestImprSelect \- One of the possible \fBmoMoveSelect\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoMoveSelect< M >< M >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBinit\fP (const \fBFitness\fP &_fitness)" +.br +.RI "\fIProcedure which initialise the exploration. \fP" +.ti -1c +.RI "bool \fBupdate\fP (const M &_move, const \fBFitness\fP &_fitness)" +.br +.RI "\fI\fBFunction\fP that indicates if the current move has not improved the fitness. \fP" +.ti -1c +.RI "void \fBoperator()\fP (M &_move, \fBFitness\fP &_fitness)" +.br +.RI "\fIProcedure which saved the best move and fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "bool \fBfirst_time\fP" +.br +.RI "\fIAllowing to know if at least one move has been generated. \fP" +.ti -1c +.RI "M \fBbest_move\fP" +.br +.RI "\fIThe best move. \fP" +.ti -1c +.RI "\fBFitness\fP \fBbest_fitness\fP" +.br +.RI "\fIThe best fitness. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moBestImprSelect< M >" +One of the possible \fBmoMoveSelect\fP. + +All neighbors are considered, and the movement which enables the best improvement is selected. +.PP +Definition at line 47 of file moBestImprSelect.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoBestImprSelect\fP< M >::init (const \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +Procedure which initialise the exploration. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitness\fP The current fitness. +.RE +.PP + +.PP +Implements \fBmoMoveSelect< M >\fP. +.PP +Definition at line 58 of file moBestImprSelect.h. +.PP +References moBestImprSelect< M >::first_time. +.SS "template bool \fBmoBestImprSelect\fP< M >::update (const M & _move, const \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP that indicates if the current move has not improved the fitness. +.PP +If the given fitness enables an improvment, the move (\fBmoMove\fP) and the fitness linked to this move are saved. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a move. +.br +\fI_fitness\fP a fitness linked to the move. +.RE +.PP +\fBReturns:\fP +.RS 4 +TRUE if the move does not improve the fitness. +.RE +.PP + +.PP +Implements \fBmoMoveSelect< M >\fP. +.PP +Definition at line 76 of file moBestImprSelect.h. +.PP +References moBestImprSelect< M >::best_fitness, moBestImprSelect< M >::best_move, and moBestImprSelect< M >::first_time. +.SS "template void \fBmoBestImprSelect\fP< M >::operator() (M & _move, \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +Procedure which saved the best move and fitness. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP the current move (result of the procedure). +.br +\fI_fitness\fP the current fitness (result of the procedure). +.RE +.PP + +.PP +Implements \fBeoBF< M &, M::EOType::Fitness &, void >\fP. +.PP +Definition at line 94 of file moBestImprSelect.h. +.PP +References moBestImprSelect< M >::best_fitness, moBestImprSelect< M >::best_move, and moBestImprSelect< M >::first_time. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moComparator.3 b/trunk/paradiseo-mo/doc/man/man3/moComparator.3 new file mode 100644 index 000000000..1e28b0be2 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moComparator.3 @@ -0,0 +1,29 @@ +.TH "moComparator" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moComparator \- Template for classes which need to compare two EOT and indicate if the first is 'better' than the second. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const EOT &, EOT &, bool >\fP. +.PP +Inherited by \fBmoFitComparator< EOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moComparator< EOT >" +Template for classes which need to compare two EOT and indicate if the first is 'better' than the second. + +The objects that extend this template describe how an EOT is 'better' than an other. +.PP +Definition at line 45 of file moComparator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moCoolingSchedule.3 b/trunk/paradiseo-mo/doc/man/man3/moCoolingSchedule.3 new file mode 100644 index 000000000..8d9cb85a0 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moCoolingSchedule.3 @@ -0,0 +1,27 @@ +.TH "moCoolingSchedule" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moCoolingSchedule \- This class gives the description of a cooling schedule. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< double &, bool >\fP. +.PP +Inherited by \fBmoExponentialCoolingSchedule\fP, and \fBmoLinearCoolingSchedule\fP. +.PP +.SH "Detailed Description" +.PP +This class gives the description of a cooling schedule. + +It is only a description... An object that herits from this class is needed to be used in a \fBmoSA\fP. See \fBmoExponentialCoolingSchedule\fP or \fBmoLinearCoolingSchedule\fP for example. +.PP +Definition at line 46 of file moCoolingSchedule.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moExponentialCoolingSchedule.3 b/trunk/paradiseo-mo/doc/man/man3/moExponentialCoolingSchedule.3 new file mode 100644 index 000000000..fde02a2b3 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moExponentialCoolingSchedule.3 @@ -0,0 +1,90 @@ +.TH "moExponentialCoolingSchedule" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moExponentialCoolingSchedule \- One of the possible \fBmoCoolingSchedule\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoCoolingSchedule\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoExponentialCoolingSchedule\fP (double _threshold, double _ratio)" +.br +.RI "\fISimple constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (double &_temperature)" +.br +.RI "\fI\fBFunction\fP which proceeds to the cooling. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBthreshold\fP" +.br +.RI "\fIThe temperature threhold. \fP" +.ti -1c +.RI "double \fBratio\fP" +.br +.RI "\fIThe decreasing factor of the temperature. \fP" +.in -1c +.SH "Detailed Description" +.PP +One of the possible \fBmoCoolingSchedule\fP. + +An other very simple cooling schedule, the temperature decrease according to a ratio while the temperature is greater than a given threshold. +.PP +Definition at line 46 of file moExponentialCoolingSchedule.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "moExponentialCoolingSchedule::moExponentialCoolingSchedule (double _threshold, double _ratio)\fC [inline]\fP" +.PP +Simple constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_threshold\fP the threshold. +.br +\fI_ratio\fP the ratio used to descrease the temperature. +.RE +.PP + +.PP +Definition at line 55 of file moExponentialCoolingSchedule.h. +.SH "Member Function Documentation" +.PP +.SS "bool moExponentialCoolingSchedule::operator() (double & _temperature)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP which proceeds to the cooling. +.PP +It decreases the temperature and indicates if it is greater than the threshold. +.PP +\fBParameters:\fP +.RS 4 +\fI_temperature\fP the current temperature. +.RE +.PP +\fBReturns:\fP +.RS 4 +if the new temperature (current temperature * ratio) is greater than the threshold. +.RE +.PP + +.PP +Implements \fBeoUF< double &, bool >\fP. +.PP +Definition at line 65 of file moExponentialCoolingSchedule.h. +.PP +References ratio, and threshold. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moFirstImprSelect.3 b/trunk/paradiseo-mo/doc/man/man3/moFirstImprSelect.3 new file mode 100644 index 000000000..bd6406606 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moFirstImprSelect.3 @@ -0,0 +1,134 @@ +.TH "moFirstImprSelect" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moFirstImprSelect \- One possible \fBmoMoveSelect\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoMoveSelect< M >< M >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBinit\fP (const \fBFitness\fP &_fitness)" +.br +.RI "\fIProcedure which initialise the exploration. \fP" +.ti -1c +.RI "bool \fBupdate\fP (const M &_move, const \fBFitness\fP &_fitness)" +.br +.RI "\fI\fBFunction\fP that indicates if the current move has not improved the fitness. \fP" +.ti -1c +.RI "void \fBoperator()\fP (M &_move, \fBFitness\fP &_fitness)" +.br +.RI "\fIProcedure which saved the best move and fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "bool \fBvalid\fP" +.br +.RI "\fIAllow to know if at least one move has improved the solution. \fP" +.ti -1c +.RI "M \fBbest_move\fP" +.br +.RI "\fIBest stored movement. \fP" +.ti -1c +.RI "\fBFitness\fP \fBinitial_fitness\fP" +.br +.RI "\fIInitial fitness. \fP" +.ti -1c +.RI "\fBFitness\fP \fBbest_fitness\fP" +.br +.RI "\fIBest stored fitness. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moFirstImprSelect< M >" +One possible \fBmoMoveSelect\fP. + +The neighborhood is explored until a move enables an improvment of the current solution. +.PP +Definition at line 48 of file moFirstImprSelect.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoFirstImprSelect\fP< M >::init (const \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +Procedure which initialise the exploration. +.PP +It save the current fitness as the initial value for the fitness. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitness\fP The current fitness. +.RE +.PP + +.PP +Implements \fBmoMoveSelect< M >\fP. +.PP +Definition at line 60 of file moFirstImprSelect.h. +.PP +References moFirstImprSelect< M >::initial_fitness, and moFirstImprSelect< M >::valid. +.SS "template bool \fBmoFirstImprSelect\fP< M >::update (const M & _move, const \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP that indicates if the current move has not improved the fitness. +.PP +If the given fitness enables an improvment, the move (\fBmoMove\fP) should be applied to the current solution. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a move. +.br +\fI_fitness\fP a fitness linked to the move. +.RE +.PP +\fBReturns:\fP +.RS 4 +true if the move does not improve the fitness. +.RE +.PP + +.PP +Implements \fBmoMoveSelect< M >\fP. +.PP +Definition at line 75 of file moFirstImprSelect.h. +.PP +References moFirstImprSelect< M >::best_fitness, moFirstImprSelect< M >::best_move, moFirstImprSelect< M >::initial_fitness, and moFirstImprSelect< M >::valid. +.SS "template void \fBmoFirstImprSelect\fP< M >::operator() (M & _move, \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +Procedure which saved the best move and fitness. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP the current move (result of the procedure). +.br +\fI_fitness\fP the current fitness (result of the procedure). +.RE +.PP + +.PP +Implements \fBeoBF< M &, M::EOType::Fitness &, void >\fP. +.PP +Definition at line 96 of file moFirstImprSelect.h. +.PP +References moFirstImprSelect< M >::best_fitness, moFirstImprSelect< M >::best_move, and moFirstImprSelect< M >::valid. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moFitComparator.3 b/trunk/paradiseo-mo/doc/man/man3/moFitComparator.3 new file mode 100644 index 000000000..b76f5711a --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moFitComparator.3 @@ -0,0 +1,56 @@ +.TH "moFitComparator" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moFitComparator \- Comparison according to the fitness. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoComparator< EOT >< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "bool \fBoperator()\fP (const EOT &_solution1, const EOT &_solution2)" +.br +.RI "\fI\fBFunction\fP which makes the comparison and gives the result. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moFitComparator< EOT >" +Comparison according to the fitness. + +An EOT is better than an other if its fitness is better. +.PP +Definition at line 46 of file moFitComparator.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoFitComparator\fP< EOT >::operator() (const EOT & _solution1, const EOT & _solution2)\fC [inline]\fP" +.PP +\fBFunction\fP which makes the comparison and gives the result. +.PP +\fBParameters:\fP +.RS 4 +\fI_solution1\fP The first solution. +.br +\fI_solution2\fP The second solution. +.RE +.PP +\fBReturns:\fP +.RS 4 +true if the fitness of the first solution is better than the second solution, false else. +.RE +.PP + +.PP +Definition at line 56 of file moFitComparator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moFitSolContinue.3 b/trunk/paradiseo-mo/doc/man/man3/moFitSolContinue.3 new file mode 100644 index 000000000..8da9fe765 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moFitSolContinue.3 @@ -0,0 +1,107 @@ +.TH "moFitSolContinue" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moFitSolContinue \- One possible stop criterion for a solution-based heuristic. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoSolContinue< EOT >< EOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoFitSolContinue\fP (\fBFitness\fP _fitness)" +.br +.RI "\fIBasic constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const EOT &_solution)" +.br +.RI "\fI\fBFunction\fP that activates the stopping criterion. \fP" +.ti -1c +.RI "void \fBinit\fP ()" +.br +.RI "\fIProcedure which allows to initialise all the stuff needed. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBFitness\fP \fBfitness\fP" +.br +.RI "\fIFitness target. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moFitSolContinue< EOT >" +One possible stop criterion for a solution-based heuristic. + +The stop criterion corresponds to a fitness threshold gained. +.PP +Definition at line 46 of file moFitSolContinue.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoFitSolContinue\fP< EOT >::\fBmoFitSolContinue\fP (\fBFitness\fP _fitness)\fC [inline]\fP" +.PP +Basic constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitness\fP The fitness to reach. +.RE +.PP + +.PP +Definition at line 57 of file moFitSolContinue.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoFitSolContinue\fP< EOT >::operator() (const EOT & _solution)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP that activates the stopping criterion. +.PP +Indicates if the fitness threshold has not yet been reached. +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP the current solution. +.RE +.PP +\fBReturns:\fP +.RS 4 +true or false according to the value of the fitness. +.RE +.PP + +.PP +Implements \fBeoUF< const EOT &, bool >\fP. +.PP +Definition at line 67 of file moFitSolContinue.h. +.PP +References moFitSolContinue< EOT >::fitness. +.SS "template void \fBmoFitSolContinue\fP< EOT >::init ()\fC [inline, virtual]\fP" +.PP +Procedure which allows to initialise all the stuff needed. +.PP +It can be also used to reinitialize all the needed things. +.PP +Implements \fBmoSolContinue< EOT >\fP. +.PP +Definition at line 81 of file moFitSolContinue.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moGenSolContinue.3 b/trunk/paradiseo-mo/doc/man/man3/moGenSolContinue.3 new file mode 100644 index 000000000..a271cd8d3 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moGenSolContinue.3 @@ -0,0 +1,105 @@ +.TH "moGenSolContinue" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moGenSolContinue \- One possible stop criterion for a solution-based heuristic. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoSolContinue< EOT >< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoGenSolContinue\fP (unsigned int _generationMaximumNumber)" +.br +.RI "\fISimple constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const EOT &_solution)" +.br +.RI "\fI\fBFunction\fP that activates the stop criterion. \fP" +.ti -1c +.RI "void \fBinit\fP ()" +.br +.RI "\fIProcedure which allows to initialise the generation counter. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBgenerationMaximumNumber\fP" +.br +.RI "\fIIteration maximum number. \fP" +.ti -1c +.RI "unsigned int \fBgenerationNumber\fP" +.br +.RI "\fIIteration current number. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moGenSolContinue< EOT >" +One possible stop criterion for a solution-based heuristic. + +The stop criterion corresponds to a maximum number of iteration. +.PP +Definition at line 46 of file moGenSolContinue.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoGenSolContinue\fP< EOT >::\fBmoGenSolContinue\fP (unsigned int _generationMaximumNumber)\fC [inline]\fP" +.PP +Simple constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_generationMaximumNumber\fP The maximum number of generations. +.RE +.PP + +.PP +Definition at line 54 of file moGenSolContinue.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoGenSolContinue\fP< EOT >::operator() (const EOT & _solution)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP that activates the stop criterion. +.PP +Increments the counter and returns TRUE if the current number of iteration is lower than the given maximum number of iterations. +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP The current solution. +.RE +.PP +\fBReturns:\fP +.RS 4 +true or false according to the current generation number. +.RE +.PP + +.PP +Implements \fBeoUF< const EOT &, bool >\fP. +.PP +Definition at line 66 of file moGenSolContinue.h. +.PP +References moGenSolContinue< EOT >::generationMaximumNumber, and moGenSolContinue< EOT >::generationNumber. +.SS "template void \fBmoGenSolContinue\fP< EOT >::init ()\fC [inline, virtual]\fP" +.PP +Procedure which allows to initialise the generation counter. +.PP +It can also be used to reset the iteration counter. +.PP +Implements \fBmoSolContinue< EOT >\fP. +.PP +Definition at line 78 of file moGenSolContinue.h. +.PP +References moGenSolContinue< EOT >::generationNumber. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moHC.3 b/trunk/paradiseo-mo/doc/man/man3/moHC.3 new file mode 100644 index 000000000..a41c6ce58 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moHC.3 @@ -0,0 +1,132 @@ +.TH "moHC" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moHC \- Hill Climbing (HC). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoAlgo< M::EOType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoHC\fP (\fBmoMoveInit\fP< M > &_move_initializer, \fBmoNextMove\fP< M > &_next_move_generator, \fBmoMoveIncrEval\fP< M > &_incremental_evaluation, \fBmoMoveSelect\fP< M > &_move_selection, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fIFull constructor. \fP" +.ti -1c +.RI "\fBmoHC\fP (\fBmoMoveExpl\fP< M > &_move_explorer, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fILight constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (\fBEOT\fP &_solution)" +.br +.RI "\fI\fBFunction\fP which launches the HC. \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.ti -1c +.RI "typedef EOT::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoMoveExpl\fP< M > & \fBmove_explorer\fP" +.br +.RI "\fIComplete exploration of the neighborhood. \fP" +.ti -1c +.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBfull_evaluation\fP" +.br +.RI "\fIA full evaluation function. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moHC< M >" +Hill Climbing (HC). + +Class which describes the algorithm for a hill climbing. +.PP +Definition at line 49 of file moHC.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoHC\fP< M >::\fBmoHC\fP (\fBmoMoveInit\fP< M > & _move_initializer, \fBmoNextMove\fP< M > & _next_move_generator, \fBmoMoveIncrEval\fP< M > & _incremental_evaluation, \fBmoMoveSelect\fP< M > & _move_selection, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +Full constructor. +.PP +All the boxes are given in order the HC to use a \fBmoHCMoveLoopExpl\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_move_initializer\fP a move initialiser. +.br +\fI_next_move_generator\fP a neighborhood explorer. +.br +\fI_incremental_evaluation\fP a (generally) efficient evaluation function. +.br +\fI_move_selection\fP a move selector. +.br +\fI_full_evaluation\fP a full evaluation function. +.RE +.PP + +.PP +Definition at line 69 of file moHC.h. +.SS "template \fBmoHC\fP< M >::\fBmoHC\fP (\fBmoMoveExpl\fP< M > & _move_explorer, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +Light constructor. +.PP +This constructor allow to use another \fBmoMoveExpl\fP (generally not a \fBmoHCMoveLoopExpl\fP). +.PP +\fBParameters:\fP +.RS 4 +\fI_move_explorer\fP a complete explorer. +.br +\fI_full_evaluation\fP a full evaluation function. +.RE +.PP + +.PP +Definition at line 82 of file moHC.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoHC\fP< M >::operator() (\fBEOT\fP & _solution)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP which launches the HC. +.PP +The HC has to improve a current solution. As the \fBmoSA\fP and the mo TS, it can be used for HYBRIDATION in an evolutionnary algorithm. +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP a current solution to improve. +.RE +.PP +\fBReturns:\fP +.RS 4 +true. +.RE +.PP + +.PP +Implements \fBeoUF< M::EOType &, bool >\fP. +.PP +Definition at line 94 of file moHC.h. +.PP +References moHC< M >::full_evaluation, and moHC< M >::move_explorer. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moHCMoveLoopExpl.3 b/trunk/paradiseo-mo/doc/man/man3/moHCMoveLoopExpl.3 new file mode 100644 index 000000000..06d8d6b3d --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moHCMoveLoopExpl.3 @@ -0,0 +1,113 @@ +.TH "moHCMoveLoopExpl" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moHCMoveLoopExpl \- Iterative explorer used by a \fBmoHC\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoMoveLoopExpl< M >< M >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoHCMoveLoopExpl\fP (\fBmoMoveInit\fP< M > &_move_initializer, \fBmoNextMove\fP< M > &_next_move_generator, \fBmoMoveIncrEval\fP< M > &_incremental_evaluation, \fBmoMoveSelect\fP< M > &_move_selection)" +.br +.RI "\fIConstructor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (const \fBEOT\fP &_old_solution, \fBEOT\fP &_new_solution)" +.br +.RI "\fIProcedure which launches the explorer. \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.ti -1c +.RI "typedef M::EOType::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoMoveInit\fP< M > & \fBmove_initializer\fP" +.br +.RI "\fIMove initialiser. \fP" +.ti -1c +.RI "\fBmoNextMove\fP< M > & \fBnext_move_generator\fP" +.br +.RI "\fINeighborhood explorer. \fP" +.ti -1c +.RI "\fBmoMoveIncrEval\fP< M > & \fBincremental_evaluation\fP" +.br +.RI "\fI(generally) Efficient evaluation. \fP" +.ti -1c +.RI "\fBmoMoveSelect\fP< M > & \fBmove_selection\fP" +.br +.RI "\fIMove selector. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moHCMoveLoopExpl< M >" +Iterative explorer used by a \fBmoHC\fP. +.PP +Definition at line 47 of file moHCMoveLoopExpl.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoHCMoveLoopExpl\fP< M >::\fBmoHCMoveLoopExpl\fP (\fBmoMoveInit\fP< M > & _move_initializer, \fBmoNextMove\fP< M > & _next_move_generator, \fBmoMoveIncrEval\fP< M > & _incremental_evaluation, \fBmoMoveSelect\fP< M > & _move_selection)\fC [inline]\fP" +.PP +Constructor. +.PP +All the boxes have to be specified. +.PP +\fBParameters:\fP +.RS 4 +\fI_move_initializer\fP The move initialiser. +.br +\fI_next_move_generator\fP The neighbourhood explorer. +.br +\fI_incremental_evaluation\fP (generally) Efficient evaluation function. +.br +\fI_move_selection\fP The move selector. +.RE +.PP + +.PP +Definition at line 66 of file moHCMoveLoopExpl.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoHCMoveLoopExpl\fP< M >::operator() (const \fBEOT\fP & _old_solution, \fBEOT\fP & _new_solution)\fC [inline, virtual]\fP" +.PP +Procedure which launches the explorer. +.PP +The exploration starts from an old solution and provides a new solution. +.PP +\fBParameters:\fP +.RS 4 +\fI_old_solution\fP The current solution. +.br +\fI_new_solution\fP The new solution (result of the procedure). +.RE +.PP + +.PP +Implements \fBeoBF< const M::EOType &, M::EOType &, void >\fP. +.PP +Definition at line 79 of file moHCMoveLoopExpl.h. +.PP +References moHCMoveLoopExpl< M >::incremental_evaluation, moHCMoveLoopExpl< M >::move_initializer, moHCMoveLoopExpl< M >::move_selection, and moHCMoveLoopExpl< M >::next_move_generator. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moILS.3 b/trunk/paradiseo-mo/doc/man/man3/moILS.3 new file mode 100644 index 000000000..6caa86cf4 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moILS.3 @@ -0,0 +1,220 @@ +.TH "moILS" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moILS \- Iterated Local Search (ILS). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoAlgo< M::EOType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoILS\fP (\fBmoAlgo\fP< \fBEOT\fP > &_algorithm, \fBmoSolContinue\fP< \fBEOT\fP > &_continue, \fBmoComparator\fP< \fBEOT\fP > &_acceptance_criterion, \fBeoMonOp\fP< \fBEOT\fP > &_perturbation, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fIGeneric constructor. \fP" +.ti -1c +.RI "\fBmoILS\fP (\fBmoMoveInit\fP< M > &_move_initializer, \fBmoNextMove\fP< M > &_next_move_generator, \fBmoMoveIncrEval\fP< M > &_incremental_evaluation, \fBmoMoveSelect\fP< M > &_move_selection, \fBmoSolContinue\fP< \fBEOT\fP > &_continue, \fBmoComparator\fP< \fBEOT\fP > &_acceptance_criterion, \fBeoMonOp\fP< \fBEOT\fP > &_perturbation, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fIConstructor for using a \fBmoHC\fP for the \fBmoAlgo\fP. \fP" +.ti -1c +.RI "\fBmoILS\fP (\fBmoMoveInit\fP< M > &_move_initializer, \fBmoNextMove\fP< M > &_next_move_generator, \fBmoMoveIncrEval\fP< M > &_incremental_evaluation, \fBmoTabuList\fP< M > &_tabu_list, \fBmoAspirCrit\fP< M > &_aspiration_criterion, \fBmoSolContinue\fP< \fBEOT\fP > &_moTS_continue, \fBmoSolContinue\fP< \fBEOT\fP > &_continue, \fBmoComparator\fP< \fBEOT\fP > &_acceptance_criterion, \fBeoMonOp\fP< \fBEOT\fP > &_perturbation, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fIConstructor for using a \fBmoTS\fP for the \fBmoAlgo\fP. \fP" +.ti -1c +.RI "\fBmoILS\fP (\fBmoRandMove\fP< M > &_random_move_generator, \fBmoMoveIncrEval\fP< M > &_incremental_evaluation, \fBmoSolContinue\fP< \fBEOT\fP > &_moSA_continue, double _initial_temperature, \fBmoCoolingSchedule\fP &_cooling_schedule, \fBmoSolContinue\fP< \fBEOT\fP > &_continue, \fBmoComparator\fP< \fBEOT\fP > &_acceptance_criterion, \fBeoMonOp\fP< \fBEOT\fP > &_perturbation, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fIConstructor for using a \fBmoSA\fP for the \fBmoAlgo\fP. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (\fBEOT\fP &_solution)" +.br +.RI "\fI\fBFunction\fP which launches the ILS. \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.ti -1c +.RI "typedef EOT::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoAlgo\fP< \fBEOT\fP > & \fBalgorithm\fP" +.br +.RI "\fIThe solution based heuristic. \fP" +.ti -1c +.RI "\fBmoSolContinue\fP< \fBEOT\fP > & \fBcontinu\fP" +.br +.RI "\fIThe stopping criterion. \fP" +.ti -1c +.RI "\fBmoComparator\fP< \fBEOT\fP > & \fBacceptance_criterion\fP" +.br +.RI "\fIThe acceptance criterion. \fP" +.ti -1c +.RI "\fBeoMonOp\fP< \fBEOT\fP > & \fBperturbation\fP" +.br +.RI "\fIThe perturbation generator. \fP" +.ti -1c +.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBfull_evaluation\fP" +.br +.RI "\fIThe full evaluation function. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moILS< M >" +Iterated Local Search (ILS). + +Class which describes the algorithm for a iterated local search. +.PP +Definition at line 50 of file moILS.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoILS\fP< M >::\fBmoILS\fP (\fBmoAlgo\fP< \fBEOT\fP > & _algorithm, \fBmoSolContinue\fP< \fBEOT\fP > & _continue, \fBmoComparator\fP< \fBEOT\fP > & _acceptance_criterion, \fBeoMonOp\fP< \fBEOT\fP > & _perturbation, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +Generic constructor. +.PP +Generic constructor using a \fBmoAlgo\fP +.PP +\fBParameters:\fP +.RS 4 +\fI_algorithm\fP The solution based heuristic to use. +.br +\fI_continue\fP The stopping criterion. +.br +\fI_acceptance_criterion\fP The acceptance criterion. +.br +\fI_perturbation\fP The pertubation generator. +.br +\fI_full_evaluation\fP The evaluation function. +.RE +.PP + +.PP +Definition at line 70 of file moILS.h. +.SS "template \fBmoILS\fP< M >::\fBmoILS\fP (\fBmoMoveInit\fP< M > & _move_initializer, \fBmoNextMove\fP< M > & _next_move_generator, \fBmoMoveIncrEval\fP< M > & _incremental_evaluation, \fBmoMoveSelect\fP< M > & _move_selection, \fBmoSolContinue\fP< \fBEOT\fP > & _continue, \fBmoComparator\fP< \fBEOT\fP > & _acceptance_criterion, \fBeoMonOp\fP< \fBEOT\fP > & _perturbation, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +Constructor for using a \fBmoHC\fP for the \fBmoAlgo\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_move_initializer\fP The move initialisation (for the \fBmoHC\fP). +.br +\fI_next_move_generator\fP The move generator (for the \fBmoHC\fP). +.br +\fI_incremental_evaluation\fP The partial evaluation function (for the \fBmoHC\fP). +.br +\fI_move_selection\fP The move selection strategy (for the \fBmoHC\fP). +.br +\fI_continue\fP The stopping criterion. +.br +\fI_acceptance_criterion\fP The acceptance criterion. +.br +\fI_perturbation\fP The pertubation generator. +.br +\fI_full_evaluation\fP The evaluation function. +.RE +.PP + +.PP +Definition at line 87 of file moILS.h. +.SS "template \fBmoILS\fP< M >::\fBmoILS\fP (\fBmoMoveInit\fP< M > & _move_initializer, \fBmoNextMove\fP< M > & _next_move_generator, \fBmoMoveIncrEval\fP< M > & _incremental_evaluation, \fBmoTabuList\fP< M > & _tabu_list, \fBmoAspirCrit\fP< M > & _aspiration_criterion, \fBmoSolContinue\fP< \fBEOT\fP > & _moTS_continue, \fBmoSolContinue\fP< \fBEOT\fP > & _continue, \fBmoComparator\fP< \fBEOT\fP > & _acceptance_criterion, \fBeoMonOp\fP< \fBEOT\fP > & _perturbation, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +Constructor for using a \fBmoTS\fP for the \fBmoAlgo\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_move_initializer\fP The move initialisation (for the \fBmoTS\fP). +.br +\fI_next_move_generator\fP The move generator (for the \fBmoTS\fP). +.br +\fI_incremental_evaluation\fP The partial evaluation function (for the \fBmoTS\fP). +.br +\fI_tabu_list\fP The tabu list (for the \fBmoTS\fP !!!!). +.br +\fI_aspiration_criterion\fP The aspiration criterion (for the \fBmoTS\fP). +.br +\fI_moTS_continue\fP The stopping criterion (for the \fBmoTS\fP). +.br +\fI_continue\fP The stopping criterion. +.br +\fI_acceptance_criterion\fP The acceptance criterion. +.br +\fI_perturbation\fP The pertubation generator. +.br +\fI_full_evaluation\fP The evaluation function. +.RE +.PP + +.PP +Definition at line 108 of file moILS.h. +.SS "template \fBmoILS\fP< M >::\fBmoILS\fP (\fBmoRandMove\fP< M > & _random_move_generator, \fBmoMoveIncrEval\fP< M > & _incremental_evaluation, \fBmoSolContinue\fP< \fBEOT\fP > & _moSA_continue, double _initial_temperature, \fBmoCoolingSchedule\fP & _cooling_schedule, \fBmoSolContinue\fP< \fBEOT\fP > & _continue, \fBmoComparator\fP< \fBEOT\fP > & _acceptance_criterion, \fBeoMonOp\fP< \fBEOT\fP > & _perturbation, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +Constructor for using a \fBmoSA\fP for the \fBmoAlgo\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_random_move_generator\fP The random move generator (for the \fBmoSA\fP). +.br +\fI_incremental_evaluation\fP The partial evaluation function (for the \fBmoSA\fP). +.br +\fI_moSA_continue\fP The stopping criterion (for the \fBmoSA\fP). +.br +\fI_initial_temperature\fP The initial temperature (for the \fBmoSA\fP). +.br +\fI_cooling_schedule\fP The cooling schedule (for the \fBmoSA\fP). +.br +\fI_continue\fP The stopping criterion. +.br +\fI_acceptance_criterion\fP The acceptance criterion. +.br +\fI_perturbation\fP The pertubation generator. +.br +\fI_full_evaluation\fP The evaluation function. +.RE +.PP + +.PP +Definition at line 130 of file moILS.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoILS\fP< M >::operator() (\fBEOT\fP & _solution)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP which launches the ILS. +.PP +The ILS has to improve a current solution. As the \fBmoSA\fP, the \fBmoTS\fP and the \fBmoHC\fP, it can be used for HYBRIDATION in an evolutionnary algorithm. +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP a current solution to improve. +.RE +.PP +\fBReturns:\fP +.RS 4 +true. +.RE +.PP + +.PP +Implements \fBeoUF< M::EOType &, bool >\fP. +.PP +Definition at line 146 of file moILS.h. +.PP +References moILS< M >::acceptance_criterion, moILS< M >::algorithm, moILS< M >::continu, moILS< M >::full_evaluation, and moILS< M >::perturbation. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moImprBestFitAspirCrit.3 b/trunk/paradiseo-mo/doc/man/man3/moImprBestFitAspirCrit.3 new file mode 100644 index 000000000..74b4c43fe --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moImprBestFitAspirCrit.3 @@ -0,0 +1,88 @@ +.TH "moImprBestFitAspirCrit" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moImprBestFitAspirCrit \- One of the possible \fBmoAspirCrit\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoAspirCrit< M >< M >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoImprBestFitAspirCrit\fP ()" +.br +.RI "\fIContructor. \fP" +.ti -1c +.RI "void \fBinit\fP ()" +.br +.RI "\fIInitialisation procedure. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const M &_move, const \fBFitness\fP &_fitness)" +.br +.RI "\fI\fBFunction\fP that indicates if the current fitness is better that the already saved fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBFitness\fP \fBbest_fitness\fP" +.br +.RI "\fIBest fitness found until now. \fP" +.ti -1c +.RI "bool \fBfirst_time\fP" +.br +.RI "\fIIndicates that a fitness has been already saved or not. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moImprBestFitAspirCrit< M >" +One of the possible \fBmoAspirCrit\fP. + +This criterion is satisfied when a given fitness is the best ever considered. +.PP +Definition at line 47 of file moImprBestFitAspirCrit.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoImprBestFitAspirCrit\fP< M >::operator() (const M & _move, const \fBFitness\fP & _fitness)\fC [inline]\fP" +.PP +\fBFunction\fP that indicates if the current fitness is better that the already saved fitness. +.PP +The first time, the function only saved the current move and fitness. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP A move. +.br +\fI_fitness\fP A fitness linked to the move. +.RE +.PP +\fBReturns:\fP +.RS 4 +true The first time and if _fitntess > best_fitness, else false. +.RE +.PP + +.PP +Definition at line 75 of file moImprBestFitAspirCrit.h. +.PP +References moImprBestFitAspirCrit< M >::best_fitness, and moImprBestFitAspirCrit< M >::first_time. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moItRandNextMove.3 b/trunk/paradiseo-mo/doc/man/man3/moItRandNextMove.3 new file mode 100644 index 000000000..28932d3c2 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moItRandNextMove.3 @@ -0,0 +1,106 @@ +.TH "moItRandNextMove" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moItRandNextMove \- One of the possible \fBmoNextMove\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoNextMove< M >< M >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoItRandNextMove\fP (\fBmoRandMove\fP< M > &_random_move_generator, unsigned int _iteration_maximum_number)" +.br +.RI "\fIThe constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (M &_move, const \fBEOT\fP &_solution)" +.br +.RI "\fIGeneration of a new move. \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoRandMove\fP< M > & \fBrandom_move_generator\fP" +.br +.RI "\fIA move generator (generally randomly). \fP" +.ti -1c +.RI "unsigned int \fBiteration_maximum_number\fP" +.br +.RI "\fIIteration maximum number. \fP" +.ti -1c +.RI "unsigned int \fBiteration_number\fP" +.br +.RI "\fIIteration current number. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moItRandNextMove< M >" +One of the possible \fBmoNextMove\fP. + +This class is a move (\fBmoMove\fP) generator with a bound for the maximum number of iterations. +.PP +Definition at line 47 of file moItRandNextMove.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoItRandNextMove\fP< M >::\fBmoItRandNextMove\fP (\fBmoRandMove\fP< M > & _random_move_generator, unsigned int _iteration_maximum_number)\fC [inline]\fP" +.PP +The constructor. +.PP +\fBParameters\fP only for initialising the attributes. +.PP +\fBParameters:\fP +.RS 4 +\fI_random_move_generator\fP The random move generator. +.br +\fI_iteration_maximum_number\fP The iteration maximum number. +.RE +.PP + +.PP +Definition at line 61 of file moItRandNextMove.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoItRandNextMove\fP< M >::operator() (M & _move, const \fBEOT\fP & _solution)\fC [inline]\fP" +.PP +Generation of a new move. +.PP +If the maximum number is not already reached, the current move is forgotten and remplaced by another one. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP the current move. +.br +\fI_solution\fP the current solution. +.RE +.PP +\fBReturns:\fP +.RS 4 +false if the maximum number of iteration is reached, else true. +.RE +.PP + +.PP +Definition at line 73 of file moItRandNextMove.h. +.PP +References moItRandNextMove< M >::iteration_maximum_number, moItRandNextMove< M >::iteration_number, and moItRandNextMove< M >::random_move_generator. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moLSCheckPoint.3 b/trunk/paradiseo-mo/doc/man/man3/moLSCheckPoint.3 new file mode 100644 index 000000000..ef1b7ba32 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moLSCheckPoint.3 @@ -0,0 +1,83 @@ +.TH "moLSCheckPoint" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moLSCheckPoint \- Class which allows a checkpointing system. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const M &, M::EOType &, void >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (const M &_move, const typename M::EOType &_solution)" +.br +.RI "\fI\fBFunction\fP which launches the checkpointing. \fP" +.ti -1c +.RI "void \fBadd\fP (\fBeoBF\fP< const M &, const typename M::EOType &, void > &_function)" +.br +.RI "\fIProcedure which add a new function to the function vector. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "std::vector< \fBeoBF\fP< const M &, const typename M::EOType &, void > * > \fBfunctions\fP" +.br +.RI "\fIVector of functions. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moLSCheckPoint< M >" +Class which allows a checkpointing system. + +Thanks to this class, at each iteration, additionnal function can be used (and not only one). +.PP +Definition at line 46 of file moLSCheckPoint.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoLSCheckPoint\fP< M >::operator() (const M & _move, const typename M::EOType & _solution)\fC [inline]\fP" +.PP +\fBFunction\fP which launches the checkpointing. +.PP +Each saved function is used on the current move and the current solution. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a move. +.br +\fI_solution\fP a solution. +.RE +.PP + +.PP +Definition at line 57 of file moLSCheckPoint.h. +.PP +References moLSCheckPoint< M >::functions. +.SS "template void \fBmoLSCheckPoint\fP< M >::add (\fBeoBF\fP< const M &, const typename M::EOType &, void > & _function)\fC [inline]\fP" +.PP +Procedure which add a new function to the function vector. +.PP +The new function is added at the end of the vector. +.PP +\fBParameters:\fP +.RS 4 +\fI_function\fP a new function to add. +.RE +.PP + +.PP +Definition at line 72 of file moLSCheckPoint.h. +.PP +References moLSCheckPoint< M >::functions. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moLinearCoolingSchedule.3 b/trunk/paradiseo-mo/doc/man/man3/moLinearCoolingSchedule.3 new file mode 100644 index 000000000..aa70e7476 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moLinearCoolingSchedule.3 @@ -0,0 +1,90 @@ +.TH "moLinearCoolingSchedule" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moLinearCoolingSchedule \- One of the possible \fBmoCoolingSchedule\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoCoolingSchedule\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoLinearCoolingSchedule\fP (double _threshold, double _quantity)" +.br +.RI "\fISimple constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (double &_current_temperature)" +.br +.RI "\fI\fBFunction\fP which proceeds to the cooling. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBthreshold\fP" +.br +.RI "\fIThe temperature threhold. \fP" +.ti -1c +.RI "double \fBquantity\fP" +.br +.RI "\fIThe quantity that allows the temperature to decrease. \fP" +.in -1c +.SH "Detailed Description" +.PP +One of the possible \fBmoCoolingSchedule\fP. + +An another very simple cooling schedule, the temperature decrease according to a quantity while the temperature is greater than a threshold. +.PP +Definition at line 46 of file moLinearCoolingSchedule.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "moLinearCoolingSchedule::moLinearCoolingSchedule (double _threshold, double _quantity)\fC [inline]\fP" +.PP +Simple constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_threshold\fP the threshold. +.br +\fI_quantity\fP the quantity used to descrease the temperature. +.RE +.PP + +.PP +Definition at line 55 of file moLinearCoolingSchedule.h. +.SH "Member Function Documentation" +.PP +.SS "bool moLinearCoolingSchedule::operator() (double & _current_temperature)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP which proceeds to the cooling. +.PP +It decreases the temperature and indicates if it is greater than the threshold. +.PP +\fBParameters:\fP +.RS 4 +\fI_current_temperature\fP The current temperature. +.RE +.PP +\fBReturns:\fP +.RS 4 +true if the new temperature (current temperature - quantity) is greater than the threshold, false otherwise. +.RE +.PP + +.PP +Implements \fBeoUF< double &, bool >\fP. +.PP +Definition at line 65 of file moLinearCoolingSchedule.h. +.PP +References quantity, and threshold. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moMove.3 b/trunk/paradiseo-mo/doc/man/man3/moMove.3 new file mode 100644 index 000000000..530c54d28 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moMove.3 @@ -0,0 +1,35 @@ +.TH "moMove" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moMove \- Definition of a move. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< EOT &, void >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT \fBEOType\fP" +.br +.RI "\fIAlias for the type. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moMove< EOT >" +Definition of a move. + +A move transforms a solution to another close solution. It describes how a solution can be modified to another one. +.PP +Definition at line 49 of file moMove.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moMoveExpl.3 b/trunk/paradiseo-mo/doc/man/man3/moMoveExpl.3 new file mode 100644 index 000000000..d1ff7c78b --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moMoveExpl.3 @@ -0,0 +1,29 @@ +.TH "moMoveExpl" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moMoveExpl \- Description of a move (\fBmoMove\fP) explorer. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< const M::EOType &, M::EOType &, void >\fP. +.PP +Inherited by \fBmoMoveLoopExpl< M >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moMoveExpl< M >" +Description of a move (\fBmoMove\fP) explorer. + +Only a description...See \fBmoMoveLoopExpl\fP. +.PP +Definition at line 45 of file moMoveExpl.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moMoveIncrEval.3 b/trunk/paradiseo-mo/doc/man/man3/moMoveIncrEval.3 new file mode 100644 index 000000000..910594664 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moMoveIncrEval.3 @@ -0,0 +1,27 @@ +.TH "moMoveIncrEval" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moMoveIncrEval \- (generally) Efficient evaluation function based a move and a solution. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const M &, M::EOType &, M::EOType::Fitness >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moMoveIncrEval< M >" +(generally) Efficient evaluation function based a move and a solution. + +From a move and a solution, it computes a new fitness that could be associated to the solution if this one is updated. +.PP +Definition at line 49 of file moMoveIncrEval.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moMoveInit.3 b/trunk/paradiseo-mo/doc/man/man3/moMoveInit.3 new file mode 100644 index 000000000..05fbf4f29 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moMoveInit.3 @@ -0,0 +1,27 @@ +.TH "moMoveInit" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moMoveInit \- Move (\fBmoMove\fP) initializer. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const M &, M::EOType &, void >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moMoveInit< M >" +Move (\fBmoMove\fP) initializer. + +Class which allows to initiase a move. Only a description... An object that herits from this class needs to be designed to be used. +.PP +Definition at line 47 of file moMoveInit.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moMoveLoopExpl.3 b/trunk/paradiseo-mo/doc/man/man3/moMoveLoopExpl.3 new file mode 100644 index 000000000..5c3fc4016 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moMoveLoopExpl.3 @@ -0,0 +1,29 @@ +.TH "moMoveLoopExpl" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moMoveLoopExpl \- Class which describes an iterative explorer. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoMoveExpl< M >< M >\fP. +.PP +Inherited by \fBmoHCMoveLoopExpl< M >\fP, and \fBmoTSMoveLoopExpl< M >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moMoveLoopExpl< M >" +Class which describes an iterative explorer. + +Only a description... \fBmoHCMoveLoopExpl\fP and \fBmoTSMoveLoopExpl\fP are exemples of class that are a \fBmoMoveLoopExpl\fP. +.PP +Definition at line 47 of file moMoveLoopExpl.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moMoveSelect.3 b/trunk/paradiseo-mo/doc/man/man3/moMoveSelect.3 new file mode 100644 index 000000000..c7f791fbe --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moMoveSelect.3 @@ -0,0 +1,84 @@ +.TH "moMoveSelect" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moMoveSelect \- Class that describes a move selector (\fBmoMove\fP). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< M &, M::EOType::Fitness &, void >\fP. +.PP +Inherited by \fBmoBestImprSelect< M >\fP, \fBmoFirstImprSelect< M >\fP, and \fBmoRandImprSelect< M >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBinit\fP (const \fBFitness\fP &_fitness)=0" +.br +.RI "\fIProcedure which initialises all that the move selector needs including the initial fitness. \fP" +.ti -1c +.RI "virtual bool \fBupdate\fP (const M &_move, const \fBFitness\fP &_fitness)=0" +.br +.RI "\fI\fBFunction\fP which updates the best solutions. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moMoveSelect< M >" +Class that describes a move selector (\fBmoMove\fP). + +It iteratively considers some moves (\fBmoMove\fP) and their associated fitnesses. The best move is so regularly updated. At any time, it could be accessed. +.PP +Definition at line 50 of file moMoveSelect.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoMoveSelect\fP< M >::init (const \fBFitness\fP & _fitness)\fC [pure virtual]\fP" +.PP +Procedure which initialises all that the move selector needs including the initial fitness. +.PP +In order to know the fitness of the solution, for which the neighborhood will be soon explored +.PP +\fBParameters:\fP +.RS 4 +\fI_fitness\fP the current fitness. +.RE +.PP + +.PP +Implemented in \fBmoBestImprSelect< M >\fP, \fBmoFirstImprSelect< M >\fP, and \fBmoRandImprSelect< M >\fP. +.SS "template virtual bool \fBmoMoveSelect\fP< M >::update (const M & _move, const \fBFitness\fP & _fitness)\fC [pure virtual]\fP" +.PP +\fBFunction\fP which updates the best solutions. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a new move. +.br +\fI_fitness\fP a fitness linked to the new move. +.RE +.PP +\fBReturns:\fP +.RS 4 +a boolean that expresses the need to resume the exploration. +.RE +.PP + +.PP +Implemented in \fBmoBestImprSelect< M >\fP, \fBmoFirstImprSelect< M >\fP, and \fBmoRandImprSelect< M >\fP. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moNextMove.3 b/trunk/paradiseo-mo/doc/man/man3/moNextMove.3 new file mode 100644 index 000000000..55777fb9c --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moNextMove.3 @@ -0,0 +1,29 @@ +.TH "moNextMove" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moNextMove \- Class which allows to generate a new move (\fBmoMove\fP). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const M &, M::EOType &, bool >\fP. +.PP +Inherited by \fBmoItRandNextMove< M >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moNextMove< M >" +Class which allows to generate a new move (\fBmoMove\fP). + +Useful for the explorer (for \fBmoTS\fP or \fBmoHC\fP). Does nothing... An object that herits from this class needs to be designed for being used. +.PP +Definition at line 47 of file moNextMove.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moNoAspirCrit.3 b/trunk/paradiseo-mo/doc/man/man3/moNoAspirCrit.3 new file mode 100644 index 000000000..94647bfc6 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moNoAspirCrit.3 @@ -0,0 +1,71 @@ +.TH "moNoAspirCrit" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moNoAspirCrit \- One of the possible aspiration criterion (\fBmoAspirCrit\fP). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoAspirCrit< M >< M >\fP. +.PP +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "bool \fBoperator()\fP (const M &_move, const typename M::EOType::Fitness &_fitness)" +.br +.RI "\fI\fBFunction\fP which describes the aspiration criterion behaviour. \fP" +.ti -1c +.RI "void \fBinit\fP ()" +.br +.RI "\fIProcedure which initialises all that needs a \fBmoNoAspirCrit\fP. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moNoAspirCrit< M >" +One of the possible aspiration criterion (\fBmoAspirCrit\fP). + +The simplest : never satisfied. +.PP +Definition at line 47 of file moNoAspirCrit.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoNoAspirCrit\fP< M >::operator() (const M & _move, const typename M::EOType::Fitness & _fitness)\fC [inline, private]\fP" +.PP +\fBFunction\fP which describes the aspiration criterion behaviour. +.PP +Does nothing. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a move. +.br +\fI_fitness\fP a fitness. +.RE +.PP +\fBReturns:\fP +.RS 4 +false. +.RE +.PP + +.PP +Definition at line 57 of file moNoAspirCrit.h. +.SS "template void \fBmoNoAspirCrit\fP< M >::init ()\fC [inline, private, virtual]\fP" +.PP +Procedure which initialises all that needs a \fBmoNoAspirCrit\fP. +.PP +Nothing... +.PP +Implements \fBmoAspirCrit< M >\fP. +.PP +Definition at line 66 of file moNoAspirCrit.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moNoFitImprSolContinue.3 b/trunk/paradiseo-mo/doc/man/man3/moNoFitImprSolContinue.3 new file mode 100644 index 000000000..2c8fc700a --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moNoFitImprSolContinue.3 @@ -0,0 +1,121 @@ +.TH "moNoFitImprSolContinue" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moNoFitImprSolContinue \- One possible stop criterion for a solution-based heuristic. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoSolContinue< EOT >< EOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoNoFitImprSolContinue\fP (unsigned int _maxNumberOfIterationWithoutImprovement)" +.br +.RI "\fIBasic constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const EOT &_solution)" +.br +.RI "\fI\fBFunction\fP that activates the stopping criterion. \fP" +.ti -1c +.RI "void \fBinit\fP ()" +.br +.RI "\fIProcedure which allows to initialise all the stuff needed. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBmaxNumberOfIterationsWithoutImprovement\fP" +.br +.RI "\fIMaximum number of iterations without improvement allowed. \fP" +.ti -1c +.RI "bool \fBfirstFitnessSaved\fP" +.br +.RI "\fIFlag that this is the first time that the fitness is used. \fP" +.ti -1c +.RI "\fBFitness\fP \fBfitness\fP" +.br +.RI "\fICurrent Fitness. \fP" +.ti -1c +.RI "unsigned int \fBcounter\fP" +.br +.RI "\fIThe iteration couter. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moNoFitImprSolContinue< EOT >" +One possible stop criterion for a solution-based heuristic. + +The stop criterion corresponds to a maximum number of iterations without improvement. +.PP +Definition at line 46 of file moNoFitImprSolContinue.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoNoFitImprSolContinue\fP< EOT >::\fBmoNoFitImprSolContinue\fP (unsigned int _maxNumberOfIterationWithoutImprovement)\fC [inline]\fP" +.PP +Basic constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxNumberOfIterationWithoutImprovement\fP The number of iterations without fitness improvement to reach for stop. +.RE +.PP + +.PP +Definition at line 57 of file moNoFitImprSolContinue.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoNoFitImprSolContinue\fP< EOT >::operator() (const EOT & _solution)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP that activates the stopping criterion. +.PP +Indicates if the fitness has not been improved since a given number of iterations (after a minimum of iterations). +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP the current solution. +.RE +.PP +\fBReturns:\fP +.RS 4 +true or false. +.RE +.PP + +.PP +Implements \fBeoUF< const EOT &, bool >\fP. +.PP +Definition at line 67 of file moNoFitImprSolContinue.h. +.PP +References moNoFitImprSolContinue< EOT >::counter, moNoFitImprSolContinue< EOT >::firstFitnessSaved, moNoFitImprSolContinue< EOT >::fitness, and moNoFitImprSolContinue< EOT >::maxNumberOfIterationsWithoutImprovement. +.SS "template void \fBmoNoFitImprSolContinue\fP< EOT >::init ()\fC [inline, virtual]\fP" +.PP +Procedure which allows to initialise all the stuff needed. +.PP +It can be also used to reinitialize all the needed things. +.PP +Implements \fBmoSolContinue< EOT >\fP. +.PP +Definition at line 102 of file moNoFitImprSolContinue.h. +.PP +References moNoFitImprSolContinue< EOT >::counter, and moNoFitImprSolContinue< EOT >::firstFitnessSaved. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moRandImprSelect.3 b/trunk/paradiseo-mo/doc/man/man3/moRandImprSelect.3 new file mode 100644 index 000000000..006de2f9e --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moRandImprSelect.3 @@ -0,0 +1,132 @@ +.TH "moRandImprSelect" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moRandImprSelect \- One of the possible \fBmoMove\fP selector (\fBmoMoveSelect\fP). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoMoveSelect< M >< M >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBinit\fP (const \fBFitness\fP &_fitness)" +.br +.RI "\fIProcedure which all that needs a \fBmoRandImprSelect\fP. \fP" +.ti -1c +.RI "bool \fBupdate\fP (const M &_move, const \fBFitness\fP &_fitness)" +.br +.RI "\fI\fBFunction\fP that updates the fitness and move vectors. \fP" +.ti -1c +.RI "void \fBoperator()\fP (M &_move, \fBFitness\fP &_fitness)" +.br +.RI "\fIThe move selection. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBFitness\fP \fBinitial_fitness\fP" +.br +.RI "\fIFitness of the current solution. \fP" +.ti -1c +.RI "std::vector< \fBFitness\fP > \fBbetter_fitnesses\fP" +.br +.RI "\fICandidate fitnesse vector. \fP" +.ti -1c +.RI "std::vector< M > \fBbetter_moves\fP" +.br +.RI "\fICandidate move vector. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moRandImprSelect< M >" +One of the possible \fBmoMove\fP selector (\fBmoMoveSelect\fP). + +All the neighbors are considered. One of them that enables an improvment of the objective function is choosen. +.PP +Definition at line 49 of file moRandImprSelect.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoRandImprSelect\fP< M >::init (const \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +Procedure which all that needs a \fBmoRandImprSelect\fP. +.PP +Give a value to the initialise fitness. Clean the move and fitness vectors. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitness\fP the current best fitness +.RE +.PP + +.PP +Implements \fBmoMoveSelect< M >\fP. +.PP +Definition at line 63 of file moRandImprSelect.h. +.PP +References moRandImprSelect< M >::better_fitnesses, moRandImprSelect< M >::better_moves, and moRandImprSelect< M >::initial_fitness. +.SS "template bool \fBmoRandImprSelect\fP< M >::update (const M & _move, const \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP that updates the fitness and move vectors. +.PP +if a move give a better fitness than the initial fitness, it is saved and the fitness too. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a new move. +.br +\fI_fitness\fP a new fitness associated to the new move. +.RE +.PP +\fBReturns:\fP +.RS 4 +true. +.RE +.PP + +.PP +Implements \fBmoMoveSelect< M >\fP. +.PP +Definition at line 79 of file moRandImprSelect.h. +.PP +References moRandImprSelect< M >::better_fitnesses, moRandImprSelect< M >::better_moves, and moRandImprSelect< M >::initial_fitness. +.SS "template void \fBmoRandImprSelect\fP< M >::operator() (M & _move, \fBFitness\fP & _fitness)\fC [inline, virtual]\fP" +.PP +The move selection. +.PP +One the saved move is randomly chosen. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP the reference of the move that can be initialised by the function. +.br +\fI_fitness\fP the reference of the fitness that can be initialised by the function. +.RE +.PP + +.PP +Implements \fBeoBF< M &, M::EOType::Fitness &, void >\fP. +.PP +Definition at line 98 of file moRandImprSelect.h. +.PP +References moRandImprSelect< M >::better_fitnesses, moRandImprSelect< M >::better_moves, and eoRng::random(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moRandMove.3 b/trunk/paradiseo-mo/doc/man/man3/moRandMove.3 new file mode 100644 index 000000000..753b64a00 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moRandMove.3 @@ -0,0 +1,27 @@ +.TH "moRandMove" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moRandMove \- Random move generator. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< M &, void >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moRandMove< M >" +Random move generator. + +Only a description... An object that herits from this class needs to be designed in order to use a \fBmoSA\fP. +.PP +Definition at line 46 of file moRandMove.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moSA.3 b/trunk/paradiseo-mo/doc/man/man3/moSA.3 new file mode 100644 index 000000000..60c8378ae --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moSA.3 @@ -0,0 +1,130 @@ +.TH "moSA" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moSA \- Simulated Annealing (SA). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoAlgo< M::EOType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoSA\fP (\fBmoRandMove\fP< M > &_random_move_generator, \fBmoMoveIncrEval\fP< M > &_incremental_evaluation, \fBmoSolContinue\fP< \fBEOT\fP > &_continue, double _initial_temperature, \fBmoCoolingSchedule\fP &_cooling_schedule, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fISA constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (\fBEOT\fP &_solution)" +.br +.RI "\fIfunction that launches the SA algorithm. \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.ti -1c +.RI "typedef EOT::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoRandMove\fP< M > & \fBrandom_move_generator\fP" +.br +.RI "\fIA move generator (generally randomly). \fP" +.ti -1c +.RI "\fBmoMoveIncrEval\fP< M > & \fBincremental_evaluation\fP" +.br +.RI "\fIA (generally) efficient evaluation function. \fP" +.ti -1c +.RI "\fBmoSolContinue\fP< \fBEOT\fP > & \fBcontinu\fP" +.br +.RI "\fIStopping criterion before temperature update. \fP" +.ti -1c +.RI "double \fBinitial_temperature\fP" +.br +.RI "\fIInitial temperature. \fP" +.ti -1c +.RI "\fBmoCoolingSchedule\fP & \fBcooling_schedule\fP" +.br +.RI "\fIThe cooling schedule. \fP" +.ti -1c +.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBfull_evaluation\fP" +.br +.RI "\fIA full evaluation function. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moSA< M >" +Simulated Annealing (SA). + +Class that describes a Simulated Annealing algorithm. +.PP +Definition at line 53 of file moSA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoSA\fP< M >::\fBmoSA\fP (\fBmoRandMove\fP< M > & _random_move_generator, \fBmoMoveIncrEval\fP< M > & _incremental_evaluation, \fBmoSolContinue\fP< \fBEOT\fP > & _continue, double _initial_temperature, \fBmoCoolingSchedule\fP & _cooling_schedule, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +SA constructor. +.PP +All the boxes used by a SA need to be given. +.PP +\fBParameters:\fP +.RS 4 +\fI_random_move_generator\fP The move generator (generally randomly). +.br +\fI_incremental_evaluation\fP The (generally) efficient evaluation function +.br +\fI_continue\fP The stopping criterion. +.br +\fI_initial_temperature\fP The initial temperature. +.br +\fI_cooling_schedule\fP The cooling schedule, describes how the temperature is modified. +.br +\fI_full_evaluation\fP The full evaluation function. +.RE +.PP + +.PP +Definition at line 74 of file moSA.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoSA\fP< M >::operator() (\fBEOT\fP & _solution)\fC [inline, virtual]\fP" +.PP +function that launches the SA algorithm. +.PP +As a \fBmoTS\fP or a \fBmoHC\fP, the SA can be used for HYBRIDATION in an evolutionary algorithm. +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP A solution to improve. +.RE +.PP +\fBReturns:\fP +.RS 4 +TRUE. +.RE +.PP + +.PP +Implements \fBeoUF< M::EOType &, bool >\fP. +.PP +Definition at line 89 of file moSA.h. +.PP +References moSA< M >::continu, moSA< M >::cooling_schedule, moSA< M >::full_evaluation, moSA< M >::incremental_evaluation, moSA< M >::initial_temperature, moSA< M >::random_move_generator, and eoRng::uniform(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moSimpleMoveTabuList.3 b/trunk/paradiseo-mo/doc/man/man3/moSimpleMoveTabuList.3 new file mode 100644 index 000000000..f4378ce9c --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moSimpleMoveTabuList.3 @@ -0,0 +1,162 @@ +.TH "moSimpleMoveTabuList" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moSimpleMoveTabuList \- Class describing a move tabu list with a limited memory. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoTabuList< M >< M >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.ti -1c +.RI "typedef std::list< M >::iterator \fBmoveIterator\fP" +.br +.RI "\fIAlias for an iterator of a move list. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoSimpleMoveTabuList\fP (unsigned int _memory_maximum_size)" +.br +.RI "\fIConstructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const M &_move, const \fBEOT\fP &_solution)" +.br +.RI "\fI\fBFunction\fP that indicates if, in a given state, the _move is tabu or not. \fP" +.ti -1c +.RI "void \fBadd\fP (const M &_move, const \fBEOT\fP &_solution)" +.br +.RI "\fIProcedure to add a move in the tabu list. \fP" +.ti -1c +.RI "void \fBupdate\fP ()" +.br +.RI "\fIProcedure that updates the tabu list content. \fP" +.ti -1c +.RI "void \fBinit\fP ()" +.br +.RI "\fIProcedure which initialises the tabu list. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBremoveMove\fP (const M &_move)" +.br +.RI "\fIProcedure that removes a given move from the tabu list (if it is into, else do nothing). \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBmemory_maximum_size\fP" +.br +.RI "\fIThe maximum size of the tabu list. \fP" +.ti -1c +.RI "unsigned int \fBmemory_size\fP" +.br +.RI "\fIThe current size of the tabu list. \fP" +.ti -1c +.RI "std::list< M > \fBtabuList\fP" +.br +.RI "\fIThe move tabu list. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moSimpleMoveTabuList< M >" +Class describing a move tabu list with a limited memory. +.PP +Definition at line 46 of file moSimpleMoveTabuList.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoSimpleMoveTabuList\fP< M >::operator() (const M & _move, const \fBEOT\fP & _solution)\fC [inline]\fP" +.PP +\fBFunction\fP that indicates if, in a given state, the _move is tabu or not. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP A given \fBmoMove\fP. +.br +\fI_solution\fP A solution. +.RE +.PP +\fBReturns:\fP +.RS 4 +true or false. +.RE +.PP + +.PP +Definition at line 69 of file moSimpleMoveTabuList.h. +.PP +References moSimpleMoveTabuList< M >::tabuList. +.SS "template void \fBmoSimpleMoveTabuList\fP< M >::add (const M & _move, const \fBEOT\fP & _solution)\fC [inline, virtual]\fP" +.PP +Procedure to add a move in the tabu list. +.PP +The two parameters have not to be modified so they are constant parameters. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a new tabu move. +.br +\fI_solution\fP the origianl solution associated to this move. +.RE +.PP + +.PP +Implements \fBmoTabuList< M >\fP. +.PP +Definition at line 86 of file moSimpleMoveTabuList.h. +.PP +References moSimpleMoveTabuList< M >::memory_maximum_size, moSimpleMoveTabuList< M >::memory_size, moSimpleMoveTabuList< M >::removeMove(), and moSimpleMoveTabuList< M >::tabuList. +.SS "template void \fBmoSimpleMoveTabuList\fP< M >::update ()\fC [inline, virtual]\fP" +.PP +Procedure that updates the tabu list content. +.PP +Generally, a counter associated to each saved move is decreased by one. +.PP +Implements \fBmoTabuList< M >\fP. +.PP +Definition at line 110 of file moSimpleMoveTabuList.h. +.SS "template void \fBmoSimpleMoveTabuList\fP< M >::init ()\fC [inline, virtual]\fP" +.PP +Procedure which initialises the tabu list. +.PP +Can be useful if the data structure needs to be allocated before being used. +.PP +Implements \fBmoTabuList< M >\fP. +.PP +Definition at line 115 of file moSimpleMoveTabuList.h. +.SS "template void \fBmoSimpleMoveTabuList\fP< M >::removeMove (const M & _move)\fC [inline, private]\fP" +.PP +Procedure that removes a given move from the tabu list (if it is into, else do nothing). +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP A given \fBmoMove\fP. +.RE +.PP + +.PP +Definition at line 126 of file moSimpleMoveTabuList.h. +.PP +References moSimpleMoveTabuList< M >::tabuList. +.PP +Referenced by moSimpleMoveTabuList< M >::add(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moSimpleSolutionTabuList.3 b/trunk/paradiseo-mo/doc/man/man3/moSimpleSolutionTabuList.3 new file mode 100644 index 000000000..930f538c8 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moSimpleSolutionTabuList.3 @@ -0,0 +1,176 @@ +.TH "moSimpleSolutionTabuList" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moSimpleSolutionTabuList \- Class describing a solution tabu list with limited length. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoTabuList< M >< M >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.ti -1c +.RI "typedef std::list< \fBEOT\fP >::iterator \fBsolutionIterator\fP" +.br +.RI "\fIAlias for an iterator of a solution list. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoSimpleSolutionTabuList\fP (unsigned int _memory_maximum_size)" +.br +.RI "\fIConstructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const M &_move, const \fBEOT\fP &_solution)" +.br +.RI "\fI\fBFunction\fP that indicates if, in a given state, the _move is tabu or not. \fP" +.ti -1c +.RI "void \fBadd\fP (const M &_move, const \fBEOT\fP &_solution)" +.br +.RI "\fIProcedure to add a move in the tabu list. \fP" +.ti -1c +.RI "void \fBupdate\fP ()" +.br +.RI "\fIProcedure that updates the tabu list content. \fP" +.ti -1c +.RI "void \fBinit\fP ()" +.br +.RI "\fIProcedure which initialises the tabu list. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBremoveSolution\fP (const \fBEOT\fP &_solution)" +.br +.RI "\fIProcedure that removes a given solution from the tabu list (if it is into, else does nothing). \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBmemory_maximum_size\fP" +.br +.RI "\fIThe maximum size of the tabu list. \fP" +.ti -1c +.RI "unsigned int \fBmemory_size\fP" +.br +.RI "\fIThe current size of the tabu list. \fP" +.ti -1c +.RI "std::list< \fBEOT\fP > \fBtabuList\fP" +.br +.RI "\fIThe solution tabu list. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moSimpleSolutionTabuList< M >" +Class describing a solution tabu list with limited length. +.PP +Definition at line 46 of file moSimpleSolutionTabuList.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoSimpleSolutionTabuList\fP< M >::\fBmoSimpleSolutionTabuList\fP (unsigned int _memory_maximum_size)\fC [inline]\fP" +.PP +Constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_memory_maximum_size\fP The maximum size of the solution tabu list. +.RE +.PP + +.PP +Definition at line 60 of file moSimpleSolutionTabuList.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoSimpleSolutionTabuList\fP< M >::operator() (const M & _move, const \fBEOT\fP & _solution)\fC [inline]\fP" +.PP +\fBFunction\fP that indicates if, in a given state, the _move is tabu or not. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP A given \fBmoMove\fP. +.br +\fI_solution\fP A solution. +.RE +.PP +\fBReturns:\fP +.RS 4 +true or false. +.RE +.PP + +.PP +Definition at line 69 of file moSimpleSolutionTabuList.h. +.PP +References moSimpleSolutionTabuList< M >::tabuList. +.SS "template void \fBmoSimpleSolutionTabuList\fP< M >::add (const M & _move, const \fBEOT\fP & _solution)\fC [inline, virtual]\fP" +.PP +Procedure to add a move in the tabu list. +.PP +The two parameters have not to be modified so they are constant parameters. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a new tabu move. +.br +\fI_solution\fP the origianl solution associated to this move. +.RE +.PP + +.PP +Implements \fBmoTabuList< M >\fP. +.PP +Definition at line 89 of file moSimpleSolutionTabuList.h. +.PP +References moSimpleSolutionTabuList< M >::memory_maximum_size, moSimpleSolutionTabuList< M >::memory_size, moSimpleSolutionTabuList< M >::removeSolution(), and moSimpleSolutionTabuList< M >::tabuList. +.SS "template void \fBmoSimpleSolutionTabuList\fP< M >::update ()\fC [inline, virtual]\fP" +.PP +Procedure that updates the tabu list content. +.PP +Generally, a counter associated to each saved move is decreased by one. +.PP +Implements \fBmoTabuList< M >\fP. +.PP +Definition at line 115 of file moSimpleSolutionTabuList.h. +.SS "template void \fBmoSimpleSolutionTabuList\fP< M >::init ()\fC [inline, virtual]\fP" +.PP +Procedure which initialises the tabu list. +.PP +Can be useful if the data structure needs to be allocated before being used. +.PP +Implements \fBmoTabuList< M >\fP. +.PP +Definition at line 120 of file moSimpleSolutionTabuList.h. +.SS "template void \fBmoSimpleSolutionTabuList\fP< M >::removeSolution (const \fBEOT\fP & _solution)\fC [inline, private]\fP" +.PP +Procedure that removes a given solution from the tabu list (if it is into, else does nothing). +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP A given solution. +.RE +.PP + +.PP +Definition at line 131 of file moSimpleSolutionTabuList.h. +.PP +References moSimpleSolutionTabuList< M >::tabuList. +.PP +Referenced by moSimpleSolutionTabuList< M >::add(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moSolContinue.3 b/trunk/paradiseo-mo/doc/man/man3/moSolContinue.3 new file mode 100644 index 000000000..110a70653 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moSolContinue.3 @@ -0,0 +1,46 @@ +.TH "moSolContinue" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moSolContinue \- Class that describes a stop criterion for a solution-based heuristic. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< const EOT &, bool >\fP. +.PP +Inherited by \fBmoFitSolContinue< EOT >\fP, \fBmoGenSolContinue< EOT >\fP, \fBmoNoFitImprSolContinue< EOT >\fP, and \fBmoSteadyFitSolContinue< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBinit\fP ()=0" +.br +.RI "\fIProcedure which initialises all that the stop criterion needs. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moSolContinue< EOT >" +Class that describes a stop criterion for a solution-based heuristic. + +It allows to add an initialisation procedure to an object that is a unary function (\fBeoUF\fP). +.PP +Definition at line 48 of file moSolContinue.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoSolContinue\fP< EOT >::init ()\fC [pure virtual]\fP" +.PP +Procedure which initialises all that the stop criterion needs. +.PP +Generally, it allocates some data structures or initialises some counters. +.PP +Implemented in \fBmoFitSolContinue< EOT >\fP, \fBmoGenSolContinue< EOT >\fP, \fBmoNoFitImprSolContinue< EOT >\fP, and \fBmoSteadyFitSolContinue< EOT >\fP. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moSteadyFitSolContinue.3 b/trunk/paradiseo-mo/doc/man/man3/moSteadyFitSolContinue.3 new file mode 100644 index 000000000..387a259e2 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moSteadyFitSolContinue.3 @@ -0,0 +1,131 @@ +.TH "moSteadyFitSolContinue" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moSteadyFitSolContinue \- One possible stopping criterion for a solution-based heuristic. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoSolContinue< EOT >< EOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoSteadyFitSolContinue\fP (unsigned int _maxNumberOfIterations, unsigned int _maxNumberOfIterationWithoutImprovement)" +.br +.RI "\fIBasic constructor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const EOT &_solution)" +.br +.RI "\fI\fBFunction\fP that activates the stopping criterion. \fP" +.ti -1c +.RI "void \fBinit\fP ()" +.br +.RI "\fIProcedure which allows to initialise the stuff needed. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBmaxNumberOfIterations\fP" +.br +.RI "\fIMaximum number of iterations before considering the fitness. \fP" +.ti -1c +.RI "unsigned int \fBmaxNumberOfIterationsWithoutImprovement\fP" +.br +.RI "\fIMaximum number of iterations without improvement allowed. \fP" +.ti -1c +.RI "bool \fBmaxNumberOfIterationsReached\fP" +.br +.RI "\fIFlag that indicates that the maxNumberIteration have been reached. \fP" +.ti -1c +.RI "bool \fBfirstFitnessSaved\fP" +.br +.RI "\fIFlag that this is the first time that the fitness is used. \fP" +.ti -1c +.RI "\fBFitness\fP \fBfitness\fP" +.br +.RI "\fICurrent Fitness. \fP" +.ti -1c +.RI "unsigned int \fBcounter\fP" +.br +.RI "\fIThe iteration couter. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moSteadyFitSolContinue< EOT >" +One possible stopping criterion for a solution-based heuristic. + +The stop criterion corresponds to a maximum number of iterations without improvement (after a minimum number of iterations). +.PP +Definition at line 46 of file moSteadyFitSolContinue.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoSteadyFitSolContinue\fP< EOT >::\fBmoSteadyFitSolContinue\fP (unsigned int _maxNumberOfIterations, unsigned int _maxNumberOfIterationWithoutImprovement)\fC [inline]\fP" +.PP +Basic constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxNumberOfIterations\fP The number of iterations to reach before looking for the fitness. +.br +\fI_maxNumberOfIterationWithoutImprovement\fP The number of iterations without fitness improvement to reach for stop. +.RE +.PP + +.PP +Definition at line 58 of file moSteadyFitSolContinue.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoSteadyFitSolContinue\fP< EOT >::operator() (const EOT & _solution)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP that activates the stopping criterion. +.PP +Indicates if the fitness has not been improved since a number of iterations (after a minimum of iterations). +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP the current solution. +.RE +.PP +\fBReturns:\fP +.RS 4 +true or false. +.RE +.PP + +.PP +Implements \fBeoUF< const EOT &, bool >\fP. +.PP +Definition at line 70 of file moSteadyFitSolContinue.h. +.PP +References moSteadyFitSolContinue< EOT >::counter, moSteadyFitSolContinue< EOT >::firstFitnessSaved, moSteadyFitSolContinue< EOT >::fitness, moSteadyFitSolContinue< EOT >::maxNumberOfIterations, moSteadyFitSolContinue< EOT >::maxNumberOfIterationsReached, and moSteadyFitSolContinue< EOT >::maxNumberOfIterationsWithoutImprovement. +.SS "template void \fBmoSteadyFitSolContinue\fP< EOT >::init ()\fC [inline, virtual]\fP" +.PP +Procedure which allows to initialise the stuff needed. +.PP +It can be also used to reinitialize the counter all the needed things. +.PP +Implements \fBmoSolContinue< EOT >\fP. +.PP +Definition at line 114 of file moSteadyFitSolContinue.h. +.PP +References moSteadyFitSolContinue< EOT >::counter, moSteadyFitSolContinue< EOT >::firstFitnessSaved, and moSteadyFitSolContinue< EOT >::maxNumberOfIterationsReached. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moTS.3 b/trunk/paradiseo-mo/doc/man/man3/moTS.3 new file mode 100644 index 000000000..569892580 --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moTS.3 @@ -0,0 +1,142 @@ +.TH "moTS" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moTS \- Tabu Search (TS). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoAlgo< M::EOType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoTS\fP (\fBmoMoveInit\fP< M > &_move_initializer, \fBmoNextMove\fP< M > &_next_move_generator, \fBmoMoveIncrEval\fP< M > &_incremental_evaluation, \fBmoTabuList\fP< M > &_tabu_list, \fBmoAspirCrit\fP< M > &_aspiration_criterion, \fBmoSolContinue\fP< \fBEOT\fP > &_continue, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fIConstructor of a \fBmoTS\fP specifying all the boxes. \fP" +.ti -1c +.RI "\fBmoTS\fP (\fBmoMoveExpl\fP< M > &_move_explorer, \fBmoSolContinue\fP< \fBEOT\fP > &_continue, \fBeoEvalFunc\fP< \fBEOT\fP > &_full_evaluation)" +.br +.RI "\fIConstructor with less parameters. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (\fBEOT\fP &_solution)" +.br +.RI "\fI\fBFunction\fP which launchs the Tabu Search. \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.ti -1c +.RI "typedef EOT::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoMoveExpl\fP< M > & \fBmove_explorer\fP" +.br +.RI "\fINeighborhood explorer. \fP" +.ti -1c +.RI "\fBmoSolContinue\fP< \fBEOT\fP > & \fBcontinu\fP" +.br +.RI "\fIStop criterion. \fP" +.ti -1c +.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBfull_evaluation\fP" +.br +.RI "\fIFull evaluation function. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moTS< M >" +Tabu Search (TS). + +Generic algorithm that describes a tabu search. +.PP +Definition at line 50 of file moTS.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoTS\fP< M >::\fBmoTS\fP (\fBmoMoveInit\fP< M > & _move_initializer, \fBmoNextMove\fP< M > & _next_move_generator, \fBmoMoveIncrEval\fP< M > & _incremental_evaluation, \fBmoTabuList\fP< M > & _tabu_list, \fBmoAspirCrit\fP< M > & _aspiration_criterion, \fBmoSolContinue\fP< \fBEOT\fP > & _continue, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +Constructor of a \fBmoTS\fP specifying all the boxes. +.PP +In this constructor, a \fBmoTSMoveLoopExpl\fP is instanciated. +.PP +\fBParameters:\fP +.RS 4 +\fI_move_initializer\fP The move initializer. +.br +\fI_next_move_generator\fP The neighbourhood explorer. +.br +\fI_incremental_evaluation\fP The (generally) efficient evaluation. +.br +\fI_tabu_list\fP The tabu list. +.br +\fI_aspiration_criterion\fP An aspiration criterion. +.br +\fI_continue\fP The stopping criterion. +.br +\fI_full_evaluation\fP A full evaluation function. +.RE +.PP + +.PP +Definition at line 72 of file moTS.h. +.SS "template \fBmoTS\fP< M >::\fBmoTS\fP (\fBmoMoveExpl\fP< M > & _move_explorer, \fBmoSolContinue\fP< \fBEOT\fP > & _continue, \fBeoEvalFunc\fP< \fBEOT\fP > & _full_evaluation)\fC [inline]\fP" +.PP +Constructor with less parameters. +.PP +The explorer is given in the parameters. +.PP +\fBParameters:\fP +.RS 4 +\fI_move_explorer\fP The explorer (generally different that a \fBmoTSMoveLoopExpl\fP). +.br +\fI_continue\fP The stopping criterion. +.br +\fI_full_evaluation\fP A full evaluation function. +.RE +.PP + +.PP +Definition at line 89 of file moTS.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoTS\fP< M >::operator() (\fBEOT\fP & _solution)\fC [inline, virtual]\fP" +.PP +\fBFunction\fP which launchs the Tabu Search. +.PP +Algorithm of the tabu search. As a \fBmoSA\fP or a \fBmoHC\fP, it can be used for HYBRIDATION in an evolutionary algorithm. For security a lock (pthread_mutex_t) is closed during the algorithm. +.PP +\fBParameters:\fP +.RS 4 +\fI_solution\fP a solution to improve. +.RE +.PP +\fBReturns:\fP +.RS 4 +TRUE. +.RE +.PP + +.PP +Implements \fBeoUF< M::EOType &, bool >\fP. +.PP +Definition at line 102 of file moTS.h. +.PP +References moTS< M >::continu, moTS< M >::full_evaluation, and moTS< M >::move_explorer. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moTSMoveLoopExpl.3 b/trunk/paradiseo-mo/doc/man/man3/moTSMoveLoopExpl.3 new file mode 100644 index 000000000..eb4efe9bb --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moTSMoveLoopExpl.3 @@ -0,0 +1,125 @@ +.TH "moTSMoveLoopExpl" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moTSMoveLoopExpl \- Explorer for a Tabu Search algorithm. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoMoveLoopExpl< M >< M >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoTSMoveLoopExpl\fP (\fBmoMoveInit\fP< M > &_move_initializer, \fBmoNextMove\fP< M > &_next_move_generator, \fBmoMoveIncrEval\fP< M > &_incremental_evaluation, \fBmoTabuList\fP< M > &_tabu_list, \fBmoAspirCrit\fP< M > &_aspiration_criterion)" +.br +.RI "\fIConstructor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (const \fBEOT\fP &_old_solution, \fBEOT\fP &_new_solution)" +.br +.RI "\fIProcedure which lauches the exploration. \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.ti -1c +.RI "typedef M::EOType::Fitness \fBFitness\fP" +.br +.RI "\fIAlias for the fitness. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoMoveInit\fP< M > & \fBmove_initializer\fP" +.br +.RI "\fIMove initialisation. \fP" +.ti -1c +.RI "\fBmoNextMove\fP< M > & \fBnext_move_generator\fP" +.br +.RI "\fINeighborhood explorer. \fP" +.ti -1c +.RI "\fBmoMoveIncrEval\fP< M > & \fBincremental_evaluation\fP" +.br +.RI "\fIEfficient evaluation. \fP" +.ti -1c +.RI "\fBmoBestImprSelect\fP< M > \fBmove_selection\fP" +.br +.RI "\fIMove selector. \fP" +.ti -1c +.RI "\fBmoTabuList\fP< M > & \fBtabu_list\fP" +.br +.RI "\fITabu list. \fP" +.ti -1c +.RI "\fBmoAspirCrit\fP< M > & \fBaspiration_criterion\fP" +.br +.RI "\fIAspiration criterion. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moTSMoveLoopExpl< M >" +Explorer for a Tabu Search algorithm. + +It is used by a \fBmoTS\fP. +.PP +Definition at line 53 of file moTSMoveLoopExpl.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoTSMoveLoopExpl\fP< M >::\fBmoTSMoveLoopExpl\fP (\fBmoMoveInit\fP< M > & _move_initializer, \fBmoNextMove\fP< M > & _next_move_generator, \fBmoMoveIncrEval\fP< M > & _incremental_evaluation, \fBmoTabuList\fP< M > & _tabu_list, \fBmoAspirCrit\fP< M > & _aspiration_criterion)\fC [inline]\fP" +.PP +Constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_move_initializer\fP The move initializer. +.br +\fI_next_move_generator\fP The neighbourhood explorer. +.br +\fI_incremental_evaluation\fP A (generally) efficient evaluation. +.br +\fI_tabu_list\fP The tabu list. +.br +\fI_aspiration_criterion\fP An aspiration criterion. +.RE +.PP + +.PP +Definition at line 71 of file moTSMoveLoopExpl.h. +.PP +References moTSMoveLoopExpl< M >::aspiration_criterion, and moTSMoveLoopExpl< M >::tabu_list. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoTSMoveLoopExpl\fP< M >::operator() (const \fBEOT\fP & _old_solution, \fBEOT\fP & _new_solution)\fC [inline, virtual]\fP" +.PP +Procedure which lauches the exploration. +.PP +The exploration continues while the chosen move is not in the tabu list or the aspiration criterion is true. If these 2 conditions are not true, the exploration stops if the move selector update function returns false. +.PP +\fBParameters:\fP +.RS 4 +\fI_old_solution\fP the initial solution +.br +\fI_new_solution\fP the new solution +.RE +.PP + +.PP +Implements \fBeoBF< const M::EOType &, M::EOType &, void >\fP. +.PP +Definition at line 90 of file moTSMoveLoopExpl.h. +.PP +References moTSMoveLoopExpl< M >::aspiration_criterion, moTSMoveLoopExpl< M >::incremental_evaluation, moTSMoveLoopExpl< M >::move_initializer, moTSMoveLoopExpl< M >::move_selection, moTSMoveLoopExpl< M >::next_move_generator, and moTSMoveLoopExpl< M >::tabu_list. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code. diff --git a/trunk/paradiseo-mo/doc/man/man3/moTabuList.3 b/trunk/paradiseo-mo/doc/man/man3/moTabuList.3 new file mode 100644 index 000000000..7d5c3cbcb --- /dev/null +++ b/trunk/paradiseo-mo/doc/man/man3/moTabuList.3 @@ -0,0 +1,85 @@ +.TH "moTabuList" 3 "15 Jan 2008" "Version 1.0" "ParadisEO-MOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moTabuList \- Class describing a tabu list that a \fBmoTS\fP uses. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const M &, M::EOType &, bool >\fP. +.PP +Inherited by \fBmoSimpleMoveTabuList< M >\fP, and \fBmoSimpleSolutionTabuList< M >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef M::EOType \fBEOT\fP" +.br +.RI "\fIAlias for the type. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBadd\fP (const M &_move, const \fBEOT\fP &_solution)=0" +.br +.RI "\fIProcedure to add a move in the tabu list. \fP" +.ti -1c +.RI "virtual void \fBupdate\fP ()=0" +.br +.RI "\fIProcedure that updates the tabu list content. \fP" +.ti -1c +.RI "virtual void \fBinit\fP ()=0" +.br +.RI "\fIProcedure which initialises the tabu list. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moTabuList< M >" +Class describing a tabu list that a \fBmoTS\fP uses. + +It is only a description, does nothing... A new object that herits from this class has to be defined in order to be used in a \fBmoTS\fP. +.PP +Definition at line 46 of file moTabuList.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoTabuList\fP< M >::add (const M & _move, const \fBEOT\fP & _solution)\fC [pure virtual]\fP" +.PP +Procedure to add a move in the tabu list. +.PP +The two parameters have not to be modified so they are constant parameters. +.PP +\fBParameters:\fP +.RS 4 +\fI_move\fP a new tabu move. +.br +\fI_solution\fP the origianl solution associated to this move. +.RE +.PP + +.PP +Implemented in \fBmoSimpleMoveTabuList< M >\fP, and \fBmoSimpleSolutionTabuList< M >\fP. +.SS "template virtual void \fBmoTabuList\fP< M >::update ()\fC [pure virtual]\fP" +.PP +Procedure that updates the tabu list content. +.PP +Generally, a counter associated to each saved move is decreased by one. +.PP +Implemented in \fBmoSimpleMoveTabuList< M >\fP, and \fBmoSimpleSolutionTabuList< M >\fP. +.SS "template virtual void \fBmoTabuList\fP< M >::init ()\fC [pure virtual]\fP" +.PP +Procedure which initialises the tabu list. +.PP +Can be useful if the data structure needs to be allocated before being used. +.PP +Implemented in \fBmoSimpleMoveTabuList< M >\fP, and \fBmoSimpleSolutionTabuList< M >\fP. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOMovingObjects from the source code.