moILS has been added, berlin52.tsp too, moComparator, moFitComparator, ...

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@606 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
jboisson 2007-09-20 09:42:11 +00:00
commit b1520dda65
366 changed files with 12063 additions and 1766 deletions

View file

@ -1,15 +1,21 @@
\section{PARADISEO-MO Class List}
\section{ParadisEO-MOMovingObjects Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{{\bf CitySwap} (Its swaps two vertices randomly choosen )}{\pageref{class_city_swap}}{}
\item\contentsline{section}{{\bf EdgeXover} (Edge Crossover )}{\pageref{class_edge_xover}}{}
\item\contentsline{section}{{\bf EmptySelection} (Special class that describes the case of no selection )}{\pageref{class_empty_selection}}{}
\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}}{}
@ -22,13 +28,28 @@ Here are the classes, structs, unions and interfaces with brief descriptions:\be
\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}}{}
\item\contentsline{section}{{\bf OrderXover} (Order Crossover )}{\pageref{class_order_xover}}{}
\item\contentsline{section}{{\bf PartialMappedXover} (Partial Mapped Crossover )}{\pageref{class_partial_mapped_xover}}{}
\item\contentsline{section}{{\bf PartRouteEval} (Route Evaluator )}{\pageref{class_part_route_eval}}{}
\item\contentsline{section}{{\bf PartTwoOptInit} (It sets the first couple of edges )}{\pageref{class_part_two_opt_init}}{}
\item\contentsline{section}{{\bf PartTwoOptNext} (It updates a couple of edges )}{\pageref{class_part_two_opt_next}}{}
\item\contentsline{section}{{\bf RouteEval} (Route Evaluator )}{\pageref{class_route_eval}}{}
\item\contentsline{section}{{\bf RouteInit} }{\pageref{class_route_init}}{}
\item\contentsline{section}{{\bf TwoOpt} }{\pageref{class_two_opt}}{}
\item\contentsline{section}{{\bf TwoOptIncrEval} }{\pageref{class_two_opt_incr_eval}}{}
\item\contentsline{section}{{\bf TwoOptInit} (It sets the first couple of edges )}{\pageref{class_two_opt_init}}{}
\item\contentsline{section}{{\bf TwoOptNext} (It updates a couple of edges )}{\pageref{class_two_opt_next}}{}
\item\contentsline{section}{{\bf TwoOptRand} }{\pageref{class_two_opt_rand}}{}
\item\contentsline{section}{{\bf TwoOptTabuList} (The table of tabu movements, i.e )}{\pageref{class_two_opt_tabu_list}}{}
\end{CompactList}

View file

@ -0,0 +1,26 @@
\section{CitySwap Class Reference}
\label{class_city_swap}\index{CitySwap@{CitySwap}}
Its swaps two vertices randomly choosen.
{\tt \#include $<$city\_\-swap.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} (Route \&\_\-\_\-route)\label{class_city_swap_7e6958b62048c89604cbf046b86bdf2d}
\end{CompactItemize}
\subsection{Detailed Description}
Its swaps two vertices randomly choosen.
Definition at line 21 of file city\_\-swap.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
city\_\-swap.h\item
city\_\-swap.cpp\end{CompactItemize}

View file

@ -0,0 +1,47 @@
\section{EdgeXover Class Reference}
\label{class_edge_xover}\index{EdgeXover@{EdgeXover}}
Edge Crossover.
{\tt \#include $<$edge\_\-xover.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} (Route \&\_\-\_\-route1, Route \&\_\-\_\-route2)\label{class_edge_xover_cb1c0a103106a4d3319540cb23163a79}
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void {\bf cross} (const Route \&\_\-\_\-par1, const Route \&\_\-\_\-par2, Route \&\_\-\_\-child)\label{class_edge_xover_88c2d4c9a878454a32d56010f3dddc27}
\item
void {\bf build\_\-map} (const Route \&\_\-\_\-par1, const Route \&\_\-\_\-par2)\label{class_edge_xover_04de96aa1016836e0ba5f4b952a5fa16}
\item
void {\bf add\_\-vertex} (unsigned int \_\-\_\-vertex, Route \&\_\-\_\-child)\label{class_edge_xover_b590458c35c16a14896a4bcdf9674ade}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
std::vector$<$ std::set$<$ unsigned int $>$ $>$ {\bf \_\-map}\label{class_edge_xover_7d9272c12cfa55df4677d5ad837a0e5c}
\item
std::vector$<$ bool $>$ {\bf visited}\label{class_edge_xover_46d4d4724cf6d660b1a7ab4a346573d4}
\end{CompactItemize}
\subsection{Detailed Description}
Edge Crossover.
Definition at line 23 of file edge\_\-xover.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
edge\_\-xover.h\item
edge\_\-xover.cpp\end{CompactItemize}

View file

@ -0,0 +1,32 @@
\section{OrderXover Class Reference}
\label{class_order_xover}\index{OrderXover@{OrderXover}}
Order Crossover.
{\tt \#include $<$order\_\-xover.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} (Route \&\_\-\_\-route1, Route \&\_\-\_\-route2)\label{class_order_xover_0ff6aada669eb8173322ed68cda1ac61}
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void {\bf cross} (const Route \&\_\-\_\-par1, const Route \&\_\-\_\-par2, Route \&\_\-\_\-child)\label{class_order_xover_d2bf90b5f46ac4a344777e17bc5f364d}
\end{CompactItemize}
\subsection{Detailed Description}
Order Crossover.
Definition at line 20 of file order\_\-xover.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
order\_\-xover.h\item
order\_\-xover.cpp\end{CompactItemize}

View file

@ -0,0 +1,38 @@
\section{PartRouteEval Class Reference}
\label{class_part_route_eval}\index{PartRouteEval@{PartRouteEval}}
Route Evaluator.
{\tt \#include $<$part\_\-route\_\-eval.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf PartRouteEval} (float \_\-\_\-from, float \_\-\_\-to)\label{class_part_route_eval_a331566b29bc3227f377004232f05491}
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
void {\bf operator()} (Route \&\_\-\_\-route)\label{class_part_route_eval_965fab875fb601f17934a6ece761beae}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
float {\bf from}\label{class_part_route_eval_5bde722e66378b2570ae6c4b4f8df58e}
\item
float {\bf to}\label{class_part_route_eval_de53cc919faa498663f327b72c357da3}
\end{CompactItemize}
\subsection{Detailed Description}
Route Evaluator.
Definition at line 20 of file part\_\-route\_\-eval.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
part\_\-route\_\-eval.h\item
part\_\-route\_\-eval.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 264.901
%%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.8875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(PartTwoOptInit) cw
(moMoveInit< TwoOpt >) 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 -----
(PartTwoOptInit) 0 0 box
(moMoveInit< TwoOpt >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,32 @@
\section{PartTwoOptInit Class Reference}
\label{class_part_two_opt_init}\index{PartTwoOptInit@{PartTwoOptInit}}
It sets the first couple of edges.
{\tt \#include $<$part\_\-two\_\-opt\_\-init.h$>$}
Inheritance diagram for PartTwoOptInit::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_part_two_opt_init}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf operator()} ({\bf TwoOpt} \&\_\-\_\-move, const Route \&\_\-\_\-route)\label{class_part_two_opt_init_2f6190b1700ca1a12d0baaceaf75383c}
\end{CompactItemize}
\subsection{Detailed Description}
It sets the first couple of edges.
Definition at line 20 of file part\_\-two\_\-opt\_\-init.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
part\_\-two\_\-opt\_\-init.h\item
part\_\-two\_\-opt\_\-init.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 250
%%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 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(PartTwoOptNext) cw
(moNextMove< TwoOpt >) 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 -----
(PartTwoOptNext) 0 0 box
(moNextMove< TwoOpt >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,25 @@
\section{PartTwoOptNext Class Reference}
\label{class_part_two_opt_next}\index{PartTwoOptNext@{PartTwoOptNext}}
It updates a couple of edges.
{\tt \#include $<$part\_\-two\_\-opt\_\-next.h$>$}
Inheritance diagram for PartTwoOptNext::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_part_two_opt_next}
\end{center}
\end{figure}
\subsection{Detailed Description}
It updates a couple of edges.
Definition at line 19 of file part\_\-two\_\-opt\_\-next.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
part\_\-two\_\-opt\_\-next.h\end{CompactItemize}

View file

@ -0,0 +1,32 @@
\section{PartialMappedXover Class Reference}
\label{class_partial_mapped_xover}\index{PartialMappedXover@{PartialMappedXover}}
Partial Mapped Crossover.
{\tt \#include $<$partial\_\-mapped\_\-xover.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} (Route \&\_\-\_\-route1, Route \&\_\-\_\-route2)\label{class_partial_mapped_xover_1cda6ea86ca36e5de0125f4ba5cfc695}
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void {\bf repair} (Route \&\_\-\_\-route, unsigned \_\-\_\-cut1, unsigned \_\-\_\-cut2)\label{class_partial_mapped_xover_b6d4035544aff3b2b3fe4b0eeea185a2}
\end{CompactItemize}
\subsection{Detailed Description}
Partial Mapped Crossover.
Definition at line 20 of file partial\_\-mapped\_\-xover.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
partial\_\-mapped\_\-xover.h\item
partial\_\-mapped\_\-xover.cpp\end{CompactItemize}

View file

@ -0,0 +1,26 @@
\section{RouteEval Class Reference}
\label{class_route_eval}\index{RouteEval@{RouteEval}}
Route Evaluator.
{\tt \#include $<$route\_\-eval.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf operator()} (Route \&\_\-\_\-route)\label{class_route_eval_e10bbe6f792e6f44405953de4f703901}
\end{CompactItemize}
\subsection{Detailed Description}
Route Evaluator.
Definition at line 20 of file route\_\-eval.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
route\_\-eval.h\item
route\_\-eval.cpp\end{CompactItemize}

View file

@ -0,0 +1,21 @@
\section{RouteInit Class Reference}
\label{class_route_init}\index{RouteInit@{RouteInit}}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf operator()} (Route \&\_\-\_\-route)\label{class_route_init_b65a7137e114458faadb6a5510c001f7}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 19 of file route\_\-init.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
route\_\-init.h\item
route\_\-init.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 322.581
%%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.55 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(TwoOpt) cw
(moMove< Route >) 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 -----
(TwoOpt) 0 0 box
(moMove< Route >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,36 @@
\section{TwoOpt Class Reference}
\label{class_two_opt}\index{TwoOpt@{TwoOpt}}
Inheritance diagram for TwoOpt::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_two_opt}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf TwoOpt} {\bf operator!} () const\label{class_two_opt_bc412d9f7fe3617cafef364f860d8d41}
\item
void {\bf operator()} (Route \&\_\-\_\-route)\label{class_two_opt_ff87d1649a33d42a6d64e8d314ed1af0}
\item
void {\bf readFrom} (std::istream \&\_\-\_\-is)\label{class_two_opt_feccfecca2a6bd2d3a12afdf3f724be0}
\item
void {\bf printOn} (std::ostream \&\_\-\_\-os) const\label{class_two_opt_77ea59d81dd829ee3190219fa8659adc}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 22 of file two\_\-opt.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
two\_\-opt.h\item
two\_\-opt.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 219.78
%%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.275 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(TwoOptIncrEval) cw
(moMoveIncrEval< TwoOpt >) 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 -----
(TwoOptIncrEval) 0 0 box
(moMoveIncrEval< TwoOpt >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,27 @@
\section{TwoOptIncrEval Class Reference}
\label{class_two_opt_incr_eval}\index{TwoOptIncrEval@{TwoOptIncrEval}}
Inheritance diagram for TwoOptIncrEval::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_two_opt_incr_eval}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
float {\bf operator()} (const {\bf TwoOpt} \&\_\-\_\-move, const Route \&\_\-\_\-route)\label{class_two_opt_incr_eval_4574d0b22065be5b59b88791e2b61138}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 18 of file two\_\-opt\_\-incr\_\-eval.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
two\_\-opt\_\-incr\_\-eval.h\item
two\_\-opt\_\-incr\_\-eval.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 264.901
%%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.8875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(TwoOptInit) cw
(moMoveInit< TwoOpt >) 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 -----
(TwoOptInit) 0 0 box
(moMoveInit< TwoOpt >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,32 @@
\section{TwoOptInit Class Reference}
\label{class_two_opt_init}\index{TwoOptInit@{TwoOptInit}}
It sets the first couple of edges.
{\tt \#include $<$two\_\-opt\_\-init.h$>$}
Inheritance diagram for TwoOptInit::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_two_opt_init}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf operator()} ({\bf TwoOpt} \&\_\-\_\-move, const Route \&\_\-\_\-route)\label{class_two_opt_init_5bf6af064d37ebd955ffb5a623e78e1b}
\end{CompactItemize}
\subsection{Detailed Description}
It sets the first couple of edges.
Definition at line 20 of file two\_\-opt\_\-init.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
two\_\-opt\_\-init.h\item
two\_\-opt\_\-init.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 250
%%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 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(TwoOptNext) cw
(moNextMove< TwoOpt >) 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 -----
(TwoOptNext) 0 0 box
(moNextMove< TwoOpt >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,33 @@
\section{TwoOptNext Class Reference}
\label{class_two_opt_next}\index{TwoOptNext@{TwoOptNext}}
It updates a couple of edges.
{\tt \#include $<$two\_\-opt\_\-next.h$>$}
Inheritance diagram for TwoOptNext::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_two_opt_next}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} ({\bf TwoOpt} \&\_\-\_\-move, const Route \&\_\-\_\-route)\label{class_two_opt_next_baf229b2e056f39ab971cf2ac66a833e}
\end{CompactItemize}
\subsection{Detailed Description}
It updates a couple of edges.
Definition at line 19 of file two\_\-opt\_\-next.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
two\_\-opt\_\-next.h\item
part\_\-two\_\-opt\_\-next.cpp\item
two\_\-opt\_\-next.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 243.902
%%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.05 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(TwoOptRand) cw
(moRandMove< TwoOpt >) 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 -----
(TwoOptRand) 0 0 box
(moRandMove< TwoOpt >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,27 @@
\section{TwoOptRand Class Reference}
\label{class_two_opt_rand}\index{TwoOptRand@{TwoOptRand}}
Inheritance diagram for TwoOptRand::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_two_opt_rand}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf operator()} ({\bf TwoOpt} \&\_\-\_\-move)\label{class_two_opt_rand_bcba673ec71e565f536674bfe5bab609}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 19 of file two\_\-opt\_\-rand.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
two\_\-opt\_\-rand.h\item
two\_\-opt\_\-rand.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 266.667
%%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.875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(TwoOptTabuList) cw
(moTabuList< TwoOpt >) 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 -----
(TwoOptTabuList) 0 0 box
(moTabuList< TwoOpt >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,76 @@
\section{TwoOptTabuList Class Reference}
\label{class_two_opt_tabu_list}\index{TwoOptTabuList@{TwoOptTabuList}}
The table of tabu movements, i.e.
{\tt \#include $<$two\_\-opt\_\-tabu\_\-list.h$>$}
Inheritance diagram for TwoOptTabuList::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_two_opt_tabu_list}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} (const {\bf TwoOpt} \&\_\-\_\-move, const Route \&\_\-\_\-sol)\label{class_two_opt_tabu_list_94eb6bced415ff97cec89107cc6eebab}
\item
void {\bf add} (const {\bf TwoOpt} \&\_\-\_\-move, const Route \&\_\-\_\-sol)\label{class_two_opt_tabu_list_10436d67bef09f5893df2d85549d1dbd}
\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 Attributes}
\begin{CompactItemize}
\item
std::vector$<$ std::vector$<$ unsigned $>$ $>$ {\bf tabu\_\-span}\label{class_two_opt_tabu_list_cbcdf3b501f624a14f3c767652609382}
\end{CompactItemize}
\subsection{Detailed Description}
The table of tabu movements, i.e.
forbidden edges
Definition at line 20 of file two\_\-opt\_\-tabu\_\-list.h.
\subsection{Member Function Documentation}
\index{TwoOptTabuList@{TwoOptTabuList}!update@{update}}
\index{update@{update}!TwoOptTabuList@{TwoOptTabuList}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TwoOptTabuList::update ()\hspace{0.3cm}{\tt [virtual]}}\label{class_two_opt_tabu_list_c460034b7debe7198c6df046855155da}
Procedure that updates the tabu list content.
Generally, a counter associated to each saved move is decreased by one.
Implements {\bf moTabuList$<$ TwoOpt $>$} \doxyref{}{p.}{classmo_tabu_list_a2e5d1132f064093c8ed57046405f5ca}.
Definition at line 46 of file two\_\-opt\_\-tabu\_\-list.cpp.
References tabu\_\-span.\index{TwoOptTabuList@{TwoOptTabuList}!init@{init}}
\index{init@{init}!TwoOptTabuList@{TwoOptTabuList}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TwoOptTabuList::init ()\hspace{0.3cm}{\tt [virtual]}}\label{class_two_opt_tabu_list_2d3101e6045700b0e32f5e82672a175e}
Procedure which initialises the tabu list.
Can be useful if the data structure needs to be allocated before being used.
Implements {\bf moTabuList$<$ TwoOpt $>$} \doxyref{}{p.}{classmo_tabu_list_0a06c459d56e8e2b408a8f3c6aec4e57}.
Definition at line 17 of file two\_\-opt\_\-tabu\_\-list.cpp.
References Graph::size(), and tabu\_\-span.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
two\_\-opt\_\-tabu\_\-list.h\item
two\_\-opt\_\-tabu\_\-list.cpp\end{CompactItemize}

View file

@ -5,12 +5,6 @@ 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}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 119.76
%%BoundingBox: 0 0 500 109.29
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.175 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 4.575 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
/rows 2 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -174,8 +174,6 @@
boxfont setfont
1 boundaspect scale
(moAspirCrit< M >) cw
(eoBF< const M &, const M::EOType::Fitness &, bool >) cw
(eoFunctorBase) cw
(moImprBestFitAspirCrit< M >) cw
(moNoAspirCrit< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
@ -190,21 +188,11 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moAspirCrit< M >) 0.5 1 box
(eoBF< const M &, const M::EOType::Fitness &, bool >) 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

View file

@ -8,7 +8,7 @@ Description of the conditions in which a tabu move could be accepted.
Inheritance diagram for moAspirCrit$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.35329cm]{classmo_aspir_crit}
\includegraphics[height=2cm]{classmo_aspir_crit}
\end{center}
\end{figure}
\subsection*{Public Member Functions}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 303.03
%%BoundingBox: 0 0 500 259.74
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.925 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ 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
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moBestImprSelect< M >) 0 0 box
(moMoveSelect< M >) 0 1 box
(eoBF< M &, M::EOType::Fitness &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One of the possible \doxyref{moMoveSelect}{p.}{classmo_move_select}.
Inheritance diagram for moBestImprSelect$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_best_impr_select}
\includegraphics[height=2cm]{classmo_best_impr_select}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -77,7 +77,7 @@ Definition at line 47 of file moBestImprSelect.h.
References moBestImprSelect$<$ M $>$::best\_\-fit, 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 \_\-\_\-fit}) throw ({\bf EmptySelection})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_best_impr_select_169773d4d127acd782cf379f758222da}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moBestImprSelect}$<$ M $>$::operator() (M \& {\em \_\-\_\-move}, {\bf Fitness} \& {\em \_\-\_\-fit}) throw ({\bf EmptySelection})\hspace{0.3cm}{\tt [inline]}}\label{classmo_best_impr_select_169773d4d127acd782cf379f758222da}
Procedure which saved the best move and fitness.
@ -94,8 +94,6 @@ Procedure which saved the best move and fitness.
\end{Desc}
Implements {\bf eoBF$<$ M \&, M::EOType::Fitness \&, void $>$}.
Definition at line 68 of file moBestImprSelect.h.
References moBestImprSelect$<$ M $>$::best\_\-fit, moBestImprSelect$<$ M $>$::best\_\-move, and moBestImprSelect$<$ M $>$::first\_\-time.

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 242.424
%%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.0625 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(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
(moFitComparator< EOT >) 0 0 box
% ----- relations -----
solid
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -0,0 +1,29 @@
\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=2cm]{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 21 of file moComparator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moComparator.h\end{CompactItemize}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 203.046
%%BoundingBox: 0 0 500 101.523
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.4625 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 4.925 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
/rows 2 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -174,8 +174,6 @@
boxfont setfont
1 boundaspect scale
(moCoolingSchedule) cw
(eoUF< double &, bool >) cw
(eoFunctorBase) cw
(moExponentialCoolingSchedule) cw
(moLinearCoolingSchedule) cw
/boxwidth boxwidth marginwidth 2 mul add def
@ -190,21 +188,11 @@ 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

View file

@ -8,7 +8,7 @@ This class gives the description of a cooling schedule.
Inheritance diagram for moCoolingSchedule::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_cooling_schedule}
\includegraphics[height=2cm]{classmo_cooling_schedule}
\end{center}
\end{figure}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 406.091
%%BoundingBox: 0 0 500 203.046
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.23125 def % aspect ratio of the BoundingBox (width/height)
/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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ 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
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moExponentialCoolingSchedule) 0 0 box
(moCoolingSchedule) 0 1 box
(eoUF< double &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One of the possible \doxyref{moCoolingSchedule}{p.}{classmo_cooling_schedule}.
Inheritance diagram for moExponentialCoolingSchedule::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_exponential_cooling_schedule}
\includegraphics[height=2cm]{classmo_exponential_cooling_schedule}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@ -58,7 +58,7 @@ Definition at line 31 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 \_\-\_\-temp})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_exponential_cooling_schedule_00642b03453b51612a10fcf2280543db}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool moExponentialCoolingSchedule::operator() (double \& {\em \_\-\_\-temp})\hspace{0.3cm}{\tt [inline]}}\label{classmo_exponential_cooling_schedule_00642b03453b51612a10fcf2280543db}
Function which proceeds to the cooling.
@ -74,8 +74,6 @@ It decreases the temperature and indicates if it is greater than the threshold.
\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 41 of file moExponentialCoolingSchedule.h.
References ratio, and threshold.

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 303.03
%%BoundingBox: 0 0 500 258.065
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.9375 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ 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
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moFirstImprSelect< M >) 0 0 box
(moMoveSelect< M >) 0 1 box
(eoBF< M &, M::EOType::Fitness &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One possible \doxyref{moMoveSelect}{p.}{classmo_move_select}.
Inheritance diagram for moFirstImprSelect$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_first_impr_select}
\includegraphics[height=2cm]{classmo_first_impr_select}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -90,7 +90,7 @@ Definition at line 52 of file moFirstImprSelect.h.
References moFirstImprSelect$<$ M $>$::best\_\-fit, moFirstImprSelect$<$ M $>$::best\_\-move, moFirstImprSelect$<$ M $>$::init\_\-fit, 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 \_\-\_\-fit}) throw ({\bf EmptySelection})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_first_impr_select_3be12cf4cbaed00df7c4fa735b2c0a95}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moFirstImprSelect}$<$ M $>$::operator() (M \& {\em \_\-\_\-move}, {\bf Fitness} \& {\em \_\-\_\-fit}) throw ({\bf EmptySelection})\hspace{0.3cm}{\tt [inline]}}\label{classmo_first_impr_select_3be12cf4cbaed00df7c4fa735b2c0a95}
Procedure which saved the best move and fitness.
@ -107,8 +107,6 @@ Procedure which saved the best move and fitness.
\end{Desc}
Implements {\bf eoBF$<$ M \&, M::EOType::Fitness \&, void $>$}.
Definition at line 76 of file moFirstImprSelect.h.
References moFirstImprSelect$<$ M $>$::best\_\-fit, moFirstImprSelect$<$ M $>$::best\_\-move, and moFirstImprSelect$<$ M $>$::valid.

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 242.424
%%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.0625 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
/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
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,35 @@
\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=2cm]{classmo_fit_comparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} (const EOT \&\_\-solution1, const EOT \&\_\-solution2)\label{classmo_fit_comparator_c920d5a49deb16710daf1e5fcde6b16c}
\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 20 of file moFitComparator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moFitComparator.h\end{CompactItemize}

View file

@ -1,11 +1,11 @@
\section{mo\-Fit\-Sol\-Continue$<$ EOT $>$ Class Template Reference}
\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 $<$mo\-Fit\-Sol\-Continue.h$>$}
{\tt \#include $<$moFitSolContinue.h$>$}
Inheritance diagram for mo\-Fit\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
Inheritance diagram for moFitSolContinue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmo_fit_sol_continue}
@ -14,28 +14,28 @@ Inheritance diagram for mo\-Fit\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_fit_sol_continue_369ed94a788d8bdc08d5554f7669376f}
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{mo\-Fit\-Sol\-Continue} (\bf{Fitness} \_\-\_\-fitness)
{\bf moFitSolContinue} ({\bf Fitness} \_\-\_\-fitness)
\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item
bool \bf{operator()} (const EOT \&\_\-\_\-sol)
bool {\bf operator()} (const EOT \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Function that activates the stopping criterion. \item\end{CompactList}\item
void \bf{init} ()
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}
{\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 mo\-Fit\-Sol\-Continue$<$ EOT $>$}
\subsubsection*{template$<$class EOT$>$ class moFitSolContinue$<$ EOT $>$}
One possible stop criterion for a solution-based heuristic.
@ -43,12 +43,12 @@ The stop criterion corresponds to a fitness threshold gained.
Definition at line 21 of file mo\-Fit\-Sol\-Continue.h.
Definition at line 21 of file moFitSolContinue.h.
\subsection{Constructor \& Destructor Documentation}
\index{moFitSolContinue@{mo\-Fit\-Sol\-Continue}!moFitSolContinue@{moFitSolContinue}}
\index{moFitSolContinue@{moFitSolContinue}!moFitSolContinue@{mo\-Fit\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \bf{mo\-Fit\-Sol\-Continue}$<$ EOT $>$::\bf{mo\-Fit\-Sol\-Continue} (\bf{Fitness} {\em \_\-\_\-fitness})\hspace{0.3cm}{\tt [inline]}}\label{classmo_fit_sol_continue_b14f37ba88de4e12583b22f5aabeb682}
\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_b14f37ba88de4e12583b22f5aabeb682}
Basic constructor.
@ -60,12 +60,12 @@ Basic constructor.
\end{Desc}
Definition at line 33 of file mo\-Fit\-Sol\-Continue.h.
Definition at line 33 of file moFitSolContinue.h.
\subsection{Member Function Documentation}
\index{moFitSolContinue@{mo\-Fit\-Sol\-Continue}!operator()@{operator()}}
\index{operator()@{operator()}!moFitSolContinue@{mo\-Fit\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool \bf{mo\-Fit\-Sol\-Continue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_fit_sol_continue_fa9f0a15f99c998115cae9b456403a27}
\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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_fit_sol_continue_fa9f0a15f99c998115cae9b456403a27}
Function that activates the stopping criterion.
@ -81,21 +81,21 @@ Indicates if the fitness threshold has not yet been reached.
\item[Returns:]true or false according to the value of the fitness. \end{Desc}
Definition at line 43 of file mo\-Fit\-Sol\-Continue.h.
Definition at line 43 of file moFitSolContinue.h.
References mo\-Fit\-Sol\-Continue$<$ EOT $>$::fitness.\index{moFitSolContinue@{mo\-Fit\-Sol\-Continue}!init@{init}}
\index{init@{init}!moFitSolContinue@{mo\-Fit\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \bf{mo\-Fit\-Sol\-Continue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_fit_sol_continue_670bd895b4edfcd3aebb40d2295d7f7c}
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{mo\-Sol\-Continue$<$ EOT $>$} \doxyref{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}.
Implements {\bf moSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}.
Definition at line 57 of file mo\-Fit\-Sol\-Continue.h.
Definition at line 57 of file moFitSolContinue.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Fit\-Sol\-Continue.h\end{CompactItemize}
moFitSolContinue.h\end{CompactItemize}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 441.989
%%BoundingBox: 0 0 500 227.273
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.13125 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 2.2 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ 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
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moGenSolContinue< EOT >) 0 0 box
(moSolContinue< EOT >) 0 1 box
(eoUF< const EOT &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One possible stop criterion for a solution-based heuristic.
Inheritance diagram for moGenSolContinue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_gen_sol_continue}
\includegraphics[height=2cm]{classmo_gen_sol_continue}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@ -62,7 +62,7 @@ Definition at line 30 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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_gen_sol_continue_457257cd73b474d6f7783d84d02c2e61}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moGenSolContinue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_gen_sol_continue_457257cd73b474d6f7783d84d02c2e61}
Function that activates the stop criterion.
@ -78,8 +78,6 @@ Increments the counter and returns TRUE if the current number of iteration is lo
\item[Returns:]TRUE or FALSE according to the current generation number. \end{Desc}
Implements {\bf eoUF$<$ const EOT \&, bool $>$}.
Definition at line 44 of file moGenSolContinue.h.
References moGenSolContinue$<$ EOT $>$::maxNumGen, and moGenSolContinue$<$ EOT $>$::numGen.\index{moGenSolContinue@{moGenSolContinue}!init@{init}}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 271.739
%%BoundingBox: 0 0 500 268.456
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.84 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.8625 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,10 +175,6 @@ boxfont setfont
1 boundaspect scale
(moHC< M >) cw
(moAlgo< M::EOType >) cw
(eoMonOp< M::EOType >) cw
(eoOp< EOType >) cw
(eoUF< M::EOType &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -190,32 +186,12 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moHC< M >) 0.5 0 box
(moAlgo< M::EOType >) 0.5 1 box
(eoMonOp< M::EOType >) 0.5 2 box
(eoOp< EOType >) 0 3 box
(eoUF< M::EOType &, bool >) 1 3 box
(eoFunctorBase) 1 4 box
(moHC< M >) 0 0 box
(moAlgo< M::EOType >) 0 1 box
% ----- relations -----
solid
0 0.5 0 out
0 0 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
0 1 3 conn
solid
1 0 3 in
solid
1 1 3 in
solid
0 1 3 out
solid
1 1 4 in
1 0 1 in

View file

@ -8,15 +8,15 @@ Hill Climbing (HC).
Inheritance diagram for moHC$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_h_c}
\includegraphics[height=2cm]{classmo_h_c}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moHC} ({\bf moMoveInit}$<$ M $>$ \&\_\-\_\-move\_\-init, {\bf moNextMove}$<$ M $>$ \&\_\-\_\-next\_\-move, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moMoveSelect}$<$ M $>$ \&\_\-\_\-move\_\-select, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
{\bf moHC} ({\bf moMoveInit}$<$ M $>$ \&\_\-\_\-move\_\-init, {\bf moNextMove}$<$ M $>$ \&\_\-\_\-next\_\-move, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moMoveSelect}$<$ M $>$ \&\_\-\_\-move\_\-select, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item
{\bf moHC} ({\bf moMoveExpl}$<$ M $>$ \&\_\-\_\-move\_\-expl, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
{\bf moHC} ({\bf moMoveExpl}$<$ M $>$ \&\_\-\_\-move\_\-expl, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Light constructor. \item\end{CompactList}\item
bool {\bf operator()} ({\bf EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Function which launches the HC. \item\end{CompactList}\end{CompactItemize}
@ -35,7 +35,7 @@ typedef EOT::Fitness {\bf Fitness}\label{classmo_h_c_56487c97a7cf0c423cc879d1bbd
{\bf moMoveExpl}$<$ M $>$ \& {\bf move\_\-expl}\label{classmo_h_c_f6bfb4553fb699f1e08f7d9c37d06103}
\begin{CompactList}\small\item\em Complete exploration of the neighborhood. \item\end{CompactList}\item
{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-eval}\label{classmo_h_c_4b0d5cc70fc3d83f59a48b2bdea65736}
eoEvalFunc$<$ {\bf EOT} $>$ \& {\bf full\_\-eval}\label{classmo_h_c_4b0d5cc70fc3d83f59a48b2bdea65736}
\begin{CompactList}\small\item\em A full evaluation function. \item\end{CompactList}\end{CompactItemize}
@ -54,7 +54,7 @@ Definition at line 26 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\_\-init}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moMoveSelect}$<$ M $>$ \& {\em \_\-\_\-move\_\-select}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_6cafe093f86a80c225827884cb9dc5b7}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moHC}$<$ M $>$::{\bf moHC} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-\_\-move\_\-init}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moMoveSelect}$<$ M $>$ \& {\em \_\-\_\-move\_\-select}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_6cafe093f86a80c225827884cb9dc5b7}
Full constructor.
@ -70,7 +70,7 @@ All the boxes are given in order the HC to use a \doxyref{moHCMoveLoopExpl}{p.}{
Definition at line 53 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\_\-expl}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_45f27309792e584a27fa6dcb86ccda65}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moHC}$<$ M $>$::{\bf moHC} ({\bf moMoveExpl}$<$ M $>$ \& {\em \_\-\_\-move\_\-expl}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_45f27309792e584a27fa6dcb86ccda65}
Light constructor.
@ -89,7 +89,7 @@ Definition at line 67 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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_h_c_ed4e273c420efa6386c5975a696a5010}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moHC}$<$ M $>$::operator() ({\bf EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_ed4e273c420efa6386c5975a696a5010}
Function which launches the HC.
@ -105,8 +105,6 @@ The HC has to improve a current solution. As the \doxyref{moSA}{p.}{classmo_s_a}
\item[Returns:]TRUE. \end{Desc}
Implements {\bf eoUF$<$ M::EOType \&, bool $>$}.
Definition at line 82 of file moHC.h.
References moHC$<$ M $>$::full\_\-eval, and moHC$<$ M $>$::move\_\-expl.

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 327.869
%%BoundingBox: 0 0 500 346.821
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.525 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.44167 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
/rows 3 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -176,8 +176,6 @@ boxfont setfont
(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
@ -192,8 +190,6 @@ boundx scalefactor div boundy scalefactor div scale
(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 -----
@ -205,11 +201,3 @@ 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

View file

@ -8,7 +8,7 @@ Iterative explorer used by a \doxyref{moHC}{p.}{classmo_h_c}.
Inheritance diagram for moHCMoveLoopExpl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_h_c_move_loop_expl}
\includegraphics[height=3cm]{classmo_h_c_move_loop_expl}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@ -75,7 +75,7 @@ Definition at line 43 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\_\-sol}, {\bf EOT} \& {\em \_\-\_\-new\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_h_c_move_loop_expl_f48d5379caac7f6a165e9fe8840e6ccb}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moHCMoveLoopExpl}$<$ M $>$::operator() (const {\bf EOT} \& {\em \_\-\_\-old\_\-sol}, {\bf EOT} \& {\em \_\-\_\-new\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_move_loop_expl_f48d5379caac7f6a165e9fe8840e6ccb}
Procedure which launches the explorer.
@ -89,8 +89,6 @@ The exploration starts from an old solution and provides a new solution.
\end{Desc}
Implements {\bf eoBF$<$ const M::EOType \&, M::EOType \&, void $>$}.
Definition at line 59 of file moHCMoveLoopExpl.h.
References moHCMoveLoopExpl$<$ M $>$::incr\_\-eval, moHCMoveLoopExpl$<$ M $>$::move\_\-init, moHCMoveLoopExpl$<$ M $>$::move\_\-select, and moHCMoveLoopExpl$<$ M $>$::next\_\-move.

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 268.456
%%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.8625 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 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
(moILS< M >) cw
(moAlgo< M::EOType >) 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 -----
(moILS< M >) 0 0 box
(moAlgo< M::EOType >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,153 @@
\section{moILS$<$ M $>$ Class Template Reference}
\label{classmo_i_l_s}\index{moILS@{moILS}}
Iterated Local Search (ILS).
{\tt \#include $<$moILS.h$>$}
Inheritance diagram for moILS$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmo_i_l_s}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moILS} ({\bf moAlgo}$<$ {\bf EOT} $>$ \&\_\-\_\-algo, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-\_\-acceptance\_\-criterion, eoMonOp$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Generic constructor. \item\end{CompactList}\item
{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \&\_\-\_\-move\_\-init, {\bf moNextMove}$<$ M $>$ \&\_\-\_\-next\_\-move, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moMoveSelect}$<$ M $>$ \&\_\-\_\-move\_\-select, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-\_\-acceptance\_\-criterion, eoMonOp$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\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\_\-init, {\bf moNextMove}$<$ M $>$ \&\_\-\_\-next\_\-move, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moTabuList}$<$ M $>$ \&\_\-\_\-tabu\_\-list, {\bf moAspirCrit}$<$ M $>$ \&\_\-\_\-aspir\_\-crit, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-moTS\_\-continue, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-\_\-acceptance\_\-criterion, eoMonOp$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\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 $>$ \&\_\-\_\-move\_\-rand, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-moSA\_\-continue, double \_\-\_\-init\_\-temp, {\bf moCoolingSchedule} \&\_\-\_\-cool\_\-sched, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-\_\-acceptance\_\-criterion, eoMonOp$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\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
bool {\bf operator()} ({\bf EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em 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 algo}\label{classmo_i_l_s_8373e40b60afdd761789a97b47adece9}
\begin{CompactList}\small\item\em The solution based heuristic. \item\end{CompactList}\item
{\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\bf cont}\label{classmo_i_l_s_c3046ba0a31a35470391987ac37afd64}
\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
eoMonOp$<$ {\bf EOT} $>$ \& {\bf perturbation}\label{classmo_i_l_s_f667a1bda06b6d221292df9aba3db8a2}
\begin{CompactList}\small\item\em The perturbation generator. \item\end{CompactList}\item
eoEvalFunc$<$ {\bf EOT} $>$ \& {\bf full\_\-eval}\label{classmo_i_l_s_8000f02fac668d51026e458c9febce7c}
\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 25 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 \_\-\_\-algo}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-acceptance\_\-criterion}, eoMonOp$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_f7f2fc1f905954d78edcec0e3ca53551}
Generic constructor.
Generic constructor using a \doxyref{moAlgo}{p.}{classmo_algo}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-algo}]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\_\-eval}]The evaluation function. \end{description}
\end{Desc}
Definition at line 46 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\_\-init}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moMoveSelect}$<$ M $>$ \& {\em \_\-\_\-move\_\-select}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-acceptance\_\-criterion}, eoMonOp$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_c4ebdab294ee1085ddcb9bf2a6882cf0}
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\_\-init}]The move initialisation (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-\_\-next\_\-move}]The move generator (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-\_\-incr\_\-eval}]The partial evaluation function (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-\_\-move\_\-select}]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\_\-eval}]The evaluation function. \end{description}
\end{Desc}
Definition at line 62 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\_\-init}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moTabuList}$<$ M $>$ \& {\em \_\-\_\-tabu\_\-list}, {\bf moAspirCrit}$<$ M $>$ \& {\em \_\-\_\-aspir\_\-crit}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-moTS\_\-continue}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-acceptance\_\-criterion}, eoMonOp$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_d27e3435b8f6592091431fde6f185769}
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\_\-init}]The move initialisation (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-\_\-next\_\-move}]The move generator (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-\_\-incr\_\-eval}]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 \_\-\_\-aspir\_\-crit}]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\_\-eval}]The evaluation function. \end{description}
\end{Desc}
Definition at line 82 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 \_\-\_\-move\_\-rand}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-moSA\_\-continue}, double {\em \_\-\_\-init\_\-temp}, {\bf moCoolingSchedule} \& {\em \_\-\_\-cool\_\-sched}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-acceptance\_\-criterion}, eoMonOp$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_292acc5218e8f148e8b174f183820696}
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\_\-rand}]The random move generator (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-\_\-incr\_\-eval}]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 \_\-\_\-init\_\-temp}]The initial temperature (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-\_\-cool\_\-sched}]The cooling scheduler (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\_\-eval}]The evaluation function. \end{description}
\end{Desc}
Definition at line 102 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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_b3954a77b43fee31122d2a210b2a82d7}
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 \_\-\_\-sol}]a current solution to improve. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE. \end{Desc}
Definition at line 119 of file moILS.h.
References moILS$<$ M $>$::acceptance\_\-criterion, moILS$<$ M $>$::algo, moILS$<$ M $>$::cont, moILS$<$ M $>$::full\_\-eval, and moILS$<$ M $>$::perturbation.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moILS.h\end{CompactItemize}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 239.521
%%BoundingBox: 0 0 500 218.579
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.0875 def % aspect ratio of the BoundingBox (width/height)
/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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ boxfont setfont
1 boundaspect scale
(moImprBestFitAspirCrit< M >) cw
(moAspirCrit< M >) cw
(eoBF< const M &, const M::EOType::Fitness &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moImprBestFitAspirCrit< M >) 0 0 box
(moAspirCrit< M >) 0 1 box
(eoBF< const M &, const M::EOType::Fitness &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One of the possible \doxyref{moAspirCrit}{p.}{classmo_aspir_crit}.
Inheritance diagram for moImprBestFitAspirCrit$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_impr_best_fit_aspir_crit}
\includegraphics[height=2cm]{classmo_impr_best_fit_aspir_crit}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -53,7 +53,7 @@ Definition at line 22 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 \_\-\_\-fit})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_impr_best_fit_aspir_crit_53f62fb56dcae3051a741f1fddb0204b}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moImprBestFitAspirCrit}$<$ M $>$::operator() (const M \& {\em \_\-\_\-move}, const {\bf Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [inline]}}\label{classmo_impr_best_fit_aspir_crit_53f62fb56dcae3051a741f1fddb0204b}
Function that indicates if the fit is better that the already saved fit.
@ -69,8 +69,6 @@ The first time, the function only saved the current move and fitness.
\item[Returns:]TRUE the first time and if \_\-\_\-fit $>$ best\_\-fit, else FALSE. \end{Desc}
Implements {\bf eoBF$<$ const M \&, const M::EOType::Fitness \&, bool $>$}.
Definition at line 52 of file moImprBestFitAspirCrit.h.
References moImprBestFitAspirCrit$<$ M $>$::best\_\-fit, and moImprBestFitAspirCrit$<$ M $>$::first\_\-time.

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 316.206
%%BoundingBox: 0 0 500 245.399
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.58125 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 2.0375 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ boxfont setfont
1 boundaspect scale
(moItRandNextMove< M >) cw
(moNextMove< M >) cw
(eoBF< M &, const M::EOType &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moItRandNextMove< M >) 0 0 box
(moNextMove< M >) 0 1 box
(eoBF< M &, const M::EOType &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One of the possible \doxyref{moNextMove}{p.}{classmo_next_move}.
Inheritance diagram for moItRandNextMove$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_it_rand_next_move}
\includegraphics[height=2cm]{classmo_it_rand_next_move}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@ -57,7 +57,7 @@ Definition at line 22 of file moItRandNextMove.h.
The constructor.
{\bf Parameters} only for initialising the attributes.
Parameters only for initialising the attributes.
\begin{Desc}
\item[Parameters:]
@ -71,7 +71,7 @@ Definition at line 37 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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_it_rand_next_move_92a2fbbc02a20853b9a309e99018a102}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moItRandNextMove}$<$ M $>$::operator() (M \& {\em \_\-\_\-move}, const {\bf EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_it_rand_next_move_92a2fbbc02a20853b9a309e99018a102}
Generation of a new move.
@ -87,8 +87,6 @@ If the maximum number is not already reached, the current move is forgotten and
\item[Returns:]FALSE if the maximum number of iteration is reached, else TRUE. \end{Desc}
Implements {\bf eoBF$<$ M \&, const M::EOType \&, bool $>$}.
Definition at line 52 of file moItRandNextMove.h.
References moItRandNextMove$<$ M $>$::max\_\-iter, moItRandNextMove$<$ M $>$::num\_\-iter, and moItRandNextMove$<$ M $>$::rand\_\-move.

View file

@ -5,23 +5,17 @@ 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 \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Function which launches the checkpointing. \item\end{CompactList}\item
void {\bf add} ({\bf eoBF}$<$ const M \&, const typename M::EOType \&, void $>$ \&\_\-\_\-f)
void {\bf add} (eoBF$<$ const M \&, const typename M::EOType \&, void $>$ \&\_\-\_\-f)
\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 func}\label{classmo_l_s_check_point_ff2a31ee5689a804bd9a572c51a36ca4}
std::vector$<$ eoBF$<$ const M \&, const typename M::EOType \&, void $>$ $\ast$ $>$ {\bf func}\label{classmo_l_s_check_point_ff2a31ee5689a804bd9a572c51a36ca4}
\begin{CompactList}\small\item\em vector of function \item\end{CompactList}\end{CompactItemize}
@ -58,7 +52,7 @@ Definition at line 34 of file moLSCheckPoint.h.
References moLSCheckPoint$<$ M $>$::func.\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 \_\-\_\-f})\hspace{0.3cm}{\tt [inline]}}\label{classmo_l_s_check_point_66be5fe2944bcdd752f1e58105e969a6}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moLSCheckPoint}$<$ M $>$::add (eoBF$<$ const M \&, const typename M::EOType \&, void $>$ \& {\em \_\-\_\-f})\hspace{0.3cm}{\tt [inline]}}\label{classmo_l_s_check_point_66be5fe2944bcdd752f1e58105e969a6}
Procedure which add a new function to the function vector.

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 476.19
%%BoundingBox: 0 0 500 238.095
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.05 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 2.1 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ 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
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moLinearCoolingSchedule) 0 0 box
(moCoolingSchedule) 0 1 box
(eoUF< double &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One of the possible \doxyref{moCoolingSchedule}{p.}{classmo_cooling_schedule}.
Inheritance diagram for moLinearCoolingSchedule::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_linear_cooling_schedule}
\includegraphics[height=2cm]{classmo_linear_cooling_schedule}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@ -58,7 +58,7 @@ Definition at line 31 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 \_\-\_\-temp})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_linear_cooling_schedule_814b109fdfd9426a92a5444b05014da3}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool moLinearCoolingSchedule::operator() (double \& {\em \_\-\_\-temp})\hspace{0.3cm}{\tt [inline]}}\label{classmo_linear_cooling_schedule_814b109fdfd9426a92a5444b05014da3}
Function which proceeds to the cooling.
@ -74,8 +74,6 @@ It decreases the temperature and indicates if it is greater than the threshold.
\item[Returns:]if the new temperature (current temperature - quantity) is greater than the threshold. \end{Desc}
Implements {\bf eoUF$<$ double \&, bool $>$}.
Definition at line 41 of file moLinearCoolingSchedule.h.
References quantity, and threshold.

View file

@ -5,12 +5,6 @@ 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

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 163.934
%%BoundingBox: 0 0 500 173.41
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 3.05 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 2.88333 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
/rows 3 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -174,8 +174,6 @@
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
@ -191,22 +189,12 @@ 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

View file

@ -8,7 +8,7 @@ Description of a move (\doxyref{moMove}{p.}{classmo_move}) explorer.
Inheritance diagram for moMoveExpl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.59016cm]{classmo_move_expl}
\includegraphics[height=3cm]{classmo_move_expl}
\end{center}
\end{figure}

View file

@ -5,12 +5,6 @@
{\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}

View file

@ -5,12 +5,6 @@ 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}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 163.934
%%BoundingBox: 0 0 500 173.41
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 3.05 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 2.88333 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
/rows 3 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ 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
@ -192,8 +190,6 @@ boundx scalefactor div boundy scalefactor div scale
(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
@ -204,14 +200,6 @@ solid
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

View file

@ -8,7 +8,7 @@ Class which describes an iterative explorer.
Inheritance diagram for moMoveLoopExpl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.59016cm]{classmo_move_loop_expl}
\includegraphics[height=3cm]{classmo_move_loop_expl}
\end{center}
\end{figure}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 101.01
%%BoundingBox: 0 0 500 83.8574
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.95 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 5.9625 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
/rows 2 def
/cols 3 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -174,8 +174,6 @@
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
@ -191,22 +189,12 @@ 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

View file

@ -8,7 +8,7 @@ Class that describes a move selector (\doxyref{moMove}{p.}{classmo_move}).
Inheritance diagram for moMoveSelect$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.82828cm]{classmo_move_select}
\includegraphics[height=2cm]{classmo_move_select}
\end{center}
\end{figure}
\subsection*{Public Types}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 316.206
%%BoundingBox: 0 0 500 245.399
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.58125 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 2.0375 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -174,8 +174,6 @@
boxfont setfont
1 boundaspect scale
(moNextMove< M >) cw
(eoBF< M &, const M::EOType &, bool >) cw
(eoFunctorBase) cw
(moItRandNextMove< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
@ -189,20 +187,10 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moNextMove< M >) 0 1 box
(eoBF< M &, const M::EOType &, bool >) 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

View file

@ -8,7 +8,7 @@ Class which allows to generate a new move (\doxyref{moMove}{p.}{classmo_move}).
Inheritance diagram for moNextMove$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_next_move}
\includegraphics[height=2cm]{classmo_next_move}
\end{center}
\end{figure}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 239.521
%%BoundingBox: 0 0 500 291.971
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.0875 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.7125 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ boxfont setfont
1 boundaspect scale
(moNoAspirCrit< M >) cw
(moAspirCrit< M >) cw
(eoBF< const M &, const M::EOType::Fitness &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moNoAspirCrit< M >) 0 0 box
(moAspirCrit< M >) 0 1 box
(eoBF< const M &, const M::EOType::Fitness &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One of the possible aspiration criterion (\doxyref{moAspirCrit}{p.}{classmo_aspi
Inheritance diagram for moNoAspirCrit$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_no_aspir_crit}
\includegraphics[height=2cm]{classmo_no_aspir_crit}
\end{center}
\end{figure}
\subsection*{Private Member Functions}

View file

@ -1,11 +1,11 @@
\section{mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$ Class Template Reference}
\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 $<$mo\-No\-Fit\-Impr\-Sol\-Continue.h$>$}
{\tt \#include $<$moNoFitImprSolContinue.h$>$}
Inheritance diagram for mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
Inheritance diagram for moNoFitImprSolContinue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmo_no_fit_impr_sol_continue}
@ -14,37 +14,37 @@ Inheritance diagram for mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::\begin{figu
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_no_fit_impr_sol_continue_64c184de66bb37d75d53aa600ac947b3}
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{mo\-No\-Fit\-Impr\-Sol\-Continue} (unsigned int \_\-\_\-max\-Number\-Of\-Iteration\-Without\-Improvement)
{\bf moNoFitImprSolContinue} (unsigned int \_\-\_\-maxNumberOfIterationWithoutImprovement)
\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item
bool \bf{operator()} (const EOT \&\_\-\_\-sol)
bool {\bf operator()} (const EOT \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Function that activates the stopping criterion. \item\end{CompactList}\item
void \bf{init} ()
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{max\-Number\-Of\-Iterations\-Without\-Improvement}\label{classmo_no_fit_impr_sol_continue_03612ffc3af9d943c1b1d2cde09d461b}
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{first\-Fitness\-Saved}\label{classmo_no_fit_impr_sol_continue_ca3591e47a075b59e0826f31234c71ef}
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}
{\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}
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 mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$}
\subsubsection*{template$<$class EOT$>$ class moNoFitImprSolContinue$<$ EOT $>$}
One possible stop criterion for a solution-based heuristic.
@ -52,12 +52,12 @@ The stop criterion corresponds to a maximum number of iterations without improve
Definition at line 21 of file mo\-No\-Fit\-Impr\-Sol\-Continue.h.
Definition at line 21 of file moNoFitImprSolContinue.h.
\subsection{Constructor \& Destructor Documentation}
\index{moNoFitImprSolContinue@{mo\-No\-Fit\-Impr\-Sol\-Continue}!moNoFitImprSolContinue@{moNoFitImprSolContinue}}
\index{moNoFitImprSolContinue@{moNoFitImprSolContinue}!moNoFitImprSolContinue@{mo\-No\-Fit\-Impr\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \bf{mo\-No\-Fit\-Impr\-Sol\-Continue}$<$ EOT $>$::\bf{mo\-No\-Fit\-Impr\-Sol\-Continue} (unsigned int {\em \_\-\_\-max\-Number\-Of\-Iteration\-Without\-Improvement})\hspace{0.3cm}{\tt [inline]}}\label{classmo_no_fit_impr_sol_continue_a447aa0d8ed4ddf6fe47c805269cac6c}
\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_a447aa0d8ed4ddf6fe47c805269cac6c}
Basic constructor.
@ -65,16 +65,16 @@ Basic constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-max\-Number\-Of\-Iteration\-Without\-Improvement}]The number of iterations without fitness improvement to reach for stop. \end{description}
\item[{\em \_\-\_\-maxNumberOfIterationWithoutImprovement}]The number of iterations without fitness improvement to reach for stop. \end{description}
\end{Desc}
Definition at line 33 of file mo\-No\-Fit\-Impr\-Sol\-Continue.h.
Definition at line 33 of file moNoFitImprSolContinue.h.
\subsection{Member Function Documentation}
\index{moNoFitImprSolContinue@{mo\-No\-Fit\-Impr\-Sol\-Continue}!operator()@{operator()}}
\index{operator()@{operator()}!moNoFitImprSolContinue@{mo\-No\-Fit\-Impr\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool \bf{mo\-No\-Fit\-Impr\-Sol\-Continue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_no_fit_impr_sol_continue_dbd663623cae56ec76ee504ecb226fed}
\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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_no_fit_impr_sol_continue_dbd663623cae56ec76ee504ecb226fed}
Function that activates the stopping criterion.
@ -88,23 +88,23 @@ Indicates if the fitness has not been improved since a given number of iteration
\item[Returns:]true or false. \end{Desc}
Definition at line 43 of file mo\-No\-Fit\-Impr\-Sol\-Continue.h.
Definition at line 43 of file moNoFitImprSolContinue.h.
References mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::counter, mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::first\-Fitness\-Saved, mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::fitness, and mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::max\-Number\-Of\-Iterations\-Without\-Improvement.\index{moNoFitImprSolContinue@{mo\-No\-Fit\-Impr\-Sol\-Continue}!init@{init}}
\index{init@{init}!moNoFitImprSolContinue@{mo\-No\-Fit\-Impr\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \bf{mo\-No\-Fit\-Impr\-Sol\-Continue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_no_fit_impr_sol_continue_21641c0a38a4501baae6133cbc591de4}
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{mo\-Sol\-Continue$<$ EOT $>$} \doxyref{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}.
Implements {\bf moSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}.
Definition at line 77 of file mo\-No\-Fit\-Impr\-Sol\-Continue.h.
Definition at line 77 of file moNoFitImprSolContinue.h.
References mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::counter, and mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::first\-Fitness\-Saved.
References moNoFitImprSolContinue$<$ EOT $>$::counter, and moNoFitImprSolContinue$<$ EOT $>$::firstFitnessSaved.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-No\-Fit\-Impr\-Sol\-Continue.h\end{CompactItemize}
moNoFitImprSolContinue.h\end{CompactItemize}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 303.03
%%BoundingBox: 0 0 500 251.572
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.9875 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ 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
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moRandImprSelect< M >) 0 0 box
(moMoveSelect< M >) 0 1 box
(eoBF< M &, M::EOType::Fitness &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ One of the possible \doxyref{moMove}{p.}{classmo_move} selector (\doxyref{moMove
Inheritance diagram for moRandImprSelect$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_rand_impr_select}
\includegraphics[height=2cm]{classmo_rand_impr_select}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -96,7 +96,7 @@ Definition at line 56 of file moRandImprSelect.h.
References moRandImprSelect$<$ M $>$::init\_\-fit, moRandImprSelect$<$ M $>$::vect\_\-better\_\-fit, and moRandImprSelect$<$ M $>$::vect\_\-better\_\-moves.\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 \_\-\_\-fit}) throw ({\bf EmptySelection})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_rand_impr_select_5ee57f77a450c0a9ce50bfccf3ad2a55}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moRandImprSelect}$<$ M $>$::operator() (M \& {\em \_\-\_\-move}, {\bf Fitness} \& {\em \_\-\_\-fit}) throw ({\bf EmptySelection})\hspace{0.3cm}{\tt [inline]}}\label{classmo_rand_impr_select_5ee57f77a450c0a9ce50bfccf3ad2a55}
The move selection.
@ -115,11 +115,9 @@ One the saved move is randomly chosen.
\end{Desc}
Implements {\bf eoBF$<$ M \&, M::EOType::Fitness \&, void $>$}.
Definition at line 77 of file moRandImprSelect.h.
References eoRng::random(), moRandImprSelect$<$ M $>$::vect\_\-better\_\-fit, and moRandImprSelect$<$ M $>$::vect\_\-better\_\-moves.
References moRandImprSelect$<$ M $>$::vect\_\-better\_\-fit, and moRandImprSelect$<$ M $>$::vect\_\-better\_\-moves.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item

View file

@ -5,12 +5,6 @@ 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}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 271.739
%%BoundingBox: 0 0 500 268.456
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.84 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.8625 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,10 +175,6 @@ boxfont setfont
1 boundaspect scale
(moSA< M >) cw
(moAlgo< M::EOType >) cw
(eoMonOp< M::EOType >) cw
(eoOp< EOType >) cw
(eoUF< M::EOType &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -190,32 +186,12 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moSA< M >) 0.5 0 box
(moAlgo< M::EOType >) 0.5 1 box
(eoMonOp< M::EOType >) 0.5 2 box
(eoOp< EOType >) 0 3 box
(eoUF< M::EOType &, bool >) 1 3 box
(eoFunctorBase) 1 4 box
(moSA< M >) 0 0 box
(moAlgo< M::EOType >) 0 1 box
% ----- relations -----
solid
0 0.5 0 out
0 0 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
0 1 3 conn
solid
1 0 3 in
solid
1 1 3 in
solid
0 1 3 out
solid
1 1 4 in
1 0 1 in

View file

@ -8,13 +8,13 @@ Simulated Annealing (SA).
Inheritance diagram for moSA$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_s_a}
\includegraphics[height=2cm]{classmo_s_a}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moSA} ({\bf moRandMove}$<$ M $>$ \&\_\-\_\-move\_\-rand, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-cont, double \_\-\_\-init\_\-temp, {\bf moCoolingSchedule} \&\_\-\_\-cool\_\-sched, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
{\bf moSA} ({\bf moRandMove}$<$ M $>$ \&\_\-\_\-move\_\-rand, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-cont, double \_\-\_\-init\_\-temp, {\bf moCoolingSchedule} \&\_\-\_\-cool\_\-sched, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em SA constructor. \item\end{CompactList}\item
bool {\bf operator()} ({\bf EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em function that launches the SA algorithm. \item\end{CompactList}\end{CompactItemize}
@ -45,7 +45,7 @@ double {\bf init\_\-temp}\label{classmo_s_a_f1af7636b52aa5f6b381f8187b667bd4}
{\bf moCoolingSchedule} \& {\bf cool\_\-sched}\label{classmo_s_a_11c7d0cab649b7d680dd85bb74cb4ff6}
\begin{CompactList}\small\item\em The cooling schedule. \item\end{CompactList}\item
{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-eval}\label{classmo_s_a_bcd6a940046f23dd741444c0b85edf2c}
eoEvalFunc$<$ {\bf EOT} $>$ \& {\bf full\_\-eval}\label{classmo_s_a_bcd6a940046f23dd741444c0b85edf2c}
\begin{CompactList}\small\item\em A full evaluation function. \item\end{CompactList}\end{CompactItemize}
@ -64,7 +64,7 @@ Definition at line 30 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 \_\-\_\-move\_\-rand}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-cont}, double {\em \_\-\_\-init\_\-temp}, {\bf moCoolingSchedule} \& {\em \_\-\_\-cool\_\-sched}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_s_a_01f6a44483e5a7abbce33eb480b6a9b9}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moSA}$<$ M $>$::{\bf moSA} ({\bf moRandMove}$<$ M $>$ \& {\em \_\-\_\-move\_\-rand}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-cont}, double {\em \_\-\_\-init\_\-temp}, {\bf moCoolingSchedule} \& {\em \_\-\_\-cool\_\-sched}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_s_a_01f6a44483e5a7abbce33eb480b6a9b9}
SA constructor.
@ -83,7 +83,7 @@ Definition at line 58 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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_s_a_0e4c54b57bc13fcbd4763883b8f719e5}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moSA}$<$ M $>$::operator() ({\bf EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_s_a_0e4c54b57bc13fcbd4763883b8f719e5}
function that launches the SA algorithm.
@ -99,11 +99,9 @@ As a \doxyref{moTS}{p.}{classmo_t_s} or a \doxyref{moHC}{p.}{classmo_h_c}, the S
\item[Returns:]TRUE. \end{Desc}
Implements {\bf eoUF$<$ M::EOType \&, bool $>$}.
Definition at line 80 of file moSA.h.
References moSA$<$ M $>$::cont, moSA$<$ M $>$::cool\_\-sched, moSA$<$ M $>$::full\_\-eval, moSA$<$ M $>$::incr\_\-eval, moSA$<$ M $>$::init\_\-temp, moSA$<$ M $>$::move\_\-rand, and eoRng::uniform().
References moSA$<$ M $>$::cont, moSA$<$ M $>$::cool\_\-sched, moSA$<$ M $>$::full\_\-eval, moSA$<$ M $>$::incr\_\-eval, moSA$<$ M $>$::init\_\-temp, and moSA$<$ M $>$::move\_\-rand.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 277.778
%%BoundingBox: 0 0 500 213.904
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.8 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 2.3375 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ boxfont setfont
1 boundaspect scale
(moSimpleMoveTabuList< M >) cw
(moTabuList< M >) cw
(eoBF< const M &, const M::EOType &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moSimpleMoveTabuList< M >) 0 0 box
(moTabuList< M >) 0 1 box
(eoBF< const M &, const M::EOType &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ Class describing a move tabu list with a limited memory.
Inheritance diagram for moSimpleMoveTabuList$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_simple_move_tabu_list}
\includegraphics[height=2cm]{classmo_simple_move_tabu_list}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -62,7 +62,7 @@ Definition at line 22 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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_move_tabu_list_bb7fe9da28617f56734af71c42c8265a}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moSimpleMoveTabuList}$<$ M $>$::operator() (const M \& {\em \_\-\_\-move}, const {\bf EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_simple_move_tabu_list_bb7fe9da28617f56734af71c42c8265a}
Function that indicates if, in a given state, the \_\-move is tabu or not.
@ -76,8 +76,6 @@ Function that indicates if, in a given state, the \_\-move is tabu or not.
\item[Returns:]true or false. \end{Desc}
Implements {\bf eoBF$<$ const M \&, const M::EOType \&, bool $>$}.
Definition at line 46 of file moSimpleMoveTabuList.h.
References moSimpleMoveTabuList$<$ M $>$::tabuList.\index{moSimpleMoveTabuList@{moSimpleMoveTabuList}!add@{add}}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 277.778
%%BoundingBox: 0 0 500 200
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.8 def % aspect ratio of the BoundingBox (width/height)
/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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,8 +175,6 @@ boxfont setfont
1 boundaspect scale
(moSimpleSolutionTabuList< M >) cw
(moTabuList< M >) cw
(eoBF< const M &, const M::EOType &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -190,8 +188,6 @@ boundx scalefactor div boundy scalefactor div scale
(moSimpleSolutionTabuList< M >) 0 0 box
(moTabuList< M >) 0 1 box
(eoBF< const M &, const M::EOType &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
@ -199,11 +195,3 @@ 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

View file

@ -8,7 +8,7 @@ Class describing a solution tabu list with limited length.
Inheritance diagram for moSimpleSolutionTabuList$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_simple_solution_tabu_list}
\includegraphics[height=2cm]{classmo_simple_solution_tabu_list}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -80,7 +80,7 @@ References moSimpleSolutionTabuList$<$ M $>$::currentSize.
\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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_solution_tabu_list_e1f1cf258b55554d8be88fb5780a0047}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moSimpleSolutionTabuList}$<$ M $>$::operator() (const M \& {\em \_\-\_\-move}, const {\bf EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_simple_solution_tabu_list_e1f1cf258b55554d8be88fb5780a0047}
Function that indicates if, in a given state, the \_\-move is tabu or not.
@ -94,8 +94,6 @@ Function that indicates if, in a given state, the \_\-move is tabu or not.
\item[Returns:]true or false. \end{Desc}
Implements {\bf eoBF$<$ const M \&, const M::EOType \&, bool $>$}.
Definition at line 45 of file moSimpleSolutionTabuList.h.
References moSimpleSolutionTabuList$<$ M $>$::tabuList.\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!add@{add}}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 441.989
%%BoundingBox: 0 0 500 48.3092
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.13125 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 10.35 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
/rows 2 def
/cols 4 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -174,9 +174,10 @@
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
@ -188,22 +189,23 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moSolContinue< EOT >) 0 1 box
(eoUF< const EOT &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
(moGenSolContinue< EOT >) 0 0 box
(moSolContinue< EOT >) 1.5 1 box
(moFitSolContinue< EOT >) 0 0 box
(moGenSolContinue< EOT >) 1 0 box
(moNoFitImprSolContinue< EOT >) 2 0 box
(moSteadyFitSolContinue< EOT >) 3 0 box
% ----- relations -----
solid
0 0 1 out
1 1.5 0.25 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
1 0 0.25 out
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

View file

@ -8,7 +8,7 @@ Class that describes a stop criterion for a solution-based heuristic.
Inheritance diagram for moSolContinue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_sol_continue}
\includegraphics[height=1.35266cm]{classmo_sol_continue}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@ -23,7 +23,7 @@ virtual void {\bf init} ()=0
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}).
It allows to add an initialisation procedure to an object that is a unary function (eoUF).
@ -39,7 +39,7 @@ Procedure which initialises all that the stop criterion needs.
Generally, it allocates some data structures or initialises some counters.
Implemented in {\bf moGenSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_gen_sol_continue_6c5db8182157584b56507cc9075602d4}.
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

View file

@ -1,11 +1,11 @@
\section{mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$ Class Template Reference}
\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 $<$mo\-Steady\-Fit\-Sol\-Continue.h$>$}
{\tt \#include $<$moSteadyFitSolContinue.h$>$}
Inheritance diagram for mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
Inheritance diagram for moSteadyFitSolContinue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmo_steady_fit_sol_continue}
@ -14,43 +14,43 @@ Inheritance diagram for mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::\begin{figure
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_steady_fit_sol_continue_c289721abbbafe50f6e3b8305dd31007}
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{mo\-Steady\-Fit\-Sol\-Continue} (unsigned int \_\-\_\-max\-Number\-Of\-Iterations, unsigned int \_\-\_\-max\-Number\-Of\-Iteration\-Without\-Improvement)
{\bf moSteadyFitSolContinue} (unsigned int \_\-\_\-maxNumberOfIterations, unsigned int \_\-\_\-maxNumberOfIterationWithoutImprovement)
\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item
bool \bf{operator()} (const EOT \&\_\-\_\-sol)
bool {\bf operator()} (const EOT \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Function that activates the stopping criterion. \item\end{CompactList}\item
void \bf{init} ()
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{max\-Number\-Of\-Iterations}\label{classmo_steady_fit_sol_continue_36b43c2a252887ad027165ac32393fe8}
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{max\-Number\-Of\-Iterations\-Without\-Improvement}\label{classmo_steady_fit_sol_continue_cde593c09f497a5fa66ff62732544f40}
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{max\-Number\-Of\-Iterations\-Reached}\label{classmo_steady_fit_sol_continue_7d88c0eb91b2a12121ba1c3ae9139887}
bool {\bf maxNumberOfIterationsReached}\label{classmo_steady_fit_sol_continue_7d88c0eb91b2a12121ba1c3ae9139887}
\begin{CompactList}\small\item\em Flag that indicates that the max\-Number\-Iteration have been reached. \item\end{CompactList}\item
bool \bf{first\-Fitness\-Saved}\label{classmo_steady_fit_sol_continue_025bf2789e470fdde989eee9121035c3}
\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}
{\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}
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 mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$}
\subsubsection*{template$<$class EOT$>$ class moSteadyFitSolContinue$<$ EOT $>$}
One possible stopping criterion for a solution-based heuristic.
@ -58,12 +58,12 @@ The stop criterion corresponds to a maximum number of iterations without improve
Definition at line 21 of file mo\-Steady\-Fit\-Sol\-Continue.h.
Definition at line 21 of file moSteadyFitSolContinue.h.
\subsection{Constructor \& Destructor Documentation}
\index{moSteadyFitSolContinue@{mo\-Steady\-Fit\-Sol\-Continue}!moSteadyFitSolContinue@{moSteadyFitSolContinue}}
\index{moSteadyFitSolContinue@{moSteadyFitSolContinue}!moSteadyFitSolContinue@{mo\-Steady\-Fit\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \bf{mo\-Steady\-Fit\-Sol\-Continue}$<$ EOT $>$::\bf{mo\-Steady\-Fit\-Sol\-Continue} (unsigned int {\em \_\-\_\-max\-Number\-Of\-Iterations}, unsigned int {\em \_\-\_\-max\-Number\-Of\-Iteration\-Without\-Improvement})\hspace{0.3cm}{\tt [inline]}}\label{classmo_steady_fit_sol_continue_5f50fb18e380230e37301f33319786a4}
\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_5f50fb18e380230e37301f33319786a4}
Basic constructor.
@ -71,16 +71,16 @@ Basic constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-max\-Number\-Of\-Iterations}]The number of iterations to reach before looking for the fitness. \item[{\em \_\-\_\-max\-Number\-Of\-Iteration\-Without\-Improvement}]The number of iterations without fitness improvement to reach for stop. \end{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 34 of file mo\-Steady\-Fit\-Sol\-Continue.h.
Definition at line 34 of file moSteadyFitSolContinue.h.
\subsection{Member Function Documentation}
\index{moSteadyFitSolContinue@{mo\-Steady\-Fit\-Sol\-Continue}!operator()@{operator()}}
\index{operator()@{operator()}!moSteadyFitSolContinue@{mo\-Steady\-Fit\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool \bf{mo\-Steady\-Fit\-Sol\-Continue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_steady_fit_sol_continue_942e58ec00bb61000a83c80176e14bc3}
\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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_steady_fit_sol_continue_942e58ec00bb61000a83c80176e14bc3}
Function that activates the stopping criterion.
@ -96,23 +96,23 @@ Indicates if the fitness has not been improved since a number of iterations (aft
\item[Returns:]true or false. \end{Desc}
Definition at line 46 of file mo\-Steady\-Fit\-Sol\-Continue.h.
Definition at line 46 of file moSteadyFitSolContinue.h.
References mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::counter, mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::first\-Fitness\-Saved, mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::fitness, mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::max\-Number\-Of\-Iterations, mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::max\-Number\-Of\-Iterations\-Reached, and mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::max\-Number\-Of\-Iterations\-Without\-Improvement.\index{moSteadyFitSolContinue@{mo\-Steady\-Fit\-Sol\-Continue}!init@{init}}
\index{init@{init}!moSteadyFitSolContinue@{mo\-Steady\-Fit\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \bf{mo\-Steady\-Fit\-Sol\-Continue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_steady_fit_sol_continue_87563493addc8e4b58982c55a67179b9}
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{mo\-Sol\-Continue$<$ EOT $>$} \doxyref{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}.
Implements {\bf moSolContinue$<$ EOT $>$} \doxyref{}{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}.
Definition at line 90 of file mo\-Steady\-Fit\-Sol\-Continue.h.
Definition at line 90 of file moSteadyFitSolContinue.h.
References mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::counter, mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::first\-Fitness\-Saved, and mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::max\-Number\-Of\-Iterations\-Reached.
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
mo\-Steady\-Fit\-Sol\-Continue.h\end{CompactItemize}
moSteadyFitSolContinue.h\end{CompactItemize}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 271.739
%%BoundingBox: 0 0 500 268.456
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.84 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.8625 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
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -175,10 +175,6 @@ boxfont setfont
1 boundaspect scale
(moTS< M >) cw
(moAlgo< M::EOType >) cw
(eoMonOp< M::EOType >) cw
(eoOp< EOType >) cw
(eoUF< M::EOType &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -190,32 +186,12 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moTS< M >) 0.5 0 box
(moAlgo< M::EOType >) 0.5 1 box
(eoMonOp< M::EOType >) 0.5 2 box
(eoOp< EOType >) 0 3 box
(eoUF< M::EOType &, bool >) 1 3 box
(eoFunctorBase) 1 4 box
(moTS< M >) 0 0 box
(moAlgo< M::EOType >) 0 1 box
% ----- relations -----
solid
0 0.5 0 out
0 0 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
0 1 3 conn
solid
1 0 3 in
solid
1 1 3 in
solid
0 1 3 out
solid
1 1 4 in
1 0 1 in

View file

@ -8,15 +8,15 @@ Tabu Search (TS).
Inheritance diagram for moTS$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_t_s}
\includegraphics[height=2cm]{classmo_t_s}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moTS} ({\bf moMoveInit}$<$ M $>$ \&\_\-\_\-move\_\-init, {\bf moNextMove}$<$ M $>$ \&\_\-\_\-next\_\-move, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moTabuList}$<$ M $>$ \&\_\-\_\-tabu\_\-list, {\bf moAspirCrit}$<$ M $>$ \&\_\-\_\-aspir\_\-crit, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-cont, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
{\bf moTS} ({\bf moMoveInit}$<$ M $>$ \&\_\-\_\-move\_\-init, {\bf moNextMove}$<$ M $>$ \&\_\-\_\-next\_\-move, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moTabuList}$<$ M $>$ \&\_\-\_\-tabu\_\-list, {\bf moAspirCrit}$<$ M $>$ \&\_\-\_\-aspir\_\-crit, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-cont, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\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\_\-expl, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-cont, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
{\bf moTS} ({\bf moMoveExpl}$<$ M $>$ \&\_\-\_\-move\_\-expl, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-cont, eoEvalFunc$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Constructor with less parameters. \item\end{CompactList}\item
bool {\bf operator()} ({\bf EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Function which launchs the Tabu Search. \item\end{CompactList}\end{CompactItemize}
@ -38,7 +38,7 @@ typedef EOT::Fitness {\bf Fitness}\label{classmo_t_s_aa0eefbb17111422e495d1255f8
{\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\bf cont}\label{classmo_t_s_969371cd2202f3d29cbb426f57ac7d3a}
\begin{CompactList}\small\item\em Stop criterion. \item\end{CompactList}\item
{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-eval}\label{classmo_t_s_fb67eddae5d0bfca4ed881995523231e}
eoEvalFunc$<$ {\bf EOT} $>$ \& {\bf full\_\-eval}\label{classmo_t_s_fb67eddae5d0bfca4ed881995523231e}
\begin{CompactList}\small\item\em Full evaluation function. \item\end{CompactList}\end{CompactItemize}
@ -57,7 +57,7 @@ Definition at line 29 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\_\-init}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moTabuList}$<$ M $>$ \& {\em \_\-\_\-tabu\_\-list}, {\bf moAspirCrit}$<$ M $>$ \& {\em \_\-\_\-aspir\_\-crit}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-cont}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_2be23f4524733ee6f37b71310d76407e}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moTS}$<$ M $>$::{\bf moTS} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-\_\-move\_\-init}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moTabuList}$<$ M $>$ \& {\em \_\-\_\-tabu\_\-list}, {\bf moAspirCrit}$<$ M $>$ \& {\em \_\-\_\-aspir\_\-crit}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-cont}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_2be23f4524733ee6f37b71310d76407e}
Constructor of a \doxyref{moTS}{p.}{classmo_t_s} specifying all the boxes.
@ -73,7 +73,7 @@ In this constructor, a \doxyref{moTSMoveLoopExpl}{p.}{classmo_t_s_move_loop_expl
Definition at line 58 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\_\-expl}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-cont}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_508e675c4232cf2ca06dded931c90bab}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moTS}$<$ M $>$::{\bf moTS} ({\bf moMoveExpl}$<$ M $>$ \& {\em \_\-\_\-move\_\-expl}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-cont}, eoEvalFunc$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_508e675c4232cf2ca06dded931c90bab}
Constructor with less parameters.
@ -92,7 +92,7 @@ Definition at line 71 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 \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_t_s_94d25a76fe1bc9ef0bbd0358ff55aceb}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moTS}$<$ M $>$::operator() ({\bf EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_94d25a76fe1bc9ef0bbd0358ff55aceb}
Function which launchs the Tabu Search.
@ -108,8 +108,6 @@ Algorithm of the tabu search. As a \doxyref{moSA}{p.}{classmo_s_a} or a \doxyref
\item[Returns:]TRUE. \end{Desc}
Implements {\bf eoUF$<$ M::EOType \&, bool $>$}.
Definition at line 85 of file moTS.h.
References moTS$<$ M $>$::cont, moTS$<$ M $>$::full\_\-eval, and moTS$<$ M $>$::move\_\-expl.

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 327.869
%%BoundingBox: 0 0 500 352.941
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.525 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 1.41667 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
/rows 3 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -176,8 +176,6 @@ boxfont setfont
(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
@ -192,8 +190,6 @@ boundx scalefactor div boundy scalefactor div scale
(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 -----
@ -205,11 +201,3 @@ 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

View file

@ -8,7 +8,7 @@ Explorer for a Tabu Search algorithm.
Inheritance diagram for moTSMoveLoopExpl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_t_s_move_loop_expl}
\includegraphics[height=3cm]{classmo_t_s_move_loop_expl}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@ -83,7 +83,7 @@ References moTSMoveLoopExpl$<$ M $>$::aspir\_\-crit, and moTSMoveLoopExpl$<$ M $
\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\_\-sol}, {\bf EOT} \& {\em \_\-\_\-new\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_t_s_move_loop_expl_f601bbd0ccc41d6fbe3df9fcd87ad9e7}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moTSMoveLoopExpl}$<$ M $>$::operator() (const {\bf EOT} \& {\em \_\-\_\-old\_\-sol}, {\bf EOT} \& {\em \_\-\_\-new\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_move_loop_expl_f601bbd0ccc41d6fbe3df9fcd87ad9e7}
Procedure which lauches the exploration.
@ -97,8 +97,6 @@ The exploration continues while the chosen move is not in the tabu list or the a
\end{Desc}
Implements {\bf eoBF$<$ const M::EOType \&, M::EOType \&, void $>$}.
Definition at line 69 of file moTSMoveLoopExpl.h.
References moTSMoveLoopExpl$<$ M $>$::aspir\_\-crit, moTSMoveLoopExpl$<$ M $>$::incr\_\-eval, moTSMoveLoopExpl$<$ M $>$::move\_\-init, moTSMoveLoopExpl$<$ M $>$::move\_\-select, moTSMoveLoopExpl$<$ M $>$::next\_\-move, and moTSMoveLoopExpl$<$ M $>$::tabu\_\-list.

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 138.889
%%BoundingBox: 0 0 500 100
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 3.6 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 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
/rows 2 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -174,8 +174,6 @@
boxfont setfont
1 boundaspect scale
(moTabuList< M >) cw
(eoBF< const M &, const M::EOType &, bool >) cw
(eoFunctorBase) cw
(moSimpleMoveTabuList< M >) cw
(moSimpleSolutionTabuList< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
@ -190,21 +188,11 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moTabuList< M >) 0.5 1 box
(eoBF< const M &, const M::EOType &, bool >) 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

View file

@ -8,7 +8,7 @@ Class describing a tabu list that a \doxyref{moTS}{p.}{classmo_t_s} uses.
Inheritance diagram for moTabuList$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.88889cm]{classmo_tabu_list}
\includegraphics[height=2cm]{classmo_tabu_list}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -65,7 +65,7 @@ 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}}
Implemented in {\bf moSimpleMoveTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_move_tabu_list_96cffc8118456ed762b07b9fc0e0679f}, {\bf moSimpleSolutionTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_solution_tabu_list_91b8b01dba7ffea8b63765d931e56f56}, and {\bf TwoOptTabuList} \doxyref{}{p.}{class_two_opt_tabu_list_c460034b7debe7198c6df046855155da}.\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}
@ -74,7 +74,7 @@ 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}.
Implemented in {\bf moSimpleMoveTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_move_tabu_list_b91ae9971be30769757d1ad92c6009dc}, {\bf moSimpleSolutionTabuList$<$ M $>$} \doxyref{}{p.}{classmo_simple_solution_tabu_list_d5645c39fec71a6110a2cbccbb08b816}, and {\bf TwoOptTabuList} \doxyref{}{p.}{class_two_opt_tabu_list_2d3101e6045700b0e32f5e82672a175e}.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item

View file

@ -10,8 +10,8 @@
{\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]
{\fancyplain{}{\bfseries\thepage}}
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Fri Jul 6 17:23:18 2007 for PARADISEO-MO by Doxygen }]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Fri Jul 6 17:23:18 2007 for PARADISEO-MO by Doxygen }}
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Thu Sep 20 11:30:28 2007 for ParadisEO-MOMovingObjects by Doxygen }]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Sep 20 11:30:28 2007 for ParadisEO-MOMovingObjects by Doxygen }}
\cfoot{}
\newenvironment{Code}
{\footnotesize}

View file

@ -1,28 +1,36 @@
\section{PARADISEO-MO Class Hierarchy}
\section{ParadisEO-MOMovingObjects Class Hierarchy}
This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList}
\item \contentsline{section}{CitySwap}{\pageref{class_city_swap}}{}
\item \contentsline{section}{EdgeXover}{\pageref{class_edge_xover}}{}
\item \contentsline{section}{EmptySelection}{\pageref{class_empty_selection}}{}
\item eoFunctorBase{\tt [external]}\begin{CompactList}
\item eoBF$<$ const M \&, const M::EOType \&, bool $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moTabuList$<$ M $>$}{\pageref{classmo_tabu_list}}{}
\item \contentsline{section}{moAlgo$<$ EOT $>$}{\pageref{classmo_algo}}{}
\item \contentsline{section}{moAlgo$<$ M::EOType $>$}{\pageref{classmo_algo}}{}
\begin{CompactList}
\item \contentsline{section}{moSimpleMoveTabuList$<$ M $>$}{\pageref{classmo_simple_move_tabu_list}}{}
\item \contentsline{section}{moSimpleSolutionTabuList$<$ M $>$}{\pageref{classmo_simple_solution_tabu_list}}{}
\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}
\end{CompactList}
\item eoBF$<$ const M \&, const M::EOType \&, M::EOType::Fitness $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moMoveIncrEval$<$ M $>$}{\pageref{classmo_move_incr_eval}}{}
\end{CompactList}
\item eoBF$<$ const M \&, const M::EOType \&, void $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moLSCheckPoint$<$ M $>$}{\pageref{classmo_l_s_check_point}}{}
\end{CompactList}
\item eoBF$<$ const M \&, const M::EOType::Fitness \&, bool $>${\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}{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}
\item \contentsline{section}{moLSCheckPoint$<$ M $>$}{\pageref{classmo_l_s_check_point}}{}
\item \contentsline{section}{moMove$<$ EOT $>$}{\pageref{classmo_move}}{}
\item \contentsline{section}{moMove$<$ Route $>$}{\pageref{classmo_move}}{}
\begin{CompactList}
\item \contentsline{section}{TwoOpt}{\pageref{class_two_opt}}{}
\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}}{}
@ -31,59 +39,56 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg
\item \contentsline{section}{moTSMoveLoopExpl$<$ M $>$}{\pageref{classmo_t_s_move_loop_expl}}{}
\end{CompactList}
\end{CompactList}
\end{CompactList}
\item eoBF$<$ M \&, const M::EOType \&, bool $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moNextMove$<$ M $>$}{\pageref{classmo_next_move}}{}
\item \contentsline{section}{moMoveIncrEval$<$ M $>$}{\pageref{classmo_move_incr_eval}}{}
\item \contentsline{section}{moMoveIncrEval$<$ TwoOpt $>$}{\pageref{classmo_move_incr_eval}}{}
\begin{CompactList}
\item \contentsline{section}{moItRandNextMove$<$ M $>$}{\pageref{classmo_it_rand_next_move}}{}
\item \contentsline{section}{TwoOptIncrEval}{\pageref{class_two_opt_incr_eval}}{}
\end{CompactList}
\end{CompactList}
\item eoBF$<$ M \&, const M::EOType \&, void $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moMoveInit$<$ M $>$}{\pageref{classmo_move_init}}{}
\item \contentsline{section}{moMoveInit$<$ TwoOpt $>$}{\pageref{classmo_move_init}}{}
\begin{CompactList}
\item \contentsline{section}{PartTwoOptInit}{\pageref{class_part_two_opt_init}}{}
\item \contentsline{section}{TwoOptInit}{\pageref{class_two_opt_init}}{}
\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}
\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}{moNextMove$<$ TwoOpt $>$}{\pageref{classmo_next_move}}{}
\begin{CompactList}
\item \contentsline{section}{PartTwoOptNext}{\pageref{class_part_two_opt_next}}{}
\item \contentsline{section}{TwoOptNext}{\pageref{class_two_opt_next}}{}
\end{CompactList}
\item \contentsline{section}{moRandMove$<$ M $>$}{\pageref{classmo_rand_move}}{}
\item \contentsline{section}{moRandMove$<$ TwoOpt $>$}{\pageref{classmo_rand_move}}{}
\begin{CompactList}
\item \contentsline{section}{TwoOptRand}{\pageref{class_two_opt_rand}}{}
\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}}{}
\item \contentsline{section}{moTabuList$<$ M $>$}{\pageref{classmo_tabu_list}}{}
\begin{CompactList}
\item \contentsline{section}{moExponentialCoolingSchedule}{\pageref{classmo_exponential_cooling_schedule}}{}
\item \contentsline{section}{moLinearCoolingSchedule}{\pageref{classmo_linear_cooling_schedule}}{}
\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 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]}\begin{CompactList}
\item \contentsline{section}{moAlgo$<$ M::EOType $>$}{\pageref{classmo_algo}}{}
\item \contentsline{section}{moTabuList$<$ TwoOpt $>$}{\pageref{classmo_tabu_list}}{}
\begin{CompactList}
\item \contentsline{section}{moHC$<$ M $>$}{\pageref{classmo_h_c}}{}
\item \contentsline{section}{moSA$<$ M $>$}{\pageref{classmo_s_a}}{}
\item \contentsline{section}{moTS$<$ M $>$}{\pageref{classmo_t_s}}{}
\item \contentsline{section}{TwoOptTabuList}{\pageref{class_two_opt_tabu_list}}{}
\end{CompactList}
\end{CompactList}
\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}{OrderXover}{\pageref{class_order_xover}}{}
\item \contentsline{section}{PartialMappedXover}{\pageref{class_partial_mapped_xover}}{}
\item \contentsline{section}{PartRouteEval}{\pageref{class_part_route_eval}}{}
\item \contentsline{section}{RouteEval}{\pageref{class_route_eval}}{}
\item \contentsline{section}{RouteInit}{\pageref{class_route_init}}{}
\end{CompactList}

View file

@ -1,5 +1,5 @@
\section{intro}\label{main_intro}
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{tutorial}\label{main_tutorial}
\section{install}\label{main_install}
The installation procedure of the package is detailed in the {\tt README} file in the top-directory of the source-tree.\section{design}\label{main_design}
\section{Introduction}\label{main_intro}
MO is an extension of the ANSI-C++ compliant evolutionary computation library EO. \par
It contains classes for almost any kind of one solution based heuristics.\section{Tutorial}\label{main_tutorial}
\section{Installation}\label{main_install}
The installation procedure of the package is detailed in the {\tt README} file in the top-directory of the source-tree.\section{Overall Design}\label{main_design}

View file

@ -0,0 +1,28 @@
\section{Graph Namespace Reference}
\label{namespace_graph}\index{Graph@{Graph}}
\subsection*{Functions}
\begin{CompactItemize}
\item
unsigned {\bf size} ()\label{namespace_graph_28d00fd97d57e79738e7df7ba8214f5c}
\item
void {\bf computeDistances} ()\label{namespace_graph_517d15215e1529a6585e15949f29c326}
\item
void {\bf load} (const char $\ast$\_\-\_\-fileName)\label{namespace_graph_95f0bc08fa93f8f4abf1801674488b30}
\item
float {\bf distance} (unsigned int \_\-\_\-from, unsigned int \_\-\_\-to)\label{namespace_graph_510a8b9e849ec2c3241a09cac9d45cc6}
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item
static std::vector$<$ std::pair$<$ double, double $>$ $>$ {\bf vectCoord}\label{namespace_graph_4199f2387f0cda6c75804c94b635e24c}
\item
static std::vector$<$ std::vector$<$ unsigned int $>$ $>$ {\bf dist}\label{namespace_graph_c1316f71ab101e1f63eecd81a8d7a400}
\end{CompactItemize}

View file

@ -0,0 +1,4 @@
\section{ParadisEO-MOMovingObjects Namespace List}
Here is a list of all documented namespaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{{\bf Graph} }{\pageref{namespace_graph}}{}
\end{CompactList}

View file

@ -16,11 +16,11 @@
\begin{titlepage}
\vspace*{7cm}
\begin{center}
{\Large PARADISEO-MO Reference Manual\\[1ex]\large 0.1 }\\
{\Large ParadisEO-MOMovingObjects Reference Manual\\[1ex]\large 1.0 }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.5.2}\\
\vspace*{0.5cm}
{\small Fri Jul 6 17:23:18 2007}\\
{\small Thu Sep 20 11:30:28 2007}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
@ -30,21 +30,31 @@
\pagenumbering{arabic}
\chapter{Welcome to PARADISEO-Moving Objects }
\label{index}\input{main}
\chapter{PARADISEO-MO Hierarchical Index}
\chapter{ParadisEO-MOMovingObjects Namespace Index}
\input{namespaces}
\chapter{ParadisEO-MOMovingObjects Hierarchical Index}
\input{hierarchy}
\chapter{PARADISEO-MO Class Index}
\chapter{ParadisEO-MOMovingObjects Class Index}
\input{annotated}
\chapter{PARADISEO-MO Class Documentation}
\input{class_empty_selection}
\chapter{ParadisEO-MOMovingObjects Namespace Documentation}
\input{namespace_graph}
\chapter{ParadisEO-MOMovingObjects Class Documentation}
\input{class_city_swap}
\include{class_edge_xover}
\include{class_empty_selection}
\include{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}
@ -57,14 +67,29 @@
\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}
\include{class_order_xover}
\include{class_partial_mapped_xover}
\include{class_part_route_eval}
\include{class_part_two_opt_init}
\include{class_part_two_opt_next}
\include{class_route_eval}
\include{class_route_init}
\include{class_two_opt}
\include{class_two_opt_incr_eval}
\include{class_two_opt_init}
\include{class_two_opt_next}
\include{class_two_opt_rand}
\include{class_two_opt_tabu_list}
\printindex
\end{document}