MO full import
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@25 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
754f79be6a
commit
bbad098cba
315 changed files with 46407 additions and 0 deletions
BIN
trunk/paradiseo-mo/docs/latex/Helvetica.ttf
Normal file
BIN
trunk/paradiseo-mo/docs/latex/Helvetica.ttf
Normal file
Binary file not shown.
39
trunk/paradiseo-mo/docs/latex/Makefile
Normal file
39
trunk/paradiseo-mo/docs/latex/Makefile
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
all: clean refman.dvi
|
||||
|
||||
ps: refman.ps
|
||||
|
||||
pdf: refman.pdf
|
||||
|
||||
ps_2on1: refman_2on1.ps
|
||||
|
||||
pdf_2on1: refman_2on1.pdf
|
||||
|
||||
refman.ps: refman.dvi
|
||||
dvips -o refman.ps refman.dvi
|
||||
|
||||
refman.pdf: refman.ps
|
||||
ps2pdf refman.ps refman.pdf
|
||||
|
||||
refman.dvi: refman.tex doxygen.sty
|
||||
echo "Running latex..."
|
||||
latex refman.tex
|
||||
echo "Running makeindex..."
|
||||
makeindex refman.idx
|
||||
echo "Rerunning latex...."
|
||||
latex refman.tex
|
||||
latex_count=5 ; \
|
||||
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
|
||||
do \
|
||||
echo "Rerunning latex...." ;\
|
||||
latex refman.tex ;\
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
|
||||
refman_2on1.ps: refman.ps
|
||||
psnup -2 refman.ps >refman_2on1.ps
|
||||
|
||||
refman_2on1.pdf: refman_2on1.ps
|
||||
ps2pdf refman_2on1.ps refman_2on1.pdf
|
||||
|
||||
clean:
|
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf
|
||||
31
trunk/paradiseo-mo/docs/latex/annotated.tex
Normal file
31
trunk/paradiseo-mo/docs/latex/annotated.tex
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
\section{PARADISEO-MO Class List}
|
||||
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
|
||||
\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 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 {\bf mo\-Move\-Select}{\rm (p.\,\pageref{classmo_move_select})} )}{\pageref{classmo_best_impr_select}}{}
|
||||
\item\contentsline{section}{{\bf mo\-Cool\-Sched} (This class gives the description of a cooling schedule )}{\pageref{classmo_cool_sched}}{}
|
||||
\item\contentsline{section}{{\bf mo\-Easy\-Cool\-Sched} (One of the possible {\bf mo\-Cool\-Sched}{\rm (p.\,\pageref{classmo_cool_sched})} )}{\pageref{classmo_easy_cool_sched}}{}
|
||||
\item\contentsline{section}{{\bf mo\-First\-Impr\-Select$<$ M $>$} (One possible {\bf mo\-Move\-Select}{\rm (p.\,\pageref{classmo_move_select})} )}{\pageref{classmo_first_impr_select}}{}
|
||||
\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 {\bf mo\-HC}{\rm (p.\,\pageref{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 {\bf mo\-Aspir\-Crit}{\rm (p.\,\pageref{classmo_aspir_crit})} )}{\pageref{classmo_impr_best_fit_aspir_crit}}{}
|
||||
\item\contentsline{section}{{\bf mo\-It\-Rand\-Next\-Move$<$ M $>$} (One of the possible {\bf mo\-Next\-Move}{\rm (p.\,\pageref{classmo_next_move})} )}{\pageref{classmo_it_rand_next_move}}{}
|
||||
\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 ({\bf mo\-Move}{\rm (p.\,\pageref{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 ({\bf mo\-Move}{\rm (p.\,\pageref{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 ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}) )}{\pageref{classmo_move_select}}{}
|
||||
\item\contentsline{section}{{\bf mo\-Next\-Move$<$ M $>$} (Class which allows to generate a new move ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}) )}{\pageref{classmo_next_move}}{}
|
||||
\item\contentsline{section}{{\bf mo\-No\-Aspir\-Crit$<$ M $>$} (One of the possible aspiration criterion ({\bf mo\-Aspir\-Crit}{\rm (p.\,\pageref{classmo_aspir_crit})}) )}{\pageref{classmo_no_aspir_crit}}{}
|
||||
\item\contentsline{section}{{\bf mo\-Rand\-Impr\-Select$<$ M $>$} (One of the possible {\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})} selector ({\bf mo\-Move\-Select}{\rm (p.\,\pageref{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\-Sol\-Continue$<$ EOT $>$} (Class that describes a stop criterion for a solution-based heuristic )}{\pageref{classmo_sol_continue}}{}
|
||||
\item\contentsline{section}{{\bf mo\-Tabu\-List$<$ M $>$} (Class describing a tabu list that a {\bf mo\-TS}{\rm (p.\,\pageref{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}}{}
|
||||
\end{CompactList}
|
||||
21
trunk/paradiseo-mo/docs/latex/class_empty_selection.tex
Normal file
21
trunk/paradiseo-mo/docs/latex/class_empty_selection.tex
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
\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 21 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}
|
||||
23
trunk/paradiseo-mo/docs/latex/classmo_algo.tex
Normal file
23
trunk/paradiseo-mo/docs/latex/classmo_algo.tex
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
\section{mo\-Algo$<$ EOT $>$ Class Template Reference}
|
||||
\label{classmo_algo}\index{moAlgo@{moAlgo}}
|
||||
Description of an algorithm of the mo library.
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Algo.h$>$}
|
||||
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class mo\-Algo$<$ EOT $>$}
|
||||
|
||||
Description of an algorithm of the mo library.
|
||||
|
||||
{\bf mo\-HC}{\rm (p.\,\pageref{classmo_h_c})}, {\bf mo\-TS}{\rm (p.\,\pageref{classmo_t_s})} and {\bf mo\-SA}{\rm (p.\,\pageref{classmo_s_a})} are 3 examples of algorithm of the mo library.
|
||||
|
||||
|
||||
|
||||
Definition at line 21 of file mo\-Algo.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-Algo.h\end{CompactItemize}
|
||||
203
trunk/paradiseo-mo/docs/latex/classmo_aspir_crit.eps
Normal file
203
trunk/paradiseo-mo/docs/latex/classmo_aspir_crit.eps
Normal file
|
|
@ -0,0 +1,203 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 109.29
|
||||
%%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.575 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 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
|
||||
(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
|
||||
(moImprBestFitAspirCrit< M >) 0 0 box
|
||||
(moNoAspirCrit< M >) 1 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
1 0.5 0.25 out
|
||||
solid
|
||||
0 1 1 conn
|
||||
solid
|
||||
0 0 0.75 in
|
||||
solid
|
||||
0 1 0.75 in
|
||||
46
trunk/paradiseo-mo/docs/latex/classmo_aspir_crit.tex
Normal file
46
trunk/paradiseo-mo/docs/latex/classmo_aspir_crit.tex
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
\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=2cm]{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 {\bf mo\-TS}{\rm (p.\,\pageref{classmo_t_s})}. See mo\-No\-Aspri\-Crit for example.
|
||||
|
||||
|
||||
|
||||
Definition at line 22 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 $>$} {\rm (p.\,\pageref{classmo_impr_best_fit_aspir_crit_ffa451a14ff4ea86fb8bd9fdbc348630})}, and {\bf mo\-No\-Aspir\-Crit$<$ M $>$} {\rm (p.\,\pageref{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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_best_impr_select.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_best_impr_select.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 259.74
|
||||
%%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.925 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moBestImprSelect< M >) cw
|
||||
(moMoveSelect< 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 -----
|
||||
|
||||
(moBestImprSelect< M >) 0 0 box
|
||||
(moMoveSelect< M >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
103
trunk/paradiseo-mo/docs/latex/classmo_best_impr_select.tex
Normal file
103
trunk/paradiseo-mo/docs/latex/classmo_best_impr_select.tex
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
\section{mo\-Best\-Impr\-Select$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_best_impr_select}\index{moBestImprSelect@{moBestImprSelect}}
|
||||
One of the possible {\bf mo\-Move\-Select}{\rm (p.\,\pageref{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=2cm]{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 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 {\bf mo\-Move\-Select}{\rm (p.\,\pageref{classmo_move_select})}.
|
||||
|
||||
All neighbors are considered, and the movement which enables the best improvement is selected.
|
||||
|
||||
|
||||
|
||||
Definition at line 22 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}
|
||||
|
||||
|
||||
Function that indicates if the current move has not improved the fitness.
|
||||
|
||||
If the given fitness enables an improvment, the move ({\bf mo\-Move}{\rm (p.\,\pageref{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 $>$} {\rm (p.\,\pageref{classmo_move_select_7c157b6e64fd417acf6e900059204eb1})}.
|
||||
|
||||
Definition at line 47 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]}}\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 {\bf Empty\-Selection}{\rm (p.\,\pageref{class_empty_selection})}}]if no move has improved the fitness. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 68 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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_cool_sched.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_cool_sched.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 317.46
|
||||
%%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.575 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moCoolSched) cw
|
||||
(moEasyCoolSched) 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 -----
|
||||
|
||||
(moCoolSched) 0 1 box
|
||||
(moEasyCoolSched) 0 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
1 0 0.25 out
|
||||
solid
|
||||
0 0 0.75 in
|
||||
27
trunk/paradiseo-mo/docs/latex/classmo_cool_sched.tex
Normal file
27
trunk/paradiseo-mo/docs/latex/classmo_cool_sched.tex
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
\section{mo\-Cool\-Sched Class Reference}
|
||||
\label{classmo_cool_sched}\index{moCoolSched@{moCoolSched}}
|
||||
This class gives the description of a cooling schedule.
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Cool\-Sched.h$>$}
|
||||
|
||||
Inheritance diagram for mo\-Cool\-Sched::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2cm]{classmo_cool_sched}
|
||||
\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 {\bf mo\-SA}{\rm (p.\,\pageref{classmo_s_a})}. See {\bf mo\-Easy\-Cool\-Sched}{\rm (p.\,\pageref{classmo_easy_cool_sched})} for example.
|
||||
|
||||
|
||||
|
||||
Definition at line 22 of file mo\-Cool\-Sched.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-Cool\-Sched.h\end{CompactItemize}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_easy_cool_sched.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_easy_cool_sched.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 317.46
|
||||
%%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.575 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moEasyCoolSched) cw
|
||||
(moCoolSched) 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 -----
|
||||
|
||||
(moEasyCoolSched) 0 0 box
|
||||
(moCoolSched) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
83
trunk/paradiseo-mo/docs/latex/classmo_easy_cool_sched.tex
Normal file
83
trunk/paradiseo-mo/docs/latex/classmo_easy_cool_sched.tex
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
\section{mo\-Easy\-Cool\-Sched Class Reference}
|
||||
\label{classmo_easy_cool_sched}\index{moEasyCoolSched@{moEasyCoolSched}}
|
||||
One of the possible {\bf mo\-Cool\-Sched}{\rm (p.\,\pageref{classmo_cool_sched})}.
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Easy\-Cool\-Sched.h$>$}
|
||||
|
||||
Inheritance diagram for mo\-Easy\-Cool\-Sched::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2cm]{classmo_easy_cool_sched}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
{\bf mo\-Easy\-Cool\-Sched} (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 Function which proceeds to the cooling. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
double {\bf threshold}\label{classmo_easy_cool_sched_3dd53700390b7bb6428db80e01626c83}
|
||||
|
||||
\begin{CompactList}\small\item\em The temperature threhold. \item\end{CompactList}\item
|
||||
double {\bf ratio}\label{classmo_easy_cool_sched_1f84deff87defafd927e8c323b188f38}
|
||||
|
||||
\begin{CompactList}\small\item\em The decreasing factor of the temperature. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
One of the possible {\bf mo\-Cool\-Sched}{\rm (p.\,\pageref{classmo_cool_sched})}.
|
||||
|
||||
The simpliest, the temperature decrease according to a ratio until it greater than a threshold.
|
||||
|
||||
|
||||
|
||||
Definition at line 22 of file mo\-Easy\-Cool\-Sched.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\index{moEasyCoolSched@{mo\-Easy\-Cool\-Sched}!moEasyCoolSched@{moEasyCoolSched}}
|
||||
\index{moEasyCoolSched@{moEasyCoolSched}!moEasyCoolSched@{mo\-Easy\-Cool\-Sched}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}mo\-Easy\-Cool\-Sched::mo\-Easy\-Cool\-Sched (double {\em \_\-\_\-threshold}, double {\em \_\-\_\-ratio})\hspace{0.3cm}{\tt [inline]}}\label{classmo_easy_cool_sched_c556b41343700293bb17e3b20d81e0f2}
|
||||
|
||||
|
||||
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 31 of file mo\-Easy\-Cool\-Sched.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{moEasyCoolSched@{mo\-Easy\-Cool\-Sched}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!moEasyCoolSched@{mo\-Easy\-Cool\-Sched}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool mo\-Easy\-Cool\-Sched::operator() (double \& {\em \_\-\_\-temp})\hspace{0.3cm}{\tt [inline]}}\label{classmo_easy_cool_sched_ca08df878417ef1124e6933a9c2d7a0b}
|
||||
|
||||
|
||||
Function which proceeds to the cooling.
|
||||
|
||||
Decrease 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}
|
||||
|
||||
|
||||
Definition at line 44 of file mo\-Easy\-Cool\-Sched.h.
|
||||
|
||||
References ratio, and threshold.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-Easy\-Cool\-Sched.h\end{CompactItemize}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_first_impr_select.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_first_impr_select.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 258.065
|
||||
%%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.9375 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moFirstImprSelect< M >) cw
|
||||
(moMoveSelect< 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 -----
|
||||
|
||||
(moFirstImprSelect< M >) 0 0 box
|
||||
(moMoveSelect< M >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
116
trunk/paradiseo-mo/docs/latex/classmo_first_impr_select.tex
Normal file
116
trunk/paradiseo-mo/docs/latex/classmo_first_impr_select.tex
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
\section{mo\-First\-Impr\-Select$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_first_impr_select}\index{moFirstImprSelect@{moFirstImprSelect}}
|
||||
One possible {\bf mo\-Move\-Select}{\rm (p.\,\pageref{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=2cm]{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 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 {\bf mo\-Move\-Select}{\rm (p.\,\pageref{classmo_move_select})}.
|
||||
|
||||
The neighborhood is explored until a move enables an improvment of the current solution.
|
||||
|
||||
|
||||
|
||||
Definition at line 23 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 $>$} {\rm (p.\,\pageref{classmo_move_select_bca4c43f13d26eca7163aeb272a4a52e})}.
|
||||
|
||||
Definition at line 35 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}
|
||||
|
||||
|
||||
Function that indicates if the current move has not improved the fitness.
|
||||
|
||||
If the given fitness enables an improvment, the move ({\bf mo\-Move}{\rm (p.\,\pageref{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 52 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]}}\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 {\bf Empty\-Selection}{\rm (p.\,\pageref{class_empty_selection})}}]if no move has improved the fitness. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 76 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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_gen_sol_continue.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_gen_sol_continue.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 227.273
|
||||
%%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.2 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moGenSolContinue< EOT >) cw
|
||||
(moSolContinue< 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 -----
|
||||
|
||||
(moGenSolContinue< EOT >) 0 0 box
|
||||
(moSolContinue< EOT >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
100
trunk/paradiseo-mo/docs/latex/classmo_gen_sol_continue.tex
Normal file
100
trunk/paradiseo-mo/docs/latex/classmo_gen_sol_continue.tex
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
\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=2cm]{classmo_gen_sol_continue}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
{\bf mo\-Gen\-Sol\-Continue} (unsigned \_\-\_\-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 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 {\bf max\-Num\-Gen}\label{classmo_gen_sol_continue_6d7674fc51d17423e8ee28693a08b5af}
|
||||
|
||||
\begin{CompactList}\small\item\em Iteration maximum number. \item\end{CompactList}\item
|
||||
unsigned {\bf num\-Gen}\label{classmo_gen_sol_continue_a18ebfd270f96517b4edaa2cad3eb9e0}
|
||||
|
||||
\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 21 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 {\em \_\-\_\-max\-Num\-Gen})\hspace{0.3cm}{\tt [inline]}}\label{classmo_gen_sol_continue_6b6cab23a23bd8904ea52ef5141d8d0a}
|
||||
|
||||
|
||||
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 30 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]}}\label{classmo_gen_sol_continue_457257cd73b474d6f7783d84d02c2e61}
|
||||
|
||||
|
||||
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}
|
||||
|
||||
|
||||
Definition at line 44 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 $>$} {\rm (p.\,\pageref{classmo_sol_continue_064dc966a210f4ffb9515be3f03ca4c7})}.
|
||||
|
||||
Definition at line 54 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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_h_c.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_h_c.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 268.456
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 1.8625 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moHC< M >) cw
|
||||
(moAlgo< M::EOType >) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(moHC< M >) 0 0 box
|
||||
(moAlgo< M::EOType >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
114
trunk/paradiseo-mo/docs/latex/classmo_h_c.tex
Normal file
114
trunk/paradiseo-mo/docs/latex/classmo_h_c.tex
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
\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=2cm]{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, 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, 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 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
|
||||
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 26 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}, 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 {\bf mo\-HCMove\-Loop\-Expl}{\rm (p.\,\pageref{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 53 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}, 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 {\bf mo\-Move\-Expl}{\rm (p.\,\pageref{classmo_move_expl})} (generally not a {\bf mo\-HCMove\-Loop\-Expl}{\rm (p.\,\pageref{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 67 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]}}\label{classmo_h_c_ed4e273c420efa6386c5975a696a5010}
|
||||
|
||||
|
||||
Function which launches the HC.
|
||||
|
||||
The HC has to improve a current solution. As the {\bf mo\-SA}{\rm (p.\,\pageref{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}
|
||||
|
||||
|
||||
Definition at line 82 of file mo\-HC.h.
|
||||
|
||||
References mo\-HC$<$ M $>$::full\_\-eval.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-HC.h\end{CompactItemize}
|
||||
203
trunk/paradiseo-mo/docs/latex/classmo_h_c_move_loop_expl.eps
Normal file
203
trunk/paradiseo-mo/docs/latex/classmo_h_c_move_loop_expl.eps
Normal file
|
|
@ -0,0 +1,203 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 346.821
|
||||
%%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.44167 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
|
||||
(moHCMoveLoopExpl< M >) cw
|
||||
(moMoveLoopExpl< M >) cw
|
||||
(moMoveExpl< 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 -----
|
||||
|
||||
(moHCMoveLoopExpl< M >) 0 0 box
|
||||
(moMoveLoopExpl< M >) 0 1 box
|
||||
(moMoveExpl< M >) 0 2 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
98
trunk/paradiseo-mo/docs/latex/classmo_h_c_move_loop_expl.tex
Normal file
98
trunk/paradiseo-mo/docs/latex/classmo_h_c_move_loop_expl.tex
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
\section{mo\-HCMove\-Loop\-Expl$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_h_c_move_loop_expl}\index{moHCMoveLoopExpl@{moHCMoveLoopExpl}}
|
||||
Iterative explorer used by a {\bf mo\-HC}{\rm (p.\,\pageref{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=3cm]{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 {\bf mo\-HC}{\rm (p.\,\pageref{classmo_h_c})}.
|
||||
|
||||
|
||||
|
||||
Definition at line 23 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 43 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]}}\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}
|
||||
|
||||
|
||||
Definition at line 59 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}
|
||||
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 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 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moImprBestFitAspirCrit< M >) cw
|
||||
(moAspirCrit< 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 -----
|
||||
|
||||
(moImprBestFitAspirCrit< M >) 0 0 box
|
||||
(moAspirCrit< M >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
\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 {\bf mo\-Aspir\-Crit}{\rm (p.\,\pageref{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=2cm]{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 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 {\bf mo\-Aspir\-Crit}{\rm (p.\,\pageref{classmo_aspir_crit})}.
|
||||
|
||||
This criterion is satisfied when a given fitness is the best ever considered.
|
||||
|
||||
|
||||
|
||||
Definition at line 22 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}
|
||||
|
||||
|
||||
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 52 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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_it_rand_next_move.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_it_rand_next_move.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 245.399
|
||||
%%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.0375 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moItRandNextMove< M >) cw
|
||||
(moNextMove< 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 -----
|
||||
|
||||
(moItRandNextMove< M >) 0 0 box
|
||||
(moNextMove< M >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
96
trunk/paradiseo-mo/docs/latex/classmo_it_rand_next_move.tex
Normal file
96
trunk/paradiseo-mo/docs/latex/classmo_it_rand_next_move.tex
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
\section{mo\-It\-Rand\-Next\-Move$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_it_rand_next_move}\index{moItRandNextMove@{moItRandNextMove}}
|
||||
One of the possible {\bf mo\-Next\-Move}{\rm (p.\,\pageref{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=2cm]{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 \_\-\_\-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 {\bf max\_\-iter}\label{classmo_it_rand_next_move_3c476f7cc089b171493c52965f920542}
|
||||
|
||||
\begin{CompactList}\small\item\em Iteration maximum number. \item\end{CompactList}\item
|
||||
unsigned {\bf num\_\-iter}\label{classmo_it_rand_next_move_c3551d7910cf351d63f0f3427fc18504}
|
||||
|
||||
\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 {\bf mo\-Next\-Move}{\rm (p.\,\pageref{classmo_next_move})}.
|
||||
|
||||
This class is a move ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}) generator with a bound for the maximum number of iterations.
|
||||
|
||||
|
||||
|
||||
Definition at line 22 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 {\em \_\-\_\-max\_\-iter})\hspace{0.3cm}{\tt [inline]}}\label{classmo_it_rand_next_move_95ed13e1178f4e44cab7184b040b83d7}
|
||||
|
||||
|
||||
The constructor.
|
||||
|
||||
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 37 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 52 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}
|
||||
71
trunk/paradiseo-mo/docs/latex/classmo_l_s_check_point.tex
Normal file
71
trunk/paradiseo-mo/docs/latex/classmo_l_s_check_point.tex
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
\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$>$}
|
||||
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
void {\bf operator()} (const M \&\_\-\_\-move, const typename M::EOType \&\_\-\_\-sol)
|
||||
\begin{CompactList}\small\item\em Function which launches the checkpointing. \item\end{CompactList}\item
|
||||
void {\bf add} (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$<$ 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 21 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}
|
||||
|
||||
|
||||
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 34 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 (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 49 of file mo\-LSCheck\-Point.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-LSCheck\-Point.h\end{CompactItemize}
|
||||
29
trunk/paradiseo-mo/docs/latex/classmo_move.tex
Normal file
29
trunk/paradiseo-mo/docs/latex/classmo_move.tex
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
\section{mo\-Move$<$ EOT $>$ Class Template Reference}
|
||||
\label{classmo_move}\index{moMove@{moMove}}
|
||||
Definition of a move.
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Move.h$>$}
|
||||
|
||||
\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 23 of file mo\-Move.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-Move.h\end{CompactItemize}
|
||||
209
trunk/paradiseo-mo/docs/latex/classmo_move_expl.eps
Normal file
209
trunk/paradiseo-mo/docs/latex/classmo_move_expl.eps
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 173.41
|
||||
%%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.88333 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 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
|
||||
(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
|
||||
(moMoveLoopExpl< M >) 0.5 1 box
|
||||
(moHCMoveLoopExpl< M >) 0 0 box
|
||||
(moTSMoveLoopExpl< M >) 1 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
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
|
||||
29
trunk/paradiseo-mo/docs/latex/classmo_move_expl.tex
Normal file
29
trunk/paradiseo-mo/docs/latex/classmo_move_expl.tex
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
\section{mo\-Move\-Expl$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_move_expl}\index{moMoveExpl@{moMoveExpl}}
|
||||
Description of a move ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}) explorer.
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Move\-Expl.h$>$}
|
||||
|
||||
Inheritance diagram for mo\-Move\-Expl$<$ M $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classmo_move_expl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class M$>$ class mo\-Move\-Expl$<$ M $>$}
|
||||
|
||||
Description of a move ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}) explorer.
|
||||
|
||||
Only a description...See {\bf mo\-Move\-Loop\-Expl}{\rm (p.\,\pageref{classmo_move_loop_expl})}.
|
||||
|
||||
|
||||
|
||||
Definition at line 21 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}
|
||||
23
trunk/paradiseo-mo/docs/latex/classmo_move_incr_eval.tex
Normal file
23
trunk/paradiseo-mo/docs/latex/classmo_move_incr_eval.tex
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
\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$>$}
|
||||
|
||||
|
||||
|
||||
\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 24 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}
|
||||
23
trunk/paradiseo-mo/docs/latex/classmo_move_init.tex
Normal file
23
trunk/paradiseo-mo/docs/latex/classmo_move_init.tex
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
\section{mo\-Move\-Init$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_move_init}\index{moMoveInit@{moMoveInit}}
|
||||
Move ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}) initializer.
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Move\-Init.h$>$}
|
||||
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class M$>$ class mo\-Move\-Init$<$ M $>$}
|
||||
|
||||
Move ({\bf mo\-Move}{\rm (p.\,\pageref{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 22 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}
|
||||
209
trunk/paradiseo-mo/docs/latex/classmo_move_loop_expl.eps
Normal file
209
trunk/paradiseo-mo/docs/latex/classmo_move_loop_expl.eps
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 173.41
|
||||
%%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.88333 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 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
|
||||
(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
|
||||
(moHCMoveLoopExpl< M >) 0 0 box
|
||||
(moTSMoveLoopExpl< M >) 1 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
1 0.5 2 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
|
||||
29
trunk/paradiseo-mo/docs/latex/classmo_move_loop_expl.tex
Normal file
29
trunk/paradiseo-mo/docs/latex/classmo_move_loop_expl.tex
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
\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=3cm]{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... {\bf mo\-HCMove\-Loop\-Expl}{\rm (p.\,\pageref{classmo_h_c_move_loop_expl})} and {\bf mo\-TSMove\-Loop\-Expl}{\rm (p.\,\pageref{classmo_t_s_move_loop_expl})} are exemples of class that are a {\bf mo\-Move\-Loop\-Expl}{\rm (p.\,\pageref{classmo_move_loop_expl})}.
|
||||
|
||||
|
||||
|
||||
Definition at line 21 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}
|
||||
207
trunk/paradiseo-mo/docs/latex/classmo_move_select.eps
Normal file
207
trunk/paradiseo-mo/docs/latex/classmo_move_select.eps
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 83.8574
|
||||
%%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.9625 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 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
|
||||
(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
|
||||
(moBestImprSelect< M >) 0 0 box
|
||||
(moFirstImprSelect< M >) 1 0 box
|
||||
(moRandImprSelect< M >) 2 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
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
|
||||
77
trunk/paradiseo-mo/docs/latex/classmo_move_select.tex
Normal file
77
trunk/paradiseo-mo/docs/latex/classmo_move_select.tex
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
\section{mo\-Move\-Select$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_move_select}\index{moMoveSelect@{moMoveSelect}}
|
||||
Class that describes a move selector ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}).
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Move\-Select.h$>$}
|
||||
|
||||
Inheritance diagram for mo\-Move\-Select$<$ M $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2cm]{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 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 ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}).
|
||||
|
||||
It iteratively considers some moves ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}) and their associated fitnesses. The best move is so regularly updated. At any time, it could be accessed.
|
||||
|
||||
|
||||
|
||||
Definition at line 32 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 $>$} {\rm (p.\,\pageref{classmo_best_impr_select_2d2abf9aa17dc77cbb4f41810ab7b956})}, {\bf mo\-First\-Impr\-Select$<$ M $>$} {\rm (p.\,\pageref{classmo_first_impr_select_4c5ce18ede46247a439c68f6954a4055})}, and {\bf mo\-Rand\-Impr\-Select$<$ M $>$} {\rm (p.\,\pageref{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}
|
||||
|
||||
|
||||
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 $>$} {\rm (p.\,\pageref{classmo_best_impr_select_d10e3e6f8a0277731e95ef506d064d6d})}, and {\bf mo\-Rand\-Impr\-Select$<$ M $>$} {\rm (p.\,\pageref{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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_next_move.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_next_move.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 245.399
|
||||
%%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.0375 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moNextMove< M >) 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
|
||||
(moItRandNextMove< M >) 0 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
1 0 0.25 out
|
||||
solid
|
||||
0 0 0.75 in
|
||||
29
trunk/paradiseo-mo/docs/latex/classmo_next_move.tex
Normal file
29
trunk/paradiseo-mo/docs/latex/classmo_next_move.tex
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
\section{mo\-Next\-Move$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_next_move}\index{moNextMove@{moNextMove}}
|
||||
Class which allows to generate a new move ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}).
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Next\-Move.h$>$}
|
||||
|
||||
Inheritance diagram for mo\-Next\-Move$<$ M $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2cm]{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 ({\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})}).
|
||||
|
||||
Useful for the explorer (for {\bf mo\-TS}{\rm (p.\,\pageref{classmo_t_s})} or {\bf mo\-HC}{\rm (p.\,\pageref{classmo_h_c})}). Does nothing... An object that herits from this class needs to be designed for being used.
|
||||
|
||||
|
||||
|
||||
Definition at line 22 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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_no_aspir_crit.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_no_aspir_crit.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 291.971
|
||||
%%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.7125 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moNoAspirCrit< M >) cw
|
||||
(moAspirCrit< 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 -----
|
||||
|
||||
(moNoAspirCrit< M >) 0 0 box
|
||||
(moAspirCrit< M >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
68
trunk/paradiseo-mo/docs/latex/classmo_no_aspir_crit.tex
Normal file
68
trunk/paradiseo-mo/docs/latex/classmo_no_aspir_crit.tex
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
\section{mo\-No\-Aspir\-Crit$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_no_aspir_crit}\index{moNoAspirCrit@{moNoAspirCrit}}
|
||||
One of the possible aspiration criterion ({\bf mo\-Aspir\-Crit}{\rm (p.\,\pageref{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=2cm]{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 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 {\bf mo\-No\-Aspir\-Crit}{\rm (p.\,\pageref{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 ({\bf mo\-Aspir\-Crit}{\rm (p.\,\pageref{classmo_aspir_crit})}).
|
||||
|
||||
The simplest : never satisfied.
|
||||
|
||||
|
||||
|
||||
Definition at line 21 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}
|
||||
|
||||
|
||||
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 32 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 {\bf mo\-No\-Aspir\-Crit}{\rm (p.\,\pageref{classmo_no_aspir_crit})}.
|
||||
|
||||
Nothing...
|
||||
|
||||
Implements {\bf mo\-Aspir\-Crit$<$ M $>$} {\rm (p.\,\pageref{classmo_aspir_crit_a8ce84510a5ec7c9078381e542c6d140})}.
|
||||
|
||||
Definition at line 43 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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_rand_impr_select.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_rand_impr_select.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 251.572
|
||||
%%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.9875 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moRandImprSelect< M >) cw
|
||||
(moMoveSelect< 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 -----
|
||||
|
||||
(moRandImprSelect< M >) 0 0 box
|
||||
(moMoveSelect< M >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
124
trunk/paradiseo-mo/docs/latex/classmo_rand_impr_select.tex
Normal file
124
trunk/paradiseo-mo/docs/latex/classmo_rand_impr_select.tex
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
\section{mo\-Rand\-Impr\-Select$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_rand_impr_select}\index{moRandImprSelect@{moRandImprSelect}}
|
||||
One of the possible {\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})} selector ({\bf mo\-Move\-Select}{\rm (p.\,\pageref{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=2cm]{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 {\bf mo\-Rand\-Impr\-Select}{\rm (p.\,\pageref{classmo_rand_impr_select})}. \item\end{CompactList}\item
|
||||
bool {\bf update} (const M \&\_\-\_\-move, const {\bf Fitness} \&\_\-\_\-fit)
|
||||
\begin{CompactList}\small\item\em 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 {\bf mo\-Move}{\rm (p.\,\pageref{classmo_move})} selector ({\bf mo\-Move\-Select}{\rm (p.\,\pageref{classmo_move_select})}).
|
||||
|
||||
All the neighbors are considered. One of them that enables an improvment of the objective function is choosen.
|
||||
|
||||
|
||||
|
||||
Definition at line 25 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 {\bf mo\-Rand\-Impr\-Select}{\rm (p.\,\pageref{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 $>$} {\rm (p.\,\pageref{classmo_move_select_bca4c43f13d26eca7163aeb272a4a52e})}.
|
||||
|
||||
Definition at line 40 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}
|
||||
|
||||
|
||||
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 $>$} {\rm (p.\,\pageref{classmo_move_select_7c157b6e64fd417acf6e900059204eb1})}.
|
||||
|
||||
Definition at line 56 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]}}\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 {\bf Empty\-Selection}{\rm (p.\,\pageref{class_empty_selection})}}]If no move which improves the current fitness are found. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 77 of file mo\-Rand\-Impr\-Select.h.
|
||||
|
||||
References 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}
|
||||
23
trunk/paradiseo-mo/docs/latex/classmo_rand_move.tex
Normal file
23
trunk/paradiseo-mo/docs/latex/classmo_rand_move.tex
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
\section{mo\-Rand\-Move$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_rand_move}\index{moRandMove@{moRandMove}}
|
||||
Random move generator.
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Rand\-Move.h$>$}
|
||||
|
||||
|
||||
|
||||
\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 {\bf mo\-SA}{\rm (p.\,\pageref{classmo_s_a})}.
|
||||
|
||||
|
||||
|
||||
Definition at line 21 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}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_s_a.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_s_a.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 268.456
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 1.8625 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moSA< M >) cw
|
||||
(moAlgo< M::EOType >) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(moSA< M >) 0 0 box
|
||||
(moAlgo< M::EOType >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
108
trunk/paradiseo-mo/docs/latex/classmo_s_a.tex
Normal file
108
trunk/paradiseo-mo/docs/latex/classmo_s_a.tex
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
\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=2cm]{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\-Cool\-Sched} \&\_\-\_\-cool\_\-sched, 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\-Cool\-Sched} \& {\bf cool\_\-sched}\label{classmo_s_a_c7aaf7424aa1b9f889d2ba9c959e5a1d}
|
||||
|
||||
\begin{CompactList}\small\item\em The cooling schedule. \item\end{CompactList}\item
|
||||
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 32 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\-Cool\-Sched} \& {\em \_\-\_\-cool\_\-sched}, eo\-Eval\-Func$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_s_a_ef9ffb0d95c599e0a06c78db5f2f4b12}
|
||||
|
||||
|
||||
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 60 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]}}\label{classmo_s_a_0e4c54b57bc13fcbd4763883b8f719e5}
|
||||
|
||||
|
||||
function that launches the SA algorithm.
|
||||
|
||||
As a {\bf mo\-TS}{\rm (p.\,\pageref{classmo_t_s})} or a {\bf mo\-HC}{\rm (p.\,\pageref{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}
|
||||
|
||||
|
||||
Definition at line 82 of file mo\-SA.h.
|
||||
|
||||
References mo\-SA$<$ M $>$::full\_\-eval.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-SA.h\end{CompactItemize}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_sol_continue.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_sol_continue.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 227.273
|
||||
%%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.2 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moSolContinue< EOT >) cw
|
||||
(moGenSolContinue< 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 >) 0 1 box
|
||||
(moGenSolContinue< EOT >) 0 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
1 0 0.25 out
|
||||
solid
|
||||
0 0 0.75 in
|
||||
46
trunk/paradiseo-mo/docs/latex/classmo_sol_continue.tex
Normal file
46
trunk/paradiseo-mo/docs/latex/classmo_sol_continue.tex
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
\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=2cm]{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 (eo\-UF).
|
||||
|
||||
|
||||
|
||||
Definition at line 22 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\-Gen\-Sol\-Continue$<$ EOT $>$} {\rm (p.\,\pageref{classmo_gen_sol_continue_6c5db8182157584b56507cc9075602d4})}.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-Sol\-Continue.h\end{CompactItemize}
|
||||
197
trunk/paradiseo-mo/docs/latex/classmo_t_s.eps
Normal file
197
trunk/paradiseo-mo/docs/latex/classmo_t_s.eps
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 268.456
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 1.8625 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 2 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(moTS< M >) cw
|
||||
(moAlgo< M::EOType >) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(moTS< M >) 0 0 box
|
||||
(moAlgo< M::EOType >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
130
trunk/paradiseo-mo/docs/latex/classmo_t_s.tex
Normal file
130
trunk/paradiseo-mo/docs/latex/classmo_t_s.tex
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
\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=2cm]{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, eo\-Eval\-Func$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
|
||||
\begin{CompactList}\small\item\em Constructor of a {\bf mo\-TS}{\rm (p.\,\pageref{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, 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 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
|
||||
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*{Static Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
static bool {\bf first\_\-time} = true\label{classmo_t_s_564bc1969548ccbd9bb7e76f92898de0}
|
||||
|
||||
\begin{CompactList}\small\item\em Boolean allowing to initialise the ptread\_\-mutex\_\-t in the constructor. \item\end{CompactList}\item
|
||||
static pthread\_\-mutex\_\-t {\bf mutex}\label{classmo_t_s_688f9ba42eb33cae6431f4f4eb65b9e9}
|
||||
|
||||
\begin{CompactList}\small\item\em The lock. \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 30 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}, eo\-Eval\-Func$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt [inline]}}\label{classmo_t_s_2be23f4524733ee6f37b71310d76407e}
|
||||
|
||||
|
||||
Constructor of a {\bf mo\-TS}{\rm (p.\,\pageref{classmo_t_s})} specifying all the boxes.
|
||||
|
||||
In this constructor, a {\bf mo\-TSMove\-Loop\-Expl}{\rm (p.\,\pageref{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 59 of file mo\-TS.h.
|
||||
|
||||
References mo\-TS$<$ M $>$::first\_\-time, and mo\-TS$<$ M $>$::mutex.\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}, 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 {\bf mo\-TSMove\-Loop\-Expl}{\rm (p.\,\pageref{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 81 of file mo\-TS.h.
|
||||
|
||||
References mo\-TS$<$ M $>$::first\_\-time, and mo\-TS$<$ M $>$::mutex.
|
||||
|
||||
\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]}}\label{classmo_t_s_94d25a76fe1bc9ef0bbd0358ff55aceb}
|
||||
|
||||
|
||||
Function which launchs the Tabu Search.
|
||||
|
||||
Algorithm of the tabu search. As a {\bf mo\-SA}{\rm (p.\,\pageref{classmo_s_a})} or a {\bf mo\-HC}{\rm (p.\,\pageref{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}
|
||||
|
||||
|
||||
Definition at line 104 of file mo\-TS.h.
|
||||
|
||||
References mo\-TS$<$ M $>$::full\_\-eval, and mo\-TS$<$ M $>$::mutex.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-TS.h\end{CompactItemize}
|
||||
203
trunk/paradiseo-mo/docs/latex/classmo_t_s_move_loop_expl.eps
Normal file
203
trunk/paradiseo-mo/docs/latex/classmo_t_s_move_loop_expl.eps
Normal file
|
|
@ -0,0 +1,203 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 352.941
|
||||
%%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.41667 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
|
||||
(moTSMoveLoopExpl< M >) cw
|
||||
(moMoveLoopExpl< M >) cw
|
||||
(moMoveExpl< 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 -----
|
||||
|
||||
(moTSMoveLoopExpl< M >) 0 0 box
|
||||
(moMoveLoopExpl< M >) 0 1 box
|
||||
(moMoveExpl< M >) 0 2 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
106
trunk/paradiseo-mo/docs/latex/classmo_t_s_move_loop_expl.tex
Normal file
106
trunk/paradiseo-mo/docs/latex/classmo_t_s_move_loop_expl.tex
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
\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=3cm]{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 {\bf mo\-TS}{\rm (p.\,\pageref{classmo_t_s})}.
|
||||
|
||||
|
||||
|
||||
Definition at line 30 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 49 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]}}\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}
|
||||
|
||||
|
||||
Definition at line 69 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}
|
||||
69
trunk/paradiseo-mo/docs/latex/classmo_tabu_list.tex
Normal file
69
trunk/paradiseo-mo/docs/latex/classmo_tabu_list.tex
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
\section{mo\-Tabu\-List$<$ M $>$ Class Template Reference}
|
||||
\label{classmo_tabu_list}\index{moTabuList@{moTabuList}}
|
||||
Class describing a tabu list that a {\bf mo\-TS}{\rm (p.\,\pageref{classmo_t_s})} uses.
|
||||
|
||||
|
||||
{\tt \#include $<$mo\-Tabu\-List.h$>$}
|
||||
|
||||
\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 {\bf mo\-TS}{\rm (p.\,\pageref{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 {\bf mo\-TS}{\rm (p.\,\pageref{classmo_t_s})}.
|
||||
|
||||
|
||||
|
||||
Definition at line 22 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 solution associated to this move \end{description}
|
||||
\end{Desc}
|
||||
\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. \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.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
mo\-Tabu\-List.h\end{CompactItemize}
|
||||
64
trunk/paradiseo-mo/docs/latex/doxygen.sty
Normal file
64
trunk/paradiseo-mo/docs/latex/doxygen.sty
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
\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 Wed Dec 6 13:52:55 2006 for PARADISEO-MO by Doxygen }]{}
|
||||
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Wed Dec 6 13:52:55 2006 for PARADISEO-MO by Doxygen }}
|
||||
\cfoot{}
|
||||
\newenvironment{CompactList}
|
||||
{\begin{list}{}{
|
||||
\setlength{\leftmargin}{0.5cm}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\renewcommand{\makelabel}{}}}
|
||||
{\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}}\\}}}
|
||||
\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}
|
||||
48
trunk/paradiseo-mo/docs/latex/hierarchy.tex
Normal file
48
trunk/paradiseo-mo/docs/latex/hierarchy.tex
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
\section{PARADISEO-MO Class Hierarchy}
|
||||
This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList}
|
||||
\item \contentsline{section}{Empty\-Selection}{\pageref{class_empty_selection}}{}
|
||||
\item \contentsline{section}{mo\-Algo$<$ EOT $>$}{\pageref{classmo_algo}}{}
|
||||
\item \contentsline{section}{mo\-Algo$<$ M::EOType $>$}{\pageref{classmo_algo}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{mo\-HC$<$ M $>$}{\pageref{classmo_h_c}}{}
|
||||
\item \contentsline{section}{mo\-SA$<$ M $>$}{\pageref{classmo_s_a}}{}
|
||||
\item \contentsline{section}{mo\-TS$<$ M $>$}{\pageref{classmo_t_s}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{mo\-Aspir\-Crit$<$ M $>$}{\pageref{classmo_aspir_crit}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{mo\-Impr\-Best\-Fit\-Aspir\-Crit$<$ M $>$}{\pageref{classmo_impr_best_fit_aspir_crit}}{}
|
||||
\item \contentsline{section}{mo\-No\-Aspir\-Crit$<$ M $>$}{\pageref{classmo_no_aspir_crit}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{mo\-Cool\-Sched}{\pageref{classmo_cool_sched}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{mo\-Easy\-Cool\-Sched}{\pageref{classmo_easy_cool_sched}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{mo\-LSCheck\-Point$<$ M $>$}{\pageref{classmo_l_s_check_point}}{}
|
||||
\item \contentsline{section}{mo\-Move$<$ EOT $>$}{\pageref{classmo_move}}{}
|
||||
\item \contentsline{section}{mo\-Move\-Expl$<$ M $>$}{\pageref{classmo_move_expl}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{mo\-Move\-Loop\-Expl$<$ M $>$}{\pageref{classmo_move_loop_expl}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{mo\-HCMove\-Loop\-Expl$<$ M $>$}{\pageref{classmo_h_c_move_loop_expl}}{}
|
||||
\item \contentsline{section}{mo\-TSMove\-Loop\-Expl$<$ M $>$}{\pageref{classmo_t_s_move_loop_expl}}{}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{mo\-Move\-Incr\-Eval$<$ M $>$}{\pageref{classmo_move_incr_eval}}{}
|
||||
\item \contentsline{section}{mo\-Move\-Init$<$ M $>$}{\pageref{classmo_move_init}}{}
|
||||
\item \contentsline{section}{mo\-Move\-Select$<$ M $>$}{\pageref{classmo_move_select}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{mo\-Best\-Impr\-Select$<$ M $>$}{\pageref{classmo_best_impr_select}}{}
|
||||
\item \contentsline{section}{mo\-First\-Impr\-Select$<$ M $>$}{\pageref{classmo_first_impr_select}}{}
|
||||
\item \contentsline{section}{mo\-Rand\-Impr\-Select$<$ M $>$}{\pageref{classmo_rand_impr_select}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{mo\-Next\-Move$<$ M $>$}{\pageref{classmo_next_move}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{mo\-It\-Rand\-Next\-Move$<$ M $>$}{\pageref{classmo_it_rand_next_move}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{mo\-Rand\-Move$<$ M $>$}{\pageref{classmo_rand_move}}{}
|
||||
\item \contentsline{section}{mo\-Sol\-Continue$<$ EOT $>$}{\pageref{classmo_sol_continue}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{mo\-Gen\-Sol\-Continue$<$ EOT $>$}{\pageref{classmo_gen_sol_continue}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{mo\-Tabu\-List$<$ M $>$}{\pageref{classmo_tabu_list}}{}
|
||||
\end{CompactList}
|
||||
5
trunk/paradiseo-mo/docs/latex/main.tex
Normal file
5
trunk/paradiseo-mo/docs/latex/main.tex
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
\section{Introduction}\label{main_intro}
|
||||
MO is an extension of the ANSI-C++ compliant evolutionary computation library EO. \par
|
||||
It contains classes for almost any kind of one solution based heuristics.\section{Tutorial}\label{main_tutorial}
|
||||
\section{Installation}\label{main_install}
|
||||
The installation procedure of the package is detailed in the {\tt README} file in the top-directory of the source-tree.\section{Overall Design}\label{main_design}
|
||||
66
trunk/paradiseo-mo/docs/latex/refman.tex
Normal file
66
trunk/paradiseo-mo/docs/latex/refman.tex
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
\documentclass[a4paper]{book}
|
||||
\usepackage{a4wide}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{multicol}
|
||||
\usepackage{float}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{alltt}
|
||||
\usepackage{doxygen}
|
||||
\makeindex
|
||||
\setcounter{tocdepth}{1}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\begin{document}
|
||||
\begin{titlepage}
|
||||
\vspace*{7cm}
|
||||
\begin{center}
|
||||
{\Large PARADISEO-MO Reference Manual\\[1ex]\large 0.1 }\\
|
||||
\vspace*{1cm}
|
||||
{\large Generated by Doxygen 1.4.6}\\
|
||||
\vspace*{0.5cm}
|
||||
{\small Wed Dec 6 13:52:55 2006}\\
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{arabic}
|
||||
\chapter{Welcome to PARADISEO-Moving Objects }
|
||||
\label{index}\input{main}
|
||||
\chapter{PARADISEO-MO Hierarchical Index}
|
||||
\input{hierarchy}
|
||||
\chapter{PARADISEO-MO Class Index}
|
||||
\input{annotated}
|
||||
\chapter{PARADISEO-MO Class Documentation}
|
||||
\input{class_empty_selection}
|
||||
\include{classmo_algo}
|
||||
\include{classmo_aspir_crit}
|
||||
\include{classmo_best_impr_select}
|
||||
\include{classmo_cool_sched}
|
||||
\include{classmo_easy_cool_sched}
|
||||
\include{classmo_first_impr_select}
|
||||
\include{classmo_gen_sol_continue}
|
||||
\include{classmo_h_c}
|
||||
\include{classmo_h_c_move_loop_expl}
|
||||
\include{classmo_impr_best_fit_aspir_crit}
|
||||
\include{classmo_it_rand_next_move}
|
||||
\include{classmo_l_s_check_point}
|
||||
\include{classmo_move}
|
||||
\include{classmo_move_expl}
|
||||
\include{classmo_move_incr_eval}
|
||||
\include{classmo_move_init}
|
||||
\include{classmo_move_loop_expl}
|
||||
\include{classmo_move_select}
|
||||
\include{classmo_next_move}
|
||||
\include{classmo_no_aspir_crit}
|
||||
\include{classmo_rand_impr_select}
|
||||
\include{classmo_rand_move}
|
||||
\include{classmo_s_a}
|
||||
\include{classmo_sol_continue}
|
||||
\include{classmo_tabu_list}
|
||||
\include{classmo_t_s}
|
||||
\include{classmo_t_s_move_loop_expl}
|
||||
\printindex
|
||||
\end{document}
|
||||
Loading…
Add table
Add a link
Reference in a new issue