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:
parent
7b27154a51
commit
c7d56ca5e3
403 changed files with 2 additions and 35782 deletions
Binary file not shown.
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
Loading…
Add table
Add a link
Reference in a new issue