old doc is deleted

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@741 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
jboisson 2007-10-23 13:37:14 +00:00
commit c7d56ca5e3
403 changed files with 2 additions and 35782 deletions

View file

@ -1,39 +0,0 @@
all: clean refman.dvi
ps: refman.ps
pdf: refman.pdf
ps_2on1: refman_2on1.ps
pdf_2on1: refman_2on1.pdf
refman.ps: refman.dvi
dvips -o refman.ps refman.dvi
refman.pdf: refman.ps
ps2pdf refman.ps refman.pdf
refman.dvi: refman.tex doxygen.sty
echo "Running latex..."
latex refman.tex
echo "Running makeindex..."
makeindex refman.idx
echo "Rerunning latex...."
latex refman.tex
latex_count=5 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
latex refman.tex ;\
latex_count=`expr $$latex_count - 1` ;\
done
refman_2on1.ps: refman.ps
psnup -2 refman.ps >refman_2on1.ps
refman_2on1.pdf: refman_2on1.ps
ps2pdf refman_2on1.ps refman_2on1.pdf
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf

View file

@ -1,52 +0,0 @@
\section{Paradis\-EO-MOMoving\-Objects Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{\bf{City\-Swap} (Its swaps two vertices randomly choosen )}{\pageref{class_city_swap}}{}
\item\contentsline{section}{\bf{Edge\-Xover} (Edge Crossover )}{\pageref{class_edge_xover}}{}
\item\contentsline{section}{\bf{Empty\-Selection} (Special class that describes the case of no selection )}{\pageref{class_empty_selection}}{}
\item\contentsline{section}{\bf{mo\-Algo$<$ EOT $>$} (Description of an algorithm of the paradiseo-mo library )}{\pageref{classmo_algo}}{}
\item\contentsline{section}{\bf{mo\-Aspir\-Crit$<$ M $>$} (Description of the conditions in which a tabu move could be accepted )}{\pageref{classmo_aspir_crit}}{}
\item\contentsline{section}{\bf{mo\-Best\-Impr\-Select$<$ M $>$} (One of the possible \doxyref{mo\-Move\-Select}{p.}{classmo_move_select} )}{\pageref{classmo_best_impr_select}}{}
\item\contentsline{section}{\bf{mo\-Cooling\-Schedule} (This class gives the description of a cooling schedule )}{\pageref{classmo_cooling_schedule}}{}
\item\contentsline{section}{\bf{mo\-Exponential\-Cooling\-Schedule} (One of the possible \doxyref{mo\-Cooling\-Schedule}{p.}{classmo_cooling_schedule} )}{\pageref{classmo_exponential_cooling_schedule}}{}
\item\contentsline{section}{\bf{mo\-First\-Impr\-Select$<$ M $>$} (One possible \doxyref{mo\-Move\-Select}{p.}{classmo_move_select} )}{\pageref{classmo_first_impr_select}}{}
\item\contentsline{section}{\bf{mo\-Fit\-Sol\-Continue$<$ EOT $>$} (One possible stop criterion for a solution-based heuristic )}{\pageref{classmo_fit_sol_continue}}{}
\item\contentsline{section}{\bf{mo\-Gen\-Sol\-Continue$<$ EOT $>$} (One possible stop criterion for a solution-based heuristic )}{\pageref{classmo_gen_sol_continue}}{}
\item\contentsline{section}{\bf{mo\-HC$<$ M $>$} (Hill Climbing (HC) )}{\pageref{classmo_h_c}}{}
\item\contentsline{section}{\bf{mo\-HCMove\-Loop\-Expl$<$ M $>$} (Iterative explorer used by a \doxyref{mo\-HC}{p.}{classmo_h_c} )}{\pageref{classmo_h_c_move_loop_expl}}{}
\item\contentsline{section}{\bf{mo\-Impr\-Best\-Fit\-Aspir\-Crit$<$ M $>$} (One of the possible \doxyref{mo\-Aspir\-Crit}{p.}{classmo_aspir_crit} )}{\pageref{classmo_impr_best_fit_aspir_crit}}{}
\item\contentsline{section}{\bf{mo\-It\-Rand\-Next\-Move$<$ M $>$} (One of the possible \doxyref{mo\-Next\-Move}{p.}{classmo_next_move} )}{\pageref{classmo_it_rand_next_move}}{}
\item\contentsline{section}{\bf{mo\-Linear\-Cooling\-Schedule} (One of the possible \doxyref{mo\-Cooling\-Schedule}{p.}{classmo_cooling_schedule} )}{\pageref{classmo_linear_cooling_schedule}}{}
\item\contentsline{section}{\bf{mo\-LSCheck\-Point$<$ M $>$} (Class which allows a checkpointing system )}{\pageref{classmo_l_s_check_point}}{}
\item\contentsline{section}{\bf{mo\-Move$<$ EOT $>$} (Definition of a move )}{\pageref{classmo_move}}{}
\item\contentsline{section}{\bf{mo\-Move\-Expl$<$ M $>$} (Description of a move (\doxyref{mo\-Move}{p.}{classmo_move}) explorer )}{\pageref{classmo_move_expl}}{}
\item\contentsline{section}{\bf{mo\-Move\-Incr\-Eval$<$ M $>$} ((generally) Efficient evaluation function based a move and a solution )}{\pageref{classmo_move_incr_eval}}{}
\item\contentsline{section}{\bf{mo\-Move\-Init$<$ M $>$} (Move (\doxyref{mo\-Move}{p.}{classmo_move}) initializer )}{\pageref{classmo_move_init}}{}
\item\contentsline{section}{\bf{mo\-Move\-Loop\-Expl$<$ M $>$} (Class which describes an iterative explorer )}{\pageref{classmo_move_loop_expl}}{}
\item\contentsline{section}{\bf{mo\-Move\-Select$<$ M $>$} (Class that describes a move selector (\doxyref{mo\-Move}{p.}{classmo_move}) )}{\pageref{classmo_move_select}}{}
\item\contentsline{section}{\bf{mo\-Next\-Move$<$ M $>$} (Class which allows to generate a new move (\doxyref{mo\-Move}{p.}{classmo_move}) )}{\pageref{classmo_next_move}}{}
\item\contentsline{section}{\bf{mo\-No\-Aspir\-Crit$<$ M $>$} (One of the possible aspiration criterion (\doxyref{mo\-Aspir\-Crit}{p.}{classmo_aspir_crit}) )}{\pageref{classmo_no_aspir_crit}}{}
\item\contentsline{section}{\bf{mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$} (One possible stop criterion for a solution-based heuristic )}{\pageref{classmo_no_fit_impr_sol_continue}}{}
\item\contentsline{section}{\bf{mo\-Rand\-Impr\-Select$<$ M $>$} (One of the possible \doxyref{mo\-Move}{p.}{classmo_move} selector (\doxyref{mo\-Move\-Select}{p.}{classmo_move_select}) )}{\pageref{classmo_rand_impr_select}}{}
\item\contentsline{section}{\bf{mo\-Rand\-Move$<$ M $>$} (Random move generator )}{\pageref{classmo_rand_move}}{}
\item\contentsline{section}{\bf{mo\-SA$<$ M $>$} (Simulated Annealing (SA) )}{\pageref{classmo_s_a}}{}
\item\contentsline{section}{\bf{mo\-Simple\-Move\-Tabu\-List$<$ M $>$} (Class describing a move tabu list with a limited memory )}{\pageref{classmo_simple_move_tabu_list}}{}
\item\contentsline{section}{\bf{mo\-Simple\-Solution\-Tabu\-List$<$ M $>$} (Class describing a solution tabu list with limited length )}{\pageref{classmo_simple_solution_tabu_list}}{}
\item\contentsline{section}{\bf{mo\-Sol\-Continue$<$ EOT $>$} (Class that describes a stop criterion for a solution-based heuristic )}{\pageref{classmo_sol_continue}}{}
\item\contentsline{section}{\bf{mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$} (One possible stopping criterion for a solution-based heuristic )}{\pageref{classmo_steady_fit_sol_continue}}{}
\item\contentsline{section}{\bf{mo\-Tabu\-List$<$ M $>$} (Class describing a tabu list that a \doxyref{mo\-TS}{p.}{classmo_t_s} uses )}{\pageref{classmo_tabu_list}}{}
\item\contentsline{section}{\bf{mo\-TS$<$ M $>$} (Tabu Search (TS) )}{\pageref{classmo_t_s}}{}
\item\contentsline{section}{\bf{mo\-TSMove\-Loop\-Expl$<$ M $>$} (Explorer for a Tabu Search algorithm )}{\pageref{classmo_t_s_move_loop_expl}}{}
\item\contentsline{section}{\bf{Order\-Xover} (Order Crossover )}{\pageref{class_order_xover}}{}
\item\contentsline{section}{\bf{Partial\-Mapped\-Xover} (Partial Mapped Crossover )}{\pageref{class_partial_mapped_xover}}{}
\item\contentsline{section}{\bf{Part\-Route\-Eval} (Route Evaluator )}{\pageref{class_part_route_eval}}{}
\item\contentsline{section}{\bf{Part\-Two\-Opt\-Init} (It sets the first couple of edges )}{\pageref{class_part_two_opt_init}}{}
\item\contentsline{section}{\bf{Part\-Two\-Opt\-Next} (It updates a couple of edges )}{\pageref{class_part_two_opt_next}}{}
\item\contentsline{section}{\bf{Route\-Eval} (Route Evaluator )}{\pageref{class_route_eval}}{}
\item\contentsline{section}{\bf{Route\-Init} }{\pageref{class_route_init}}{}
\item\contentsline{section}{\bf{Two\-Opt} }{\pageref{class_two_opt}}{}
\item\contentsline{section}{\bf{Two\-Opt\-Incr\-Eval} }{\pageref{class_two_opt_incr_eval}}{}
\item\contentsline{section}{\bf{Two\-Opt\-Init} (It sets the first couple of edges )}{\pageref{class_two_opt_init}}{}
\item\contentsline{section}{\bf{Two\-Opt\-Next} (It updates a couple of edges )}{\pageref{class_two_opt_next}}{}
\item\contentsline{section}{\bf{Two\-Opt\-Rand} }{\pageref{class_two_opt_rand}}{}
\item\contentsline{section}{\bf{Two\-Opt\-Tabu\-List} (The table of tabu movements, i.e )}{\pageref{class_two_opt_tabu_list}}{}
\end{CompactList}

View file

@ -1,32 +0,0 @@
\section{City\-Swap Class Reference}
\label{class_city_swap}\index{CitySwap@{CitySwap}}
Its swaps two vertices randomly choosen.
{\tt \#include $<$city\_\-swap.h$>$}
Inheritance diagram for City\-Swap::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_city_swap}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool \bf{operator()} (\bf{Route} \&\_\-\_\-route)\label{class_city_swap_7e6958b62048c89604cbf046b86bdf2d}
\end{CompactItemize}
\subsection{Detailed Description}
Its swaps two vertices randomly choosen.
Definition at line 46 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

@ -1,53 +0,0 @@
\section{Edge\-Xover Class Reference}
\label{class_edge_xover}\index{EdgeXover@{EdgeXover}}
Edge Crossover.
{\tt \#include $<$edge\_\-xover.h$>$}
Inheritance diagram for Edge\-Xover::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_edge_xover}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool \bf{operator()} (\bf{Route} \&\_\-\_\-route1, \bf{Route} \&\_\-\_\-route2)\label{class_edge_xover_cb1c0a103106a4d3319540cb23163a79}
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{cross} (const \bf{Route} \&\_\-\_\-par1, const \bf{Route} \&\_\-\_\-par2, \bf{Route} \&\_\-\_\-child)\label{class_edge_xover_88c2d4c9a878454a32d56010f3dddc27}
\item
void \bf{build\_\-map} (const \bf{Route} \&\_\-\_\-par1, const \bf{Route} \&\_\-\_\-par2)\label{class_edge_xover_04de96aa1016836e0ba5f4b952a5fa16}
\item
void \bf{add\_\-vertex} (unsigned int \_\-\_\-vertex, \bf{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 48 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

@ -1,21 +0,0 @@
\section{Empty\-Selection Class Reference}
\label{class_empty_selection}\index{EmptySelection@{EmptySelection}}
Special class that describes the case of no selection.
{\tt \#include $<$mo\-Move\-Select.h$>$}
\subsection{Detailed Description}
Special class that describes the case of no selection.
This class is used as an exception that can be thrown if a solution selector has completly failed.
Definition at line 46 of file mo\-Move\-Select.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Move\-Select.h\end{CompactItemize}

View file

@ -1,38 +0,0 @@
\section{Order\-Xover Class Reference}
\label{class_order_xover}\index{OrderXover@{OrderXover}}
Order Crossover.
{\tt \#include $<$order\_\-xover.h$>$}
Inheritance diagram for Order\-Xover::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_order_xover}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool \bf{operator()} (\bf{Route} \&\_\-\_\-route1, \bf{Route} \&\_\-\_\-route2)\label{class_order_xover_0ff6aada669eb8173322ed68cda1ac61}
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{cross} (const \bf{Route} \&\_\-\_\-par1, const \bf{Route} \&\_\-\_\-par2, \bf{Route} \&\_\-\_\-child)\label{class_order_xover_d2bf90b5f46ac4a344777e17bc5f364d}
\end{CompactItemize}
\subsection{Detailed Description}
Order Crossover.
Definition at line 45 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

@ -1,44 +0,0 @@
\section{Part\-Route\-Eval Class Reference}
\label{class_part_route_eval}\index{PartRouteEval@{PartRouteEval}}
Route Evaluator.
{\tt \#include $<$part\_\-route\_\-eval.h$>$}
Inheritance diagram for Part\-Route\-Eval::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_part_route_eval}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{Part\-Route\-Eval} (float \_\-\_\-from, float \_\-\_\-to)\label{class_part_route_eval_a331566b29bc3227f377004232f05491}
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
void \bf{operator()} (\bf{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 45 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

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 529.801
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 0.94375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(PartTwoOptInit) cw
(moMoveInit< TwoOpt >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(PartTwoOptInit) 0 0 box
(moMoveInit< TwoOpt >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,32 +0,0 @@
\section{Part\-Two\-Opt\-Init 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 Part\-Two\-Opt\-Init::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_part_two_opt_init}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{operator()} (\bf{Two\-Opt} \&\_\-\_\-move, const \bf{Route} \&\_\-\_\-route)\label{class_part_two_opt_init_2f6190b1700ca1a12d0baaceaf75383c}
\end{CompactItemize}
\subsection{Detailed Description}
It sets the first couple of edges.
Definition at line 45 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

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 500
%%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 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(PartTwoOptNext) cw
(moNextMove< TwoOpt >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(PartTwoOptNext) 0 0 box
(moNextMove< TwoOpt >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,25 +0,0 @@
\section{Part\-Two\-Opt\-Next 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 Part\-Two\-Opt\-Next::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_part_two_opt_next}
\end{center}
\end{figure}
\subsection{Detailed Description}
It updates a couple of edges.
Definition at line 44 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

@ -1,38 +0,0 @@
\section{Partial\-Mapped\-Xover Class Reference}
\label{class_partial_mapped_xover}\index{PartialMappedXover@{PartialMappedXover}}
Partial Mapped Crossover.
{\tt \#include $<$partial\_\-mapped\_\-xover.h$>$}
Inheritance diagram for Partial\-Mapped\-Xover::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_partial_mapped_xover}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool \bf{operator()} (\bf{Route} \&\_\-\_\-route1, \bf{Route} \&\_\-\_\-route2)\label{class_partial_mapped_xover_1cda6ea86ca36e5de0125f4ba5cfc695}
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{repair} (\bf{Route} \&\_\-\_\-route, unsigned \_\-\_\-cut1, unsigned \_\-\_\-cut2)\label{class_partial_mapped_xover_b6d4035544aff3b2b3fe4b0eeea185a2}
\end{CompactItemize}
\subsection{Detailed Description}
Partial Mapped Crossover.
Definition at line 45 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

@ -1,32 +0,0 @@
\section{Route\-Eval Class Reference}
\label{class_route_eval}\index{RouteEval@{RouteEval}}
Route Evaluator.
{\tt \#include $<$route\_\-eval.h$>$}
Inheritance diagram for Route\-Eval::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_route_eval}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{operator()} (\bf{Route} \&\_\-\_\-route)\label{class_route_eval_e10bbe6f792e6f44405953de4f703901}
\end{CompactItemize}
\subsection{Detailed Description}
Route Evaluator.
Definition at line 45 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

@ -1,27 +0,0 @@
\section{Route\-Init Class Reference}
\label{class_route_init}\index{RouteInit@{RouteInit}}
Inheritance diagram for Route\-Init::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_route_init}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{operator()} (\bf{Route} \&\_\-\_\-route)\label{class_route_init_b65a7137e114458faadb6a5510c001f7}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 44 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

@ -1,221 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 273.973
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.825 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(TwoOpt) cw
(moMove< EOT >) cw
(eoPersistent) cw
(eoUF< EOT &, void >) cw
(eoPrintable) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(TwoOpt) 0.5 0 box
(moMove< EOT >) 0 1 box
(eoPersistent) 1 1 box
(eoUF< EOT &, void >) 0 2 box
(eoPrintable) 1 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0.5 0 out
solid
0 1 1 conn
solid
1 0 1 in
solid
0 0 1 out
solid
1 1 1 in
solid
0 1 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 1 2 in
solid
1 0 3 in

View file

@ -1,36 +0,0 @@
\section{Two\-Opt Class Reference}
\label{class_two_opt}\index{TwoOpt@{TwoOpt}}
Inheritance diagram for Two\-Opt::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_two_opt}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{Two\-Opt} \bf{operator!} () const \label{class_two_opt_9fa462668a6f7293d11082d8dae26b6a}
\item
void \bf{operator()} (\bf{Route} \&\_\-\_\-route)\label{class_two_opt_ff87d1649a33d42a6d64e8d314ed1af0}
\item
void \bf{read\-From} (std::istream \&\_\-\_\-is)\label{class_two_opt_feccfecca2a6bd2d3a12afdf3f724be0}
\item
void \bf{print\-On} (std::ostream \&\_\-\_\-os) const \label{class_two_opt_2400db18998b93bfb35783f6681ccd8a}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 47 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

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 439.56
%%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.1375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(TwoOptIncrEval) cw
(moMoveIncrEval< TwoOpt >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(TwoOptIncrEval) 0 0 box
(moMoveIncrEval< TwoOpt >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,27 +0,0 @@
\section{Two\-Opt\-Incr\-Eval Class Reference}
\label{class_two_opt_incr_eval}\index{TwoOptIncrEval@{TwoOptIncrEval}}
Inheritance diagram for Two\-Opt\-Incr\-Eval::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_two_opt_incr_eval}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
float \bf{operator()} (const \bf{Two\-Opt} \&\_\-\_\-move, const \bf{Route} \&\_\-\_\-route)\label{class_two_opt_incr_eval_4574d0b22065be5b59b88791e2b61138}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 43 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

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 529.801
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 0.94375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(TwoOptInit) cw
(moMoveInit< TwoOpt >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(TwoOptInit) 0 0 box
(moMoveInit< TwoOpt >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,32 +0,0 @@
\section{Two\-Opt\-Init 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 Two\-Opt\-Init::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_two_opt_init}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{operator()} (\bf{Two\-Opt} \&\_\-\_\-move, const \bf{Route} \&\_\-\_\-route)\label{class_two_opt_init_5bf6af064d37ebd955ffb5a623e78e1b}
\end{CompactItemize}
\subsection{Detailed Description}
It sets the first couple of edges.
Definition at line 45 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

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 500
%%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 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(TwoOptNext) cw
(moNextMove< TwoOpt >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(TwoOptNext) 0 0 box
(moNextMove< TwoOpt >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,33 +0,0 @@
\section{Two\-Opt\-Next 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 Two\-Opt\-Next::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_two_opt_next}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool \bf{operator()} (\bf{Two\-Opt} \&\_\-\_\-move, const \bf{Route} \&\_\-\_\-route)\label{class_two_opt_next_baf229b2e056f39ab971cf2ac66a833e}
\end{CompactItemize}
\subsection{Detailed Description}
It updates a couple of edges.
Definition at line 44 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

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 487.805
%%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.025 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(TwoOptRand) cw
(moRandMove< TwoOpt >) cw
(eoUF< TwoOpt &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(TwoOptRand) 0 0 box
(moRandMove< TwoOpt >) 0 1 box
(eoUF< TwoOpt &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,27 +0,0 @@
\section{Two\-Opt\-Rand Class Reference}
\label{class_two_opt_rand}\index{TwoOptRand@{TwoOptRand}}
Inheritance diagram for Two\-Opt\-Rand::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_two_opt_rand}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{operator()} (\bf{Two\-Opt} \&\_\-\_\-move)\label{class_two_opt_rand_bcba673ec71e565f536674bfe5bab609}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 44 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

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 533.333
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 0.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
/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
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(TwoOptTabuList) 0 0 box
(moTabuList< TwoOpt >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,76 +0,0 @@
\section{Two\-Opt\-Tabu\-List 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 Two\-Opt\-Tabu\-List::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{class_two_opt_tabu_list}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool \bf{operator()} (const \bf{Two\-Opt} \&\_\-\_\-move, const \bf{Route} \&\_\-\_\-sol)\label{class_two_opt_tabu_list_94eb6bced415ff97cec89107cc6eebab}
\item
void \bf{add} (const \bf{Two\-Opt} \&\_\-\_\-move, const \bf{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 45 of file two\_\-opt\_\-tabu\_\-list.h.
\subsection{Member Function Documentation}
\index{TwoOptTabuList@{Two\-Opt\-Tabu\-List}!update@{update}}
\index{update@{update}!TwoOptTabuList@{Two\-Opt\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Two\-Opt\-Tabu\-List::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{mo\-Tabu\-List$<$ Two\-Opt $>$} \doxyref{p.}{classmo_tabu_list_a2e5d1132f064093c8ed57046405f5ca}.
Definition at line 71 of file two\_\-opt\_\-tabu\_\-list.cpp.
References tabu\_\-span.\index{TwoOptTabuList@{Two\-Opt\-Tabu\-List}!init@{init}}
\index{init@{init}!TwoOptTabuList@{Two\-Opt\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Two\-Opt\-Tabu\-List::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{mo\-Tabu\-List$<$ Two\-Opt $>$} \doxyref{p.}{classmo_tabu_list_0a06c459d56e8e2b408a8f3c6aec4e57}.
Definition at line 42 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

@ -1,215 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 273.973
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.825 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moAlgo< EOT >) cw
(eoMonOp< EOT >) cw
(eoOp< EOType >) cw
(eoUF< EOT &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moAlgo< EOT >) 0.5 0 box
(eoMonOp< EOT >) 0.5 1 box
(eoOp< EOType >) 0 2 box
(eoUF< EOT &, bool >) 1 2 box
(eoFunctorBase) 1 3 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
0 1 2 conn
solid
1 0 2 in
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in

View file

@ -1,29 +0,0 @@
\section{mo\-Algo$<$ EOT $>$ Class Template Reference}
\label{classmo_algo}\index{moAlgo@{moAlgo}}
Description of an algorithm of the paradiseo-mo library.
{\tt \#include $<$mo\-Algo.h$>$}
Inheritance diagram for mo\-Algo$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_algo}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class mo\-Algo$<$ EOT $>$}
Description of an algorithm of the paradiseo-mo library.
\doxyref{mo\-HC}{p.}{classmo_h_c}, \doxyref{mo\-TS}{p.}{classmo_t_s} and \doxyref{mo\-SA}{p.}{classmo_s_a} are 3 examples of algorithm of the paradiseo-mo library.
Definition at line 46 of file mo\-Algo.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Algo.h\end{CompactItemize}

View file

@ -1,215 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 218.579
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.2875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moAspirCrit< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
(moImprBestFitAspirCrit< M >) cw
(moNoAspirCrit< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moAspirCrit< M >) 0.5 1 box
(eoBF< A1, A2, R >) 0.5 2 box
(eoFunctorBase) 0.5 3 box
(moImprBestFitAspirCrit< M >) 0 0 box
(moNoAspirCrit< M >) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -1,46 +0,0 @@
\section{mo\-Aspir\-Crit$<$ M $>$ Class Template Reference}
\label{classmo_aspir_crit}\index{moAspirCrit@{moAspirCrit}}
Description of the conditions in which a tabu move could be accepted.
{\tt \#include $<$mo\-Aspir\-Crit.h$>$}
Inheritance diagram for mo\-Aspir\-Crit$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_aspir_crit}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
virtual void \bf{init} ()=0
\begin{CompactList}\small\item\em Procedure which initialises all that needs a aspiration criterion. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Aspir\-Crit$<$ M $>$}
Description of the conditions in which a tabu move could be accepted.
It is only a description... An object that herits from this class is needed to be used in a \doxyref{mo\-TS}{p.}{classmo_t_s}. See mo\-No\-Aspri\-Crit for example.
Definition at line 47 of file mo\-Aspir\-Crit.h.
\subsection{Member Function Documentation}
\index{moAspirCrit@{mo\-Aspir\-Crit}!init@{init}}
\index{init@{init}!moAspirCrit@{mo\-Aspir\-Crit}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void \bf{mo\-Aspir\-Crit}$<$ M $>$::init ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_aspir_crit_a8ce84510a5ec7c9078381e542c6d140}
Procedure which initialises all that needs a aspiration criterion.
It can be possible that this procedure do nothing...
Implemented in \bf{mo\-Impr\-Best\-Fit\-Aspir\-Crit$<$ M $>$} \doxyref{p.}{classmo_impr_best_fit_aspir_crit_ffa451a14ff4ea86fb8bd9fdbc348630}, and \bf{mo\-No\-Aspir\-Crit$<$ M $>$} \doxyref{p.}{classmo_no_aspir_crit_f3a286fc4c2d36bd390ba9a3074f3037}.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Aspir\-Crit.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 303.03
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moBestImprSelect< M >) cw
(moMoveSelect< M >) cw
(eoBF< M &, M::EOType::Fitness &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moBestImprSelect< M >) 0 0 box
(moMoveSelect< M >) 0 1 box
(eoBF< M &, M::EOType::Fitness &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,105 +0,0 @@
\section{mo\-Best\-Impr\-Select$<$ M $>$ Class Template Reference}
\label{classmo_best_impr_select}\index{moBestImprSelect@{moBestImprSelect}}
One of the possible \doxyref{mo\-Move\-Select}{p.}{classmo_move_select}.
{\tt \#include $<$mo\-Best\-Impr\-Select.h$>$}
Inheritance diagram for mo\-Best\-Impr\-Select$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_best_impr_select}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef M::EOType::Fitness \bf{Fitness}\label{classmo_best_impr_select_c4ae17435221fb0a8e8acd285210cfcb}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{init} (const \bf{Fitness} \&\_\-\_\-fit)\label{classmo_best_impr_select_2d2abf9aa17dc77cbb4f41810ab7b956}
\begin{CompactList}\small\item\em Procedure which initialise the exploration. \item\end{CompactList}\item
bool \bf{update} (const M \&\_\-\_\-move, const \bf{Fitness} \&\_\-\_\-fit)
\begin{CompactList}\small\item\em \doxyref{Function} that indicates if the current move has not improved the fitness. \item\end{CompactList}\item
void \bf{operator()} (M \&\_\-\_\-move, \bf{Fitness} \&\_\-\_\-fit) throw (Empty\-Selection)
\begin{CompactList}\small\item\em Procedure which saved the best move and fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
bool \bf{first\_\-time}\label{classmo_best_impr_select_352b14d206b0772eb9f40efb7beb0f13}
\begin{CompactList}\small\item\em Allowing to know if at least one move has been generated. \item\end{CompactList}\item
M \bf{best\_\-move}\label{classmo_best_impr_select_bd86f70519f954c07ff0d8a2a3a8ff6a}
\begin{CompactList}\small\item\em The best move. \item\end{CompactList}\item
\bf{Fitness} \bf{best\_\-fit}\label{classmo_best_impr_select_dcac897424b5805f146bb1dbb429f2fe}
\begin{CompactList}\small\item\em The best fitness. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Best\-Impr\-Select$<$ M $>$}
One of the possible \doxyref{mo\-Move\-Select}{p.}{classmo_move_select}.
All neighbors are considered, and the movement which enables the best improvement is selected.
Definition at line 47 of file mo\-Best\-Impr\-Select.h.
\subsection{Member Function Documentation}
\index{moBestImprSelect@{mo\-Best\-Impr\-Select}!update@{update}}
\index{update@{update}!moBestImprSelect@{mo\-Best\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-Best\-Impr\-Select}$<$ M $>$::update (const M \& {\em \_\-\_\-move}, const \bf{Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_best_impr_select_d10e3e6f8a0277731e95ef506d064d6d}
\doxyref{Function} that indicates if the current move has not improved the fitness.
If the given fitness enables an improvment, the move (\doxyref{mo\-Move}{p.}{classmo_move}) and the fitness linked to this move are saved.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a move. \item[{\em \_\-\_\-fit}]a fitness linked to the move. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE if the move does not improve the fitness. \end{Desc}
Implements \bf{mo\-Move\-Select$<$ M $>$} \doxyref{p.}{classmo_move_select_7c157b6e64fd417acf6e900059204eb1}.
Definition at line 72 of file mo\-Best\-Impr\-Select.h.
References mo\-Best\-Impr\-Select$<$ M $>$::best\_\-fit, mo\-Best\-Impr\-Select$<$ M $>$::best\_\-move, and mo\-Best\-Impr\-Select$<$ M $>$::first\_\-time.\index{moBestImprSelect@{mo\-Best\-Impr\-Select}!operator()@{operator()}}
\index{operator()@{operator()}!moBestImprSelect@{mo\-Best\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Best\-Impr\-Select}$<$ M $>$::operator() (M \& {\em \_\-\_\-move}, \bf{Fitness} \& {\em \_\-\_\-fit}) throw (\bf{Empty\-Selection})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_best_impr_select_169773d4d127acd782cf379f758222da}
Procedure which saved the best move and fitness.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]the current move (result of the procedure). \item[{\em \_\-\_\-fit}]the current fitness (result of the procedure). \end{description}
\end{Desc}
\begin{Desc}
\item[Exceptions:]
\begin{description}
\item[{\em \doxyref{Empty\-Selection}{p.}{class_empty_selection}}]if no move has improved the fitness. \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ M \&, M::EOType::Fitness \&, void $>$}.
Definition at line 93 of file mo\-Best\-Impr\-Select.h.
References mo\-Best\-Impr\-Select$<$ M $>$::best\_\-fit, mo\-Best\-Impr\-Select$<$ M $>$::best\_\-move, and mo\-Best\-Impr\-Select$<$ M $>$::first\_\-time.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Best\-Impr\-Select.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 303.03
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moComparator< EOT >) cw
(eoBF< const EOT &, const EOT &, bool >) cw
(eoFunctorBase) cw
(moFitComparator< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moComparator< EOT >) 0 1 box
(eoBF< const EOT &, const EOT &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
(moFitComparator< EOT >) 0 0 box
% ----- relations -----
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -1,29 +0,0 @@
\section{moComparator$<$ EOT $>$ Class Template Reference}
\label{classmo_comparator}\index{moComparator@{moComparator}}
Template for classes which need to compare two EOT and indicate if the first is \char`\"{}better\char`\"{} than the second.
{\tt \#include $<$moComparator.h$>$}
Inheritance diagram for moComparator$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_comparator}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class moComparator$<$ EOT $>$}
Template for classes which need to compare two EOT and indicate if the first is \char`\"{}better\char`\"{} than the second.
The objects that extend this template describe how an EOT is \char`\"{}better\char`\"{} than an other.
Definition at line 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

@ -1,215 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 203.046
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.4625 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moCoolingSchedule) cw
(eoUF< double &, bool >) cw
(eoFunctorBase) cw
(moExponentialCoolingSchedule) cw
(moLinearCoolingSchedule) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moCoolingSchedule) 0.5 1 box
(eoUF< double &, bool >) 0.5 2 box
(eoFunctorBase) 0.5 3 box
(moExponentialCoolingSchedule) 0 0 box
(moLinearCoolingSchedule) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -1,27 +0,0 @@
\section{mo\-Cooling\-Schedule Class Reference}
\label{classmo_cooling_schedule}\index{moCoolingSchedule@{moCoolingSchedule}}
This class gives the description of a cooling schedule.
{\tt \#include $<$mo\-Cooling\-Schedule.h$>$}
Inheritance diagram for mo\-Cooling\-Schedule::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_cooling_schedule}
\end{center}
\end{figure}
\subsection{Detailed Description}
This class gives the description of a cooling schedule.
It is only a description... An object that herits from this class is needed to be used in a \doxyref{mo\-SA}{p.}{classmo_s_a}. See \doxyref{mo\-Exponential\-Cooling\-Schedule}{p.}{classmo_exponential_cooling_schedule} or \doxyref{mo\-Linear\-Cooling\-Schedule}{p.}{classmo_linear_cooling_schedule} for example.
Definition at line 47 of file mo\-Cooling\-Schedule.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Cooling\-Schedule.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 406.091
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.23125 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moExponentialCoolingSchedule) cw
(moCoolingSchedule) cw
(eoUF< double &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moExponentialCoolingSchedule) 0 0 box
(moCoolingSchedule) 0 1 box
(eoUF< double &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,85 +0,0 @@
\section{mo\-Exponential\-Cooling\-Schedule Class Reference}
\label{classmo_exponential_cooling_schedule}\index{moExponentialCoolingSchedule@{moExponentialCoolingSchedule}}
One of the possible \doxyref{mo\-Cooling\-Schedule}{p.}{classmo_cooling_schedule}.
{\tt \#include $<$mo\-Exponential\-Cooling\-Schedule.h$>$}
Inheritance diagram for mo\-Exponential\-Cooling\-Schedule::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_exponential_cooling_schedule}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-Exponential\-Cooling\-Schedule} (double \_\-\_\-threshold, double \_\-\_\-ratio)
\begin{CompactList}\small\item\em Simple constructor. \item\end{CompactList}\item
bool \bf{operator()} (double \&\_\-\_\-temp)
\begin{CompactList}\small\item\em \doxyref{Function} which proceeds to the cooling. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
double \bf{threshold}\label{classmo_exponential_cooling_schedule_8d4327c0bb33b7121a322279eea97f84}
\begin{CompactList}\small\item\em The temperature threhold. \item\end{CompactList}\item
double \bf{ratio}\label{classmo_exponential_cooling_schedule_e8f3f87417c1c7253efb938a740846fa}
\begin{CompactList}\small\item\em The decreasing factor of the temperature. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
One of the possible \doxyref{mo\-Cooling\-Schedule}{p.}{classmo_cooling_schedule}.
An other very simple cooling schedule, the temperature decrease according to a ratio while the temperature is greater than a given threshold.
Definition at line 47 of file mo\-Exponential\-Cooling\-Schedule.h.
\subsection{Constructor \& Destructor Documentation}
\index{moExponentialCoolingSchedule@{mo\-Exponential\-Cooling\-Schedule}!moExponentialCoolingSchedule@{moExponentialCoolingSchedule}}
\index{moExponentialCoolingSchedule@{moExponentialCoolingSchedule}!moExponentialCoolingSchedule@{mo\-Exponential\-Cooling\-Schedule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}mo\-Exponential\-Cooling\-Schedule::mo\-Exponential\-Cooling\-Schedule (double {\em \_\-\_\-threshold}, double {\em \_\-\_\-ratio})\hspace{0.3cm}{\tt [inline]}}\label{classmo_exponential_cooling_schedule_b01930c1051c0940666c6325bfd036bc}
Simple constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-threshold}]the threshold. \item[{\em \_\-\_\-ratio}]the ratio used to descrease the temperature. \end{description}
\end{Desc}
Definition at line 56 of file mo\-Exponential\-Cooling\-Schedule.h.
\subsection{Member Function Documentation}
\index{moExponentialCoolingSchedule@{mo\-Exponential\-Cooling\-Schedule}!operator()@{operator()}}
\index{operator()@{operator()}!moExponentialCoolingSchedule@{mo\-Exponential\-Cooling\-Schedule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool mo\-Exponential\-Cooling\-Schedule::operator() (double \& {\em \_\-\_\-temp})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_exponential_cooling_schedule_00642b03453b51612a10fcf2280543db}
\doxyref{Function} which proceeds to the cooling.
It decreases the temperature and indicates if it is greater than the threshold.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-temp}]the current temperature. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]if the new temperature (current temperature $\ast$ ratio) is greater than the threshold. \end{Desc}
Implements \bf{eo\-UF$<$ double \&, bool $>$}.
Definition at line 66 of file mo\-Exponential\-Cooling\-Schedule.h.
References ratio, and threshold.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Exponential\-Cooling\-Schedule.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 303.03
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moFirstImprSelect< M >) cw
(moMoveSelect< M >) cw
(eoBF< M &, M::EOType::Fitness &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moFirstImprSelect< M >) 0 0 box
(moMoveSelect< M >) 0 1 box
(eoBF< M &, M::EOType::Fitness &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,118 +0,0 @@
\section{mo\-First\-Impr\-Select$<$ M $>$ Class Template Reference}
\label{classmo_first_impr_select}\index{moFirstImprSelect@{moFirstImprSelect}}
One possible \doxyref{mo\-Move\-Select}{p.}{classmo_move_select}.
{\tt \#include $<$mo\-First\-Impr\-Select.h$>$}
Inheritance diagram for mo\-First\-Impr\-Select$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_first_impr_select}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef M::EOType::Fitness \bf{Fitness}\label{classmo_first_impr_select_64763ce3e6d2873266624382b407fa5a}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
virtual void \bf{init} (const \bf{Fitness} \&\_\-\_\-fit)
\begin{CompactList}\small\item\em Procedure which initialise the exploration. \item\end{CompactList}\item
bool \bf{update} (const M \&\_\-\_\-move, const typename M::EOType::Fitness \&\_\-\_\-fit)
\begin{CompactList}\small\item\em \doxyref{Function} that indicates if the current move has not improved the fitness. \item\end{CompactList}\item
void \bf{operator()} (M \&\_\-\_\-move, \bf{Fitness} \&\_\-\_\-fit) throw (Empty\-Selection)
\begin{CompactList}\small\item\em Procedure which saved the best move and fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
bool \bf{valid}\label{classmo_first_impr_select_a99c0586ba07449234705c17a258d58c}
\begin{CompactList}\small\item\em Allow to know if at least one move has improved the solution. \item\end{CompactList}\item
M \bf{best\_\-move}\label{classmo_first_impr_select_dfed419a608dd7c41f07fa1f1279cb8c}
\begin{CompactList}\small\item\em Best stored movement. \item\end{CompactList}\item
\bf{Fitness} \bf{init\_\-fit}\label{classmo_first_impr_select_ce7ba63e8cc3a9164f4e546477e98ca8}
\begin{CompactList}\small\item\em Initial fitness. \item\end{CompactList}\item
\bf{Fitness} \bf{best\_\-fit}\label{classmo_first_impr_select_e1190347b76ec6fe717be32354b4a9a9}
\begin{CompactList}\small\item\em Best stored fitness. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-First\-Impr\-Select$<$ M $>$}
One possible \doxyref{mo\-Move\-Select}{p.}{classmo_move_select}.
The neighborhood is explored until a move enables an improvment of the current solution.
Definition at line 48 of file mo\-First\-Impr\-Select.h.
\subsection{Member Function Documentation}
\index{moFirstImprSelect@{mo\-First\-Impr\-Select}!init@{init}}
\index{init@{init}!moFirstImprSelect@{mo\-First\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void \bf{mo\-First\-Impr\-Select}$<$ M $>$::init (const \bf{Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_first_impr_select_4c5ce18ede46247a439c68f6954a4055}
Procedure which initialise the exploration.
It save the current fitness as the initial value for the fitness.
Implements \bf{mo\-Move\-Select$<$ M $>$} \doxyref{p.}{classmo_move_select_bca4c43f13d26eca7163aeb272a4a52e}.
Definition at line 60 of file mo\-First\-Impr\-Select.h.
References mo\-First\-Impr\-Select$<$ M $>$::init\_\-fit, and mo\-First\-Impr\-Select$<$ M $>$::valid.\index{moFirstImprSelect@{mo\-First\-Impr\-Select}!update@{update}}
\index{update@{update}!moFirstImprSelect@{mo\-First\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-First\-Impr\-Select}$<$ M $>$::update (const M \& {\em \_\-\_\-move}, const typename M::EOType::Fitness \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [inline]}}\label{classmo_first_impr_select_7ba0882728daedc75c249647c070ccf0}
\doxyref{Function} that indicates if the current move has not improved the fitness.
If the given fitness enables an improvment, the move (\doxyref{mo\-Move}{p.}{classmo_move}) should be applied to the current solution.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a move. \item[{\em \_\-\_\-fit}]a fitness linked to the move. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE if the move does not improve the fitness. \end{Desc}
Definition at line 77 of file mo\-First\-Impr\-Select.h.
References mo\-First\-Impr\-Select$<$ M $>$::best\_\-fit, mo\-First\-Impr\-Select$<$ M $>$::best\_\-move, mo\-First\-Impr\-Select$<$ M $>$::init\_\-fit, and mo\-First\-Impr\-Select$<$ M $>$::valid.\index{moFirstImprSelect@{mo\-First\-Impr\-Select}!operator()@{operator()}}
\index{operator()@{operator()}!moFirstImprSelect@{mo\-First\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-First\-Impr\-Select}$<$ M $>$::operator() (M \& {\em \_\-\_\-move}, \bf{Fitness} \& {\em \_\-\_\-fit}) throw (\bf{Empty\-Selection})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_first_impr_select_3be12cf4cbaed00df7c4fa735b2c0a95}
Procedure which saved the best move and fitness.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]the current move (result of the procedure). \item[{\em \_\-\_\-fit}]the current fitness (result of the procedure). \end{description}
\end{Desc}
\begin{Desc}
\item[Exceptions:]
\begin{description}
\item[{\em \doxyref{Empty\-Selection}{p.}{class_empty_selection}}]if no move has improved the fitness. \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ M \&, M::EOType::Fitness \&, void $>$}.
Definition at line 101 of file mo\-First\-Impr\-Select.h.
References mo\-First\-Impr\-Select$<$ M $>$::best\_\-fit, mo\-First\-Impr\-Select$<$ M $>$::best\_\-move, and mo\-First\-Impr\-Select$<$ M $>$::valid.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-First\-Impr\-Select.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 303.03
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moFitComparator< EOT >) cw
(moComparator< EOT >) cw
(eoBF< const EOT &, const EOT &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moFitComparator< EOT >) 0 0 box
(moComparator< EOT >) 0 1 box
(eoBF< const EOT &, const EOT &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,55 +0,0 @@
\section{moFitComparator$<$ EOT $>$ Class Template Reference}
\label{classmo_fit_comparator}\index{moFitComparator@{moFitComparator}}
Comparison according to the fitness.
{\tt \#include $<$moFitComparator.h$>$}
Inheritance diagram for moFitComparator$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_fit_comparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} (const EOT \&\_\-solution1, const EOT \&\_\-solution2)
\begin{CompactList}\small\item\em {\bf Function} which makes the comparison and gives the result. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class moFitComparator$<$ EOT $>$}
Comparison according to the fitness.
An EOT is better than an other if its fitness is better.
Definition at line 20 of file moFitComparator.h.
\subsection{Member Function Documentation}
\index{moFitComparator@{moFitComparator}!operator()@{operator()}}
\index{operator()@{operator()}!moFitComparator@{moFitComparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moFitComparator}$<$ EOT $>$::operator() (const EOT \& {\em \_\-solution1}, const EOT \& {\em \_\-solution2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_fit_comparator_c920d5a49deb16710daf1e5fcde6b16c}
{\bf Function} which makes the comparison and gives the result.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-solution1}]The first solution. \item[{\em \_\-solution2}]The second solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true if the fitness of the first solution is better than the second solution, false else. \end{Desc}
Implements {\bf eoBF$<$ const EOT \&, const EOT \&, bool $>$}.
Definition at line 30 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,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 441.989
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.13125 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moFitSolContinue< EOT >) cw
(moSolContinue< EOT >) cw
(eoUF< const EOT &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moFitSolContinue< EOT >) 0 0 box
(moSolContinue< EOT >) 0 1 box
(eoUF< const EOT &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,103 +0,0 @@
\section{mo\-Fit\-Sol\-Continue$<$ 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$>$}
Inheritance diagram for mo\-Fit\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_fit_sol_continue}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_fit_sol_continue_369ed94a788d8bdc08d5554f7669376f}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-Fit\-Sol\-Continue} (\bf{Fitness} \_\-\_\-fitness)
\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item
bool \bf{operator()} (const EOT \&\_\-\_\-sol)
\begin{CompactList}\small\item\em \doxyref{Function} that activates the stopping criterion. \item\end{CompactList}\item
void \bf{init} ()
\begin{CompactList}\small\item\em Procedure which allows to initialise all the stuff needed. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{Fitness} \bf{fitness}\label{classmo_fit_sol_continue_87d0ba8f2f76f61c89317eed5f094dfc}
\begin{CompactList}\small\item\em Fitness target. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class mo\-Fit\-Sol\-Continue$<$ EOT $>$}
One possible stop criterion for a solution-based heuristic.
The stop criterion corresponds to a fitness threshold gained.
Definition at line 46 of file mo\-Fit\-Sol\-Continue.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}
Basic constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-fitness}]The fitness to reach. \end{description}
\end{Desc}
Definition at line 58 of file mo\-Fit\-Sol\-Continue.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, virtual]}}\label{classmo_fit_sol_continue_fa9f0a15f99c998115cae9b456403a27}
\doxyref{Function} that activates the stopping criterion.
Indicates if the fitness threshold has not yet been reached.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]the current solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true or false according to the value of the fitness. \end{Desc}
Implements \bf{eo\-UF$<$ const EOT \&, bool $>$}.
Definition at line 68 of file mo\-Fit\-Sol\-Continue.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}
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}.
Definition at line 82 of file mo\-Fit\-Sol\-Continue.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Fit\-Sol\-Continue.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 441.989
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.13125 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moGenSolContinue< EOT >) cw
(moSolContinue< EOT >) cw
(eoUF< const EOT &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moGenSolContinue< EOT >) 0 0 box
(moSolContinue< EOT >) 0 1 box
(eoUF< const EOT &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,102 +0,0 @@
\section{mo\-Gen\-Sol\-Continue$<$ EOT $>$ Class Template Reference}
\label{classmo_gen_sol_continue}\index{moGenSolContinue@{moGenSolContinue}}
One possible stop criterion for a solution-based heuristic.
{\tt \#include $<$mo\-Gen\-Sol\-Continue.h$>$}
Inheritance diagram for mo\-Gen\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_gen_sol_continue}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-Gen\-Sol\-Continue} (unsigned int \_\-\_\-max\-Num\-Gen)
\begin{CompactList}\small\item\em Simple constructor. \item\end{CompactList}\item
bool \bf{operator()} (const EOT \&\_\-\_\-sol)
\begin{CompactList}\small\item\em \doxyref{Function} that activates the stop criterion. \item\end{CompactList}\item
void \bf{init} ()
\begin{CompactList}\small\item\em Procedure which allows to initialise the generation counter. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{max\-Num\-Gen}\label{classmo_gen_sol_continue_30b9861e090578bdfa2374806600987a}
\begin{CompactList}\small\item\em Iteration maximum number. \item\end{CompactList}\item
unsigned int \bf{num\-Gen}\label{classmo_gen_sol_continue_630d9736a3a2c952540cdc211764258c}
\begin{CompactList}\small\item\em Iteration current number. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class mo\-Gen\-Sol\-Continue$<$ EOT $>$}
One possible stop criterion for a solution-based heuristic.
The stop criterion corresponds to a maximum number of iteration.
Definition at line 46 of file mo\-Gen\-Sol\-Continue.h.
\subsection{Constructor \& Destructor Documentation}
\index{moGenSolContinue@{mo\-Gen\-Sol\-Continue}!moGenSolContinue@{moGenSolContinue}}
\index{moGenSolContinue@{moGenSolContinue}!moGenSolContinue@{mo\-Gen\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \bf{mo\-Gen\-Sol\-Continue}$<$ EOT $>$::\bf{mo\-Gen\-Sol\-Continue} (unsigned int {\em \_\-\_\-max\-Num\-Gen})\hspace{0.3cm}{\tt [inline]}}\label{classmo_gen_sol_continue_b56e890f1caa3f98e161c6512b59c95b}
Simple constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-max\-Num\-Gen}]the maximum number of generation. \end{description}
\end{Desc}
Definition at line 55 of file mo\-Gen\-Sol\-Continue.h.
\subsection{Member Function Documentation}
\index{moGenSolContinue@{mo\-Gen\-Sol\-Continue}!operator()@{operator()}}
\index{operator()@{operator()}!moGenSolContinue@{mo\-Gen\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool \bf{mo\-Gen\-Sol\-Continue}$<$ EOT $>$::operator() (const EOT \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_gen_sol_continue_457257cd73b474d6f7783d84d02c2e61}
\doxyref{Function} that activates the stop criterion.
Increments the counter and returns TRUE if the current number of iteration is lower than the given maximum number of iterations.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]the current solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE or FALSE according to the current generation number. \end{Desc}
Implements \bf{eo\-UF$<$ const EOT \&, bool $>$}.
Definition at line 69 of file mo\-Gen\-Sol\-Continue.h.
References mo\-Gen\-Sol\-Continue$<$ EOT $>$::max\-Num\-Gen, and mo\-Gen\-Sol\-Continue$<$ EOT $>$::num\-Gen.\index{moGenSolContinue@{mo\-Gen\-Sol\-Continue}!init@{init}}
\index{init@{init}!moGenSolContinue@{mo\-Gen\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \bf{mo\-Gen\-Sol\-Continue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_gen_sol_continue_6c5db8182157584b56507cc9075602d4}
Procedure which allows to initialise the generation counter.
It can also be used to reset the iteration counter.
Implements \bf{mo\-Sol\-Continue$<$ EOT $>$} \doxyref{p.}{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}.
Definition at line 79 of file mo\-Gen\-Sol\-Continue.h.
References mo\-Gen\-Sol\-Continue$<$ EOT $>$::num\-Gen.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Gen\-Sol\-Continue.h\end{CompactItemize}

View file

@ -1,221 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 271.739
%%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.84 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(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
/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 -----
(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
% ----- relations -----
solid
0 0.5 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

View file

@ -1,116 +0,0 @@
\section{mo\-HC$<$ M $>$ Class Template Reference}
\label{classmo_h_c}\index{moHC@{moHC}}
Hill Climbing (HC).
{\tt \#include $<$mo\-HC.h$>$}
Inheritance diagram for mo\-HC$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_h_c}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-HC} (\bf{mo\-Move\-Init}$<$ M $>$ \&\_\-\_\-move\_\-init, \bf{mo\-Next\-Move}$<$ M $>$ \&\_\-\_\-next\_\-move, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, \bf{mo\-Move\-Select}$<$ M $>$ \&\_\-\_\-move\_\-select, \bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item
\bf{mo\-HC} (\bf{mo\-Move\-Expl}$<$ M $>$ \&\_\-\_\-move\_\-expl, \bf{eo\-Eval\-Func}$<$ \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 \doxyref{Function} which launches the HC. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_h_c_d219296ede03c679646bce2fe8ff96cb}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_h_c_56487c97a7cf0c423cc879d1bbd45027}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{mo\-Move\-Expl}$<$ M $>$ \& \bf{move\_\-expl}\label{classmo_h_c_f6bfb4553fb699f1e08f7d9c37d06103}
\begin{CompactList}\small\item\em Complete exploration of the neighborhood. \item\end{CompactList}\item
\bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \& \bf{full\_\-eval}\label{classmo_h_c_4b0d5cc70fc3d83f59a48b2bdea65736}
\begin{CompactList}\small\item\em A full evaluation function. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-HC$<$ M $>$}
Hill Climbing (HC).
Class which describes the algorithm for a hill climbing.
Definition at line 50 of file mo\-HC.h.
\subsection{Constructor \& Destructor Documentation}
\index{moHC@{mo\-HC}!moHC@{moHC}}
\index{moHC@{moHC}!moHC@{mo\-HC}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-HC}$<$ M $>$::\bf{mo\-HC} (\bf{mo\-Move\-Init}$<$ M $>$ \& {\em \_\-\_\-move\_\-init}, \bf{mo\-Next\-Move}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, \bf{mo\-Move\-Select}$<$ M $>$ \& {\em \_\-\_\-move\_\-select}, \bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_6cafe093f86a80c225827884cb9dc5b7}
Full constructor.
All the boxes are given in order the HC to use a \doxyref{mo\-HCMove\-Loop\-Expl}{p.}{classmo_h_c_move_loop_expl}.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-init}]a move initialiser. \item[{\em \_\-\_\-next\_\-move}]a neighborhood explorer. \item[{\em \_\-\_\-incr\_\-eval}]a (generally) efficient evaluation function. \item[{\em \_\-\_\-move\_\-select}]a move selector. \item[{\em \_\-\_\-full\_\-eval}]a full evaluation function. \end{description}
\end{Desc}
Definition at line 77 of file mo\-HC.h.\index{moHC@{mo\-HC}!moHC@{moHC}}
\index{moHC@{moHC}!moHC@{mo\-HC}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-HC}$<$ M $>$::\bf{mo\-HC} (\bf{mo\-Move\-Expl}$<$ M $>$ \& {\em \_\-\_\-move\_\-expl}, \bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_45f27309792e584a27fa6dcb86ccda65}
Light constructor.
This constructor allow to use another \doxyref{mo\-Move\-Expl}{p.}{classmo_move_expl} (generally not a \doxyref{mo\-HCMove\-Loop\-Expl}{p.}{classmo_h_c_move_loop_expl}).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-expl}]a complete explorer. \item[{\em \_\-\_\-full\_\-eval}]a full evaluation function. \end{description}
\end{Desc}
Definition at line 91 of file mo\-HC.h.
\subsection{Member Function Documentation}
\index{moHC@{mo\-HC}!operator()@{operator()}}
\index{operator()@{operator()}!moHC@{mo\-HC}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-HC}$<$ M $>$::operator() (\bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_h_c_ed4e273c420efa6386c5975a696a5010}
\doxyref{Function} which launches the HC.
The HC has to improve a current solution. As the \doxyref{mo\-SA}{p.}{classmo_s_a} and the mo TS, it can be used for HYBRIDATION in an evolutionnary algorithm.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]a current solution to improve. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE. \end{Desc}
Implements \bf{eo\-UF$<$ M::EOType \&, bool $>$}.
Definition at line 106 of file mo\-HC.h.
References mo\-HC$<$ M $>$::full\_\-eval, and mo\-HC$<$ M $>$::move\_\-expl.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-HC.h\end{CompactItemize}

View file

@ -1,215 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 327.869
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.525 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moHCMoveLoopExpl< M >) cw
(moMoveLoopExpl< M >) cw
(moMoveExpl< M >) cw
(eoBF< const M::EOType &, M::EOType &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moHCMoveLoopExpl< M >) 0 0 box
(moMoveLoopExpl< M >) 0 1 box
(moMoveExpl< M >) 0 2 box
(eoBF< const M::EOType &, M::EOType &, void >) 0 3 box
(eoFunctorBase) 0 4 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in

View file

@ -1,100 +0,0 @@
\section{mo\-HCMove\-Loop\-Expl$<$ M $>$ Class Template Reference}
\label{classmo_h_c_move_loop_expl}\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}}
Iterative explorer used by a \doxyref{mo\-HC}{p.}{classmo_h_c}.
{\tt \#include $<$mo\-HCMove\-Loop\-Expl.h$>$}
Inheritance diagram for mo\-HCMove\-Loop\-Expl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_h_c_move_loop_expl}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-HCMove\-Loop\-Expl} (\bf{mo\-Move\-Init}$<$ M $>$ \&\_\-\_\-move\_\-init, \bf{mo\-Next\-Move}$<$ M $>$ \&\_\-\_\-next\_\-move, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, \bf{mo\-Move\-Select}$<$ M $>$ \&\_\-\_\-move\_\-select)
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
void \bf{operator()} (const \bf{EOT} \&\_\-\_\-old\_\-sol, \bf{EOT} \&\_\-\_\-new\_\-sol)
\begin{CompactList}\small\item\em Procedure which launches the explorer. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_h_c_move_loop_expl_077befd4106c201eafd3ea22bcea2fe9}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item
typedef M::EOType::Fitness \bf{Fitness}\label{classmo_h_c_move_loop_expl_f24871224316d5549b9013a2d27ab465}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{mo\-Move\-Init}$<$ M $>$ \& \bf{move\_\-init}\label{classmo_h_c_move_loop_expl_6776fc51331c1b452d026b92448b4ffc}
\begin{CompactList}\small\item\em Move initialiser. \item\end{CompactList}\item
\bf{mo\-Next\-Move}$<$ M $>$ \& \bf{next\_\-move}\label{classmo_h_c_move_loop_expl_f716c5271e0eba9275c585dc52768443}
\begin{CompactList}\small\item\em Neighborhood explorer. \item\end{CompactList}\item
\bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \& \bf{incr\_\-eval}\label{classmo_h_c_move_loop_expl_84a8fccba05ab30414281469bc8ee779}
\begin{CompactList}\small\item\em (generally) Efficient evaluation. \item\end{CompactList}\item
\bf{mo\-Move\-Select}$<$ M $>$ \& \bf{move\_\-select}\label{classmo_h_c_move_loop_expl_13bcd1322b2b97fd665be2f60c532fbb}
\begin{CompactList}\small\item\em Move selector. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-HCMove\-Loop\-Expl$<$ M $>$}
Iterative explorer used by a \doxyref{mo\-HC}{p.}{classmo_h_c}.
Definition at line 48 of file mo\-HCMove\-Loop\-Expl.h.
\subsection{Constructor \& Destructor Documentation}
\index{moHCMoveLoopExpl@{mo\-HCMove\-Loop\-Expl}!moHCMoveLoopExpl@{moHCMoveLoopExpl}}
\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}!moHCMoveLoopExpl@{mo\-HCMove\-Loop\-Expl}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-HCMove\-Loop\-Expl}$<$ M $>$::\bf{mo\-HCMove\-Loop\-Expl} (\bf{mo\-Move\-Init}$<$ M $>$ \& {\em \_\-\_\-move\_\-init}, \bf{mo\-Next\-Move}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, \bf{mo\-Move\-Select}$<$ M $>$ \& {\em \_\-\_\-move\_\-select})\hspace{0.3cm}{\tt [inline]}}\label{classmo_h_c_move_loop_expl_11410d648d79746253e9dc249c4ec7b5}
Constructor.
All the boxes have to be specified.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-init}]the move initialiser. \item[{\em \_\-\_\-next\_\-move}]the neighborhood explorer. \item[{\em \_\-\_\-incr\_\-eval}](generally) efficient evaluation function. \item[{\em \_\-\_\-move\_\-select}]the move selector. \end{description}
\end{Desc}
Definition at line 68 of file mo\-HCMove\-Loop\-Expl.h.
\subsection{Member Function Documentation}
\index{moHCMoveLoopExpl@{mo\-HCMove\-Loop\-Expl}!operator()@{operator()}}
\index{operator()@{operator()}!moHCMoveLoopExpl@{mo\-HCMove\-Loop\-Expl}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-HCMove\-Loop\-Expl}$<$ 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}
Procedure which launches the explorer.
The exploration starts from an old solution and provides a new solution.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-old\_\-sol}]the current solution. \item[{\em \_\-\_\-new\_\-sol}]the new\_\-sol (result of the procedure). \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ const M::EOType \&, M::EOType \&, void $>$}.
Definition at line 84 of file mo\-HCMove\-Loop\-Expl.h.
References mo\-HCMove\-Loop\-Expl$<$ M $>$::incr\_\-eval, mo\-HCMove\-Loop\-Expl$<$ M $>$::move\_\-init, mo\-HCMove\-Loop\-Expl$<$ M $>$::move\_\-select, and mo\-HCMove\-Loop\-Expl$<$ M $>$::next\_\-move.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-HCMove\-Loop\-Expl.h\end{CompactItemize}

View file

@ -1,221 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 271.739
%%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.84 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moILS< 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
/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.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
% ----- relations -----
solid
0 0.5 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

View file

@ -1,155 +0,0 @@
\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=5cm]{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, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, {\bf 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, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, {\bf 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, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, {\bf 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, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Constructor for using a \doxyref{moSA}{p.}{classmo_s_a} for the \doxyref{moAlgo}{p.}{classmo_algo}. \item\end{CompactList}\item
bool {\bf operator()} ({\bf EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em {\bf Function} which launches the ILS. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef M::EOType {\bf EOT}\label{classmo_i_l_s_c81bafc611e4d4fd44347cf7162198c7}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item
typedef EOT::Fitness {\bf Fitness}\label{classmo_i_l_s_8c464a9eae064a78eff75d4c722b619c}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf moAlgo}$<$ {\bf EOT} $>$ \& {\bf 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
{\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\bf perturbation}\label{classmo_i_l_s_f667a1bda06b6d221292df9aba3db8a2}
\begin{CompactList}\small\item\em The perturbation generator. \item\end{CompactList}\item
{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-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}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, {\bf 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}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, {\bf 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}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, {\bf 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}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_i_l_s_292acc5218e8f148e8b174f183820696}
Constructor for using a \doxyref{moSA}{p.}{classmo_s_a} for the \doxyref{moAlgo}{p.}{classmo_algo}.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-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, virtual]}}\label{classmo_i_l_s_b3954a77b43fee31122d2a210b2a82d7}
{\bf Function} which launches the ILS.
The ILS has to improve a current solution. As the \doxyref{moSA}{p.}{classmo_s_a}, the \doxyref{moTS}{p.}{classmo_t_s} and the \doxyref{moHC}{p.}{classmo_h_c}, it can be used for HYBRIDATION in an evolutionnary algorithm.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]a current solution to improve. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE. \end{Desc}
Implements {\bf eoUF$<$ M::EOType \&, bool $>$}.
Definition at line 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

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 437.158
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.14375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moImprBestFitAspirCrit< M >) cw
(moAspirCrit< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moImprBestFitAspirCrit< M >) 0 0 box
(moAspirCrit< M >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,78 +0,0 @@
\section{mo\-Impr\-Best\-Fit\-Aspir\-Crit$<$ M $>$ Class Template Reference}
\label{classmo_impr_best_fit_aspir_crit}\index{moImprBestFitAspirCrit@{moImprBestFitAspirCrit}}
One of the possible \doxyref{mo\-Aspir\-Crit}{p.}{classmo_aspir_crit}.
{\tt \#include $<$mo\-Impr\-Best\-Fit\-Aspir\-Crit.h$>$}
Inheritance diagram for mo\-Impr\-Best\-Fit\-Aspir\-Crit$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_impr_best_fit_aspir_crit}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef M::EOType::Fitness \bf{Fitness}\label{classmo_impr_best_fit_aspir_crit_0bc1a8c9af99781e662570c04750cca8}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-Impr\-Best\-Fit\-Aspir\-Crit} ()\label{classmo_impr_best_fit_aspir_crit_e2c697a5cf3a7696e38bb52b6694a340}
\begin{CompactList}\small\item\em Contructor. \item\end{CompactList}\item
void \bf{init} ()\label{classmo_impr_best_fit_aspir_crit_ffa451a14ff4ea86fb8bd9fdbc348630}
\begin{CompactList}\small\item\em Initialisation procedure. \item\end{CompactList}\item
bool \bf{operator()} (const M \&\_\-\_\-move, const \bf{Fitness} \&\_\-\_\-fit)
\begin{CompactList}\small\item\em \doxyref{Function} that indicates if the fit is better that the already saved fit. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{Fitness} \bf{best\_\-fit}\label{classmo_impr_best_fit_aspir_crit_9e52383f0af8013b4aff0942325e1bf3}
\begin{CompactList}\small\item\em Best fitness found until now. \item\end{CompactList}\item
bool \bf{first\_\-time}\label{classmo_impr_best_fit_aspir_crit_2d5226c7dd661b33011402dbbbe78265}
\begin{CompactList}\small\item\em Indicates that a fitness has been already saved or not. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Impr\-Best\-Fit\-Aspir\-Crit$<$ M $>$}
One of the possible \doxyref{mo\-Aspir\-Crit}{p.}{classmo_aspir_crit}.
This criterion is satisfied when a given fitness is the best ever considered.
Definition at line 47 of file mo\-Impr\-Best\-Fit\-Aspir\-Crit.h.
\subsection{Member Function Documentation}
\index{moImprBestFitAspirCrit@{mo\-Impr\-Best\-Fit\-Aspir\-Crit}!operator()@{operator()}}
\index{operator()@{operator()}!moImprBestFitAspirCrit@{mo\-Impr\-Best\-Fit\-Aspir\-Crit}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-Impr\-Best\-Fit\-Aspir\-Crit}$<$ M $>$::operator() (const M \& {\em \_\-\_\-move}, const \bf{Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [inline]}}\label{classmo_impr_best_fit_aspir_crit_53f62fb56dcae3051a741f1fddb0204b}
\doxyref{Function} that indicates if the fit is better that the already saved fit.
The first time, the function only saved the current move and fitness.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a move. \item[{\em \_\-\_\-fit}]a fitnes linked to the move. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE the first time and if \_\-\_\-fit $>$ best\_\-fit, else FALSE. \end{Desc}
Definition at line 77 of file mo\-Impr\-Best\-Fit\-Aspir\-Crit.h.
References mo\-Impr\-Best\-Fit\-Aspir\-Crit$<$ M $>$::best\_\-fit, and mo\-Impr\-Best\-Fit\-Aspir\-Crit$<$ M $>$::first\_\-time.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Impr\-Best\-Fit\-Aspir\-Crit.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 490.798
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.01875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moItRandNextMove< M >) cw
(moNextMove< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moItRandNextMove< M >) 0 0 box
(moNextMove< M >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,96 +0,0 @@
\section{mo\-It\-Rand\-Next\-Move$<$ M $>$ Class Template Reference}
\label{classmo_it_rand_next_move}\index{moItRandNextMove@{moItRandNextMove}}
One of the possible \doxyref{mo\-Next\-Move}{p.}{classmo_next_move}.
{\tt \#include $<$mo\-It\-Rand\-Next\-Move.h$>$}
Inheritance diagram for mo\-It\-Rand\-Next\-Move$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_it_rand_next_move}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-It\-Rand\-Next\-Move} (\bf{mo\-Rand\-Move}$<$ M $>$ \&\_\-\_\-rand\_\-move, unsigned int \_\-\_\-max\_\-iter)
\begin{CompactList}\small\item\em The constructor. \item\end{CompactList}\item
bool \bf{operator()} (M \&\_\-\_\-move, const \bf{EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Generation of a new move. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_it_rand_next_move_ee666007fc494bf4a5f0cd065e5671cf}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{mo\-Rand\-Move}$<$ M $>$ \& \bf{rand\_\-move}\label{classmo_it_rand_next_move_ef9410ec5e7dfa7f002e05967931c459}
\begin{CompactList}\small\item\em A move generator (generally randomly). \item\end{CompactList}\item
unsigned int \bf{max\_\-iter}\label{classmo_it_rand_next_move_dc67fa86677d7a4f982de8d8b1eba033}
\begin{CompactList}\small\item\em Iteration maximum number. \item\end{CompactList}\item
unsigned int \bf{num\_\-iter}\label{classmo_it_rand_next_move_f43494b13931d8f76b5d9d5d6469e91b}
\begin{CompactList}\small\item\em Iteration current number. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-It\-Rand\-Next\-Move$<$ M $>$}
One of the possible \doxyref{mo\-Next\-Move}{p.}{classmo_next_move}.
This class is a move (\doxyref{mo\-Move}{p.}{classmo_move}) generator with a bound for the maximum number of iterations.
Definition at line 47 of file mo\-It\-Rand\-Next\-Move.h.
\subsection{Constructor \& Destructor Documentation}
\index{moItRandNextMove@{mo\-It\-Rand\-Next\-Move}!moItRandNextMove@{moItRandNextMove}}
\index{moItRandNextMove@{moItRandNextMove}!moItRandNextMove@{mo\-It\-Rand\-Next\-Move}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-It\-Rand\-Next\-Move}$<$ M $>$::\bf{mo\-It\-Rand\-Next\-Move} (\bf{mo\-Rand\-Move}$<$ M $>$ \& {\em \_\-\_\-rand\_\-move}, unsigned int {\em \_\-\_\-max\_\-iter})\hspace{0.3cm}{\tt [inline]}}\label{classmo_it_rand_next_move_2b61b3713d482ecf71db8d941551ff7a}
The constructor.
\doxyref{Parameters} only for initialising the attributes.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-rand\_\-move}]the random move generator. \item[{\em \_\-\_\-max\_\-iter}]the iteration maximum number. \end{description}
\end{Desc}
Definition at line 62 of file mo\-It\-Rand\-Next\-Move.h.
\subsection{Member Function Documentation}
\index{moItRandNextMove@{mo\-It\-Rand\-Next\-Move}!operator()@{operator()}}
\index{operator()@{operator()}!moItRandNextMove@{mo\-It\-Rand\-Next\-Move}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-It\-Rand\-Next\-Move}$<$ 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.
If the maximum number is not already reached, the current move is forgotten and remplaced by another one.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]the current move. \item[{\em \_\-\_\-sol}]the current solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]FALSE if the maximum number of iteration is reached, else TRUE. \end{Desc}
Definition at line 77 of file mo\-It\-Rand\-Next\-Move.h.
References mo\-It\-Rand\-Next\-Move$<$ M $>$::max\_\-iter, mo\-It\-Rand\-Next\-Move$<$ M $>$::num\_\-iter, and mo\-It\-Rand\-Next\-Move$<$ M $>$::rand\_\-move.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-It\-Rand\-Next\-Move.h\end{CompactItemize}

View file

@ -1,203 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 400
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.25 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moLSCheckPoint< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moLSCheckPoint< M >) 0 0 box
(eoBF< A1, A2, R >) 0 1 box
(eoFunctorBase) 0 2 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in

View file

@ -1,79 +0,0 @@
\section{mo\-LSCheck\-Point$<$ M $>$ Class Template Reference}
\label{classmo_l_s_check_point}\index{moLSCheckPoint@{moLSCheckPoint}}
Class which allows a checkpointing system.
{\tt \#include $<$mo\-LSCheck\-Point.h$>$}
Inheritance diagram for mo\-LSCheck\-Point$<$ 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 \doxyref{Function} which launches the checkpointing. \item\end{CompactList}\item
void \bf{add} (\bf{eo\-BF}$<$ 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{eo\-BF}$<$ 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}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-LSCheck\-Point$<$ M $>$}
Class which allows a checkpointing system.
Thanks to this class, at each iteration, additionnal function can be used (and not only one).
Definition at line 46 of file mo\-LSCheck\-Point.h.
\subsection{Member Function Documentation}
\index{moLSCheckPoint@{mo\-LSCheck\-Point}!operator()@{operator()}}
\index{operator()@{operator()}!moLSCheckPoint@{mo\-LSCheck\-Point}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-LSCheck\-Point}$<$ M $>$::operator() (const M \& {\em \_\-\_\-move}, const typename M::EOType \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_l_s_check_point_2f9c1250279e3f49ec77a66c10029f1e}
\doxyref{Function} which launches the checkpointing.
Each saved function is used on the current move and the current solution.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a move. \item[{\em \_\-\_\-sol}]a solution. \end{description}
\end{Desc}
Definition at line 59 of file mo\-LSCheck\-Point.h.
References mo\-LSCheck\-Point$<$ M $>$::func.\index{moLSCheckPoint@{mo\-LSCheck\-Point}!add@{add}}
\index{add@{add}!moLSCheckPoint@{mo\-LSCheck\-Point}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-LSCheck\-Point}$<$ M $>$::add (\bf{eo\-BF}$<$ 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.
The new function is added at the end of the vector. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-f}]a new function to add. \end{description}
\end{Desc}
Definition at line 74 of file mo\-LSCheck\-Point.h.
References mo\-LSCheck\-Point$<$ M $>$::func.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-LSCheck\-Point.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 476.19
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.05 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moLinearCoolingSchedule) cw
(moCoolingSchedule) cw
(eoUF< double &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moLinearCoolingSchedule) 0 0 box
(moCoolingSchedule) 0 1 box
(eoUF< double &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,85 +0,0 @@
\section{mo\-Linear\-Cooling\-Schedule Class Reference}
\label{classmo_linear_cooling_schedule}\index{moLinearCoolingSchedule@{moLinearCoolingSchedule}}
One of the possible \doxyref{mo\-Cooling\-Schedule}{p.}{classmo_cooling_schedule}.
{\tt \#include $<$mo\-Linear\-Cooling\-Schedule.h$>$}
Inheritance diagram for mo\-Linear\-Cooling\-Schedule::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_linear_cooling_schedule}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-Linear\-Cooling\-Schedule} (double \_\-\_\-threshold, double \_\-\_\-quantity)
\begin{CompactList}\small\item\em Simple constructor. \item\end{CompactList}\item
bool \bf{operator()} (double \&\_\-\_\-temp)
\begin{CompactList}\small\item\em \doxyref{Function} which proceeds to the cooling. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
double \bf{threshold}\label{classmo_linear_cooling_schedule_e7f539f986801ea71392c4a55ba08a76}
\begin{CompactList}\small\item\em The temperature threhold. \item\end{CompactList}\item
double \bf{quantity}\label{classmo_linear_cooling_schedule_6159dc39ceda89b23ffdab3d6ce8d8ed}
\begin{CompactList}\small\item\em The quantity that allows the temperature to decrease. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
One of the possible \doxyref{mo\-Cooling\-Schedule}{p.}{classmo_cooling_schedule}.
An another very simple cooling schedule, the temperature decrease according to a quantity while the temperature is greater than a threshold.
Definition at line 47 of file mo\-Linear\-Cooling\-Schedule.h.
\subsection{Constructor \& Destructor Documentation}
\index{moLinearCoolingSchedule@{mo\-Linear\-Cooling\-Schedule}!moLinearCoolingSchedule@{moLinearCoolingSchedule}}
\index{moLinearCoolingSchedule@{moLinearCoolingSchedule}!moLinearCoolingSchedule@{mo\-Linear\-Cooling\-Schedule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}mo\-Linear\-Cooling\-Schedule::mo\-Linear\-Cooling\-Schedule (double {\em \_\-\_\-threshold}, double {\em \_\-\_\-quantity})\hspace{0.3cm}{\tt [inline]}}\label{classmo_linear_cooling_schedule_2fdde7b1520d5a41251627e81cc9c13d}
Simple constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-threshold}]the threshold. \item[{\em \_\-\_\-quantity}]the quantity used to descrease the temperature. \end{description}
\end{Desc}
Definition at line 56 of file mo\-Linear\-Cooling\-Schedule.h.
\subsection{Member Function Documentation}
\index{moLinearCoolingSchedule@{mo\-Linear\-Cooling\-Schedule}!operator()@{operator()}}
\index{operator()@{operator()}!moLinearCoolingSchedule@{mo\-Linear\-Cooling\-Schedule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool mo\-Linear\-Cooling\-Schedule::operator() (double \& {\em \_\-\_\-temp})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_linear_cooling_schedule_814b109fdfd9426a92a5444b05014da3}
\doxyref{Function} which proceeds to the cooling.
It decreases the temperature and indicates if it is greater than the threshold.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-temp}]the current temperature. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]if the new temperature (current temperature - quantity) is greater than the threshold. \end{Desc}
Implements \bf{eo\-UF$<$ double \&, bool $>$}.
Definition at line 66 of file mo\-Linear\-Cooling\-Schedule.h.
References quantity, and threshold.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Linear\-Cooling\-Schedule.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 547.945
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 0.9125 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moMove< EOT >) cw
(eoUF< EOT &, void >) cw
(eoFunctorBase) cw
(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 -----
(moMove< EOT >) 0 1 box
(eoUF< EOT &, void >) 0 2 box
(eoFunctorBase) 0 3 box
(TwoOpt) 0 0 box
% ----- relations -----
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -1,35 +0,0 @@
\section{mo\-Move$<$ EOT $>$ Class Template Reference}
\label{classmo_move}\index{moMove@{moMove}}
Definition of a move.
{\tt \#include $<$mo\-Move.h$>$}
Inheritance diagram for mo\-Move$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_move}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef EOT \bf{EOType}\label{classmo_move_7fb853a91ba1319530529e515380bbba}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class mo\-Move$<$ EOT $>$}
Definition of a move.
A move transforms a solution to another close solution. It describes how a solution can be modified to another one.
Definition at line 48 of file mo\-Move.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Move.h\end{CompactItemize}

View file

@ -1,221 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 163.934
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 3.05 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moMoveExpl< M >) cw
(eoBF< const M::EOType &, M::EOType &, void >) cw
(eoFunctorBase) cw
(moMoveLoopExpl< M >) cw
(moHCMoveLoopExpl< M >) cw
(moTSMoveLoopExpl< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moMoveExpl< M >) 0.5 2 box
(eoBF< const M::EOType &, M::EOType &, void >) 0.5 3 box
(eoFunctorBase) 0.5 4 box
(moMoveLoopExpl< M >) 0.5 1 box
(moHCMoveLoopExpl< M >) 0 0 box
(moTSMoveLoopExpl< M >) 1 0 box
% ----- relations -----
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
1 0.5 4 in
solid
1 0.5 1.25 out
solid
0 0.5 1.75 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -1,29 +0,0 @@
\section{mo\-Move\-Expl$<$ M $>$ Class Template Reference}
\label{classmo_move_expl}\index{moMoveExpl@{moMoveExpl}}
Description of a move (\doxyref{mo\-Move}{p.}{classmo_move}) explorer.
{\tt \#include $<$mo\-Move\-Expl.h$>$}
Inheritance diagram for mo\-Move\-Expl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.59016cm]{classmo_move_expl}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Move\-Expl$<$ M $>$}
Description of a move (\doxyref{mo\-Move}{p.}{classmo_move}) explorer.
Only a description...See \doxyref{mo\-Move\-Loop\-Expl}{p.}{classmo_move_loop_expl}.
Definition at line 46 of file mo\-Move\-Expl.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Move\-Expl.h\end{CompactItemize}

View file

@ -1,203 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 400
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.25 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moMoveIncrEval< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moMoveIncrEval< M >) 0 0 box
(eoBF< A1, A2, R >) 0 1 box
(eoFunctorBase) 0 2 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in

View file

@ -1,29 +0,0 @@
\section{mo\-Move\-Incr\-Eval$<$ M $>$ Class Template Reference}
\label{classmo_move_incr_eval}\index{moMoveIncrEval@{moMoveIncrEval}}
(generally) Efficient evaluation function based a move and a solution.
{\tt \#include $<$mo\-Move\-Incr\-Eval.h$>$}
Inheritance diagram for mo\-Move\-Incr\-Eval$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classmo_move_incr_eval}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Move\-Incr\-Eval$<$ M $>$}
(generally) Efficient evaluation function based a move and a solution.
From a move and a solution, it computes a new fitness that could be associated to the solution if this one is updated.
Definition at line 49 of file mo\-Move\-Incr\-Eval.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Move\-Incr\-Eval.h\end{CompactItemize}

View file

@ -1,203 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 454.545
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.1 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moMoveInit< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moMoveInit< M >) 0 0 box
(eoBF< A1, A2, R >) 0 1 box
(eoFunctorBase) 0 2 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in

View file

@ -1,29 +0,0 @@
\section{mo\-Move\-Init$<$ M $>$ Class Template Reference}
\label{classmo_move_init}\index{moMoveInit@{moMoveInit}}
Move (\doxyref{mo\-Move}{p.}{classmo_move}) initializer.
{\tt \#include $<$mo\-Move\-Init.h$>$}
Inheritance diagram for mo\-Move\-Init$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classmo_move_init}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Move\-Init$<$ M $>$}
Move (\doxyref{mo\-Move}{p.}{classmo_move}) initializer.
Class which allows to initiase a move. Only a description... An object that herits from this class needs to be designed to be used.
Definition at line 47 of file mo\-Move\-Init.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Move\-Init.h\end{CompactItemize}

View file

@ -1,221 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 163.934
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 3.05 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moMoveLoopExpl< M >) cw
(moMoveExpl< M >) cw
(eoBF< const M::EOType &, M::EOType &, void >) cw
(eoFunctorBase) cw
(moHCMoveLoopExpl< M >) cw
(moTSMoveLoopExpl< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moMoveLoopExpl< M >) 0.5 1 box
(moMoveExpl< M >) 0.5 2 box
(eoBF< const M::EOType &, M::EOType &, void >) 0.5 3 box
(eoFunctorBase) 0.5 4 box
(moHCMoveLoopExpl< M >) 0 0 box
(moTSMoveLoopExpl< M >) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
1 0.5 4 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -1,29 +0,0 @@
\section{mo\-Move\-Loop\-Expl$<$ M $>$ Class Template Reference}
\label{classmo_move_loop_expl}\index{moMoveLoopExpl@{moMoveLoopExpl}}
Class which describes an iterative explorer.
{\tt \#include $<$mo\-Move\-Loop\-Expl.h$>$}
Inheritance diagram for mo\-Move\-Loop\-Expl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.59016cm]{classmo_move_loop_expl}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Move\-Loop\-Expl$<$ M $>$}
Class which describes an iterative explorer.
Only a description... \doxyref{mo\-HCMove\-Loop\-Expl}{p.}{classmo_h_c_move_loop_expl} and \doxyref{mo\-TSMove\-Loop\-Expl}{p.}{classmo_t_s_move_loop_expl} are exemples of class that are a \doxyref{mo\-Move\-Loop\-Expl}{p.}{classmo_move_loop_expl}.
Definition at line 46 of file mo\-Move\-Loop\-Expl.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Move\-Loop\-Expl.h\end{CompactItemize}

View file

@ -1,219 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 101.01
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.95 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 3 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moMoveSelect< M >) cw
(eoBF< M &, M::EOType::Fitness &, void >) cw
(eoFunctorBase) cw
(moBestImprSelect< M >) cw
(moFirstImprSelect< M >) cw
(moRandImprSelect< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moMoveSelect< M >) 1 1 box
(eoBF< M &, M::EOType::Fitness &, void >) 1 2 box
(eoFunctorBase) 1 3 box
(moBestImprSelect< M >) 0 0 box
(moFirstImprSelect< M >) 1 0 box
(moRandImprSelect< M >) 2 0 box
% ----- relations -----
solid
0 1 1 out
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in
solid
1 1 0.25 out
solid
0 2 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in
solid
0 2 0.75 in

View file

@ -1,77 +0,0 @@
\section{mo\-Move\-Select$<$ M $>$ Class Template Reference}
\label{classmo_move_select}\index{moMoveSelect@{moMoveSelect}}
Class that describes a move selector (\doxyref{mo\-Move}{p.}{classmo_move}).
{\tt \#include $<$mo\-Move\-Select.h$>$}
Inheritance diagram for mo\-Move\-Select$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.82828cm]{classmo_move_select}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef M::EOType::Fitness \bf{Fitness}\label{classmo_move_select_8148ccc0e6fbd209c3fe6829559895c8}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
virtual void \bf{init} (const \bf{Fitness} \&\_\-\_\-fit)=0
\begin{CompactList}\small\item\em Procedure which initialises all that the move selector needs including the initial fitness. \item\end{CompactList}\item
virtual bool \bf{update} (const M \&\_\-\_\-move, const \bf{Fitness} \&\_\-\_\-fit)=0
\begin{CompactList}\small\item\em \doxyref{Function} which updates the best solutions. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Move\-Select$<$ M $>$}
Class that describes a move selector (\doxyref{mo\-Move}{p.}{classmo_move}).
It iteratively considers some moves (\doxyref{mo\-Move}{p.}{classmo_move}) and their associated fitnesses. The best move is so regularly updated. At any time, it could be accessed.
Definition at line 57 of file mo\-Move\-Select.h.
\subsection{Member Function Documentation}
\index{moMoveSelect@{mo\-Move\-Select}!init@{init}}
\index{init@{init}!moMoveSelect@{mo\-Move\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void \bf{mo\-Move\-Select}$<$ M $>$::init (const \bf{Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_move_select_bca4c43f13d26eca7163aeb272a4a52e}
Procedure which initialises all that the move selector needs including the initial fitness.
In order to know the fitness of the solution, for which the neighborhood will be soon explored
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-fit}]the current fitness. \end{description}
\end{Desc}
Implemented in \bf{mo\-Best\-Impr\-Select$<$ M $>$} \doxyref{p.}{classmo_best_impr_select_2d2abf9aa17dc77cbb4f41810ab7b956}, \bf{mo\-First\-Impr\-Select$<$ M $>$} \doxyref{p.}{classmo_first_impr_select_4c5ce18ede46247a439c68f6954a4055}, and \bf{mo\-Rand\-Impr\-Select$<$ M $>$} \doxyref{p.}{classmo_rand_impr_select_a19726a1509cff874801615d63a3b5d9}.\index{moMoveSelect@{mo\-Move\-Select}!update@{update}}
\index{update@{update}!moMoveSelect@{mo\-Move\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual bool \bf{mo\-Move\-Select}$<$ M $>$::update (const M \& {\em \_\-\_\-move}, const \bf{Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_move_select_7c157b6e64fd417acf6e900059204eb1}
\doxyref{Function} which updates the best solutions.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a new move. \item[{\em \_\-\_\-fit}]a fitness linked to the new move. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]a boolean that expresses the need to resume the exploration. \end{Desc}
Implemented in \bf{mo\-Best\-Impr\-Select$<$ M $>$} \doxyref{p.}{classmo_best_impr_select_d10e3e6f8a0277731e95ef506d064d6d}, and \bf{mo\-Rand\-Impr\-Select$<$ M $>$} \doxyref{p.}{classmo_rand_impr_select_60ae5548560caee7e28d5ed2446186c9}.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Move\-Select.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 490.798
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.01875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moNextMove< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
(moItRandNextMove< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moNextMove< M >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
(moItRandNextMove< M >) 0 0 box
% ----- relations -----
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -1,29 +0,0 @@
\section{mo\-Next\-Move$<$ M $>$ Class Template Reference}
\label{classmo_next_move}\index{moNextMove@{moNextMove}}
Class which allows to generate a new move (\doxyref{mo\-Move}{p.}{classmo_move}).
{\tt \#include $<$mo\-Next\-Move.h$>$}
Inheritance diagram for mo\-Next\-Move$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_next_move}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Next\-Move$<$ M $>$}
Class which allows to generate a new move (\doxyref{mo\-Move}{p.}{classmo_move}).
Useful for the explorer (for \doxyref{mo\-TS}{p.}{classmo_t_s} or \doxyref{mo\-HC}{p.}{classmo_h_c}). Does nothing... An object that herits from this class needs to be designed for being used.
Definition at line 47 of file mo\-Next\-Move.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Next\-Move.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 583.942
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 0.85625 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moNoAspirCrit< M >) cw
(moAspirCrit< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moNoAspirCrit< M >) 0 0 box
(moAspirCrit< M >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,68 +0,0 @@
\section{mo\-No\-Aspir\-Crit$<$ M $>$ Class Template Reference}
\label{classmo_no_aspir_crit}\index{moNoAspirCrit@{moNoAspirCrit}}
One of the possible aspiration criterion (\doxyref{mo\-Aspir\-Crit}{p.}{classmo_aspir_crit}).
{\tt \#include $<$mo\-No\-Aspir\-Crit.h$>$}
Inheritance diagram for mo\-No\-Aspir\-Crit$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_no_aspir_crit}
\end{center}
\end{figure}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
bool \bf{operator()} (const M \&\_\-\_\-move, const typename M::EOType::Fitness \&\_\-\_\-sol)
\begin{CompactList}\small\item\em \doxyref{Function} which describes the aspiration criterion behaviour. \item\end{CompactList}\item
void \bf{init} ()
\begin{CompactList}\small\item\em Procedure which initialises all that needs a \doxyref{mo\-No\-Aspir\-Crit}{p.}{classmo_no_aspir_crit}. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-No\-Aspir\-Crit$<$ M $>$}
One of the possible aspiration criterion (\doxyref{mo\-Aspir\-Crit}{p.}{classmo_aspir_crit}).
The simplest : never satisfied.
Definition at line 46 of file mo\-No\-Aspir\-Crit.h.
\subsection{Member Function Documentation}
\index{moNoAspirCrit@{mo\-No\-Aspir\-Crit}!operator()@{operator()}}
\index{operator()@{operator()}!moNoAspirCrit@{mo\-No\-Aspir\-Crit}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-No\-Aspir\-Crit}$<$ M $>$::operator() (const M \& {\em \_\-\_\-move}, const typename M::EOType::Fitness \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, private]}}\label{classmo_no_aspir_crit_8a7180a8d5c25bfb6727d0b59551b0f8}
\doxyref{Function} which describes the aspiration criterion behaviour.
Does nothing.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a move. \item[{\em \_\-\_\-sol}]a fitness. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]FALSE. \end{Desc}
Definition at line 57 of file mo\-No\-Aspir\-Crit.h.\index{moNoAspirCrit@{mo\-No\-Aspir\-Crit}!init@{init}}
\index{init@{init}!moNoAspirCrit@{mo\-No\-Aspir\-Crit}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-No\-Aspir\-Crit}$<$ M $>$::init ()\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmo_no_aspir_crit_f3a286fc4c2d36bd390ba9a3074f3037}
Procedure which initialises all that needs a \doxyref{mo\-No\-Aspir\-Crit}{p.}{classmo_no_aspir_crit}.
Nothing...
Implements \bf{mo\-Aspir\-Crit$<$ M $>$} \doxyref{p.}{classmo_aspir_crit_a8ce84510a5ec7c9078381e542c6d140}.
Definition at line 68 of file mo\-No\-Aspir\-Crit.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-No\-Aspir\-Crit.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 386.473
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.29375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moNoFitImprSolContinue< EOT >) cw
(moSolContinue< EOT >) cw
(eoUF< const EOT &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moNoFitImprSolContinue< EOT >) 0 0 box
(moSolContinue< EOT >) 0 1 box
(eoUF< const EOT &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,112 +0,0 @@
\section{mo\-No\-Fit\-Impr\-Sol\-Continue$<$ 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$>$}
Inheritance diagram for mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_no_fit_impr_sol_continue}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_no_fit_impr_sol_continue_64c184de66bb37d75d53aa600ac947b3}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-No\-Fit\-Impr\-Sol\-Continue} (unsigned int \_\-\_\-max\-Number\-Of\-Iteration\-Without\-Improvement)
\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item
bool \bf{operator()} (const EOT \&\_\-\_\-sol)
\begin{CompactList}\small\item\em \doxyref{Function} that activates the stopping criterion. \item\end{CompactList}\item
void \bf{init} ()
\begin{CompactList}\small\item\em Procedure which allows to initialise all the stuff needed. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{max\-Number\-Of\-Iterations\-Without\-Improvement}\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}
\begin{CompactList}\small\item\em Flag that this is the first time that the fitness is used. \item\end{CompactList}\item
\bf{Fitness} \bf{fitness}\label{classmo_no_fit_impr_sol_continue_3d3d2b43a4dd73e38689cc0018d44ee7}
\begin{CompactList}\small\item\em Current Fitness. \item\end{CompactList}\item
unsigned int \bf{counter}\label{classmo_no_fit_impr_sol_continue_46fc008a8f7cd06dcaaeb4016b433adb}
\begin{CompactList}\small\item\em The iteration couter. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$}
One possible stop criterion for a solution-based heuristic.
The stop criterion corresponds to a maximum number of iterations without improvement.
Definition at line 46 of file mo\-No\-Fit\-Impr\-Sol\-Continue.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}
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}
\end{Desc}
Definition at line 58 of file mo\-No\-Fit\-Impr\-Sol\-Continue.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, virtual]}}\label{classmo_no_fit_impr_sol_continue_dbd663623cae56ec76ee504ecb226fed}
\doxyref{Function} that activates the stopping criterion.
Indicates if the fitness has not been improved since a given number of iterations (after a minimum of iterations). \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]the current solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true or false. \end{Desc}
Implements \bf{eo\-UF$<$ const EOT \&, bool $>$}.
Definition at line 68 of file mo\-No\-Fit\-Impr\-Sol\-Continue.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}
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}.
Definition at line 102 of file mo\-No\-Fit\-Impr\-Sol\-Continue.h.
References mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::counter, and mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$::first\-Fitness\-Saved.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-No\-Fit\-Impr\-Sol\-Continue.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 303.03
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moRandImprSelect< M >) cw
(moMoveSelect< M >) cw
(eoBF< M &, M::EOType::Fitness &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moRandImprSelect< M >) 0 0 box
(moMoveSelect< M >) 0 1 box
(eoBF< M &, M::EOType::Fitness &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,126 +0,0 @@
\section{mo\-Rand\-Impr\-Select$<$ M $>$ Class Template Reference}
\label{classmo_rand_impr_select}\index{moRandImprSelect@{moRandImprSelect}}
One of the possible \doxyref{mo\-Move}{p.}{classmo_move} selector (\doxyref{mo\-Move\-Select}{p.}{classmo_move_select}).
{\tt \#include $<$mo\-Rand\-Impr\-Select.h$>$}
Inheritance diagram for mo\-Rand\-Impr\-Select$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_rand_impr_select}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef M::EOType::Fitness \bf{Fitness}\label{classmo_rand_impr_select_3bff2fdb963297430543c82ffb567a5c}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{init} (const \bf{Fitness} \&\_\-\_\-fit)
\begin{CompactList}\small\item\em Procedure which all that needs a \doxyref{mo\-Rand\-Impr\-Select}{p.}{classmo_rand_impr_select}. \item\end{CompactList}\item
bool \bf{update} (const M \&\_\-\_\-move, const \bf{Fitness} \&\_\-\_\-fit)
\begin{CompactList}\small\item\em \doxyref{Function} that updates the fitness and move vectors. \item\end{CompactList}\item
void \bf{operator()} (M \&\_\-\_\-move, \bf{Fitness} \&\_\-\_\-fit) throw (Empty\-Selection)
\begin{CompactList}\small\item\em The move selection. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{Fitness} \bf{init\_\-fit}\label{classmo_rand_impr_select_d153c277a0a2ea95ac484210d445b40e}
\begin{CompactList}\small\item\em Fitness of the current solution. \item\end{CompactList}\item
std::vector$<$ \bf{Fitness} $>$ \bf{vect\_\-better\_\-fit}\label{classmo_rand_impr_select_05c7c3b858e8a25632f2f5c86b0c97a3}
\begin{CompactList}\small\item\em Candidate fitnesse vector. \item\end{CompactList}\item
std::vector$<$ M $>$ \bf{vect\_\-better\_\-moves}\label{classmo_rand_impr_select_2ace12bd179144fa71d56324694201f5}
\begin{CompactList}\small\item\em Candidate move vector. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Rand\-Impr\-Select$<$ M $>$}
One of the possible \doxyref{mo\-Move}{p.}{classmo_move} selector (\doxyref{mo\-Move\-Select}{p.}{classmo_move_select}).
All the neighbors are considered. One of them that enables an improvment of the objective function is choosen.
Definition at line 50 of file mo\-Rand\-Impr\-Select.h.
\subsection{Member Function Documentation}
\index{moRandImprSelect@{mo\-Rand\-Impr\-Select}!init@{init}}
\index{init@{init}!moRandImprSelect@{mo\-Rand\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Rand\-Impr\-Select}$<$ M $>$::init (const \bf{Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_rand_impr_select_a19726a1509cff874801615d63a3b5d9}
Procedure which all that needs a \doxyref{mo\-Rand\-Impr\-Select}{p.}{classmo_rand_impr_select}.
Give a value to the initialise fitness. Clean the move and fitness vectors.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-fit}]the current best fitness \end{description}
\end{Desc}
Implements \bf{mo\-Move\-Select$<$ M $>$} \doxyref{p.}{classmo_move_select_bca4c43f13d26eca7163aeb272a4a52e}.
Definition at line 65 of file mo\-Rand\-Impr\-Select.h.
References mo\-Rand\-Impr\-Select$<$ M $>$::init\_\-fit, mo\-Rand\-Impr\-Select$<$ M $>$::vect\_\-better\_\-fit, and mo\-Rand\-Impr\-Select$<$ M $>$::vect\_\-better\_\-moves.\index{moRandImprSelect@{mo\-Rand\-Impr\-Select}!update@{update}}
\index{update@{update}!moRandImprSelect@{mo\-Rand\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-Rand\-Impr\-Select}$<$ M $>$::update (const M \& {\em \_\-\_\-move}, const \bf{Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_rand_impr_select_60ae5548560caee7e28d5ed2446186c9}
\doxyref{Function} that updates the fitness and move vectors.
if a move give a better fitness than the initial fitness, it is saved and the fitness too.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a new move. \item[{\em \_\-\_\-fit}]a new fitness associated to the new move. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE. \end{Desc}
Implements \bf{mo\-Move\-Select$<$ M $>$} \doxyref{p.}{classmo_move_select_7c157b6e64fd417acf6e900059204eb1}.
Definition at line 81 of file mo\-Rand\-Impr\-Select.h.
References mo\-Rand\-Impr\-Select$<$ M $>$::init\_\-fit, mo\-Rand\-Impr\-Select$<$ M $>$::vect\_\-better\_\-fit, and mo\-Rand\-Impr\-Select$<$ M $>$::vect\_\-better\_\-moves.\index{moRandImprSelect@{mo\-Rand\-Impr\-Select}!operator()@{operator()}}
\index{operator()@{operator()}!moRandImprSelect@{mo\-Rand\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Rand\-Impr\-Select}$<$ M $>$::operator() (M \& {\em \_\-\_\-move}, \bf{Fitness} \& {\em \_\-\_\-fit}) throw (\bf{Empty\-Selection})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_rand_impr_select_5ee57f77a450c0a9ce50bfccf3ad2a55}
The move selection.
One the saved move is randomly chosen.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]the reference of the move that can be initialised by the function. \item[{\em \_\-\_\-fit}]the reference of the fitness that can be initialised by the function. \end{description}
\end{Desc}
\begin{Desc}
\item[Exceptions:]
\begin{description}
\item[{\em \doxyref{Empty\-Selection}{p.}{class_empty_selection}}]If no move which improves the current fitness are found. \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ M \&, M::EOType::Fitness \&, void $>$}.
Definition at line 102 of file mo\-Rand\-Impr\-Select.h.
References eo\-Rng::random(), mo\-Rand\-Impr\-Select$<$ M $>$::vect\_\-better\_\-fit, and mo\-Rand\-Impr\-Select$<$ M $>$::vect\_\-better\_\-moves.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Rand\-Impr\-Select.h\end{CompactItemize}

View file

@ -1,203 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 454.545
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.1 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moRandMove< M >) cw
(eoUF< M &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moRandMove< M >) 0 0 box
(eoUF< M &, void >) 0 1 box
(eoFunctorBase) 0 2 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in

View file

@ -1,29 +0,0 @@
\section{mo\-Rand\-Move$<$ M $>$ Class Template Reference}
\label{classmo_rand_move}\index{moRandMove@{moRandMove}}
Random move generator.
{\tt \#include $<$mo\-Rand\-Move.h$>$}
Inheritance diagram for mo\-Rand\-Move$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classmo_rand_move}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Rand\-Move$<$ M $>$}
Random move generator.
Only a description... An object that herits from this class needs to be designed in order to use a \doxyref{mo\-SA}{p.}{classmo_s_a}.
Definition at line 46 of file mo\-Rand\-Move.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Rand\-Move.h\end{CompactItemize}

View file

@ -1,221 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 271.739
%%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.84 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(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
/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 -----
(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
% ----- relations -----
solid
0 0.5 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

View file

@ -1,110 +0,0 @@
\section{mo\-SA$<$ M $>$ Class Template Reference}
\label{classmo_s_a}\index{moSA@{moSA}}
Simulated Annealing (SA).
{\tt \#include $<$mo\-SA.h$>$}
Inheritance diagram for mo\-SA$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_s_a}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-SA} (\bf{mo\-Rand\-Move}$<$ M $>$ \&\_\-\_\-move\_\-rand, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, \bf{mo\-Sol\-Continue}$<$ \bf{EOT} $>$ \&\_\-\_\-cont, double \_\-\_\-init\_\-temp, \bf{mo\-Cooling\-Schedule} \&\_\-\_\-cool\_\-sched, \bf{eo\-Eval\-Func}$<$ \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}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_s_a_d5d64a8797bdedc7b3af7893aded0bd5}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_s_a_97f1a40d5ab5a0b3f878d0347b34804b}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{mo\-Rand\-Move}$<$ M $>$ \& \bf{move\_\-rand}\label{classmo_s_a_71c49935b63a202d25888a5f86121fec}
\begin{CompactList}\small\item\em A move generator (generally randomly). \item\end{CompactList}\item
\bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \& \bf{incr\_\-eval}\label{classmo_s_a_4c3be32e9832e465b24e6d33559356bc}
\begin{CompactList}\small\item\em A (generally) efficient evaluation function. \item\end{CompactList}\item
\bf{mo\-Sol\-Continue}$<$ \bf{EOT} $>$ \& \bf{cont}\label{classmo_s_a_54484c8a514866ea496e0058c2e09716}
\begin{CompactList}\small\item\em Stopping criterion before temperature update. \item\end{CompactList}\item
double \bf{init\_\-temp}\label{classmo_s_a_f1af7636b52aa5f6b381f8187b667bd4}
\begin{CompactList}\small\item\em Initial temperature. \item\end{CompactList}\item
\bf{mo\-Cooling\-Schedule} \& \bf{cool\_\-sched}\label{classmo_s_a_11c7d0cab649b7d680dd85bb74cb4ff6}
\begin{CompactList}\small\item\em The cooling schedule. \item\end{CompactList}\item
\bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \& \bf{full\_\-eval}\label{classmo_s_a_bcd6a940046f23dd741444c0b85edf2c}
\begin{CompactList}\small\item\em A full evaluation function. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-SA$<$ M $>$}
Simulated Annealing (SA).
Class that describes a Simulated Annealing algorithm.
Definition at line 55 of file mo\-SA.h.
\subsection{Constructor \& Destructor Documentation}
\index{moSA@{mo\-SA}!moSA@{moSA}}
\index{moSA@{moSA}!moSA@{mo\-SA}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-SA}$<$ M $>$::\bf{mo\-SA} (\bf{mo\-Rand\-Move}$<$ M $>$ \& {\em \_\-\_\-move\_\-rand}, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, \bf{mo\-Sol\-Continue}$<$ \bf{EOT} $>$ \& {\em \_\-\_\-cont}, double {\em \_\-\_\-init\_\-temp}, \bf{mo\-Cooling\-Schedule} \& {\em \_\-\_\-cool\_\-sched}, \bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_s_a_01f6a44483e5a7abbce33eb480b6a9b9}
SA constructor.
All the boxes used by a SA need to be given.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-rand}]a move generator (generally randomly). \item[{\em \_\-\_\-incr\_\-eval}]a (generaly) efficient evaluation function \item[{\em \_\-\_\-cont}]a stopping criterion. \item[{\em \_\-\_\-init\_\-temp}]the initial temperature. \item[{\em \_\-\_\-cool\_\-sched}]a cooling schedule, describes how the temperature is modified. \item[{\em \_\-\_\-full\_\-eval}]a full evaluation function. \end{description}
\end{Desc}
Definition at line 83 of file mo\-SA.h.
\subsection{Member Function Documentation}
\index{moSA@{mo\-SA}!operator()@{operator()}}
\index{operator()@{operator()}!moSA@{mo\-SA}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-SA}$<$ M $>$::operator() (\bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_s_a_0e4c54b57bc13fcbd4763883b8f719e5}
function that launches the SA algorithm.
As a \doxyref{mo\-TS}{p.}{classmo_t_s} or a \doxyref{mo\-HC}{p.}{classmo_h_c}, the SA can be used for HYBRIDATION in an evolutionary algorithm.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]a solution to improve. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE. \end{Desc}
Implements \bf{eo\-UF$<$ M::EOType \&, bool $>$}.
Definition at line 105 of file mo\-SA.h.
References mo\-SA$<$ M $>$::cont, mo\-SA$<$ M $>$::cool\_\-sched, mo\-SA$<$ M $>$::full\_\-eval, mo\-SA$<$ M $>$::incr\_\-eval, mo\-SA$<$ M $>$::init\_\-temp, mo\-SA$<$ M $>$::move\_\-rand, and eo\-Rng::uniform().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-SA.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 427.807
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.16875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moSimpleMoveTabuList< M >) cw
(moTabuList< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moSimpleMoveTabuList< M >) 0 0 box
(moTabuList< M >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,145 +0,0 @@
\section{mo\-Simple\-Move\-Tabu\-List$<$ M $>$ Class Template Reference}
\label{classmo_simple_move_tabu_list}\index{moSimpleMoveTabuList@{moSimpleMoveTabuList}}
Class describing a move tabu list with a limited memory.
{\tt \#include $<$mo\-Simple\-Move\-Tabu\-List.h$>$}
Inheritance diagram for mo\-Simple\-Move\-Tabu\-List$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_simple_move_tabu_list}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_simple_move_tabu_list_91286ff3ba6b1e9e1db9e4fdade2edb7}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-Simple\-Move\-Tabu\-List} (unsigned int \_\-\_\-size)\label{classmo_simple_move_tabu_list_12798ce0bc3a2ee031fb301290ed6d79}
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
bool \bf{operator()} (const M \&\_\-\_\-move, const \bf{EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em \doxyref{Function} that indicates if, in a given state, the \_\-move is tabu or not. \item\end{CompactList}\item
void \bf{add} (const M \&\_\-\_\-move, const \bf{EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Procedure to add a move in the tabu list. \item\end{CompactList}\item
void \bf{update} ()
\begin{CompactList}\small\item\em Procedure that updates the tabu list content. \item\end{CompactList}\item
void \bf{init} ()
\begin{CompactList}\small\item\em Procedure which initialises the tabu list. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{remove\-Move} (const M \&\_\-\_\-move)
\begin{CompactList}\small\item\em Procedure that removes a given move from the tabu list (if it is into, else do nothing). \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{max\-Size}\label{classmo_simple_move_tabu_list_e48848e9e5c9c8435475cbdf21658e23}
\begin{CompactList}\small\item\em The maximum size of the tabu list. \item\end{CompactList}\item
unsigned int \bf{current\-Size}\label{classmo_simple_move_tabu_list_f1f9524e62d48f3688aa58a6055ccceb}
\begin{CompactList}\small\item\em The current size of the tabu list. \item\end{CompactList}\item
std::list$<$ M $>$ \bf{tabu\-List}\label{classmo_simple_move_tabu_list_d91bc838361524720616b44eda9b2c3a}
\begin{CompactList}\small\item\em The move tabu list. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Simple\-Move\-Tabu\-List$<$ M $>$}
Class describing a move tabu list with a limited memory.
Definition at line 47 of file mo\-Simple\-Move\-Tabu\-List.h.
\subsection{Member Function Documentation}
\index{moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}!operator()@{operator()}}
\index{operator()@{operator()}!moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-Simple\-Move\-Tabu\-List}$<$ M $>$::operator() (const M \& {\em \_\-\_\-move}, const \bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_simple_move_tabu_list_bb7fe9da28617f56734af71c42c8265a}
\doxyref{Function} that indicates if, in a given state, the \_\-move is tabu or not.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]A given \doxyref{mo\-Move}{p.}{classmo_move}. \item[{\em \_\-\_\-sol}]A solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true or false. \end{Desc}
Definition at line 71 of file mo\-Simple\-Move\-Tabu\-List.h.
References mo\-Simple\-Move\-Tabu\-List$<$ M $>$::tabu\-List.\index{moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}!add@{add}}
\index{add@{add}!moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Simple\-Move\-Tabu\-List}$<$ M $>$::add (const M \& {\em \_\-\_\-move}, const \bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_move_tabu_list_43c979a9ec876c5e5b591b1c422395ef}
Procedure to add a move in the tabu list.
The two parameters have not to be modified so they are constant parameters.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a new tabu move. \item[{\em \_\-\_\-sol}]the origianl solution associated to this move. \end{description}
\end{Desc}
Implements \bf{mo\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_tabu_list_d279d72cb486d812da1ad3d24a69c286}.
Definition at line 85 of file mo\-Simple\-Move\-Tabu\-List.h.
References mo\-Simple\-Move\-Tabu\-List$<$ M $>$::current\-Size, mo\-Simple\-Move\-Tabu\-List$<$ M $>$::max\-Size, mo\-Simple\-Move\-Tabu\-List$<$ M $>$::remove\-Move(), and mo\-Simple\-Move\-Tabu\-List$<$ M $>$::tabu\-List.\index{moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}!update@{update}}
\index{update@{update}!moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Simple\-Move\-Tabu\-List}$<$ M $>$::update ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_move_tabu_list_96cffc8118456ed762b07b9fc0e0679f}
Procedure that updates the tabu list content.
Generally, a counter associated to each saved move is decreased by one.
Implements \bf{mo\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_tabu_list_a2e5d1132f064093c8ed57046405f5ca}.
Definition at line 107 of file mo\-Simple\-Move\-Tabu\-List.h.\index{moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}!init@{init}}
\index{init@{init}!moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Simple\-Move\-Tabu\-List}$<$ M $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_move_tabu_list_b91ae9971be30769757d1ad92c6009dc}
Procedure which initialises the tabu list.
Can be useful if the data structure needs to be allocated before being used.
Implements \bf{mo\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_tabu_list_0a06c459d56e8e2b408a8f3c6aec4e57}.
Definition at line 113 of file mo\-Simple\-Move\-Tabu\-List.h.\index{moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}!removeMove@{removeMove}}
\index{removeMove@{removeMove}!moSimpleMoveTabuList@{mo\-Simple\-Move\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Simple\-Move\-Tabu\-List}$<$ M $>$::remove\-Move (const M \& {\em \_\-\_\-move})\hspace{0.3cm}{\tt [inline, private]}}\label{classmo_simple_move_tabu_list_a3fa2bd19e09f1541878fa28e867d20f}
Procedure that removes a given move from the tabu list (if it is into, else do nothing).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]A given \doxyref{mo\-Move}{p.}{classmo_move}. \end{description}
\end{Desc}
Definition at line 125 of file mo\-Simple\-Move\-Tabu\-List.h.
References mo\-Simple\-Move\-Tabu\-List$<$ M $>$::tabu\-List.
Referenced by mo\-Simple\-Move\-Tabu\-List$<$ M $>$::add().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Simple\-Move\-Tabu\-List.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 400
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.25 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moSimpleSolutionTabuList< M >) cw
(moTabuList< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moSimpleSolutionTabuList< M >) 0 0 box
(moTabuList< M >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,163 +0,0 @@
\section{mo\-Simple\-Solution\-Tabu\-List$<$ M $>$ Class Template Reference}
\label{classmo_simple_solution_tabu_list}\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}}
Class describing a solution tabu list with limited length.
{\tt \#include $<$mo\-Simple\-Solution\-Tabu\-List.h$>$}
Inheritance diagram for mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_simple_solution_tabu_list}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_simple_solution_tabu_list_881060871a6b49e5e8554c5df85176d9}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-Simple\-Solution\-Tabu\-List} (unsigned int \_\-\_\-size)
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
bool \bf{operator()} (const M \&\_\-\_\-move, const \bf{EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em \doxyref{Function} that indicates if, in a given state, the \_\-move is tabu or not. \item\end{CompactList}\item
void \bf{add} (const M \&\_\-\_\-move, const \bf{EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Procedure to add a move in the tabu list. \item\end{CompactList}\item
void \bf{update} ()
\begin{CompactList}\small\item\em Procedure that updates the tabu list content. \item\end{CompactList}\item
void \bf{init} ()
\begin{CompactList}\small\item\em Procedure which initialises the tabu list. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{remove\-Solution} (const \bf{EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em Procedure that removes a given solution from the tabu list (if it is into, else does nothing). \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{max\-Size}\label{classmo_simple_solution_tabu_list_662e1f65fadff234692be009a2440845}
\begin{CompactList}\small\item\em The maximum size of the tabu list. \item\end{CompactList}\item
unsigned int \bf{current\-Size}\label{classmo_simple_solution_tabu_list_2aaf6e882d10495adddae94cb7a48fbf}
\begin{CompactList}\small\item\em The current size of the tabu list. \item\end{CompactList}\item
std::list$<$ \bf{EOT} $>$ \bf{tabu\-List}\label{classmo_simple_solution_tabu_list_75df9cd683528d3722d02bac407b710b}
\begin{CompactList}\small\item\em The solution tabu list. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Simple\-Solution\-Tabu\-List$<$ M $>$}
Class describing a solution tabu list with limited length.
Definition at line 47 of file mo\-Simple\-Solution\-Tabu\-List.h.
\subsection{Constructor \& Destructor Documentation}
\index{moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}!moSimpleSolutionTabuList@{moSimpleSolutionTabuList}}
\index{moSimpleSolutionTabuList@{moSimpleSolutionTabuList}!moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-Simple\-Solution\-Tabu\-List}$<$ M $>$::\bf{mo\-Simple\-Solution\-Tabu\-List} (unsigned int {\em \_\-\_\-size})\hspace{0.3cm}{\tt [inline]}}\label{classmo_simple_solution_tabu_list_8f8ce82b49ff49efbd934cedd3e34178}
Constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-size}]The maximum size of the solution tabu list. \end{description}
\end{Desc}
Definition at line 59 of file mo\-Simple\-Solution\-Tabu\-List.h.
References mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::current\-Size.
\subsection{Member Function Documentation}
\index{moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}!operator()@{operator()}}
\index{operator()@{operator()}!moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-Simple\-Solution\-Tabu\-List}$<$ M $>$::operator() (const M \& {\em \_\-\_\-move}, const \bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline]}}\label{classmo_simple_solution_tabu_list_e1f1cf258b55554d8be88fb5780a0047}
\doxyref{Function} that indicates if, in a given state, the \_\-move is tabu or not.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]A given \doxyref{mo\-Move}{p.}{classmo_move}. \item[{\em \_\-\_\-sol}]A solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true or false. \end{Desc}
Definition at line 70 of file mo\-Simple\-Solution\-Tabu\-List.h.
References mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::tabu\-List.\index{moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}!add@{add}}
\index{add@{add}!moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Simple\-Solution\-Tabu\-List}$<$ M $>$::add (const M \& {\em \_\-\_\-move}, const \bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_solution_tabu_list_fd6b3a1764121169650c969bba895615}
Procedure to add a move in the tabu list.
The two parameters have not to be modified so they are constant parameters.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a new tabu move. \item[{\em \_\-\_\-sol}]the origianl solution associated to this move. \end{description}
\end{Desc}
Implements \bf{mo\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_tabu_list_d279d72cb486d812da1ad3d24a69c286}.
Definition at line 89 of file mo\-Simple\-Solution\-Tabu\-List.h.
References mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::current\-Size, mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::max\-Size, mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::remove\-Solution(), and mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::tabu\-List.\index{moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}!update@{update}}
\index{update@{update}!moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Simple\-Solution\-Tabu\-List}$<$ M $>$::update ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_solution_tabu_list_91b8b01dba7ffea8b63765d931e56f56}
Procedure that updates the tabu list content.
Generally, a counter associated to each saved move is decreased by one.
Implements \bf{mo\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_tabu_list_a2e5d1132f064093c8ed57046405f5ca}.
Definition at line 116 of file mo\-Simple\-Solution\-Tabu\-List.h.\index{moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}!init@{init}}
\index{init@{init}!moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Simple\-Solution\-Tabu\-List}$<$ M $>$::init ()\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_simple_solution_tabu_list_d5645c39fec71a6110a2cbccbb08b816}
Procedure which initialises the tabu list.
Can be useful if the data structure needs to be allocated before being used.
Implements \bf{mo\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_tabu_list_0a06c459d56e8e2b408a8f3c6aec4e57}.
Definition at line 122 of file mo\-Simple\-Solution\-Tabu\-List.h.\index{moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}!removeSolution@{removeSolution}}
\index{removeSolution@{removeSolution}!moSimpleSolutionTabuList@{mo\-Simple\-Solution\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Simple\-Solution\-Tabu\-List}$<$ M $>$::remove\-Solution (const \bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, private]}}\label{classmo_simple_solution_tabu_list_7847a48f33c15e31298f3e715d754560}
Procedure that removes a given solution from the tabu list (if it is into, else does nothing).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]A given solution. \end{description}
\end{Desc}
Definition at line 134 of file mo\-Simple\-Solution\-Tabu\-List.h.
References mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::tabu\-List.
Referenced by mo\-Simple\-Solution\-Tabu\-List$<$ M $>$::add().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Simple\-Solution\-Tabu\-List.h\end{CompactItemize}

View file

@ -1,223 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 96.6184
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 5.175 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 4 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moSolContinue< EOT >) cw
(eoUF< const EOT &, bool >) cw
(eoFunctorBase) cw
(moFitSolContinue< EOT >) cw
(moGenSolContinue< EOT >) cw
(moNoFitImprSolContinue< EOT >) cw
(moSteadyFitSolContinue< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moSolContinue< EOT >) 1.5 1 box
(eoUF< const EOT &, bool >) 1.5 2 box
(eoFunctorBase) 1.5 3 box
(moFitSolContinue< EOT >) 0 0 box
(moGenSolContinue< EOT >) 1 0 box
(moNoFitImprSolContinue< EOT >) 2 0 box
(moSteadyFitSolContinue< EOT >) 3 0 box
% ----- relations -----
solid
0 1.5 1 out
solid
1 1.5 2 in
solid
0 1.5 2 out
solid
1 1.5 3 in
solid
1 1.5 0.25 out
solid
0 3 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in
solid
0 2 0.75 in
solid
0 3 0.75 in

View file

@ -1,46 +0,0 @@
\section{mo\-Sol\-Continue$<$ EOT $>$ Class Template Reference}
\label{classmo_sol_continue}\index{moSolContinue@{moSolContinue}}
Class that describes a stop criterion for a solution-based heuristic.
{\tt \#include $<$mo\-Sol\-Continue.h$>$}
Inheritance diagram for mo\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.70531cm]{classmo_sol_continue}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
virtual void \bf{init} ()=0
\begin{CompactList}\small\item\em Procedure which initialises all that the stop criterion needs. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class mo\-Sol\-Continue$<$ EOT $>$}
Class that describes a stop criterion for a solution-based heuristic.
It allows to add an initialisation procedure to an object that is a unary function (\doxyref{eo\-UF}).
Definition at line 47 of file mo\-Sol\-Continue.h.
\subsection{Member Function Documentation}
\index{moSolContinue@{mo\-Sol\-Continue}!init@{init}}
\index{init@{init}!moSolContinue@{mo\-Sol\-Continue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual void \bf{mo\-Sol\-Continue}$<$ EOT $>$::init ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7}
Procedure which initialises all that the stop criterion needs.
Generally, it allocates some data structures or initialises some counters.
Implemented in \bf{mo\-Fit\-Sol\-Continue$<$ EOT $>$} \doxyref{p.}{classmo_fit_sol_continue_670bd895b4edfcd3aebb40d2295d7f7c}, \bf{mo\-Gen\-Sol\-Continue$<$ EOT $>$} \doxyref{p.}{classmo_gen_sol_continue_6c5db8182157584b56507cc9075602d4}, \bf{mo\-No\-Fit\-Impr\-Sol\-Continue$<$ EOT $>$} \doxyref{p.}{classmo_no_fit_impr_sol_continue_21641c0a38a4501baae6133cbc591de4}, and \bf{mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$} \doxyref{p.}{classmo_steady_fit_sol_continue_87563493addc8e4b58982c55a67179b9}.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Sol\-Continue.h\end{CompactItemize}

View file

@ -1,209 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 388.35
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.2875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moSteadyFitSolContinue< EOT >) cw
(moSolContinue< EOT >) cw
(eoUF< const EOT &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moSteadyFitSolContinue< EOT >) 0 0 box
(moSolContinue< EOT >) 0 1 box
(eoUF< const EOT &, bool >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -1,120 +0,0 @@
\section{mo\-Steady\-Fit\-Sol\-Continue$<$ 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$>$}
Inheritance diagram for mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_steady_fit_sol_continue}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_steady_fit_sol_continue_c289721abbbafe50f6e3b8305dd31007}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-Steady\-Fit\-Sol\-Continue} (unsigned int \_\-\_\-max\-Number\-Of\-Iterations, unsigned int \_\-\_\-max\-Number\-Of\-Iteration\-Without\-Improvement)
\begin{CompactList}\small\item\em Basic constructor. \item\end{CompactList}\item
bool \bf{operator()} (const EOT \&\_\-\_\-sol)
\begin{CompactList}\small\item\em \doxyref{Function} that activates the stopping criterion. \item\end{CompactList}\item
void \bf{init} ()
\begin{CompactList}\small\item\em Procedure which allows to initialise the stuff needed. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{max\-Number\-Of\-Iterations}\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}
\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}
\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 this is the first time that the fitness is used. \item\end{CompactList}\item
\bf{Fitness} \bf{fitness}\label{classmo_steady_fit_sol_continue_a5c62e7049b36f6e71e92b559568c09e}
\begin{CompactList}\small\item\em Current Fitness. \item\end{CompactList}\item
unsigned int \bf{counter}\label{classmo_steady_fit_sol_continue_245c9099a2c40dfc4f34b3ff216d13ce}
\begin{CompactList}\small\item\em The iteration couter. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class mo\-Steady\-Fit\-Sol\-Continue$<$ EOT $>$}
One possible stopping criterion for a solution-based heuristic.
The stop criterion corresponds to a maximum number of iterations without improvement (after a minimum number of iterations).
Definition at line 46 of file mo\-Steady\-Fit\-Sol\-Continue.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}
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}
\end{Desc}
Definition at line 59 of file mo\-Steady\-Fit\-Sol\-Continue.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, virtual]}}\label{classmo_steady_fit_sol_continue_942e58ec00bb61000a83c80176e14bc3}
\doxyref{Function} that activates the stopping criterion.
Indicates if the fitness has not been improved since a number of iterations (after a minimum of iterations).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]the current solution. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true or false. \end{Desc}
Implements \bf{eo\-UF$<$ const EOT \&, bool $>$}.
Definition at line 71 of file mo\-Steady\-Fit\-Sol\-Continue.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}
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}.
Definition at line 115 of file mo\-Steady\-Fit\-Sol\-Continue.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.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Steady\-Fit\-Sol\-Continue.h\end{CompactItemize}

View file

@ -1,221 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 271.739
%%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.84 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(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
/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 -----
(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
% ----- relations -----
solid
0 0.5 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

View file

@ -1,119 +0,0 @@
\section{mo\-TS$<$ M $>$ Class Template Reference}
\label{classmo_t_s}\index{moTS@{moTS}}
Tabu Search (TS).
{\tt \#include $<$mo\-TS.h$>$}
Inheritance diagram for mo\-TS$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_t_s}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-TS} (\bf{mo\-Move\-Init}$<$ M $>$ \&\_\-\_\-move\_\-init, \bf{mo\-Next\-Move}$<$ M $>$ \&\_\-\_\-next\_\-move, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, \bf{mo\-Tabu\-List}$<$ M $>$ \&\_\-\_\-tabu\_\-list, \bf{mo\-Aspir\-Crit}$<$ M $>$ \&\_\-\_\-aspir\_\-crit, \bf{mo\-Sol\-Continue}$<$ \bf{EOT} $>$ \&\_\-\_\-cont, \bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Constructor of a \doxyref{mo\-TS}{p.}{classmo_t_s} specifying all the boxes. \item\end{CompactList}\item
\bf{mo\-TS} (\bf{mo\-Move\-Expl}$<$ M $>$ \&\_\-\_\-move\_\-expl, \bf{mo\-Sol\-Continue}$<$ \bf{EOT} $>$ \&\_\-\_\-cont, \bf{eo\-Eval\-Func}$<$ \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 \doxyref{Function} which launchs the Tabu Search. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_t_s_90d19d468c12ab5bd796948ce1ce79b1}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item
typedef EOT::Fitness \bf{Fitness}\label{classmo_t_s_aa0eefbb17111422e495d1255f876fca}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{mo\-Move\-Expl}$<$ M $>$ \& \bf{move\_\-expl}\label{classmo_t_s_06914ddc90ca96e9158c8dbe182a7865}
\begin{CompactList}\small\item\em Neighborhood explorer. \item\end{CompactList}\item
\bf{mo\-Sol\-Continue}$<$ \bf{EOT} $>$ \& \bf{cont}\label{classmo_t_s_969371cd2202f3d29cbb426f57ac7d3a}
\begin{CompactList}\small\item\em Stop criterion. \item\end{CompactList}\item
\bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \& \bf{full\_\-eval}\label{classmo_t_s_fb67eddae5d0bfca4ed881995523231e}
\begin{CompactList}\small\item\em Full evaluation function. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-TS$<$ M $>$}
Tabu Search (TS).
Generic algorithm that describes a tabu search.
Definition at line 54 of file mo\-TS.h.
\subsection{Constructor \& Destructor Documentation}
\index{moTS@{mo\-TS}!moTS@{moTS}}
\index{moTS@{moTS}!moTS@{mo\-TS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-TS}$<$ M $>$::\bf{mo\-TS} (\bf{mo\-Move\-Init}$<$ M $>$ \& {\em \_\-\_\-move\_\-init}, \bf{mo\-Next\-Move}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, \bf{mo\-Tabu\-List}$<$ M $>$ \& {\em \_\-\_\-tabu\_\-list}, \bf{mo\-Aspir\-Crit}$<$ M $>$ \& {\em \_\-\_\-aspir\_\-crit}, \bf{mo\-Sol\-Continue}$<$ \bf{EOT} $>$ \& {\em \_\-\_\-cont}, \bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_2be23f4524733ee6f37b71310d76407e}
Constructor of a \doxyref{mo\-TS}{p.}{classmo_t_s} specifying all the boxes.
In this constructor, a \doxyref{mo\-TSMove\-Loop\-Expl}{p.}{classmo_t_s_move_loop_expl} is instanciated.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-init}]move initialisation \item[{\em \_\-\_\-next\_\-move}]neighborhood explorer \item[{\em \_\-\_\-incr\_\-eval}]efficient evaluation \item[{\em \_\-\_\-tabu\_\-list}]tabu list \item[{\em \_\-\_\-aspir\_\-crit}]aspiration criterion \item[{\em \_\-\_\-cont}]stop criterion \item[{\em \_\-\_\-full\_\-eval}]full evaluation function \end{description}
\end{Desc}
Definition at line 83 of file mo\-TS.h.\index{moTS@{mo\-TS}!moTS@{moTS}}
\index{moTS@{moTS}!moTS@{mo\-TS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-TS}$<$ M $>$::\bf{mo\-TS} (\bf{mo\-Move\-Expl}$<$ M $>$ \& {\em \_\-\_\-move\_\-expl}, \bf{mo\-Sol\-Continue}$<$ \bf{EOT} $>$ \& {\em \_\-\_\-cont}, \bf{eo\-Eval\-Func}$<$ \bf{EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_508e675c4232cf2ca06dded931c90bab}
Constructor with less parameters.
The explorer is given in the parameters.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-expl}]the explorer (generally different that a \doxyref{mo\-TSMove\-Loop\-Expl}{p.}{classmo_t_s_move_loop_expl}) \item[{\em \_\-\_\-cont}]stop criterion \item[{\em \_\-\_\-full\_\-eval}]full evaluation function \end{description}
\end{Desc}
Definition at line 96 of file mo\-TS.h.
\subsection{Member Function Documentation}
\index{moTS@{mo\-TS}!operator()@{operator()}}
\index{operator()@{operator()}!moTS@{mo\-TS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-TS}$<$ M $>$::operator() (\bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmo_t_s_94d25a76fe1bc9ef0bbd0358ff55aceb}
\doxyref{Function} which launchs the Tabu Search.
Algorithm of the tabu search. As a \doxyref{mo\-SA}{p.}{classmo_s_a} or a \doxyref{mo\-HC}{p.}{classmo_h_c}, it can be used for HYBRIDATION in an evolutionary algorithm. For security a lock (pthread\_\-mutex\_\-t) is closed during the algorithm.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]a solution to improve. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE. \end{Desc}
Implements \bf{eo\-UF$<$ M::EOType \&, bool $>$}.
Definition at line 110 of file mo\-TS.h.
References mo\-TS$<$ M $>$::cont, mo\-TS$<$ M $>$::full\_\-eval, and mo\-TS$<$ M $>$::move\_\-expl.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-TS.h\end{CompactItemize}

View file

@ -1,215 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 327.869
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.525 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moTSMoveLoopExpl< M >) cw
(moMoveLoopExpl< M >) cw
(moMoveExpl< M >) cw
(eoBF< const M::EOType &, M::EOType &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moTSMoveLoopExpl< M >) 0 0 box
(moMoveLoopExpl< M >) 0 1 box
(moMoveExpl< M >) 0 2 box
(eoBF< const M::EOType &, M::EOType &, void >) 0 3 box
(eoFunctorBase) 0 4 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in

View file

@ -1,108 +0,0 @@
\section{mo\-TSMove\-Loop\-Expl$<$ M $>$ Class Template Reference}
\label{classmo_t_s_move_loop_expl}\index{moTSMoveLoopExpl@{moTSMoveLoopExpl}}
Explorer for a Tabu Search algorithm.
{\tt \#include $<$mo\-TSMove\-Loop\-Expl.h$>$}
Inheritance diagram for mo\-TSMove\-Loop\-Expl$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_t_s_move_loop_expl}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mo\-TSMove\-Loop\-Expl} (\bf{mo\-Move\-Init}$<$ M $>$ \&\_\-\_\-move\_\-init, \bf{mo\-Next\-Move}$<$ M $>$ \&\_\-\_\-next\_\-move, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, \bf{mo\-Tabu\-List}$<$ M $>$ \&\_\-\_\-tabu\_\-list, \bf{mo\-Aspir\-Crit}$<$ M $>$ \&\_\-\_\-aspir\_\-crit)
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
void \bf{operator()} (const \bf{EOT} \&\_\-\_\-old\_\-sol, \bf{EOT} \&\_\-\_\-new\_\-sol)
\begin{CompactList}\small\item\em Procedure which lauches the exploration. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_t_s_move_loop_expl_47f42225e2ed096374b818bdb848a527}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item
typedef M::EOType::Fitness \bf{Fitness}\label{classmo_t_s_move_loop_expl_a1ba36c937b195ca2f7d1a24adaa7018}
\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{mo\-Move\-Init}$<$ M $>$ \& \bf{move\_\-init}\label{classmo_t_s_move_loop_expl_6b23f99648902fb72ed17a4a6fa4e400}
\begin{CompactList}\small\item\em Move initialisation. \item\end{CompactList}\item
\bf{mo\-Next\-Move}$<$ M $>$ \& \bf{next\_\-move}\label{classmo_t_s_move_loop_expl_aeeff6666d26ff5c67acd9c153a5ae49}
\begin{CompactList}\small\item\em Neighborhood explorer. \item\end{CompactList}\item
\bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \& \bf{incr\_\-eval}\label{classmo_t_s_move_loop_expl_ee4443fc8e45d840697619678628c26c}
\begin{CompactList}\small\item\em Efficient evaluation. \item\end{CompactList}\item
\bf{mo\-Best\-Impr\-Select}$<$ M $>$ \bf{move\_\-select}\label{classmo_t_s_move_loop_expl_35a3f3035fb8df875c281d9838904bf1}
\begin{CompactList}\small\item\em Move selector. \item\end{CompactList}\item
\bf{mo\-Tabu\-List}$<$ M $>$ \& \bf{tabu\_\-list}\label{classmo_t_s_move_loop_expl_0e5988a940ba218e87c53b7e56d79790}
\begin{CompactList}\small\item\em Tabu list. \item\end{CompactList}\item
\bf{mo\-Aspir\-Crit}$<$ M $>$ \& \bf{aspir\_\-crit}\label{classmo_t_s_move_loop_expl_6786cf5422d17cbf872b07ae74ca6b0f}
\begin{CompactList}\small\item\em Aspiration criterion. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-TSMove\-Loop\-Expl$<$ M $>$}
Explorer for a Tabu Search algorithm.
It is used by a \doxyref{mo\-TS}{p.}{classmo_t_s}.
Definition at line 55 of file mo\-TSMove\-Loop\-Expl.h.
\subsection{Constructor \& Destructor Documentation}
\index{moTSMoveLoopExpl@{mo\-TSMove\-Loop\-Expl}!moTSMoveLoopExpl@{moTSMoveLoopExpl}}
\index{moTSMoveLoopExpl@{moTSMoveLoopExpl}!moTSMoveLoopExpl@{mo\-TSMove\-Loop\-Expl}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ \bf{mo\-TSMove\-Loop\-Expl}$<$ M $>$::\bf{mo\-TSMove\-Loop\-Expl} (\bf{mo\-Move\-Init}$<$ M $>$ \& {\em \_\-\_\-move\_\-init}, \bf{mo\-Next\-Move}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, \bf{mo\-Move\-Incr\-Eval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, \bf{mo\-Tabu\-List}$<$ M $>$ \& {\em \_\-\_\-tabu\_\-list}, \bf{mo\-Aspir\-Crit}$<$ M $>$ \& {\em \_\-\_\-aspir\_\-crit})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_move_loop_expl_43306dae9df150a8d9dc0dec9cd6a381}
Constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-init}]move initialisation \item[{\em \_\-\_\-next\_\-move}]neighborhood explorer \item[{\em \_\-\_\-incr\_\-eval}]efficient evaluation \item[{\em \_\-\_\-tabu\_\-list}]tabu list \item[{\em \_\-\_\-aspir\_\-crit}]aspiration criterion \end{description}
\end{Desc}
Definition at line 74 of file mo\-TSMove\-Loop\-Expl.h.
References mo\-TSMove\-Loop\-Expl$<$ M $>$::aspir\_\-crit, and mo\-TSMove\-Loop\-Expl$<$ M $>$::tabu\_\-list.
\subsection{Member Function Documentation}
\index{moTSMoveLoopExpl@{mo\-TSMove\-Loop\-Expl}!operator()@{operator()}}
\index{operator()@{operator()}!moTSMoveLoopExpl@{mo\-TSMove\-Loop\-Expl}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-TSMove\-Loop\-Expl}$<$ 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}
Procedure which lauches the exploration.
The exploration continues while the chosen move is not in the tabu list or the aspiration criterion is true. If these 2 conditions are not true, the exploration stops if the move selector update function returns false.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-old\_\-sol}]the initial solution \item[{\em \_\-\_\-new\_\-sol}]the new solution \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ const M::EOType \&, M::EOType \&, void $>$}.
Definition at line 94 of file mo\-TSMove\-Loop\-Expl.h.
References mo\-TSMove\-Loop\-Expl$<$ M $>$::aspir\_\-crit, mo\-TSMove\-Loop\-Expl$<$ M $>$::incr\_\-eval, mo\-TSMove\-Loop\-Expl$<$ M $>$::move\_\-init, mo\-TSMove\-Loop\-Expl$<$ M $>$::move\_\-select, mo\-TSMove\-Loop\-Expl$<$ M $>$::next\_\-move, and mo\-TSMove\-Loop\-Expl$<$ M $>$::tabu\_\-list.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-TSMove\-Loop\-Expl.h\end{CompactItemize}

View file

@ -1,215 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 200
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.5 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moTabuList< M >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
(moSimpleMoveTabuList< M >) cw
(moSimpleSolutionTabuList< M >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moTabuList< M >) 0.5 1 box
(eoBF< A1, A2, R >) 0.5 2 box
(eoFunctorBase) 0.5 3 box
(moSimpleMoveTabuList< M >) 0 0 box
(moSimpleSolutionTabuList< M >) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -1,81 +0,0 @@
\section{mo\-Tabu\-List$<$ M $>$ Class Template Reference}
\label{classmo_tabu_list}\index{moTabuList@{moTabuList}}
Class describing a tabu list that a \doxyref{mo\-TS}{p.}{classmo_t_s} uses.
{\tt \#include $<$mo\-Tabu\-List.h$>$}
Inheritance diagram for mo\-Tabu\-List$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_tabu_list}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef M::EOType \bf{EOT}\label{classmo_tabu_list_e219715cc3fdd5626764bc50ce6357df}
\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
virtual void \bf{add} (const M \&\_\-\_\-move, const \bf{EOT} \&\_\-\_\-sol)=0
\begin{CompactList}\small\item\em Procedure to add a move in the tabu list. \item\end{CompactList}\item
virtual void \bf{update} ()=0
\begin{CompactList}\small\item\em Procedure that updates the tabu list content. \item\end{CompactList}\item
virtual void \bf{init} ()=0
\begin{CompactList}\small\item\em Procedure which initialises the tabu list. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Tabu\-List$<$ M $>$}
Class describing a tabu list that a \doxyref{mo\-TS}{p.}{classmo_t_s} uses.
It is only a description, does nothing... A new object that herits from this class has to be defined in order to be used in a \doxyref{mo\-TS}{p.}{classmo_t_s}.
Definition at line 47 of file mo\-Tabu\-List.h.
\subsection{Member Function Documentation}
\index{moTabuList@{mo\-Tabu\-List}!add@{add}}
\index{add@{add}!moTabuList@{mo\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void \bf{mo\-Tabu\-List}$<$ M $>$::add (const M \& {\em \_\-\_\-move}, const \bf{EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_tabu_list_d279d72cb486d812da1ad3d24a69c286}
Procedure to add a move in the tabu list.
The two parameters have not to be modified so they are constant parameters.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a new tabu move. \item[{\em \_\-\_\-sol}]the origianl solution associated to this move. \end{description}
\end{Desc}
Implemented in \bf{mo\-Simple\-Move\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_simple_move_tabu_list_43c979a9ec876c5e5b591b1c422395ef}, and \bf{mo\-Simple\-Solution\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_simple_solution_tabu_list_fd6b3a1764121169650c969bba895615}.\index{moTabuList@{mo\-Tabu\-List}!update@{update}}
\index{update@{update}!moTabuList@{mo\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void \bf{mo\-Tabu\-List}$<$ M $>$::update ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_tabu_list_a2e5d1132f064093c8ed57046405f5ca}
Procedure that updates the tabu list content.
Generally, a counter associated to each saved move is decreased by one.
Implemented in \bf{mo\-Simple\-Move\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_simple_move_tabu_list_96cffc8118456ed762b07b9fc0e0679f}, \bf{mo\-Simple\-Solution\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_simple_solution_tabu_list_91b8b01dba7ffea8b63765d931e56f56}, and \bf{Two\-Opt\-Tabu\-List} \doxyref{p.}{class_two_opt_tabu_list_c460034b7debe7198c6df046855155da}.\index{moTabuList@{mo\-Tabu\-List}!init@{init}}
\index{init@{init}!moTabuList@{mo\-Tabu\-List}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void \bf{mo\-Tabu\-List}$<$ M $>$::init ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classmo_tabu_list_0a06c459d56e8e2b408a8f3c6aec4e57}
Procedure which initialises the tabu list.
Can be useful if the data structure needs to be allocated before being used.
Implemented in \bf{mo\-Simple\-Move\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_simple_move_tabu_list_b91ae9971be30769757d1ad92c6009dc}, \bf{mo\-Simple\-Solution\-Tabu\-List$<$ M $>$} \doxyref{p.}{classmo_simple_solution_tabu_list_d5645c39fec71a6110a2cbccbb08b816}, and \bf{Two\-Opt\-Tabu\-List} \doxyref{p.}{class_two_opt_tabu_list_2d3101e6045700b0e32f5e82672a175e}.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mo\-Tabu\-List.h\end{CompactItemize}

View file

@ -1,78 +0,0 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
\RequirePackage{calc}
\RequirePackage{array}
\pagestyle{fancyplain}
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\lhead[\fancyplain{}{\bfseries\thepage}]
{\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]
{\fancyplain{}{\bfseries\thepage}}
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Oct 8 09:55:33 2007 for Paradis\-EO-MOMoving\-Objects by Doxygen }]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Oct 8 09:55:33 2007 for Paradis\-EO-MOMoving\-Objects by Doxygen }}
\cfoot{}
\newenvironment{Code}
{\footnotesize}
{\normalsize}
\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
\newenvironment{DocInclude}
{\footnotesize}
{\normalsize}
\newenvironment{VerbInclude}
{\footnotesize}
{\normalsize}
\newenvironment{Image}
{\begin{figure}[H]}
{\end{figure}}
\newenvironment{ImageNoCaption}{}{}
\newenvironment{CompactList}
{\begin{list}{}{
\setlength{\leftmargin}{0.5cm}
\setlength{\itemsep}{0pt}
\setlength{\parsep}{0pt}
\setlength{\topsep}{0pt}
\renewcommand{\makelabel}{\hfill}}}
{\end{list}}
\newenvironment{CompactItemize}
{
\begin{itemize}
\setlength{\itemsep}{-3pt}
\setlength{\parsep}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
}
{\end{itemize}}
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
\newlength{\tmplength}
\newenvironment{TabularC}[1]
{
\setlength{\tmplength}
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
\par\begin{tabular*}{\linewidth}
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
}
{\end{tabular*}\par}
\newcommand{\entrylabel}[1]{
{\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
\newenvironment{Desc}
{\begin{list}{}
{
\settowidth{\labelwidth}{40pt}
\setlength{\leftmargin}{\labelwidth}
\setlength{\parsep}{0pt}
\setlength{\itemsep}{-4pt}
\renewcommand{\makelabel}{\entrylabel}
}
}
{\end{list}}
\newenvironment{Indent}
{\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
\item[]\ignorespaces}
{\unskip\end{list}}
\setlength{\parindent}{0cm}
\setlength{\parskip}{0.2cm}
\addtocounter{secnumdepth}{1}
\sloppy
\usepackage[T1]{fontenc}

Some files were not shown because too many files have changed in this diff Show more