git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@130 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
0d6dfb5b0e
commit
a6fe42664b
743 changed files with 67629 additions and 0 deletions
BIN
trunk/paradiseo-peo/docs/latex/FreeSans.ttf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/FreeSans.ttf
Normal file
Binary file not shown.
17
trunk/paradiseo-peo/docs/latex/Makefile
Normal file
17
trunk/paradiseo-peo/docs/latex/Makefile
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
all: clean refman.pdf
|
||||
|
||||
refman.pdf: refman.tex
|
||||
pdflatex refman.tex
|
||||
makeindex refman.idx
|
||||
pdflatex 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...." ;\
|
||||
pdflatex refman.tex ;\
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
|
||||
|
||||
clean:
|
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf
|
||||
27
trunk/paradiseo-peo/docs/latex/annotated.tex
Normal file
27
trunk/paradiseo-peo/docs/latex/annotated.tex
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
\section{Paradis\-EO-PEO Class List}
|
||||
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{\hyperlink{classCommunicable}{Communicable} }{\pageref{classCommunicable}}{}
|
||||
\item\contentsline{section}{\hyperlink{classCommunicator}{Communicator} }{\pageref{classCommunicator}}{}
|
||||
\item\contentsline{section}{\hyperlink{classCooperative}{Cooperative} }{\pageref{classCooperative}}{}
|
||||
\item\contentsline{section}{\hyperlink{structNode}{Node} }{\pageref{structNode}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func$<$ EOT $>$} (The \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func} class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided )}{\pageref{classpeoAggEvalFunc}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig$<$ EOT $>$} (The \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e )}{\pageref{classpeoAsyncIslandMig}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoEA}{peo\-EA$<$ EOT $>$} (The \hyperlink{classpeoEA}{peo\-EA} class offers an elementary evolutionary algorithm implementation )}{\pageref{classpeoEA}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func$<$ EOT $>$} (The \hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func} class does nothing more than an association between a fitness value and a specified individual )}{\pageref{classpeoNoAggEvalFunc}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval$<$ EOT $>$} (The \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor )}{\pageref{classpeoParaPopEval}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform$<$ EOT $>$} }{\pageref{classpeoParaSGATransform}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoPopEval}{peo\-Pop\-Eval$<$ EOT $>$} (The {\bf \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}} class provides the interface for constructing Paradis\-EO specific evaluation functors )}{\pageref{classpeoPopEval}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval$<$ EOT $>$} (The \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval} class acts only as a Paradis\-EO specific sequential evaluation functor - a wrapper for incorporating an {\bf eo\-Eval\-Func$<$ EOT $>$}-derived class as evaluation functor )}{\pageref{classpeoSeqPopEval}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform$<$ EOT $>$} (The \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform} represent a wrapper for offering the possibility of using EO derived transform operators along with the Paradis\-EO evolutionary algorithms )}{\pageref{classpeoSeqTransform}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig$<$ EOT $>$} (The \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e )}{\pageref{classpeoSyncIslandMig}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start$<$ EOT $>$} (The \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population )}{\pageref{classpeoSyncMultiStart}}{}
|
||||
\item\contentsline{section}{\hyperlink{classpeoTransform}{peo\-Transform$<$ EOT $>$} (The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interface for creating transform operators - for an example please refer to the {\bf \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}} and the {\bf \hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform}} classes )}{\pageref{classpeoTransform}}{}
|
||||
\item\contentsline{section}{\hyperlink{classReactiveThread}{Reactive\-Thread} }{\pageref{classReactiveThread}}{}
|
||||
\item\contentsline{section}{\hyperlink{classRingTopology}{Ring\-Topology} }{\pageref{classRingTopology}}{}
|
||||
\item\contentsline{section}{\hyperlink{classRunner}{Runner} }{\pageref{classRunner}}{}
|
||||
\item\contentsline{section}{\hyperlink{structSEND__REQUEST}{SEND\_\-REQUEST} }{\pageref{structSEND__REQUEST}}{}
|
||||
\item\contentsline{section}{\hyperlink{classService}{Service} }{\pageref{classService}}{}
|
||||
\item\contentsline{section}{\hyperlink{classThread}{Thread} }{\pageref{classThread}}{}
|
||||
\item\contentsline{section}{\hyperlink{classTopology}{Topology} }{\pageref{classTopology}}{}
|
||||
\item\contentsline{section}{\hyperlink{classWorker}{Worker} }{\pageref{classWorker}}{}
|
||||
\end{CompactList}
|
||||
269
trunk/paradiseo-peo/docs/latex/classCommunicable.eps
Normal file
269
trunk/paradiseo-peo/docs/latex/classCommunicable.eps
Normal file
|
|
@ -0,0 +1,269 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 57.1429
|
||||
%%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 8.75 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 7 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
|
||||
(Communicable) cw
|
||||
(Cooperative) cw
|
||||
(Runner) cw
|
||||
(Service) cw
|
||||
(Worker) cw
|
||||
(peoAsyncIslandMig< EOT >) cw
|
||||
(peoSyncIslandMig< EOT >) cw
|
||||
(peoEA< EOT >) cw
|
||||
(peoPopEval< EOT >) cw
|
||||
(peoSyncMultiStart< EOT >) cw
|
||||
(peoTransform< EOT >) cw
|
||||
(peoParaPopEval< EOT >) cw
|
||||
(peoSeqPopEval< EOT >) cw
|
||||
(peoParaSGATransform< EOT >) cw
|
||||
(peoSeqTransform< 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 -----
|
||||
|
||||
(Communicable) 3 3 box
|
||||
(Cooperative) 0.5 2 box
|
||||
(Runner) 2 2 box
|
||||
(Service) 4 2 box
|
||||
(Worker) 5 2 box
|
||||
(peoAsyncIslandMig< EOT >) 0 1 box
|
||||
(peoSyncIslandMig< EOT >) 1 1 box
|
||||
(peoEA< EOT >) 2 1 box
|
||||
(peoPopEval< EOT >) 3 1 box
|
||||
(peoSyncMultiStart< EOT >) 4 1 box
|
||||
(peoTransform< EOT >) 5 1 box
|
||||
(peoParaPopEval< EOT >) 2.5 0 box
|
||||
(peoSeqPopEval< EOT >) 3.5 0 box
|
||||
(peoParaSGATransform< EOT >) 4.5 0 box
|
||||
(peoSeqTransform< EOT >) 5.5 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
1 3 2.25 out
|
||||
solid
|
||||
0.5 5 3 conn
|
||||
solid
|
||||
0 0.5 2.75 in
|
||||
solid
|
||||
1 0.5 1.25 out
|
||||
solid
|
||||
0 1 2 conn
|
||||
solid
|
||||
0 2 2.75 in
|
||||
solid
|
||||
1 2 1.25 out
|
||||
solid
|
||||
0 4 2.75 in
|
||||
solid
|
||||
1 4 1.25 out
|
||||
solid
|
||||
3 5 2 conn
|
||||
solid
|
||||
0 5 2.75 in
|
||||
solid
|
||||
0 0 1.75 in
|
||||
solid
|
||||
0 1 1.75 in
|
||||
solid
|
||||
0 2 1.75 in
|
||||
solid
|
||||
0 3 1.75 in
|
||||
solid
|
||||
1 3 0.25 out
|
||||
solid
|
||||
2.5 3.5 1 conn
|
||||
solid
|
||||
0 4 1.75 in
|
||||
solid
|
||||
0 5 1.75 in
|
||||
solid
|
||||
1 5 0.25 out
|
||||
solid
|
||||
4.5 5.5 1 conn
|
||||
solid
|
||||
0 2.5 0.75 in
|
||||
solid
|
||||
0 3.5 0.75 in
|
||||
solid
|
||||
0 4.5 0.75 in
|
||||
solid
|
||||
0 5.5 0.75 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classCommunicable.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classCommunicable.pdf
Normal file
Binary file not shown.
87
trunk/paradiseo-peo/docs/latex/classCommunicable.tex
Normal file
87
trunk/paradiseo-peo/docs/latex/classCommunicable.tex
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
\hypertarget{classCommunicable}{
|
||||
\section{Communicable Class Reference}
|
||||
\label{classCommunicable}\index{Communicable@{Communicable}}
|
||||
}
|
||||
Inheritance diagram for Communicable::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=1.6cm]{classCommunicable}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classCommunicable_8ae1827ecf7569b3db1ed386c7d8ad78}{
|
||||
\hyperlink{classCommunicable_8ae1827ecf7569b3db1ed386c7d8ad78}{Communicable} ()}
|
||||
\label{classCommunicable_8ae1827ecf7569b3db1ed386c7d8ad78}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicable_2280b0dfa0d3a515fccf62c2a9fd5f41}{
|
||||
virtual \hyperlink{classCommunicable_2280b0dfa0d3a515fccf62c2a9fd5f41}{$\sim$Communicable} ()}
|
||||
\label{classCommunicable_2280b0dfa0d3a515fccf62c2a9fd5f41}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicable_db4307b69b9ccacff55fdbf84b8f50e4}{
|
||||
COMM\_\-ID \hyperlink{classCommunicable_db4307b69b9ccacff55fdbf84b8f50e4}{get\-Key} ()}
|
||||
\label{classCommunicable_db4307b69b9ccacff55fdbf84b8f50e4}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicable_e1f8bd1ee810fd73d44315c95998d19d}{
|
||||
void \hyperlink{classCommunicable_e1f8bd1ee810fd73d44315c95998d19d}{lock} ()}
|
||||
\label{classCommunicable_e1f8bd1ee810fd73d44315c95998d19d}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicable_caa814847192e71f434fbf9479ede862}{
|
||||
void \hyperlink{classCommunicable_caa814847192e71f434fbf9479ede862}{unlock} ()}
|
||||
\label{classCommunicable_caa814847192e71f434fbf9479ede862}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicable_cb53e6534b947bc889aa181d9dbbd13b}{
|
||||
void \hyperlink{classCommunicable_cb53e6534b947bc889aa181d9dbbd13b}{stop} ()}
|
||||
\label{classCommunicable_cb53e6534b947bc889aa181d9dbbd13b}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicable_3306a9adb11a0ab5af342c0db9f7bb2a}{
|
||||
void \hyperlink{classCommunicable_3306a9adb11a0ab5af342c0db9f7bb2a}{resume} ()}
|
||||
\label{classCommunicable_3306a9adb11a0ab5af342c0db9f7bb2a}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Protected Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classCommunicable_605b0efeffe81326f216c9903f5bbf4c}{
|
||||
COMM\_\-ID \hyperlink{classCommunicable_605b0efeffe81326f216c9903f5bbf4c}{key}}
|
||||
\label{classCommunicable_605b0efeffe81326f216c9903f5bbf4c}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicable_cf9639312f71a2f348bc1e7789ccbd9d}{
|
||||
sem\_\-t \hyperlink{classCommunicable_cf9639312f71a2f348bc1e7789ccbd9d}{sem\_\-lock}}
|
||||
\label{classCommunicable_cf9639312f71a2f348bc1e7789ccbd9d}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicable_29c53b9191348e0505e3bcba6d8b82b1}{
|
||||
sem\_\-t \hyperlink{classCommunicable_29c53b9191348e0505e3bcba6d8b82b1}{sem\_\-stop}}
|
||||
\label{classCommunicable_29c53b9191348e0505e3bcba6d8b82b1}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Static Protected Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}{
|
||||
static unsigned \hyperlink{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}{num\_\-comm} = 0}
|
||||
\label{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 31 of file communicable.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
communicable.h\item
|
||||
communicable.cpp\end{CompactItemize}
|
||||
203
trunk/paradiseo-peo/docs/latex/classCommunicator.eps
Normal file
203
trunk/paradiseo-peo/docs/latex/classCommunicator.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 550.459
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 0.908333 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
|
||||
(Communicator) cw
|
||||
(ReactiveThread) cw
|
||||
(Thread) 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 -----
|
||||
|
||||
(Communicator) 0 0 box
|
||||
(ReactiveThread) 0 1 box
|
||||
(Thread) 0 2 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classCommunicator.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classCommunicator.pdf
Normal file
Binary file not shown.
36
trunk/paradiseo-peo/docs/latex/classCommunicator.tex
Normal file
36
trunk/paradiseo-peo/docs/latex/classCommunicator.tex
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
\hypertarget{classCommunicator}{
|
||||
\section{Communicator Class Reference}
|
||||
\label{classCommunicator}\index{Communicator@{Communicator}}
|
||||
}
|
||||
Inheritance diagram for Communicator::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classCommunicator}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classCommunicator_7c9dce4ea92bd04d01d53f80c0ef08ee}{
|
||||
\hyperlink{classCommunicator_7c9dce4ea92bd04d01d53f80c0ef08ee}{Communicator} (int $\ast$\_\-\_\-argc, char $\ast$$\ast$$\ast$\_\-\_\-argv)}
|
||||
\label{classCommunicator_7c9dce4ea92bd04d01d53f80c0ef08ee}
|
||||
|
||||
\item
|
||||
\hypertarget{classCommunicator_142fae13b16b166519315f248a513c62}{
|
||||
void \hyperlink{classCommunicator_142fae13b16b166519315f248a513c62}{start} ()}
|
||||
\label{classCommunicator_142fae13b16b166519315f248a513c62}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 30 of file comm.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
comm.h\item
|
||||
comm.cpp\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classCooperative.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classCooperative.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 166.667
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 3 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
|
||||
(Cooperative) cw
|
||||
(Communicable) cw
|
||||
(peoAsyncIslandMig< EOT >) cw
|
||||
(peoSyncIslandMig< 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 -----
|
||||
|
||||
(Cooperative) 0.5 1 box
|
||||
(Communicable) 0.5 2 box
|
||||
(peoAsyncIslandMig< EOT >) 0 0 box
|
||||
(peoSyncIslandMig< EOT >) 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
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classCooperative.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classCooperative.pdf
Normal file
Binary file not shown.
54
trunk/paradiseo-peo/docs/latex/classCooperative.tex
Normal file
54
trunk/paradiseo-peo/docs/latex/classCooperative.tex
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
\hypertarget{classCooperative}{
|
||||
\section{Cooperative Class Reference}
|
||||
\label{classCooperative}\index{Cooperative@{Cooperative}}
|
||||
}
|
||||
Inheritance diagram for Cooperative::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classCooperative}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classCooperative_4012b4e8329e87d26ee266491e1a883e}{
|
||||
\hyperlink{classRunner}{Runner} $\ast$ \hyperlink{classCooperative_4012b4e8329e87d26ee266491e1a883e}{get\-Owner} ()}
|
||||
\label{classCooperative_4012b4e8329e87d26ee266491e1a883e}
|
||||
|
||||
\item
|
||||
\hypertarget{classCooperative_fe7b022567174c8305bc78d8c5749b12}{
|
||||
void \hyperlink{classCooperative_fe7b022567174c8305bc78d8c5749b12}{set\-Owner} (\hyperlink{classRunner}{Runner} \&\_\-\_\-runner)}
|
||||
\label{classCooperative_fe7b022567174c8305bc78d8c5749b12}
|
||||
|
||||
\item
|
||||
\hypertarget{classCooperative_c609f2a1200da7d1ac96005602515fc6}{
|
||||
void \hyperlink{classCooperative_c609f2a1200da7d1ac96005602515fc6}{send} (\hyperlink{classCooperative}{Cooperative} $\ast$\_\-\_\-coop)}
|
||||
\label{classCooperative_c609f2a1200da7d1ac96005602515fc6}
|
||||
|
||||
\item
|
||||
\hypertarget{classCooperative_4439ddeaa1246a2e44c003bfb781739b}{
|
||||
virtual void \hyperlink{classCooperative_4439ddeaa1246a2e44c003bfb781739b}{notify\-Sending} ()}
|
||||
\label{classCooperative_4439ddeaa1246a2e44c003bfb781739b}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classCooperative_7604f094479d08154ede4996a45bf79e}{
|
||||
\hyperlink{classRunner}{Runner} $\ast$ \hyperlink{classCooperative_7604f094479d08154ede4996a45bf79e}{owner}}
|
||||
\label{classCooperative_7604f094479d08154ede4996a45bf79e}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 32 of file cooperative.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
cooperative.h\item
|
||||
coop.cpp\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classReactiveThread.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classReactiveThread.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 275.229
|
||||
%%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.81667 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
|
||||
(ReactiveThread) cw
|
||||
(Thread) cw
|
||||
(Communicator) cw
|
||||
(Worker) 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 -----
|
||||
|
||||
(ReactiveThread) 0.5 1 box
|
||||
(Thread) 0.5 2 box
|
||||
(Communicator) 0 0 box
|
||||
(Worker) 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
|
||||
76
trunk/paradiseo-peo/docs/latex/classReactiveThread.pdf
Normal file
76
trunk/paradiseo-peo/docs/latex/classReactiveThread.pdf
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
%PDF-1.3
|
||||
%Çì<C387>¢
|
||||
5 0 obj
|
||||
<</Length 6 0 R/Filter /FlateDecode>>
|
||||
stream
|
||||
xœ<EFBFBD>SM<EFBFBD>Ó0½ûWøÏŒ¿æ
|
||||
Bœ»Dâ\•î¶°¡jYàï3·“n¤]E‘í¿yïÙ“³u€Ö•gwy—ìÃ/ãìg}ÌÙ`·ÁîµÝ”-HJÁ6÷¦'£E ¢Ž$€‘lÓš7wûíîéøgß.ûí··Íwó©1C |F¶•|4g;–\ c†¤¢"@Á¶†cFà
|
||||
<V ú9+0R@¥Ï <20>A5Øš/vó²ŒäØyK,àrê2>˶–†P2ÌÂëš…’Z×3©Ö—ÀÈ8’Abñá@}¼"
|
||||
ê-I.qì“|<µíïŸÇÝöétYÏS†Ö(‰ ˆÎë<xÑs-ÝÕÜõž19ˆziBP_á™! ¿2ýõtù±ÿ<C2B1>]Š¬Ý†<C39D>éà\鍊LÇ=K¤·î™(=³ŽÉ»¨]¼U<>ÚŒãRˆ!Šìrߦ{†e½ñ˜#å»G ÒŽÌ
|
||||
”Ž'´Kò¹ªqÿnE4“Ï“ÏúËTÕéOe%0ÍegÈu•[ºˆ]ÏOÊœ»<1F>•3hã5-ê¬Ð†âí¦ÚÆü"·›endstream
|
||||
endobj
|
||||
6 0 obj
|
||||
430
|
||||
endobj
|
||||
4 0 obj
|
||||
<</Type/Page/MediaBox [0 0 500 275.23]
|
||||
/Parent 3 0 R
|
||||
/Resources<</ProcSet[/PDF /Text]
|
||||
/ExtGState 9 0 R
|
||||
/Font 10 0 R
|
||||
>>
|
||||
/Contents 5 0 R
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /Type /Pages /Kids [
|
||||
4 0 R
|
||||
] /Count 1
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<</Type /Catalog /Pages 3 0 R
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<</Type/ExtGState
|
||||
/OPM 1>>endobj
|
||||
9 0 obj
|
||||
<</R7
|
||||
7 0 R>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<</R8
|
||||
8 0 R>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<</BaseFont/Times-Roman/Type/Font
|
||||
/Subtype/Type1>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<</Producer(ESP Ghostscript 815.02)
|
||||
/CreationDate(D:20061230145532)
|
||||
/ModDate(D:20061230145532)
|
||||
/Title(ClassName)
|
||||
/Creator(Doxygen)
|
||||
/Author()>>endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000746 00000 n
|
||||
0000000960 00000 n
|
||||
0000000687 00000 n
|
||||
0000000534 00000 n
|
||||
0000000015 00000 n
|
||||
0000000515 00000 n
|
||||
0000000794 00000 n
|
||||
0000000894 00000 n
|
||||
0000000835 00000 n
|
||||
0000000864 00000 n
|
||||
trailer
|
||||
<< /Size 11 /Root 1 0 R /Info 2 0 R
|
||||
/ID [(é+ˆöTEXLj7üt»ð+)(é+ˆöTEXLj7üt»ð+)]
|
||||
>>
|
||||
startxref
|
||||
1117
|
||||
%%EOF
|
||||
49
trunk/paradiseo-peo/docs/latex/classReactiveThread.tex
Normal file
49
trunk/paradiseo-peo/docs/latex/classReactiveThread.tex
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
\hypertarget{classReactiveThread}{
|
||||
\section{Reactive\-Thread Class Reference}
|
||||
\label{classReactiveThread}\index{ReactiveThread@{ReactiveThread}}
|
||||
}
|
||||
Inheritance diagram for Reactive\-Thread::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classReactiveThread}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classReactiveThread_77381649429941c99a3e3d568113d6cf}{
|
||||
\hyperlink{classReactiveThread_77381649429941c99a3e3d568113d6cf}{Reactive\-Thread} ()}
|
||||
\label{classReactiveThread_77381649429941c99a3e3d568113d6cf}
|
||||
|
||||
\item
|
||||
\hypertarget{classReactiveThread_8263c2a32d8c99a49a05f1a7717d4262}{
|
||||
void \hyperlink{classReactiveThread_8263c2a32d8c99a49a05f1a7717d4262}{sleep} ()}
|
||||
\label{classReactiveThread_8263c2a32d8c99a49a05f1a7717d4262}
|
||||
|
||||
\item
|
||||
\hypertarget{classReactiveThread_a724a54575de10f09cc03ab7aa4e59ce}{
|
||||
void \hyperlink{classReactiveThread_a724a54575de10f09cc03ab7aa4e59ce}{wake\-Up} ()}
|
||||
\label{classReactiveThread_a724a54575de10f09cc03ab7aa4e59ce}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classReactiveThread_915e5a42dc8cb1bcf6738d5fe883a4e7}{
|
||||
sem\_\-t \hyperlink{classReactiveThread_915e5a42dc8cb1bcf6738d5fe883a4e7}{sem}}
|
||||
\label{classReactiveThread_915e5a42dc8cb1bcf6738d5fe883a4e7}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 31 of file reac\_\-thread.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
reac\_\-thread.h\item
|
||||
reac\_\-thread.cpp\end{CompactItemize}
|
||||
197
trunk/paradiseo-peo/docs/latex/classRingTopology.eps
Normal file
197
trunk/paradiseo-peo/docs/latex/classRingTopology.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 412.371
|
||||
%%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.2125 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
|
||||
(RingTopology) cw
|
||||
(Topology) 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 -----
|
||||
|
||||
(RingTopology) 0 0 box
|
||||
(Topology) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classRingTopology.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classRingTopology.pdf
Normal file
Binary file not shown.
31
trunk/paradiseo-peo/docs/latex/classRingTopology.tex
Normal file
31
trunk/paradiseo-peo/docs/latex/classRingTopology.tex
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
\hypertarget{classRingTopology}{
|
||||
\section{Ring\-Topology Class Reference}
|
||||
\label{classRingTopology}\index{RingTopology@{RingTopology}}
|
||||
}
|
||||
Inheritance diagram for Ring\-Topology::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2cm]{classRingTopology}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classRingTopology_292a7746993788f96042f2f628cfcbc5}{
|
||||
void \hyperlink{classRingTopology_292a7746993788f96042f2f628cfcbc5}{set\-Neighbors} (\hyperlink{classCooperative}{Cooperative} $\ast$\_\-\_\-mig, std::vector$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \&\_\-\_\-from, std::vector$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \&\_\-\_\-to)}
|
||||
\label{classRingTopology_292a7746993788f96042f2f628cfcbc5}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 29 of file ring\_\-topo.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
ring\_\-topo.h\item
|
||||
ring\_\-topo.cpp\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classRunner.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classRunner.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 280.374
|
||||
%%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.78333 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
|
||||
(Runner) cw
|
||||
(Communicable) cw
|
||||
(Thread) cw
|
||||
(peoEA< 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 -----
|
||||
|
||||
(Runner) 0.5 1 box
|
||||
(Communicable) 0 2 box
|
||||
(Thread) 1 2 box
|
||||
(peoEA< EOT >) 0.5 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
0 1 2 conn
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
1 1 2 in
|
||||
solid
|
||||
1 0.5 0.25 out
|
||||
solid
|
||||
0 0.5 0.75 in
|
||||
73
trunk/paradiseo-peo/docs/latex/classRunner.pdf
Normal file
73
trunk/paradiseo-peo/docs/latex/classRunner.pdf
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
%PDF-1.3
|
||||
%Çì<C387>¢
|
||||
5 0 obj
|
||||
<</Length 6 0 R/Filter /FlateDecode>>
|
||||
stream
|
||||
xœ¥TËnÛ0¼ó+öØô°å.ŸÒÀè±pªH]çË©ýý.e™¦¬ú<C2AC>‚ q´<71>™åˆ;°H`Ë5>W½ùt“àþÕXøª÷½Ù`|¬zøÒiPǘE<twfŸLÀ–0$âŒ9èzóáæm»]¿\tOfÑ™¥á„ž"ÃoMz4;8¤ŽÝÉQÆàµ›DŒzãb&ô±"›#½G‰ŠÔ¬9R³Köȹ°ÓoAk‡åûRÂÈœ€<C593>VàAßõsß¿mW·?6ëªr¦Ë“8dÑ®ì"£pE6G$yÂHŠØé{<7B>T”#&*ò¿ˆpN£´"º‡—õíÏóô9º„67"‚µ-¯ý²R®ñs¤‘âY7ÄÉH!0¨›H<E280BA>„)¿ÖÏ‹«Ï°øÖÁåyAØÆa¶ñVð7Fšv<>à‚:Nm&„Ú¯€&›I->Ÿ£Îiti‚ÃR
|
||||
{§åù3¦4º}S¾yôö{Èqº'¨Æ13Ý+›<>ú½ˆ&oѹ R²BSëîãœÃ)Õ#2åpŠ–¸ cÓÑ¥TÎŽ™Õú‡aÈYùìëÌë±PºO ¡¦%ÑMrñ®zž¥A‘¦ÌÙÆ£o&4ƶKó2?endstream
|
||||
endobj
|
||||
6 0 obj
|
||||
469
|
||||
endobj
|
||||
4 0 obj
|
||||
<</Type/Page/MediaBox [0 0 500 280.37]
|
||||
/Parent 3 0 R
|
||||
/Resources<</ProcSet[/PDF /Text]
|
||||
/ExtGState 9 0 R
|
||||
/Font 10 0 R
|
||||
>>
|
||||
/Contents 5 0 R
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /Type /Pages /Kids [
|
||||
4 0 R
|
||||
] /Count 1
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<</Type /Catalog /Pages 3 0 R
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<</Type/ExtGState
|
||||
/OPM 1>>endobj
|
||||
9 0 obj
|
||||
<</R7
|
||||
7 0 R>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<</R8
|
||||
8 0 R>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<</BaseFont/Times-Roman/Type/Font
|
||||
/Subtype/Type1>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<</Producer(ESP Ghostscript 815.02)
|
||||
/CreationDate(D:20061230145533)
|
||||
/ModDate(D:20061230145533)
|
||||
/Title(ClassName)
|
||||
/Creator(Doxygen)
|
||||
/Author()>>endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000785 00000 n
|
||||
0000000999 00000 n
|
||||
0000000726 00000 n
|
||||
0000000573 00000 n
|
||||
0000000015 00000 n
|
||||
0000000554 00000 n
|
||||
0000000833 00000 n
|
||||
0000000933 00000 n
|
||||
0000000874 00000 n
|
||||
0000000903 00000 n
|
||||
trailer
|
||||
<< /Size 11 /Root 1 0 R /Info 2 0 R
|
||||
/ID [(«éðNBDW¤³X±=@°;)(«éðNBDW¤³X±=@°;)]
|
||||
>>
|
||||
startxref
|
||||
1156
|
||||
%%EOF
|
||||
80
trunk/paradiseo-peo/docs/latex/classRunner.tex
Normal file
80
trunk/paradiseo-peo/docs/latex/classRunner.tex
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
\hypertarget{classRunner}{
|
||||
\section{Runner Class Reference}
|
||||
\label{classRunner}\index{Runner@{Runner}}
|
||||
}
|
||||
Inheritance diagram for Runner::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classRunner}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classRunner_7acb8258c21da9daa62f9a177a2e5acd}{
|
||||
\hyperlink{classRunner_7acb8258c21da9daa62f9a177a2e5acd}{Runner} ()}
|
||||
\label{classRunner_7acb8258c21da9daa62f9a177a2e5acd}
|
||||
|
||||
\item
|
||||
\hypertarget{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}{
|
||||
void \hyperlink{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}{start} ()}
|
||||
\label{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}
|
||||
|
||||
\item
|
||||
\hypertarget{classRunner_5bc239db2be753b77369fa9a038769fd}{
|
||||
void \hyperlink{classRunner_5bc239db2be753b77369fa9a038769fd}{wait\-Starting} ()}
|
||||
\label{classRunner_5bc239db2be753b77369fa9a038769fd}
|
||||
|
||||
\item
|
||||
\hypertarget{classRunner_40adbfb7d6944189b4fff60b02e669ca}{
|
||||
bool \hyperlink{classRunner_40adbfb7d6944189b4fff60b02e669ca}{is\-Local} ()}
|
||||
\label{classRunner_40adbfb7d6944189b4fff60b02e669ca}
|
||||
|
||||
\item
|
||||
\hypertarget{classRunner_0f133e75c28fb8264549814f80608e68}{
|
||||
void \hyperlink{classRunner_0f133e75c28fb8264549814f80608e68}{terminate} ()}
|
||||
\label{classRunner_0f133e75c28fb8264549814f80608e68}
|
||||
|
||||
\item
|
||||
\hypertarget{classRunner_5026c74eec184e3a15cb3c0ec4200a57}{
|
||||
RUNNER\_\-ID \hyperlink{classRunner_5026c74eec184e3a15cb3c0ec4200a57}{get\-ID} ()}
|
||||
\label{classRunner_5026c74eec184e3a15cb3c0ec4200a57}
|
||||
|
||||
\item
|
||||
\hypertarget{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}{
|
||||
void \hyperlink{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}{pack\-Termination} ()}
|
||||
\label{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}
|
||||
|
||||
\item
|
||||
\hypertarget{classRunner_3591be473e0fcee1105fb57319b529aa}{
|
||||
void \hyperlink{classRunner_3591be473e0fcee1105fb57319b529aa}{notify\-Sending\-Termination} ()}
|
||||
\label{classRunner_3591be473e0fcee1105fb57319b529aa}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classRunner_4b0827d5df2df632db4ab71dd55e81b2}{
|
||||
sem\_\-t \hyperlink{classRunner_4b0827d5df2df632db4ab71dd55e81b2}{sem\_\-start}}
|
||||
\label{classRunner_4b0827d5df2df632db4ab71dd55e81b2}
|
||||
|
||||
\item
|
||||
\hypertarget{classRunner_1989c1f8e0b0b54ad2e60a341007e59d}{
|
||||
unsigned \hyperlink{classRunner_1989c1f8e0b0b54ad2e60a341007e59d}{id}}
|
||||
\label{classRunner_1989c1f8e0b0b54ad2e60a341007e59d}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 34 of file runner.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
runner.h\item
|
||||
core/runner.cpp\item
|
||||
rmc/mpi/runner.cpp\end{CompactItemize}
|
||||
237
trunk/paradiseo-peo/docs/latex/classService.eps
Normal file
237
trunk/paradiseo-peo/docs/latex/classService.eps
Normal file
|
|
@ -0,0 +1,237 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 100
|
||||
%%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 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 4 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(Service) cw
|
||||
(Communicable) cw
|
||||
(peoPopEval< EOT >) cw
|
||||
(peoSyncMultiStart< EOT >) cw
|
||||
(peoTransform< EOT >) cw
|
||||
(peoParaPopEval< EOT >) cw
|
||||
(peoSeqPopEval< EOT >) cw
|
||||
(peoParaSGATransform< EOT >) cw
|
||||
(peoSeqTransform< 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 -----
|
||||
|
||||
(Service) 1.5 2 box
|
||||
(Communicable) 1.5 3 box
|
||||
(peoPopEval< EOT >) 0.5 1 box
|
||||
(peoSyncMultiStart< EOT >) 1.5 1 box
|
||||
(peoTransform< EOT >) 2.5 1 box
|
||||
(peoParaPopEval< EOT >) 0 0 box
|
||||
(peoSeqPopEval< EOT >) 1 0 box
|
||||
(peoParaSGATransform< EOT >) 2 0 box
|
||||
(peoSeqTransform< EOT >) 3 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 1.5 2 out
|
||||
solid
|
||||
1 1.5 3 in
|
||||
solid
|
||||
1 1.5 1.25 out
|
||||
solid
|
||||
0.5 2.5 2 conn
|
||||
solid
|
||||
0 0.5 1.75 in
|
||||
solid
|
||||
1 0.5 0.25 out
|
||||
solid
|
||||
0 1 1 conn
|
||||
solid
|
||||
0 1.5 1.75 in
|
||||
solid
|
||||
0 2.5 1.75 in
|
||||
solid
|
||||
1 2.5 0.25 out
|
||||
solid
|
||||
2 3 1 conn
|
||||
solid
|
||||
0 0 0.75 in
|
||||
solid
|
||||
0 1 0.75 in
|
||||
solid
|
||||
0 2 0.75 in
|
||||
solid
|
||||
0 3 0.75 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classService.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classService.pdf
Normal file
Binary file not shown.
100
trunk/paradiseo-peo/docs/latex/classService.tex
Normal file
100
trunk/paradiseo-peo/docs/latex/classService.tex
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
\hypertarget{classService}{
|
||||
\section{Service Class Reference}
|
||||
\label{classService}\index{Service@{Service}}
|
||||
}
|
||||
Inheritance diagram for Service::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2.8cm]{classService}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classService_33b149b98498c0e7e401b0f0839d7f0d}{
|
||||
void \hyperlink{classService_33b149b98498c0e7e401b0f0839d7f0d}{set\-Owner} (\hyperlink{classThread}{Thread} \&\_\-\_\-owner)}
|
||||
\label{classService_33b149b98498c0e7e401b0f0839d7f0d}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_0dae00309c51a7b7069788142aed799f}{
|
||||
\hyperlink{classThread}{Thread} $\ast$ \hyperlink{classService_0dae00309c51a7b7069788142aed799f}{get\-Owner} ()}
|
||||
\label{classService_0dae00309c51a7b7069788142aed799f}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_7e2ae35a9070a05dcd46488df649896d}{
|
||||
void \hyperlink{classService_7e2ae35a9070a05dcd46488df649896d}{request\-Resource\-Request} (unsigned \_\-\_\-how\_\-many=1)}
|
||||
\label{classService_7e2ae35a9070a05dcd46488df649896d}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_c4289f98d1cd9ed53e850efbb6a947bd}{
|
||||
void \hyperlink{classService_c4289f98d1cd9ed53e850efbb6a947bd}{pack\-Resource\-Request} ()}
|
||||
\label{classService_c4289f98d1cd9ed53e850efbb6a947bd}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{
|
||||
virtual void \hyperlink{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{pack\-Data} ()}
|
||||
\label{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_3bd87b444710813d30fd754d4d0b4df3}{
|
||||
virtual void \hyperlink{classService_3bd87b444710813d30fd754d4d0b4df3}{unpack\-Data} ()}
|
||||
\label{classService_3bd87b444710813d30fd754d4d0b4df3}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_e4f2894e6121e60f38d41cfbd7447ae4}{
|
||||
virtual void \hyperlink{classService_e4f2894e6121e60f38d41cfbd7447ae4}{execute} ()}
|
||||
\label{classService_e4f2894e6121e60f38d41cfbd7447ae4}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{
|
||||
virtual void \hyperlink{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{pack\-Result} ()}
|
||||
\label{classService_e5e4f90b2315e15c2a2913bd370f4cf5}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_45c06344edbfa482b91f68e2035a6099}{
|
||||
virtual void \hyperlink{classService_45c06344edbfa482b91f68e2035a6099}{unpack\-Result} ()}
|
||||
\label{classService_45c06344edbfa482b91f68e2035a6099}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_81ad4d6ebb50045b8977e2ab74826f30}{
|
||||
virtual void \hyperlink{classService_81ad4d6ebb50045b8977e2ab74826f30}{notify\-Sending\-Data} ()}
|
||||
\label{classService_81ad4d6ebb50045b8977e2ab74826f30}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_94e2012e76aaae3aa8199250f558d503}{
|
||||
virtual void \hyperlink{classService_94e2012e76aaae3aa8199250f558d503}{notify\-Sending\-Resource\-Request} ()}
|
||||
\label{classService_94e2012e76aaae3aa8199250f558d503}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_f94cc8a5c2665d4574041737e61e9ffc}{
|
||||
virtual void \hyperlink{classService_f94cc8a5c2665d4574041737e61e9ffc}{notify\-Sending\-All\-Resource\-Requests} ()}
|
||||
\label{classService_f94cc8a5c2665d4574041737e61e9ffc}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classService_8b615c65c876f342fe8209eb7e36d7b2}{
|
||||
\hyperlink{classThread}{Thread} $\ast$ \hyperlink{classService_8b615c65c876f342fe8209eb7e36d7b2}{owner}}
|
||||
\label{classService_8b615c65c876f342fe8209eb7e36d7b2}
|
||||
|
||||
\item
|
||||
\hypertarget{classService_a5b2ad9520bb3710b54348b99acebd58}{
|
||||
unsigned \hyperlink{classService_a5b2ad9520bb3710b54348b99acebd58}{num\_\-sent\_\-rr}}
|
||||
\label{classService_a5b2ad9520bb3710b54348b99acebd58}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 32 of file service.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
service.h\item
|
||||
core/service.cpp\item
|
||||
rmc/mpi/service.cpp\end{CompactItemize}
|
||||
221
trunk/paradiseo-peo/docs/latex/classThread.eps
Normal file
221
trunk/paradiseo-peo/docs/latex/classThread.eps
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 183.486
|
||||
%%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.725 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 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
|
||||
(Thread) cw
|
||||
(ReactiveThread) cw
|
||||
(Runner) cw
|
||||
(Communicator) cw
|
||||
(Worker) cw
|
||||
(peoEA< 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 -----
|
||||
|
||||
(Thread) 1.25 2 box
|
||||
(ReactiveThread) 0.5 1 box
|
||||
(Runner) 2 1 box
|
||||
(Communicator) 0 0 box
|
||||
(Worker) 1 0 box
|
||||
(peoEA< EOT >) 2 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
1 1.25 1.25 out
|
||||
solid
|
||||
0.5 2 2 conn
|
||||
solid
|
||||
0 0.5 1.75 in
|
||||
solid
|
||||
1 0.5 0.25 out
|
||||
solid
|
||||
0 1 1 conn
|
||||
solid
|
||||
0 2 1.75 in
|
||||
solid
|
||||
1 2 0.25 out
|
||||
solid
|
||||
0 0 0.75 in
|
||||
solid
|
||||
0 1 0.75 in
|
||||
solid
|
||||
0 2 0.75 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classThread.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classThread.pdf
Normal file
Binary file not shown.
54
trunk/paradiseo-peo/docs/latex/classThread.tex
Normal file
54
trunk/paradiseo-peo/docs/latex/classThread.tex
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
\hypertarget{classThread}{
|
||||
\section{Thread Class Reference}
|
||||
\label{classThread}\index{Thread@{Thread}}
|
||||
}
|
||||
Inheritance diagram for Thread::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classThread}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classThread_95c703fb8f2f27cb64f475a8c940864a}{
|
||||
\hyperlink{classThread_95c703fb8f2f27cb64f475a8c940864a}{Thread} ()}
|
||||
\label{classThread_95c703fb8f2f27cb64f475a8c940864a}
|
||||
|
||||
\item
|
||||
\hypertarget{classThread_37d9edd3a1a776cbc27dedff949c9726}{
|
||||
virtual \hyperlink{classThread_37d9edd3a1a776cbc27dedff949c9726}{$\sim$Thread} ()}
|
||||
\label{classThread_37d9edd3a1a776cbc27dedff949c9726}
|
||||
|
||||
\item
|
||||
\hypertarget{classThread_e197c46f8f62ecce6d2a7fe95bdc5b38}{
|
||||
void \hyperlink{classThread_e197c46f8f62ecce6d2a7fe95bdc5b38}{set\-Active} ()}
|
||||
\label{classThread_e197c46f8f62ecce6d2a7fe95bdc5b38}
|
||||
|
||||
\item
|
||||
\hypertarget{classThread_20632ffe9ddfa2a478afb0c84dc1096b}{
|
||||
void \hyperlink{classThread_20632ffe9ddfa2a478afb0c84dc1096b}{set\-Passive} ()}
|
||||
\label{classThread_20632ffe9ddfa2a478afb0c84dc1096b}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classThread_1b155d63bca3096ac4a1d039aea83c7c}{
|
||||
bool \hyperlink{classThread_1b155d63bca3096ac4a1d039aea83c7c}{act}}
|
||||
\label{classThread_1b155d63bca3096ac4a1d039aea83c7c}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 31 of file thread.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
thread.h\item
|
||||
thread.cpp\end{CompactItemize}
|
||||
197
trunk/paradiseo-peo/docs/latex/classTopology.eps
Normal file
197
trunk/paradiseo-peo/docs/latex/classTopology.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 412.371
|
||||
%%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.2125 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
|
||||
(Topology) cw
|
||||
(RingTopology) 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 -----
|
||||
|
||||
(Topology) 0 1 box
|
||||
(RingTopology) 0 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
1 0 0.25 out
|
||||
solid
|
||||
0 0 0.75 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classTopology.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classTopology.pdf
Normal file
Binary file not shown.
44
trunk/paradiseo-peo/docs/latex/classTopology.tex
Normal file
44
trunk/paradiseo-peo/docs/latex/classTopology.tex
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
\hypertarget{classTopology}{
|
||||
\section{Topology Class Reference}
|
||||
\label{classTopology}\index{Topology@{Topology}}
|
||||
}
|
||||
Inheritance diagram for Topology::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2cm]{classTopology}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classTopology_3e447669757c8311c7f6f8edc705abf2}{
|
||||
virtual \hyperlink{classTopology_3e447669757c8311c7f6f8edc705abf2}{$\sim$Topology} ()}
|
||||
\label{classTopology_3e447669757c8311c7f6f8edc705abf2}
|
||||
|
||||
\item
|
||||
\hypertarget{classTopology_62bc46d8c20fdc71dad9e7c7a0d7aded}{
|
||||
void \hyperlink{classTopology_62bc46d8c20fdc71dad9e7c7a0d7aded}{add} (\hyperlink{classCooperative}{Cooperative} \&\_\-\_\-mig)}
|
||||
\label{classTopology_62bc46d8c20fdc71dad9e7c7a0d7aded}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Protected Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classTopology_247a2faa8568b678f0b7b11e62c7812c}{
|
||||
std::vector$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classTopology_247a2faa8568b678f0b7b11e62c7812c}{mig}}
|
||||
\label{classTopology_247a2faa8568b678f0b7b11e62c7812c}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 31 of file topology.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
topology.h\item
|
||||
topology.cpp\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classWorker.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classWorker.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 275.229
|
||||
%%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.81667 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
|
||||
(Worker) cw
|
||||
(Communicable) cw
|
||||
(ReactiveThread) cw
|
||||
(Thread) 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 -----
|
||||
|
||||
(Worker) 0.5 0 box
|
||||
(Communicable) 0 1 box
|
||||
(ReactiveThread) 1 1 box
|
||||
(Thread) 1 2 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 0 out
|
||||
solid
|
||||
0 1 1 conn
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
1 1 1 in
|
||||
solid
|
||||
0 1 1 out
|
||||
solid
|
||||
1 1 2 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classWorker.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classWorker.pdf
Normal file
Binary file not shown.
94
trunk/paradiseo-peo/docs/latex/classWorker.tex
Normal file
94
trunk/paradiseo-peo/docs/latex/classWorker.tex
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
\hypertarget{classWorker}{
|
||||
\section{Worker Class Reference}
|
||||
\label{classWorker}\index{Worker@{Worker}}
|
||||
}
|
||||
Inheritance diagram for Worker::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classWorker}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classWorker_3754817df06ffe220f7f0d903c78ccac}{
|
||||
\hyperlink{classWorker_3754817df06ffe220f7f0d903c78ccac}{Worker} ()}
|
||||
\label{classWorker_3754817df06ffe220f7f0d903c78ccac}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_abcbbace05c6113f1959c494b3577291}{
|
||||
void \hyperlink{classWorker_abcbbace05c6113f1959c494b3577291}{start} ()}
|
||||
\label{classWorker_abcbbace05c6113f1959c494b3577291}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_83780920118e6c2b67d9477bdf8be248}{
|
||||
void \hyperlink{classWorker_83780920118e6c2b67d9477bdf8be248}{pack\-Result} ()}
|
||||
\label{classWorker_83780920118e6c2b67d9477bdf8be248}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_bff2bdcd64fe5400156cc78704c64953}{
|
||||
void \hyperlink{classWorker_bff2bdcd64fe5400156cc78704c64953}{unpack\-Data} ()}
|
||||
\label{classWorker_bff2bdcd64fe5400156cc78704c64953}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_60d2e8eba85b9ef403d94be54c391640}{
|
||||
void \hyperlink{classWorker_60d2e8eba85b9ef403d94be54c391640}{pack\-Task\-Done} ()}
|
||||
\label{classWorker_60d2e8eba85b9ef403d94be54c391640}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_e2f487014766a73c5788bdcfd58ad863}{
|
||||
void \hyperlink{classWorker_e2f487014766a73c5788bdcfd58ad863}{notify\-Sending\-Result} ()}
|
||||
\label{classWorker_e2f487014766a73c5788bdcfd58ad863}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_13efd6a8e275745329a4a8e23a0eb0bb}{
|
||||
void \hyperlink{classWorker_13efd6a8e275745329a4a8e23a0eb0bb}{notify\-Sending\-Task\-Done} ()}
|
||||
\label{classWorker_13efd6a8e275745329a4a8e23a0eb0bb}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_5dab4ea663546b5a49d9398d7a624d27}{
|
||||
void \hyperlink{classWorker_5dab4ea663546b5a49d9398d7a624d27}{set\-Source} (int \_\-\_\-rank)}
|
||||
\label{classWorker_5dab4ea663546b5a49d9398d7a624d27}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classWorker_b5ffcb995e12fa71b9551e91729d6972}{
|
||||
WORKER\_\-ID \hyperlink{classWorker_b5ffcb995e12fa71b9551e91729d6972}{id}}
|
||||
\label{classWorker_b5ffcb995e12fa71b9551e91729d6972}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_d7dc76e301fd2bcf5d3a2088a59f1378}{
|
||||
SERVICE\_\-ID \hyperlink{classWorker_d7dc76e301fd2bcf5d3a2088a59f1378}{serv\_\-id}}
|
||||
\label{classWorker_d7dc76e301fd2bcf5d3a2088a59f1378}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_454e1764ed165af733cc44a73e395692}{
|
||||
\hyperlink{classService}{Service} $\ast$ \hyperlink{classWorker_454e1764ed165af733cc44a73e395692}{serv}}
|
||||
\label{classWorker_454e1764ed165af733cc44a73e395692}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_895c3ebc198018ea3391c09bc802d2f6}{
|
||||
int \hyperlink{classWorker_895c3ebc198018ea3391c09bc802d2f6}{src}}
|
||||
\label{classWorker_895c3ebc198018ea3391c09bc802d2f6}
|
||||
|
||||
\item
|
||||
\hypertarget{classWorker_7ba5a18b2918cf9e704536b763be37f7}{
|
||||
bool \hyperlink{classWorker_7ba5a18b2918cf9e704536b763be37f7}{toto}}
|
||||
\label{classWorker_7ba5a18b2918cf9e704536b763be37f7}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 33 of file worker.h.
|
||||
|
||||
The documentation for this class was generated from the following files:\begin{CompactItemize}
|
||||
\item
|
||||
worker.h\item
|
||||
worker.cpp\end{CompactItemize}
|
||||
197
trunk/paradiseo-peo/docs/latex/classpeoAggEvalFunc.eps
Normal file
197
trunk/paradiseo-peo/docs/latex/classpeoAggEvalFunc.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 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
|
||||
(peoAggEvalFunc< EOT >) cw
|
||||
(peoNoAggEvalFunc< 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 -----
|
||||
|
||||
(peoAggEvalFunc< EOT >) 0 1 box
|
||||
(peoNoAggEvalFunc< EOT >) 0 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
1 0 0.25 out
|
||||
solid
|
||||
0 0 0.75 in
|
||||
73
trunk/paradiseo-peo/docs/latex/classpeoAggEvalFunc.pdf
Normal file
73
trunk/paradiseo-peo/docs/latex/classpeoAggEvalFunc.pdf
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
%PDF-1.3
|
||||
%Çì<C387>¢
|
||||
5 0 obj
|
||||
<</Length 6 0 R/Filter /FlateDecode>>
|
||||
stream
|
||||
xœ•NÛJ1}Ÿ¯8<C2AF>¶q&77P
|
||||
-l}SªùYÚEizQÔßwÒ-l}$„““9—9<E28094><39>€ë¹`Wèöéý1îõöt"9p<>®`™UÔÀ%™yKƒYàÙÄä$
Ì…nŽ›Ã¢ïÛ¯—ÝêsßÍÐ>fÌ'ù<>ÚLkrÎp<C38E>øÖ„WgA¿#ã}CÏÿë—h|JÖ<>õ-Pm¿û4"+YE¤Ä(Ãó¼ÜN%#«ŸL€HÓèÌúÀWìʵ<C38A>´ö”1ºÆé[çR¿endstream
|
||||
endobj
|
||||
6 0 obj
|
||||
204
|
||||
endobj
|
||||
4 0 obj
|
||||
<</Type/Page/MediaBox [0 0 500 218.58]
|
||||
/Parent 3 0 R
|
||||
/Resources<</ProcSet[/PDF /Text]
|
||||
/ExtGState 9 0 R
|
||||
/Font 10 0 R
|
||||
>>
|
||||
/Contents 5 0 R
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /Type /Pages /Kids [
|
||||
4 0 R
|
||||
] /Count 1
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<</Type /Catalog /Pages 3 0 R
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<</Type/ExtGState
|
||||
/OPM 1>>endobj
|
||||
9 0 obj
|
||||
<</R7
|
||||
7 0 R>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<</R8
|
||||
8 0 R>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<</BaseFont/Times-Roman/Type/Font
|
||||
/Subtype/Type1>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<</Producer(ESP Ghostscript 815.02)
|
||||
/CreationDate(D:20061230145531)
|
||||
/ModDate(D:20061230145531)
|
||||
/Title(ClassName)
|
||||
/Creator(Doxygen)
|
||||
/Author()>>endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000520 00000 n
|
||||
0000000734 00000 n
|
||||
0000000461 00000 n
|
||||
0000000308 00000 n
|
||||
0000000015 00000 n
|
||||
0000000289 00000 n
|
||||
0000000568 00000 n
|
||||
0000000668 00000 n
|
||||
0000000609 00000 n
|
||||
0000000638 00000 n
|
||||
trailer
|
||||
<< /Size 11 /Root 1 0 R /Info 2 0 R
|
||||
/ID [(©&ú•QH1]®Z\\Ú®ù)(©&ú•QH1]®Z\\Ú®ù)]
|
||||
>>
|
||||
startxref
|
||||
891
|
||||
%%EOF
|
||||
39
trunk/paradiseo-peo/docs/latex/classpeoAggEvalFunc.tex
Normal file
39
trunk/paradiseo-peo/docs/latex/classpeoAggEvalFunc.tex
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
\hypertarget{classpeoAggEvalFunc}{
|
||||
\section{peo\-Agg\-Eval\-Func$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoAggEvalFunc}\index{peoAggEvalFunc@{peoAggEvalFunc}}
|
||||
}
|
||||
The \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func} class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Agg\-Eval\-Func.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Agg\-Eval\-Func$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2cm]{classpeoAggEvalFunc}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Agg\-Eval\-Func$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func} class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided.
|
||||
|
||||
The class inherits {\bf public eo\-BF$<$ EOT\&, const typename EOT :: Fitness\&, void $>$} thus requiring, for the derived classes, the creation of a function having the following signature:
|
||||
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
void operator()( EOT\& \_\-\_\-eot, const typename EOT :: Fitness\& \_\-\_\-partial\_\-fittness ); ~ &~ \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
The aggregation object is called in an iterative manner for each of the results obtained by applying partial evaluation functions.
|
||||
|
||||
|
||||
|
||||
Definition at line 40 of file peo\-Agg\-Eval\-Func.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Agg\-Eval\-Func.h\end{CompactItemize}
|
||||
203
trunk/paradiseo-peo/docs/latex/classpeoAsyncIslandMig.eps
Normal file
203
trunk/paradiseo-peo/docs/latex/classpeoAsyncIslandMig.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 333.333
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 1.5 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
|
||||
(peoAsyncIslandMig< EOT >) cw
|
||||
(Cooperative) cw
|
||||
(Communicable) 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 -----
|
||||
|
||||
(peoAsyncIslandMig< EOT >) 0 0 box
|
||||
(Cooperative) 0 1 box
|
||||
(Communicable) 0 2 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classpeoAsyncIslandMig.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classpeoAsyncIslandMig.pdf
Normal file
Binary file not shown.
216
trunk/paradiseo-peo/docs/latex/classpeoAsyncIslandMig.tex
Normal file
216
trunk/paradiseo-peo/docs/latex/classpeoAsyncIslandMig.tex
Normal file
|
|
@ -0,0 +1,216 @@
|
|||
\hypertarget{classpeoAsyncIslandMig}{
|
||||
\section{peo\-Async\-Island\-Mig$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoAsyncIslandMig}\index{peoAsyncIslandMig@{peoAsyncIslandMig}}
|
||||
}
|
||||
The \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Async\-Island\-Mig.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Async\-Island\-Mig$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classpeoAsyncIslandMig}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classpeoAsyncIslandMig_e0f706cbf4148d3ca327227a5c7a9fdf}{peo\-Async\-Island\-Mig} (eo\-Continue$<$ EOT $>$ \&\_\-\_\-cont, eo\-Select$<$ EOT $>$ \&\_\-\_\-select, eo\-Replacement$<$ EOT $>$ \&\_\-\_\-replace, \hyperlink{classTopology}{Topology} \&\_\-\_\-topology, eo\-Pop$<$ EOT $>$ \&\_\-\_\-source, eo\-Pop$<$ EOT $>$ \&\_\-\_\-destination)
|
||||
\begin{CompactList}\small\item\em Constructor for the \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoAsyncIslandMig_13581e54425727a7f785ca8a6df527b5}{operator()} ()
|
||||
\begin{CompactList}\small\item\em Function operator to be called as checkpoint for performing the migration step. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoAsyncIslandMig_6d790a5d0b6ac510cac4f61a1c0d8f16}{
|
||||
void \hyperlink{classpeoAsyncIslandMig_6d790a5d0b6ac510cac4f61a1c0d8f16}{pack} ()}
|
||||
\label{classpeoAsyncIslandMig_6d790a5d0b6ac510cac4f61a1c0d8f16}
|
||||
|
||||
\begin{CompactList}\small\item\em Auxiliary function dealing with sending the emigrant individuals. There is no need to explicitly call the function. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoAsyncIslandMig_455501aee5db2bbfbae15779c8429369}{
|
||||
void \hyperlink{classpeoAsyncIslandMig_455501aee5db2bbfbae15779c8429369}{unpack} ()}
|
||||
\label{classpeoAsyncIslandMig_455501aee5db2bbfbae15779c8429369}
|
||||
|
||||
\begin{CompactList}\small\item\em Auxiliary function dealing with receiving immigrant individuals. There is no need to explicitly call the function. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_87a4ef7d4bd30d349a801bf0f9e87c82}{
|
||||
void \hyperlink{classpeoAsyncIslandMig_87a4ef7d4bd30d349a801bf0f9e87c82}{emigrate} ()}
|
||||
\label{classpeoAsyncIslandMig_87a4ef7d4bd30d349a801bf0f9e87c82}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_5a9a64ba51a696e45f91b362c39c9a64}{
|
||||
void \hyperlink{classpeoAsyncIslandMig_5a9a64ba51a696e45f91b362c39c9a64}{immigrate} ()}
|
||||
\label{classpeoAsyncIslandMig_5a9a64ba51a696e45f91b362c39c9a64}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_2fc077d02ef9ea4595cfe883af0d4f83}{
|
||||
eo\-Continue$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_2fc077d02ef9ea4595cfe883af0d4f83}{cont}}
|
||||
\label{classpeoAsyncIslandMig_2fc077d02ef9ea4595cfe883af0d4f83}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_b1fa045094c8a411323e75b5820c80c2}{
|
||||
eo\-Select$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_b1fa045094c8a411323e75b5820c80c2}{select}}
|
||||
\label{classpeoAsyncIslandMig_b1fa045094c8a411323e75b5820c80c2}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_b761dbd880ee32e170741ecd78da6f48}{
|
||||
eo\-Replacement$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_b761dbd880ee32e170741ecd78da6f48}{replace}}
|
||||
\label{classpeoAsyncIslandMig_b761dbd880ee32e170741ecd78da6f48}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_e45e5a808a96f0853ab6ba42339fe679}{
|
||||
\hyperlink{classTopology}{Topology} \& \hyperlink{classpeoAsyncIslandMig_e45e5a808a96f0853ab6ba42339fe679}{topology}}
|
||||
\label{classpeoAsyncIslandMig_e45e5a808a96f0853ab6ba42339fe679}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_8a502d82c773033e274dca932fc2d4ee}{
|
||||
eo\-Pop$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_8a502d82c773033e274dca932fc2d4ee}{source}}
|
||||
\label{classpeoAsyncIslandMig_8a502d82c773033e274dca932fc2d4ee}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_e407f411d08ae7d96992603c145a7e43}{
|
||||
eo\-Pop$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_e407f411d08ae7d96992603c145a7e43}{destination}}
|
||||
\label{classpeoAsyncIslandMig_e407f411d08ae7d96992603c145a7e43}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_b8c76d98d9ae99dd930a77c12860519a}{
|
||||
std::queue$<$ eo\-Pop$<$ EOT $>$ $>$ \hyperlink{classpeoAsyncIslandMig_b8c76d98d9ae99dd930a77c12860519a}{imm}}
|
||||
\label{classpeoAsyncIslandMig_b8c76d98d9ae99dd930a77c12860519a}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_a9cc0e2d61cac6e11647b141962adc89}{
|
||||
std::queue$<$ eo\-Pop$<$ EOT $>$ $>$ \hyperlink{classpeoAsyncIslandMig_a9cc0e2d61cac6e11647b141962adc89}{em}}
|
||||
\label{classpeoAsyncIslandMig_a9cc0e2d61cac6e11647b141962adc89}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoAsyncIslandMig_1a2c0004d23bc303420af137a8c8bd27}{
|
||||
std::queue$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoAsyncIslandMig_1a2c0004d23bc303420af137a8c8bd27}{coop\_\-em}}
|
||||
\label{classpeoAsyncIslandMig_1a2c0004d23bc303420af137a8c8bd27}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Async\-Island\-Mig$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e.
|
||||
|
||||
continuation criterion, selection and replacement strategies, a topological model and the source and destination population for the migrating individuals. As opposed to the synchronous migration model, in the asynchronous migration approach, there is no synchronization step between islands after performing the emigration phase.
|
||||
|
||||
The migration operator is called at the end of each generation of an evolutionary algorithms as a checkpoint object - the following code exposes the structure of a classic evolutionary algorithm:
|
||||
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
{\bf do} \{ ~ &~ \\\hline
|
||||
~~~~~~~~ select( population, offsprings ); ~ &// select the offsprings from the current population \\\hline
|
||||
~~~~~~~~ transform( offsprings ); ~ &// crossover and mutation operators are applied on the selected offsprings \\\hline
|
||||
~~~~~~~~ evaluate( offsprings ); ~ &// evaluation step of the resulting offspring \\\hline
|
||||
~~~~~~~~ replace( population, offsprings ); ~ &// replace the individuals in the current population whith individuals from the offspring population, according to a specified replacement strategy \\\hline
|
||||
\} {\bf while} ( ea\-Checkpoint\-Continue( population ) ); ~ &// checkpoint operators are applied on the current population, including the migration operator, if any specified \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
Constructing an asynchronous island migration model requires having defined (1) a topological migration model, (2) the control parameters of the migration process, (3) a checkpoint object associated with an evolutionary algorithm, and (4) an owner object must be set. The owner object must be derived from the {\bf \hyperlink{classRunner}{Runner}} class (for example a \hyperlink{classpeoEA}{peo\-EA} object represents a possible owner). A simple example is offered bellow:
|
||||
|
||||
\begin{enumerate}
|
||||
\item topological model to be followed when performing migrations: \par
|
||||
\par
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
\hyperlink{classRingTopology}{Ring\-Topology} mig\-Topology; ~ &// a simple ring topological model - each island communicates with two other islands \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
\item the continuation criterion, selection and replacement strategy etc. are defined: \par
|
||||
\par
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
eo\-Pop$<$ EOT $>$ population( POP\_\-SIZE, pop\-Initializer ); ~ &// population of individuals to be used for the evolutionary algorithm \\\hline
|
||||
~ &~ \\\hline
|
||||
eo\-Periodic\-Continue$<$ EOT $>$ mig\-Cont( MIG\_\-FREQ ); ~ &// migrations occur periodically at MIG\_\-FREQ iterations \\\hline
|
||||
eo\-Random\-Select$<$ EOT $>$ mig\-Select\-Strategy; ~ &// selection strategy - in this case a random selection is applied \\\hline
|
||||
eo\-Select\-Number$<$ EOT $>$ mig\-Select( mig\-Select\-Strategy, MIG\_\-SIZE ); ~ &// number of individuals to be selected using the specified strategy \\\hline
|
||||
eo\-Plus\-Replacement$<$ EOT $>$ mig\-Replace; ~ &// immigration strategy - the worse individuals in the destination population are replaced by the immigrant individuals \\\hline
|
||||
~ &~ \\\hline
|
||||
peo\-Async\-Island\-Mig$<$ EOT $>$ async\-Migration( \par
|
||||
~~~~~~~~ mig\-Cont, mig\-Select, mig\-Replace, mig\-Topology, \par
|
||||
~~~~~~~~ population, population \par
|
||||
); ~ &// asynchronous migration object - the emigrant individuals are selected from the same from population in which the immigrant individuals are being integrated \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
\item creation of a checkpoint object as part of the definition of an evolutionary algoritm (details of th EA not given as being out of scope): \par
|
||||
\par
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
... ~ &~ \\\hline
|
||||
eo\-Gen\-Continue$<$ EOT $>$ ea\-Cont( NUM\_\-GEN ); ~ &// the evolutionary algorithm will stop after NUM\_\-GEN generations \\\hline
|
||||
eo\-Check\-Point$<$ EOT $>$ ea\-Checkpoint\-Continue( ea\-Cont ); ~ &// number of individuals to be selected using the specified strategy \\\hline
|
||||
... ~ &~ \\\hline
|
||||
ea\-Checkpoint\-Continue.add( async\-Migration ); ~ &// adding the migration operator as checkpoint element \\\hline
|
||||
... ~ &~ \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
\item definition of an owner evolutionary algorithm (an object inheriting the {\bf \hyperlink{classRunner}{Runner}} class): \par
|
||||
\par
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
peo\-EA$<$ EOT $>$ ea\-Alg( ea\-Checkpoint\-Continue, ea\-Pop\-Eval, ea\-Select, ea\-Transform, ea\-Replace); ~ &// evolutionary algorithm having as checkpoint the ea\-Checkpoint\-Continue object defined above \\\hline
|
||||
async\-Migration.set\-Owner( ea\-Alg ); ~ &// setting the evolutionary algorithm as owner of the migration object \\\hline
|
||||
ea\-Alg( population ); ~ &// applying the evolutionary algorithm on a given population \\\hline
|
||||
\end{TabularC}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
The source and the destination population for the migration object were specified as being the same, in step no. 2, as we are usually interested in selecting the emigrants and integrating the immigrant individuals from and in, respectively, one unique population, iteratively evolved by an evolutionary algorithm. There is no restriction in having two distinct populations as source and destination for the emigrant and immigrant individuals respectively.
|
||||
|
||||
The above steps only create an asynchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ mig\-Topology object has to be passed as parameter for all the migration objects, in order to interconnect them).
|
||||
|
||||
|
||||
|
||||
Definition at line 127 of file peo\-Async\-Island\-Mig.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classpeoAsyncIslandMig_e0f706cbf4148d3ca327227a5c7a9fdf}{
|
||||
\index{peoAsyncIslandMig@{peo\-Async\-Island\-Mig}!peoAsyncIslandMig@{peoAsyncIslandMig}}
|
||||
\index{peoAsyncIslandMig@{peoAsyncIslandMig}!peoAsyncIslandMig@{peo\-Async\-Island\-Mig}}
|
||||
\subsubsection[peoAsyncIslandMig]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig}$<$ EOT $>$::\hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} (eo\-Continue$<$ EOT $>$ \& {\em \_\-\_\-cont}, eo\-Select$<$ EOT $>$ \& {\em \_\-\_\-select}, eo\-Replacement$<$ EOT $>$ \& {\em \_\-\_\-replace}, \hyperlink{classTopology}{Topology} \& {\em \_\-\_\-topology}, eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-source}, eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-destination})}}
|
||||
\label{classpeoAsyncIslandMig_e0f706cbf4148d3ca327227a5c7a9fdf}
|
||||
|
||||
|
||||
Constructor for the \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Continue$<$}]EOT $>$\& \_\-\_\-cont - continuation criterion specifying whether the migration is performed or not; \item[{\em eo\-Select$<$}]EOT $>$\& \_\-\_\-select - selection strategy to be applied for constructing a list of emigrant individuals out of the source population; \item[{\em eo\-Replacement$<$}]EOT $>$\& \_\-\_\-replace - replacement strategy used for integrating the immigrant individuals in the destination population; \item[{\em Topology\&}]\_\-\_\-topology - topological model to be followed when performing migrations; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-source - source population from which the emigrant individuals are selected; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-destination - destination population in which the immigrant population are integrated. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 186 of file peo\-Async\-Island\-Mig.h.
|
||||
|
||||
References Topology::add().
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\hypertarget{classpeoAsyncIslandMig_13581e54425727a7f785ca8a6df527b5}{
|
||||
\index{peoAsyncIslandMig@{peo\-Async\-Island\-Mig}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!peoAsyncIslandMig@{peo\-Async\-Island\-Mig}}
|
||||
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig}$<$ EOT $>$::operator() ()}}
|
||||
\label{classpeoAsyncIslandMig_13581e54425727a7f785ca8a6df527b5}
|
||||
|
||||
|
||||
Function operator to be called as checkpoint for performing the migration step.
|
||||
|
||||
The emigrant individuals are selected from the source population and sent to the next island (defined by the topology object) while the immigrant individuals are integrated in the destination population. There is no need to explicitly call the function - the wrapper checkpoint object (please refer to the above example) will perform the call when required.
|
||||
|
||||
Definition at line 263 of file peo\-Async\-Island\-Mig.h.
|
||||
|
||||
References peo\-Async\-Island\-Mig$<$ EOT $>$::cont, peo\-Async\-Island\-Mig$<$ EOT $>$::emigrate(), peo\-Async\-Island\-Mig$<$ EOT $>$::immigrate(), and peo\-Async\-Island\-Mig$<$ EOT $>$::source.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Async\-Island\-Mig.h\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classpeoEA.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classpeoEA.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 280.374
|
||||
%%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.78333 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
|
||||
(peoEA< EOT >) cw
|
||||
(Runner) cw
|
||||
(Communicable) cw
|
||||
(Thread) 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 -----
|
||||
|
||||
(peoEA< EOT >) 0.5 0 box
|
||||
(Runner) 0.5 1 box
|
||||
(Communicable) 0 2 box
|
||||
(Thread) 1 2 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 0 out
|
||||
solid
|
||||
1 0.5 1 in
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
0 1 2 conn
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
1 1 2 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classpeoEA.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classpeoEA.pdf
Normal file
Binary file not shown.
145
trunk/paradiseo-peo/docs/latex/classpeoEA.tex
Normal file
145
trunk/paradiseo-peo/docs/latex/classpeoEA.tex
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
\hypertarget{classpeoEA}{
|
||||
\section{peo\-EA$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoEA}\index{peoEA@{peoEA}}
|
||||
}
|
||||
The \hyperlink{classpeoEA}{peo\-EA} class offers an elementary evolutionary algorithm implementation.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-EA.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-EA$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classpeoEA}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classpeoEA_dbfc4f8907bef234602149229f132371}{peo\-EA} (eo\-Continue$<$ EOT $>$ \&\_\-\_\-cont, \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$ \&\_\-\_\-pop\_\-eval, eo\-Select$<$ EOT $>$ \&\_\-\_\-select, \hyperlink{classpeoTransform}{peo\-Transform}$<$ EOT $>$ \&\_\-\_\-trans, eo\-Replacement$<$ EOT $>$ \&\_\-\_\-replace)
|
||||
\begin{CompactList}\small\item\em Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoEA_6ab8c321d29350634143a2a01cf2ad24}{
|
||||
void \hyperlink{classpeoEA_6ab8c321d29350634143a2a01cf2ad24}{run} ()}
|
||||
\label{classpeoEA_6ab8c321d29350634143a2a01cf2ad24}
|
||||
|
||||
\begin{CompactList}\small\item\em Evolutionary algorithm function - a side effect of the fact that the class is derived from the {\bf \hyperlink{classRunner}{Runner}} class, thus requiring the existence of a {\em run\/} function, the algorithm being executed on a distinct thread. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoEA_3c709e3b2491147d26fee36138644613}{operator()} (eo\-Pop$<$ EOT $>$ \&\_\-\_\-pop)
|
||||
\begin{CompactList}\small\item\em Function operator for specifying the population to be associated with the algorithm. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoEA_5f015eebf42f176b9fe322488c446c2a}{
|
||||
eo\-Continue$<$ EOT $>$ \& \hyperlink{classpeoEA_5f015eebf42f176b9fe322488c446c2a}{cont}}
|
||||
\label{classpeoEA_5f015eebf42f176b9fe322488c446c2a}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoEA_9140259f50c9186edcb062b023624c96}{
|
||||
\hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$ \& \hyperlink{classpeoEA_9140259f50c9186edcb062b023624c96}{pop\_\-eval}}
|
||||
\label{classpeoEA_9140259f50c9186edcb062b023624c96}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoEA_2d8428d69fdd6aefefbaf543fdd46d19}{
|
||||
eo\-Select$<$ EOT $>$ \& \hyperlink{classpeoEA_2d8428d69fdd6aefefbaf543fdd46d19}{select}}
|
||||
\label{classpeoEA_2d8428d69fdd6aefefbaf543fdd46d19}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoEA_713c77935eb8aafebfb9488cfaa4a363}{
|
||||
\hyperlink{classpeoTransform}{peo\-Transform}$<$ EOT $>$ \& \hyperlink{classpeoEA_713c77935eb8aafebfb9488cfaa4a363}{trans}}
|
||||
\label{classpeoEA_713c77935eb8aafebfb9488cfaa4a363}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoEA_9bd2d4356cf7e69e3141dc269213aa8a}{
|
||||
eo\-Replacement$<$ EOT $>$ \& \hyperlink{classpeoEA_9bd2d4356cf7e69e3141dc269213aa8a}{replace}}
|
||||
\label{classpeoEA_9bd2d4356cf7e69e3141dc269213aa8a}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoEA_c0b110e410bc16283e8339f24b733772}{
|
||||
eo\-Pop$<$ EOT $>$ $\ast$ \hyperlink{classpeoEA_c0b110e410bc16283e8339f24b733772}{pop}}
|
||||
\label{classpeoEA_c0b110e410bc16283e8339f24b733772}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-EA$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoEA}{peo\-EA} class offers an elementary evolutionary algorithm implementation.
|
||||
|
||||
In addition, as compared with the algorithms provided by the EO framework, the \hyperlink{classpeoEA}{peo\-EA} class has the underlying necessary structure for including, for example, parallel evaluation and parallel transformation operators, migration operators etc. Although there is no restriction on using the algorithms provided by the EO framework, the drawback resides in the fact that the EO implementation is exclusively sequential and, in consequence, no parallelism is provided. A simple example for constructing a \hyperlink{classpeoEA}{peo\-EA} object:
|
||||
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
... ~ &~ \\\hline
|
||||
eo\-Pop$<$ EOT $>$ population( POP\_\-SIZE, pop\-Initializer ); ~ &// creation of a population with POP\_\-SIZE individuals - the pop\-Initializer is a functor to be called for each individual \\\hline
|
||||
~ &~ \\\hline
|
||||
eo\-Gen\-Continue$<$ EOT $>$ ea\-Cont( NUM\_\-GEN ); ~ &// number of generations for the evolutionary algorithm \\\hline
|
||||
eo\-Check\-Point$<$ EOT $>$ ea\-Checkpoint\-Continue( ea\-Cont ); ~ &// checkpoint incorporating the continuation criterion - startpoint for adding other checkpoint objects \\\hline
|
||||
~ &~ \\\hline
|
||||
peo\-Seq\-Pop\-Eval$<$ EOT $>$ ea\-Pop\-Eval( eval\-Function ); ~ &// sequential evaluation functor wrapper - eval\-Function represents the actual evaluation functor \\\hline
|
||||
~ &~ \\\hline
|
||||
eo\-Ranking\-Select$<$ EOT $>$ selection\-Strategy; ~ &// selection strategy for creating the offspring population - a simple ranking selection in this case \\\hline
|
||||
eo\-Select\-Number$<$ EOT $>$ ea\-Select( selection\-Strategy, POP\_\-SIZE ); ~ &// the number of individuals to be selected for creating the offspring population \\\hline
|
||||
eo\-Ranking\-Select$<$ EOT $>$ selection\-Strategy; ~ &// selection strategy for creating the offspring population - a simple ranking selection in this case \\\hline
|
||||
~ &~ \\\hline
|
||||
eo\-SGATransform$<$ EOT $>$ transform( crossover, CROSS\_\-RATE, mutation, MUT\_\-RATE ); ~ &// transformation operator - crossover and mutation operators with their associated probabilities \\\hline
|
||||
peo\-Seq\-Transform$<$ EOT $>$ ea\-Transform( transform ); ~ &// Paradis\-EO specific sequential operator - a parallel version may be specified in the same manner \\\hline
|
||||
~ &~ \\\hline
|
||||
eo\-Plus\-Replacement$<$ EOT $>$ ea\-Replace; ~ &// replacement strategy - for integrating the offspring resulting individuals in the initial population \\\hline
|
||||
~ &~ \\\hline
|
||||
peo\-EA$<$ EOT $>$ ea\-Alg( ea\-Checkpoint\-Continue, ea\-Pop\-Eval, ea\-Select, ea\-Transform, ea\-Replace ); ~ &// Paradis\-EO evolutionary algorithm integrating the above defined objects \\\hline
|
||||
ea\-Alg( population ); ~ &// specifying the initial population for the algorithm \\\hline
|
||||
... ~ &~ \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 69 of file peo\-EA.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classpeoEA_dbfc4f8907bef234602149229f132371}{
|
||||
\index{peoEA@{peo\-EA}!peoEA@{peoEA}}
|
||||
\index{peoEA@{peoEA}!peoEA@{peo\-EA}}
|
||||
\subsubsection[peoEA]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoEA}{peo\-EA}$<$ EOT $>$::\hyperlink{classpeoEA}{peo\-EA} (eo\-Continue$<$ EOT $>$ \& {\em \_\-\_\-cont}, \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$ \& {\em \_\-\_\-pop\_\-eval}, eo\-Select$<$ EOT $>$ \& {\em \_\-\_\-select}, \hyperlink{classpeoTransform}{peo\-Transform}$<$ EOT $>$ \& {\em \_\-\_\-trans}, eo\-Replacement$<$ EOT $>$ \& {\em \_\-\_\-replace})}}
|
||||
\label{classpeoEA_dbfc4f8907bef234602149229f132371}
|
||||
|
||||
|
||||
Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism.
|
||||
|
||||
Depending on the requirements, a sequential or a parallel evaluation operator may be specified or, in the same manner, a sequential or a parallel transformation operator may be given as parameter. Out of the box objects may be provided, from the EO package, for example, or custom defined ones may be specified, provided that they are derived from the correct base classes.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Continue$<$}]EOT $>$\& \_\-\_\-cont - continuation criterion specifying whether the algorithm should continue or not; \item[{\em peo\-Pop\-Eval$<$}]EOT $>$\& \_\-\_\-pop\_\-eval - evaluation operator; it allows the specification of parallel evaluation operators, aggregate evaluation functions, etc.; \item[{\em eo\-Select$<$}]EOT $>$\& \_\-\_\-select - selection strategy to be applied for constructing a list of offspring individuals; \item[{\em peo\-Transform$<$}]EOT $>$\& \_\-\_\-trans - transformation operator, i.e. crossover and mutation; allows for sequential or parallel transform; \item[{\em eo\-Replacement$<$}]EOT $>$\& \_\-\_\-replace - replacement strategy for integrating the offspring individuals in the initial population; \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 113 of file peo\-EA.h.
|
||||
|
||||
References peo\-EA$<$ EOT $>$::pop\_\-eval, and peo\-EA$<$ EOT $>$::trans.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\hypertarget{classpeoEA_3c709e3b2491147d26fee36138644613}{
|
||||
\index{peoEA@{peo\-EA}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!peoEA@{peo\-EA}}
|
||||
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoEA}{peo\-EA}$<$ EOT $>$::operator() (eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-pop})}}
|
||||
\label{classpeoEA_3c709e3b2491147d26fee36138644613}
|
||||
|
||||
|
||||
Function operator for specifying the population to be associated with the algorithm.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - initial population of the algorithm, to be iteratively evolved; \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 129 of file peo\-EA.h.
|
||||
|
||||
References peo\-EA$<$ EOT $>$::pop.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-EA.h\end{CompactItemize}
|
||||
197
trunk/paradiseo-peo/docs/latex/classpeoNoAggEvalFunc.eps
Normal file
197
trunk/paradiseo-peo/docs/latex/classpeoNoAggEvalFunc.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 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
|
||||
(peoNoAggEvalFunc< EOT >) cw
|
||||
(peoAggEvalFunc< 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 -----
|
||||
|
||||
(peoNoAggEvalFunc< EOT >) 0 0 box
|
||||
(peoAggEvalFunc< EOT >) 0 1 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
73
trunk/paradiseo-peo/docs/latex/classpeoNoAggEvalFunc.pdf
Normal file
73
trunk/paradiseo-peo/docs/latex/classpeoNoAggEvalFunc.pdf
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
%PDF-1.3
|
||||
%Çì<C387>¢
|
||||
5 0 obj
|
||||
<</Length 6 0 R/Filter /FlateDecode>>
|
||||
stream
|
||||
xœ•OÉŠ1½×W¼ãè!SYí€
|
||||
íÜFtòÒh£Ø.3¨¿oõ‚Ša¡òªÞR9<52>•×§«EEŸ‹Ê?b|É-éDº! +E…IRU`ÖHkjÅ:(£<>±â—*ú8®ß‡qYæ—ånzÞC䳄Q/m)O4'k×W±ØPmâ#ÆïŠ~þ—îX…è"´÷<C2B4>ø7ᢱæ5Q¾àÛ<C3A0>ŒïúUûŒ‘±ÆtýÆä>hP=qQyh<79>e23ÎózRû²È
ŠÛR¿endstream
|
||||
endobj
|
||||
6 0 obj
|
||||
202
|
||||
endobj
|
||||
4 0 obj
|
||||
<</Type/Page/MediaBox [0 0 500 218.58]
|
||||
/Parent 3 0 R
|
||||
/Resources<</ProcSet[/PDF /Text]
|
||||
/ExtGState 9 0 R
|
||||
/Font 10 0 R
|
||||
>>
|
||||
/Contents 5 0 R
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /Type /Pages /Kids [
|
||||
4 0 R
|
||||
] /Count 1
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<</Type /Catalog /Pages 3 0 R
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<</Type/ExtGState
|
||||
/OPM 1>>endobj
|
||||
9 0 obj
|
||||
<</R7
|
||||
7 0 R>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<</R8
|
||||
8 0 R>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<</BaseFont/Times-Roman/Type/Font
|
||||
/Subtype/Type1>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<</Producer(ESP Ghostscript 815.02)
|
||||
/CreationDate(D:20061230145531)
|
||||
/ModDate(D:20061230145531)
|
||||
/Title(ClassName)
|
||||
/Creator(Doxygen)
|
||||
/Author()>>endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000518 00000 n
|
||||
0000000732 00000 n
|
||||
0000000459 00000 n
|
||||
0000000306 00000 n
|
||||
0000000015 00000 n
|
||||
0000000287 00000 n
|
||||
0000000566 00000 n
|
||||
0000000666 00000 n
|
||||
0000000607 00000 n
|
||||
0000000636 00000 n
|
||||
trailer
|
||||
<< /Size 11 /Root 1 0 R /Info 2 0 R
|
||||
/ID [(ç§cÓ¡<C393>NòPj\\aX)(ç§cÓ¡<C393>NòPj\\aX)]
|
||||
>>
|
||||
startxref
|
||||
889
|
||||
%%EOF
|
||||
39
trunk/paradiseo-peo/docs/latex/classpeoNoAggEvalFunc.tex
Normal file
39
trunk/paradiseo-peo/docs/latex/classpeoNoAggEvalFunc.tex
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
\hypertarget{classpeoNoAggEvalFunc}{
|
||||
\section{peo\-No\-Agg\-Eval\-Func$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoNoAggEvalFunc}\index{peoNoAggEvalFunc@{peoNoAggEvalFunc}}
|
||||
}
|
||||
The \hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func} class does nothing more than an association between a fitness value and a specified individual.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-No\-Agg\-Eval\-Func.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-No\-Agg\-Eval\-Func$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=2cm]{classpeoNoAggEvalFunc}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}{
|
||||
void \hyperlink{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}{operator()} (EOT \&\_\-\_\-sol, const typename EOT::Fitness \&\_\-\_\-fit)}
|
||||
\label{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}
|
||||
|
||||
\begin{CompactList}\small\item\em Operator which sets as fitness the {\bf \_\-\_\-fit} value for the {\bf \_\-\_\-sol} individual. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-No\-Agg\-Eval\-Func$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func} class does nothing more than an association between a fitness value and a specified individual.
|
||||
|
||||
The class is provided as a mean of declaring that no aggregation is required for the evaluation function - the fitness value is explicitly specified.
|
||||
|
||||
|
||||
|
||||
Definition at line 34 of file peo\-No\-Agg\-Eval\-Func.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-No\-Agg\-Eval\-Func.h\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classpeoParaPopEval.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classpeoParaPopEval.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 487.805
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 1.025 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(peoParaPopEval< EOT >) cw
|
||||
(peoPopEval< EOT >) cw
|
||||
(Service) cw
|
||||
(Communicable) 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 -----
|
||||
|
||||
(peoParaPopEval< EOT >) 0 0 box
|
||||
(peoPopEval< EOT >) 0 1 box
|
||||
(Service) 0 2 box
|
||||
(Communicable) 0 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
0 0 2 out
|
||||
solid
|
||||
1 0 3 in
|
||||
73
trunk/paradiseo-peo/docs/latex/classpeoParaPopEval.pdf
Normal file
73
trunk/paradiseo-peo/docs/latex/classpeoParaPopEval.pdf
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
%PDF-1.3
|
||||
%Çì<C387>¢
|
||||
5 0 obj
|
||||
<</Length 6 0 R/Filter /FlateDecode>>
|
||||
stream
|
||||
xœ’ËNÃ0E÷þŠY‹ÁOü<4F>PÅ’–æJ”VE } Êï3IãÔU»AB‘eùÞñÜ£qv Ñ€î¾a¯Zuÿæaõ¥4¼ÈZ©<5A>2}[ÕÂS)EØ`0&@¹TÇˬGc<47>b´Q”ºÙÖ›éb¿˜n¶“ây€Ék <09>·å‡š”j¦,c`Kð#=ÖÊDiàXz±Ó:.:ξVó¿±xFêngÑËžX®s¤dc£”ÛÈ7Á£ÕduCéóçõþ°®ê‹TòRÌŤ!13a¡cŸú¼iÛïÏuµxo.£ÙƒÒãj´*2N^‡
|
||||
G¯=<1E>æ)B#•gBòûYRæÃíüB8<42>àò«8)hßy™’_iÔòî¨<C3AE>Ž‹1„ØFÔYH’?Œöä ‚Ô!ƒÈ”ó ÂrÊ1ÄKè³<C3A8>$~òè'áÁºÍ"SÎ{ÄLý®ÆÄÆendstream
|
||||
endobj
|
||||
6 0 obj
|
||||
354
|
||||
endobj
|
||||
4 0 obj
|
||||
<</Type/Page/MediaBox [0 0 500 487.8]
|
||||
/Parent 3 0 R
|
||||
/Resources<</ProcSet[/PDF /Text]
|
||||
/ExtGState 9 0 R
|
||||
/Font 10 0 R
|
||||
>>
|
||||
/Contents 5 0 R
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /Type /Pages /Kids [
|
||||
4 0 R
|
||||
] /Count 1
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<</Type /Catalog /Pages 3 0 R
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<</Type/ExtGState
|
||||
/OPM 1>>endobj
|
||||
9 0 obj
|
||||
<</R7
|
||||
7 0 R>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<</R8
|
||||
8 0 R>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<</BaseFont/Times-Roman/Type/Font
|
||||
/Subtype/Type1>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<</Producer(ESP Ghostscript 815.02)
|
||||
/CreationDate(D:20061230145531)
|
||||
/ModDate(D:20061230145531)
|
||||
/Title(ClassName)
|
||||
/Creator(Doxygen)
|
||||
/Author()>>endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000669 00000 n
|
||||
0000000883 00000 n
|
||||
0000000610 00000 n
|
||||
0000000458 00000 n
|
||||
0000000015 00000 n
|
||||
0000000439 00000 n
|
||||
0000000717 00000 n
|
||||
0000000817 00000 n
|
||||
0000000758 00000 n
|
||||
0000000787 00000 n
|
||||
trailer
|
||||
<< /Size 11 /Root 1 0 R /Info 2 0 R
|
||||
/ID [(Kf¦Ý/6@ßÒ¾oQnr)(Kf¦Ý/6@ßÒ¾oQnr)]
|
||||
>>
|
||||
startxref
|
||||
1040
|
||||
%%EOF
|
||||
258
trunk/paradiseo-peo/docs/latex/classpeoParaPopEval.tex
Normal file
258
trunk/paradiseo-peo/docs/latex/classpeoParaPopEval.tex
Normal file
|
|
@ -0,0 +1,258 @@
|
|||
\hypertarget{classpeoParaPopEval}{
|
||||
\section{peo\-Para\-Pop\-Eval$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoParaPopEval}\index{peoParaPopEval@{peoParaPopEval}}
|
||||
}
|
||||
The \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Para\-Pop\-Eval.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Para\-Pop\-Eval$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classpeoParaPopEval}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classpeoParaPopEval_bcb540510a7038520bec41a7af332daf}{peo\-Para\-Pop\-Eval} (eo\-Eval\-Func$<$ EOT $>$ \&\_\-\_\-eval\_\-func)
|
||||
\begin{CompactList}\small\item\em Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor. \item\end{CompactList}\item
|
||||
\hyperlink{classpeoParaPopEval_1cc13a1ec366f95d219d682eccb455bc}{peo\-Para\-Pop\-Eval} (const std::vector$<$ eo\-Eval\-Func$<$ EOT $>$ $\ast$ $>$ \&\_\-\_\-funcs, \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \&\_\-\_\-merge\_\-eval)
|
||||
\begin{CompactList}\small\item\em Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoParaPopEval_aeaa4fca4f8650e453e308838b4a2cb5}{operator()} (eo\-Pop$<$ EOT $>$ \&\_\-\_\-pop)
|
||||
\begin{CompactList}\small\item\em Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoParaPopEval_fea632bd645ab11182782fd3c038d6d8}{pack\-Data} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoParaPopEval_410bf4c173e2f36df82251cb16ce1b05}{unpack\-Data} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoParaPopEval_3af76378611eac5a36da9a0a00aeeb6c}{
|
||||
void \hyperlink{classpeoParaPopEval_3af76378611eac5a36da9a0a00aeeb6c}{execute} ()}
|
||||
\label{classpeoParaPopEval_3af76378611eac5a36da9a0a00aeeb6c}
|
||||
|
||||
\begin{CompactList}\small\item\em Auxiliary function - it calls the specified evaluation functor(s). There is no need to explicitly call the function. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoParaPopEval_24bb4ae84b0b9f64e7170e3d2b0e1223}{pack\-Result} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoParaPopEval_fd7f0afe9cba30be39269d16097e190e}{unpack\-Result} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoParaPopEval_1f78c3cec2940af08a059cc1aa96a9c8}{notify\-Sending\-Data} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoParaPopEval_b77031fc4807921ffaf7cf6b669a7665}{notify\-Sending\-All\-Resource\-Requests} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_6d69b8f73c0b5d72baf75d6e53f025b7}{
|
||||
const std::vector$<$ eo\-Eval\-Func$<$ EOT $>$ $\ast$ $>$ \& \hyperlink{classpeoParaPopEval_6d69b8f73c0b5d72baf75d6e53f025b7}{funcs}}
|
||||
\label{classpeoParaPopEval_6d69b8f73c0b5d72baf75d6e53f025b7}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_f0e8af3ee442d2b6baf0bd122226be3c}{
|
||||
std::vector$<$ eo\-Eval\-Func$<$ EOT $>$ $\ast$ $>$ \hyperlink{classpeoParaPopEval_f0e8af3ee442d2b6baf0bd122226be3c}{one\_\-func}}
|
||||
\label{classpeoParaPopEval_f0e8af3ee442d2b6baf0bd122226be3c}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_b48bcd4e9f92f364118304535c089456}{
|
||||
\hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \& \hyperlink{classpeoParaPopEval_b48bcd4e9f92f364118304535c089456}{merge\_\-eval}}
|
||||
\label{classpeoParaPopEval_b48bcd4e9f92f364118304535c089456}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_bf255dd5861e27108c2abae7309d7690}{
|
||||
\hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func}$<$ EOT $>$ \hyperlink{classpeoParaPopEval_bf255dd5861e27108c2abae7309d7690}{no\_\-merge\_\-eval}}
|
||||
\label{classpeoParaPopEval_bf255dd5861e27108c2abae7309d7690}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_af76cd18368a0f6185878f37f0b5f272}{
|
||||
std::queue$<$ EOT $\ast$ $>$ \hyperlink{classpeoParaPopEval_af76cd18368a0f6185878f37f0b5f272}{tasks}}
|
||||
\label{classpeoParaPopEval_af76cd18368a0f6185878f37f0b5f272}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_80e7e34bb1bb2d12f1f2eed3feac6ecf}{
|
||||
std::map$<$ EOT $\ast$, std::pair$<$ unsigned, unsigned $>$ $>$ \hyperlink{classpeoParaPopEval_80e7e34bb1bb2d12f1f2eed3feac6ecf}{progression}}
|
||||
\label{classpeoParaPopEval_80e7e34bb1bb2d12f1f2eed3feac6ecf}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_87abb090c0de39f0ccc36af1f07cca0c}{
|
||||
unsigned \hyperlink{classpeoParaPopEval_87abb090c0de39f0ccc36af1f07cca0c}{num\_\-func}}
|
||||
\label{classpeoParaPopEval_87abb090c0de39f0ccc36af1f07cca0c}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_fb6941e0455515a908eb82342b995163}{
|
||||
EOT \hyperlink{classpeoParaPopEval_fb6941e0455515a908eb82342b995163}{sol}}
|
||||
\label{classpeoParaPopEval_fb6941e0455515a908eb82342b995163}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_60cafeab376262af675fdff43434c8d8}{
|
||||
EOT $\ast$ \hyperlink{classpeoParaPopEval_60cafeab376262af675fdff43434c8d8}{ad\_\-sol}}
|
||||
\label{classpeoParaPopEval_60cafeab376262af675fdff43434c8d8}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaPopEval_b528ad9dd9006c3dd57f149a3843e57d}{
|
||||
unsigned \hyperlink{classpeoParaPopEval_b528ad9dd9006c3dd57f149a3843e57d}{total}}
|
||||
\label{classpeoParaPopEval_b528ad9dd9006c3dd57f149a3843e57d}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Para\-Pop\-Eval$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor.
|
||||
|
||||
The class offers the possibility of chosing between a single-function evaluation and an aggregate evaluation function, including several sub-evalution functions.
|
||||
|
||||
|
||||
|
||||
Definition at line 41 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classpeoParaPopEval_bcb540510a7038520bec41a7af332daf}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!peoParaPopEval@{peoParaPopEval}}
|
||||
\index{peoParaPopEval@{peoParaPopEval}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[peoParaPopEval]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::\hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} (eo\-Eval\-Func$<$ EOT $>$ \& {\em \_\-\_\-eval\_\-func})}}
|
||||
\label{classpeoParaPopEval_bcb540510a7038520bec41a7af332daf}
|
||||
|
||||
|
||||
Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Eval\-Func$<$}]EOT $>$\& \_\-\_\-eval\_\-func - EO-derived evaluation functor to be applied in parallel on each individual of a specified population \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 117 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
References peo\-Para\-Pop\-Eval$<$ EOT $>$::one\_\-func.\hypertarget{classpeoParaPopEval_1cc13a1ec366f95d219d682eccb455bc}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!peoParaPopEval@{peoParaPopEval}}
|
||||
\index{peoParaPopEval@{peoParaPopEval}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[peoParaPopEval]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::\hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} (const std::vector$<$ eo\-Eval\-Func$<$ EOT $>$ $\ast$ $>$ \& {\em \_\-\_\-funcs}, \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-\_\-merge\_\-eval})}}
|
||||
\label{classpeoParaPopEval_1cc13a1ec366f95d219d682eccb455bc}
|
||||
|
||||
|
||||
Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em const}]std :: vector$<$ eo\-Eval\-Func $<$ EOT $>$$\ast$ $>$\& \_\-\_\-funcs - vector of EO-derived partial evaluation functors; \item[{\em peo\-Agg\-Eval\-Func$<$}]EOT $>$\& \_\-\_\-merge\_\-eval - aggregation functor for creating a fitness value out of the partial fitness values. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 126 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\hypertarget{classpeoParaPopEval_aeaa4fca4f8650e453e308838b4a2cb5}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::operator() (eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-pop})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoParaPopEval_aeaa4fca4f8650e453e308838b4a2cb5}
|
||||
|
||||
|
||||
Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - population to be evaluated by applying the evaluation functor specified in the constructor. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Implements \hyperlink{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{peo\-Pop\-Eval$<$ EOT $>$}.
|
||||
|
||||
Definition at line 137 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
References peo\-Para\-Pop\-Eval$<$ EOT $>$::funcs, peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, Service::request\-Resource\-Request(), Communicable::stop(), peo\-Para\-Pop\-Eval$<$ EOT $>$::tasks, and peo\-Para\-Pop\-Eval$<$ EOT $>$::total.\hypertarget{classpeoParaPopEval_fea632bd645ab11182782fd3c038d6d8}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!packData@{packData}}
|
||||
\index{packData@{packData}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[packData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::pack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoParaPopEval_fea632bd645ab11182782fd3c038d6d8}
|
||||
|
||||
|
||||
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{Service}.
|
||||
|
||||
Definition at line 158 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
References peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, and peo\-Para\-Pop\-Eval$<$ EOT $>$::tasks.\hypertarget{classpeoParaPopEval_410bf4c173e2f36df82251cb16ce1b05}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!unpackData@{unpackData}}
|
||||
\index{unpackData@{unpackData}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[unpackData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::unpack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoParaPopEval_410bf4c173e2f36df82251cb16ce1b05}
|
||||
|
||||
|
||||
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_3bd87b444710813d30fd754d4d0b4df3}{Service}.
|
||||
|
||||
Definition at line 172 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, peo\-Para\-Pop\-Eval$<$ EOT $>$::num\_\-func, and peo\-Para\-Pop\-Eval$<$ EOT $>$::sol.\hypertarget{classpeoParaPopEval_24bb4ae84b0b9f64e7170e3d2b0e1223}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!packResult@{packResult}}
|
||||
\index{packResult@{packResult}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[packResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::pack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoParaPopEval_24bb4ae84b0b9f64e7170e3d2b0e1223}
|
||||
|
||||
|
||||
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{Service}.
|
||||
|
||||
Definition at line 189 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, and peo\-Para\-Pop\-Eval$<$ EOT $>$::sol.\hypertarget{classpeoParaPopEval_fd7f0afe9cba30be39269d16097e190e}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!unpackResult@{unpackResult}}
|
||||
\index{unpackResult@{unpackResult}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[unpackResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::unpack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoParaPopEval_fd7f0afe9cba30be39269d16097e190e}
|
||||
|
||||
|
||||
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_45c06344edbfa482b91f68e2035a6099}{Service}.
|
||||
|
||||
Definition at line 198 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, Service::get\-Owner(), peo\-Para\-Pop\-Eval$<$ EOT $>$::merge\_\-eval, peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, Communicable::resume(), Thread::set\-Active(), and peo\-Para\-Pop\-Eval$<$ EOT $>$::total.\hypertarget{classpeoParaPopEval_1f78c3cec2940af08a059cc1aa96a9c8}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!notifySendingData@{notifySendingData}}
|
||||
\index{notifySendingData@{notifySendingData}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[notifySendingData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::notify\-Sending\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoParaPopEval_1f78c3cec2940af08a059cc1aa96a9c8}
|
||||
|
||||
|
||||
Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_81ad4d6ebb50045b8977e2ab74826f30}{Service}.
|
||||
|
||||
Definition at line 229 of file peo\-Para\-Pop\-Eval.h.\hypertarget{classpeoParaPopEval_b77031fc4807921ffaf7cf6b669a7665}{
|
||||
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!notifySendingAllResourceRequests@{notifySendingAllResourceRequests}}
|
||||
\index{notifySendingAllResourceRequests@{notifySendingAllResourceRequests}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
||||
\subsubsection[notifySendingAllResourceRequests]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::notify\-Sending\-All\-Resource\-Requests ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoParaPopEval_b77031fc4807921ffaf7cf6b669a7665}
|
||||
|
||||
|
||||
Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_f94cc8a5c2665d4574041737e61e9ffc}{Service}.
|
||||
|
||||
Definition at line 234 of file peo\-Para\-Pop\-Eval.h.
|
||||
|
||||
References Service::get\-Owner(), and Thread::set\-Passive().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Para\-Pop\-Eval.h\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classpeoParaSGATransform.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classpeoParaSGATransform.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 400
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 1.25 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(peoParaSGATransform< EOT >) cw
|
||||
(peoTransform< EOT >) cw
|
||||
(Service) cw
|
||||
(Communicable) 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 -----
|
||||
|
||||
(peoParaSGATransform< EOT >) 0 0 box
|
||||
(peoTransform< EOT >) 0 1 box
|
||||
(Service) 0 2 box
|
||||
(Communicable) 0 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
0 0 2 out
|
||||
solid
|
||||
1 0 3 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classpeoParaSGATransform.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classpeoParaSGATransform.pdf
Normal file
Binary file not shown.
120
trunk/paradiseo-peo/docs/latex/classpeoParaSGATransform.tex
Normal file
120
trunk/paradiseo-peo/docs/latex/classpeoParaSGATransform.tex
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
\hypertarget{classpeoParaSGATransform}{
|
||||
\section{peo\-Para\-SGATransform$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoParaSGATransform}\index{peoParaSGATransform@{peoParaSGATransform}}
|
||||
}
|
||||
Inheritance diagram for peo\-Para\-SGATransform$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classpeoParaSGATransform}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_2052bca82fbbfe5455bf6f69246d4dbf}{
|
||||
\hyperlink{classpeoParaSGATransform_2052bca82fbbfe5455bf6f69246d4dbf}{peo\-Para\-SGATransform} (eo\-Quad\-Op$<$ EOT $>$ \&\_\-\_\-cross, double \_\-\_\-cross\_\-rate, eo\-Mon\-Op$<$ EOT $>$ \&\_\-\_\-mut, double \_\-\_\-mut\_\-rate)}
|
||||
\label{classpeoParaSGATransform_2052bca82fbbfe5455bf6f69246d4dbf}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_669de7f7c6316fa745a15b909efb6527}{
|
||||
void \hyperlink{classpeoParaSGATransform_669de7f7c6316fa745a15b909efb6527}{operator()} (eo\-Pop$<$ EOT $>$ \&\_\-\_\-pop)}
|
||||
\label{classpeoParaSGATransform_669de7f7c6316fa745a15b909efb6527}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_fd278bcde58d29c9a343d5cbead81a1e}{
|
||||
void \hyperlink{classpeoParaSGATransform_fd278bcde58d29c9a343d5cbead81a1e}{pack\-Data} ()}
|
||||
\label{classpeoParaSGATransform_fd278bcde58d29c9a343d5cbead81a1e}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_a43a487a6e81791c8bbf6ce30f4336ab}{
|
||||
void \hyperlink{classpeoParaSGATransform_a43a487a6e81791c8bbf6ce30f4336ab}{unpack\-Data} ()}
|
||||
\label{classpeoParaSGATransform_a43a487a6e81791c8bbf6ce30f4336ab}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_c9de2100fb897177a401c634002f6dd9}{
|
||||
void \hyperlink{classpeoParaSGATransform_c9de2100fb897177a401c634002f6dd9}{execute} ()}
|
||||
\label{classpeoParaSGATransform_c9de2100fb897177a401c634002f6dd9}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_ba08e224ceaa4149e8e1a88694a2ccf2}{
|
||||
void \hyperlink{classpeoParaSGATransform_ba08e224ceaa4149e8e1a88694a2ccf2}{pack\-Result} ()}
|
||||
\label{classpeoParaSGATransform_ba08e224ceaa4149e8e1a88694a2ccf2}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_257663dcdc6cc95b6183d472ffba1b2f}{
|
||||
void \hyperlink{classpeoParaSGATransform_257663dcdc6cc95b6183d472ffba1b2f}{unpack\-Result} ()}
|
||||
\label{classpeoParaSGATransform_257663dcdc6cc95b6183d472ffba1b2f}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_4e19dfc22b6f69fa8b93537226551866}{
|
||||
void \hyperlink{classpeoParaSGATransform_4e19dfc22b6f69fa8b93537226551866}{notify\-Sending\-Data} ()}
|
||||
\label{classpeoParaSGATransform_4e19dfc22b6f69fa8b93537226551866}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_8a0316e33897c395a81787f59ea7a1c8}{
|
||||
void \hyperlink{classpeoParaSGATransform_8a0316e33897c395a81787f59ea7a1c8}{notify\-Sending\-All\-Resource\-Requests} ()}
|
||||
\label{classpeoParaSGATransform_8a0316e33897c395a81787f59ea7a1c8}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_c6f97deabe7502c84f5b6c479013f6dc}{
|
||||
eo\-Quad\-Op$<$ EOT $>$ \& \hyperlink{classpeoParaSGATransform_c6f97deabe7502c84f5b6c479013f6dc}{cross}}
|
||||
\label{classpeoParaSGATransform_c6f97deabe7502c84f5b6c479013f6dc}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_dfcf216e2df05016db4d57a5ffb0b0e2}{
|
||||
double \hyperlink{classpeoParaSGATransform_dfcf216e2df05016db4d57a5ffb0b0e2}{cross\_\-rate}}
|
||||
\label{classpeoParaSGATransform_dfcf216e2df05016db4d57a5ffb0b0e2}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_34ff5f9d285ca4879cf8865fb425a311}{
|
||||
eo\-Mon\-Op$<$ EOT $>$ \& \hyperlink{classpeoParaSGATransform_34ff5f9d285ca4879cf8865fb425a311}{mut}}
|
||||
\label{classpeoParaSGATransform_34ff5f9d285ca4879cf8865fb425a311}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_b9d3a2094737d0bbd034aac942cc53e3}{
|
||||
double \hyperlink{classpeoParaSGATransform_b9d3a2094737d0bbd034aac942cc53e3}{mut\_\-rate}}
|
||||
\label{classpeoParaSGATransform_b9d3a2094737d0bbd034aac942cc53e3}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_03972feadc86626e58fe60bd4061b57e}{
|
||||
unsigned \hyperlink{classpeoParaSGATransform_03972feadc86626e58fe60bd4061b57e}{idx}}
|
||||
\label{classpeoParaSGATransform_03972feadc86626e58fe60bd4061b57e}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_94e10a1285e128aba6e71517c941f961}{
|
||||
eo\-Pop$<$ EOT $>$ $\ast$ \hyperlink{classpeoParaSGATransform_94e10a1285e128aba6e71517c941f961}{pop}}
|
||||
\label{classpeoParaSGATransform_94e10a1285e128aba6e71517c941f961}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_9ef60190e2e3bd5961a93d1b52cb275d}{
|
||||
EOT \hyperlink{classpeoParaSGATransform_9ef60190e2e3bd5961a93d1b52cb275d}{father}}
|
||||
\label{classpeoParaSGATransform_9ef60190e2e3bd5961a93d1b52cb275d}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_e991ad2af6d116afd855de2db46e1d27}{
|
||||
EOT \hyperlink{classpeoParaSGATransform_e991ad2af6d116afd855de2db46e1d27}{mother}}
|
||||
\label{classpeoParaSGATransform_e991ad2af6d116afd855de2db46e1d27}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoParaSGATransform_589ea7cd72d522ae51a07de4d8ffbf11}{
|
||||
unsigned \hyperlink{classpeoParaSGATransform_589ea7cd72d522ae51a07de4d8ffbf11}{num\_\-term}}
|
||||
\label{classpeoParaSGATransform_589ea7cd72d522ae51a07de4d8ffbf11}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Para\-SGATransform$<$ EOT $>$}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 36 of file peo\-Para\-SGATransform.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Para\-SGATransform.h\end{CompactItemize}
|
||||
215
trunk/paradiseo-peo/docs/latex/classpeoPopEval.eps
Normal file
215
trunk/paradiseo-peo/docs/latex/classpeoPopEval.eps
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 243.902
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 2.05 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 2 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(peoPopEval< EOT >) cw
|
||||
(Service) cw
|
||||
(Communicable) cw
|
||||
(peoParaPopEval< EOT >) cw
|
||||
(peoSeqPopEval< 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 -----
|
||||
|
||||
(peoPopEval< EOT >) 0.5 1 box
|
||||
(Service) 0.5 2 box
|
||||
(Communicable) 0.5 3 box
|
||||
(peoParaPopEval< EOT >) 0 0 box
|
||||
(peoSeqPopEval< EOT >) 1 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
1 0.5 2 in
|
||||
solid
|
||||
0 0.5 2 out
|
||||
solid
|
||||
1 0.5 3 in
|
||||
solid
|
||||
1 0.5 0.25 out
|
||||
solid
|
||||
0 1 1 conn
|
||||
solid
|
||||
0 0 0.75 in
|
||||
solid
|
||||
0 1 0.75 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classpeoPopEval.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classpeoPopEval.pdf
Normal file
Binary file not shown.
39
trunk/paradiseo-peo/docs/latex/classpeoPopEval.tex
Normal file
39
trunk/paradiseo-peo/docs/latex/classpeoPopEval.tex
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
\hypertarget{classpeoPopEval}{
|
||||
\section{peo\-Pop\-Eval$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoPopEval}\index{peoPopEval@{peoPopEval}}
|
||||
}
|
||||
The {\bf \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}} class provides the interface for constructing Paradis\-EO specific evaluation functors.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Pop\-Eval.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Pop\-Eval$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classpeoPopEval}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{
|
||||
virtual void \hyperlink{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{operator()} (eo\-Pop$<$ EOT $>$ \&\_\-\_\-pop)=0}
|
||||
\label{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}
|
||||
|
||||
\begin{CompactList}\small\item\em Interface function providing the signature for constructing an evaluation functor. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Pop\-Eval$<$ EOT $>$}
|
||||
|
||||
The {\bf \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}} class provides the interface for constructing Paradis\-EO specific evaluation functors.
|
||||
|
||||
The derived classes may be used as wrappers for {\bf EO}-derived evaluation functors. In order to have an example, please refer to the implementation of the {\bf \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval}} and {\bf \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}} classes.
|
||||
|
||||
|
||||
|
||||
Definition at line 34 of file peo\-Pop\-Eval.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Pop\-Eval.h\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classpeoSeqPopEval.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classpeoSeqPopEval.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 506.329
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 0.9875 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/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
|
||||
(peoSeqPopEval< EOT >) cw
|
||||
(peoPopEval< EOT >) cw
|
||||
(Service) cw
|
||||
(Communicable) 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 -----
|
||||
|
||||
(peoSeqPopEval< EOT >) 0 0 box
|
||||
(peoPopEval< EOT >) 0 1 box
|
||||
(Service) 0 2 box
|
||||
(Communicable) 0 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
0 0 2 out
|
||||
solid
|
||||
1 0 3 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classpeoSeqPopEval.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classpeoSeqPopEval.pdf
Normal file
Binary file not shown.
88
trunk/paradiseo-peo/docs/latex/classpeoSeqPopEval.tex
Normal file
88
trunk/paradiseo-peo/docs/latex/classpeoSeqPopEval.tex
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
\hypertarget{classpeoSeqPopEval}{
|
||||
\section{peo\-Seq\-Pop\-Eval$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoSeqPopEval}\index{peoSeqPopEval@{peoSeqPopEval}}
|
||||
}
|
||||
The \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval} class acts only as a Paradis\-EO specific sequential evaluation functor - a wrapper for incorporating an {\bf eo\-Eval\-Func$<$ EOT $>$}-derived class as evaluation functor.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Seq\-Pop\-Eval.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Seq\-Pop\-Eval$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classpeoSeqPopEval}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classpeoSeqPopEval_a41f91ab4b2aeb325ff75feb66d4e003}{peo\-Seq\-Pop\-Eval} (eo\-Eval\-Func$<$ EOT $>$ \&\_\-\_\-eval)
|
||||
\begin{CompactList}\small\item\em Constructor function - it only sets an internal reference to point to the specified evaluation object. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSeqPopEval_b2c88b9a3ad9091949acf741844eb02f}{operator()} (eo\-Pop$<$ EOT $>$ \&\_\-\_\-pop)
|
||||
\begin{CompactList}\small\item\em Operator for evaluating all the individuals of a given population - in a sequential iterative manner. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoSeqPopEval_5465f31386c6b96bc8f7fb9393a28a2f}{
|
||||
eo\-Eval\-Func$<$ EOT $>$ \& \hyperlink{classpeoSeqPopEval_5465f31386c6b96bc8f7fb9393a28a2f}{eval}}
|
||||
\label{classpeoSeqPopEval_5465f31386c6b96bc8f7fb9393a28a2f}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Seq\-Pop\-Eval$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval} class acts only as a Paradis\-EO specific sequential evaluation functor - a wrapper for incorporating an {\bf eo\-Eval\-Func$<$ EOT $>$}-derived class as evaluation functor.
|
||||
|
||||
The specified EO evaluation object is applyied in an iterative manner to each individual of a specified population.
|
||||
|
||||
|
||||
|
||||
Definition at line 36 of file peo\-Seq\-Pop\-Eval.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classpeoSeqPopEval_a41f91ab4b2aeb325ff75feb66d4e003}{
|
||||
\index{peoSeqPopEval@{peo\-Seq\-Pop\-Eval}!peoSeqPopEval@{peoSeqPopEval}}
|
||||
\index{peoSeqPopEval@{peoSeqPopEval}!peoSeqPopEval@{peo\-Seq\-Pop\-Eval}}
|
||||
\subsubsection[peoSeqPopEval]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval}$<$ EOT $>$::\hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval} (eo\-Eval\-Func$<$ EOT $>$ \& {\em \_\-\_\-eval})}}
|
||||
\label{classpeoSeqPopEval_a41f91ab4b2aeb325ff75feb66d4e003}
|
||||
|
||||
|
||||
Constructor function - it only sets an internal reference to point to the specified evaluation object.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Eval\-Func$<$}]EOT $>$\& \_\-\_\-eval - evaluation object to be applied for each individual of a specified population \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 56 of file peo\-Seq\-Pop\-Eval.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\hypertarget{classpeoSeqPopEval_b2c88b9a3ad9091949acf741844eb02f}{
|
||||
\index{peoSeqPopEval@{peo\-Seq\-Pop\-Eval}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!peoSeqPopEval@{peo\-Seq\-Pop\-Eval}}
|
||||
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval}$<$ EOT $>$::operator() (eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-pop})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoSeqPopEval_b2c88b9a3ad9091949acf741844eb02f}
|
||||
|
||||
|
||||
Operator for evaluating all the individuals of a given population - in a sequential iterative manner.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - population to be evaluated. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Implements \hyperlink{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{peo\-Pop\-Eval$<$ EOT $>$}.
|
||||
|
||||
Definition at line 61 of file peo\-Seq\-Pop\-Eval.h.
|
||||
|
||||
References peo\-Seq\-Pop\-Eval$<$ EOT $>$::eval.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Seq\-Pop\-Eval.h\end{CompactItemize}
|
||||
209
trunk/paradiseo-peo/docs/latex/classpeoSeqTransform.eps
Normal file
209
trunk/paradiseo-peo/docs/latex/classpeoSeqTransform.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 476.19
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 1.05 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(peoSeqTransform< EOT >) cw
|
||||
(peoTransform< EOT >) cw
|
||||
(Service) cw
|
||||
(Communicable) 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 -----
|
||||
|
||||
(peoSeqTransform< EOT >) 0 0 box
|
||||
(peoTransform< EOT >) 0 1 box
|
||||
(Service) 0 2 box
|
||||
(Communicable) 0 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
0 0 2 out
|
||||
solid
|
||||
1 0 3 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classpeoSeqTransform.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classpeoSeqTransform.pdf
Normal file
Binary file not shown.
111
trunk/paradiseo-peo/docs/latex/classpeoSeqTransform.tex
Normal file
111
trunk/paradiseo-peo/docs/latex/classpeoSeqTransform.tex
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
\hypertarget{classpeoSeqTransform}{
|
||||
\section{peo\-Seq\-Transform$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoSeqTransform}\index{peoSeqTransform@{peoSeqTransform}}
|
||||
}
|
||||
The \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform} represent a wrapper for offering the possibility of using EO derived transform operators along with the Paradis\-EO evolutionary algorithms.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Seq\-Transform.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Seq\-Transform$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classpeoSeqTransform}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classpeoSeqTransform_3b8e4ed19d9458938eb669d83a53c626}{peo\-Seq\-Transform} (eo\-Transform$<$ EOT $>$ \&\_\-\_\-trans)
|
||||
\begin{CompactList}\small\item\em Constructor function - sets an internal reference towards the specified EO-derived transform object. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSeqTransform_1ba63536abb6c4e1c369e0b7e066872e}{operator()} (eo\-Pop$<$ EOT $>$ \&\_\-\_\-pop)
|
||||
\begin{CompactList}\small\item\em Operator for applying the specified transform operators on each individual of the given population. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoSeqTransform_c4bf2724e9f6055f12bd169fad893be3}{
|
||||
virtual void \hyperlink{classpeoSeqTransform_c4bf2724e9f6055f12bd169fad893be3}{pack\-Data} ()}
|
||||
\label{classpeoSeqTransform_c4bf2724e9f6055f12bd169fad893be3}
|
||||
|
||||
\begin{CompactList}\small\item\em Interface function for providing a link with the parallel architecture of the Paradis\-EO framework. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoSeqTransform_24e6cf15ef230ed538031b522ddd4ae6}{
|
||||
virtual void \hyperlink{classpeoSeqTransform_24e6cf15ef230ed538031b522ddd4ae6}{unpack\-Data} ()}
|
||||
\label{classpeoSeqTransform_24e6cf15ef230ed538031b522ddd4ae6}
|
||||
|
||||
\begin{CompactList}\small\item\em Interface function for providing a link with the parallel architecture of the Paradis\-EO framework. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoSeqTransform_0294a2f9d6b44ec74d22eaceccdffc2b}{
|
||||
virtual void \hyperlink{classpeoSeqTransform_0294a2f9d6b44ec74d22eaceccdffc2b}{execute} ()}
|
||||
\label{classpeoSeqTransform_0294a2f9d6b44ec74d22eaceccdffc2b}
|
||||
|
||||
\begin{CompactList}\small\item\em Interface function for providing a link with the parallel architecture of the Paradis\-EO framework. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoSeqTransform_4861c61f9e46d83964ea8a156a9a3ee0}{
|
||||
virtual void \hyperlink{classpeoSeqTransform_4861c61f9e46d83964ea8a156a9a3ee0}{pack\-Result} ()}
|
||||
\label{classpeoSeqTransform_4861c61f9e46d83964ea8a156a9a3ee0}
|
||||
|
||||
\begin{CompactList}\small\item\em Interface function for providing a link with the parallel architecture of the Paradis\-EO framework. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoSeqTransform_5dd029fc011eb2a810ca1140025129b1}{
|
||||
virtual void \hyperlink{classpeoSeqTransform_5dd029fc011eb2a810ca1140025129b1}{unpack\-Result} ()}
|
||||
\label{classpeoSeqTransform_5dd029fc011eb2a810ca1140025129b1}
|
||||
|
||||
\begin{CompactList}\small\item\em Interface function for providing a link with the parallel architecture of the Paradis\-EO framework. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoSeqTransform_ad3e16c59dd6c46dfc1baf7b88af30cf}{
|
||||
eo\-Transform$<$ EOT $>$ \& \hyperlink{classpeoSeqTransform_ad3e16c59dd6c46dfc1baf7b88af30cf}{trans}}
|
||||
\label{classpeoSeqTransform_ad3e16c59dd6c46dfc1baf7b88af30cf}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Seq\-Transform$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform} represent a wrapper for offering the possibility of using EO derived transform operators along with the Paradis\-EO evolutionary algorithms.
|
||||
|
||||
A minimal set of interface functions is also provided for creating the link with the parallel architecture of the Paradis\-EO framework.
|
||||
|
||||
|
||||
|
||||
Definition at line 35 of file peo\-Seq\-Transform.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classpeoSeqTransform_3b8e4ed19d9458938eb669d83a53c626}{
|
||||
\index{peoSeqTransform@{peo\-Seq\-Transform}!peoSeqTransform@{peoSeqTransform}}
|
||||
\index{peoSeqTransform@{peoSeqTransform}!peoSeqTransform@{peo\-Seq\-Transform}}
|
||||
\subsubsection[peoSeqTransform]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}$<$ EOT $>$::\hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform} (eo\-Transform$<$ EOT $>$ \& {\em \_\-\_\-trans})}}
|
||||
\label{classpeoSeqTransform_3b8e4ed19d9458938eb669d83a53c626}
|
||||
|
||||
|
||||
Constructor function - sets an internal reference towards the specified EO-derived transform object.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Transform$<$}]EOT $>$\& \_\-\_\-trans - EO-derived transform object including crossover and mutation operators. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 70 of file peo\-Seq\-Transform.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\hypertarget{classpeoSeqTransform_1ba63536abb6c4e1c369e0b7e066872e}{
|
||||
\index{peoSeqTransform@{peo\-Seq\-Transform}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!peoSeqTransform@{peo\-Seq\-Transform}}
|
||||
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}$<$ EOT $>$::operator() (eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-pop})}}
|
||||
\label{classpeoSeqTransform_1ba63536abb6c4e1c369e0b7e066872e}
|
||||
|
||||
|
||||
Operator for applying the specified transform operators on each individual of the given population.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - population to be transformed by applying the crossover and mutation operators. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 75 of file peo\-Seq\-Transform.h.
|
||||
|
||||
References peo\-Seq\-Transform$<$ EOT $>$::trans.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Seq\-Transform.h\end{CompactItemize}
|
||||
203
trunk/paradiseo-peo/docs/latex/classpeoSyncIslandMig.eps
Normal file
203
trunk/paradiseo-peo/docs/latex/classpeoSyncIslandMig.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
|
||||
(peoSyncIslandMig< EOT >) cw
|
||||
(Cooperative) cw
|
||||
(Communicable) 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 -----
|
||||
|
||||
(peoSyncIslandMig< EOT >) 0 0 box
|
||||
(Cooperative) 0 1 box
|
||||
(Communicable) 0 2 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classpeoSyncIslandMig.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classpeoSyncIslandMig.pdf
Normal file
Binary file not shown.
225
trunk/paradiseo-peo/docs/latex/classpeoSyncIslandMig.tex
Normal file
225
trunk/paradiseo-peo/docs/latex/classpeoSyncIslandMig.tex
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
\hypertarget{classpeoSyncIslandMig}{
|
||||
\section{peo\-Sync\-Island\-Mig$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoSyncIslandMig}\index{peoSyncIslandMig@{peoSyncIslandMig}}
|
||||
}
|
||||
The \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Sync\-Island\-Mig.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Sync\-Island\-Mig$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classpeoSyncIslandMig}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classpeoSyncIslandMig_96b7b6de20b5e318a8b1cde76842305c}{peo\-Sync\-Island\-Mig} (unsigned \_\-\_\-frequency, eo\-Select$<$ EOT $>$ \&\_\-\_\-select, eo\-Replacement$<$ EOT $>$ \&\_\-\_\-replace, \hyperlink{classTopology}{Topology} \&\_\-\_\-topology, eo\-Pop$<$ EOT $>$ \&\_\-\_\-source, eo\-Pop$<$ EOT $>$ \&\_\-\_\-destination)
|
||||
\begin{CompactList}\small\item\em Constructor for the \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncIslandMig_178476fd276f78b73607b33d19522c36}{operator()} ()
|
||||
\begin{CompactList}\small\item\em Function operator to be called as checkpoint for performing the migration step. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoSyncIslandMig_e334188141eeba9f7b78bc6716f819ad}{
|
||||
void \hyperlink{classpeoSyncIslandMig_e334188141eeba9f7b78bc6716f819ad}{pack} ()}
|
||||
\label{classpeoSyncIslandMig_e334188141eeba9f7b78bc6716f819ad}
|
||||
|
||||
\begin{CompactList}\small\item\em Auxiliary function dealing with sending the emigrant individuals. There is no need to explicitly call the function. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoSyncIslandMig_85777bd9f709c5d4107799e8619948d1}{
|
||||
void \hyperlink{classpeoSyncIslandMig_85777bd9f709c5d4107799e8619948d1}{unpack} ()}
|
||||
\label{classpeoSyncIslandMig_85777bd9f709c5d4107799e8619948d1}
|
||||
|
||||
\begin{CompactList}\small\item\em Auxiliary function dealing with receiving immigrant individuals. There is no need to explicitly call the function. \item\end{CompactList}\item
|
||||
\hypertarget{classpeoSyncIslandMig_8c427b3f91c19ff85f86930366b96008}{
|
||||
void \hyperlink{classpeoSyncIslandMig_8c427b3f91c19ff85f86930366b96008}{notify\-Sending} ()}
|
||||
\label{classpeoSyncIslandMig_8c427b3f91c19ff85f86930366b96008}
|
||||
|
||||
\begin{CompactList}\small\item\em Auxiliary function dealing with migration notifications. There is no need to explicitly call the function. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_4c8416e3acce1a6e4c3b0a442d94b063}{
|
||||
void \hyperlink{classpeoSyncIslandMig_4c8416e3acce1a6e4c3b0a442d94b063}{emigrate} ()}
|
||||
\label{classpeoSyncIslandMig_4c8416e3acce1a6e4c3b0a442d94b063}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_38dd72312a3d16808af1aa7beb9ed4a7}{
|
||||
void \hyperlink{classpeoSyncIslandMig_38dd72312a3d16808af1aa7beb9ed4a7}{immigrate} ()}
|
||||
\label{classpeoSyncIslandMig_38dd72312a3d16808af1aa7beb9ed4a7}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_2d8ae9104376f3e073e0b250d9b425a2}{
|
||||
eo\-Periodic\-Continue$<$ EOT $>$ \hyperlink{classpeoSyncIslandMig_2d8ae9104376f3e073e0b250d9b425a2}{cont}}
|
||||
\label{classpeoSyncIslandMig_2d8ae9104376f3e073e0b250d9b425a2}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_5e9c9f5f65d6418ad46e647ee1804a3d}{
|
||||
eo\-Select$<$ EOT $>$ \& \hyperlink{classpeoSyncIslandMig_5e9c9f5f65d6418ad46e647ee1804a3d}{select}}
|
||||
\label{classpeoSyncIslandMig_5e9c9f5f65d6418ad46e647ee1804a3d}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_cb6d2d909503a86415912900d6e1d891}{
|
||||
eo\-Replacement$<$ EOT $>$ \& \hyperlink{classpeoSyncIslandMig_cb6d2d909503a86415912900d6e1d891}{replace}}
|
||||
\label{classpeoSyncIslandMig_cb6d2d909503a86415912900d6e1d891}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_ebfe6edb6be16d46bf6d71cb233fcace}{
|
||||
\hyperlink{classTopology}{Topology} \& \hyperlink{classpeoSyncIslandMig_ebfe6edb6be16d46bf6d71cb233fcace}{topology}}
|
||||
\label{classpeoSyncIslandMig_ebfe6edb6be16d46bf6d71cb233fcace}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_33fde1f09faf2a3f772d8b8f6a2615c6}{
|
||||
eo\-Pop$<$ EOT $>$ \& \hyperlink{classpeoSyncIslandMig_33fde1f09faf2a3f772d8b8f6a2615c6}{source}}
|
||||
\label{classpeoSyncIslandMig_33fde1f09faf2a3f772d8b8f6a2615c6}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_a9bf4612c7c04da6cf69245c6617e6a6}{
|
||||
eo\-Pop$<$ EOT $>$ \& \hyperlink{classpeoSyncIslandMig_a9bf4612c7c04da6cf69245c6617e6a6}{destination}}
|
||||
\label{classpeoSyncIslandMig_a9bf4612c7c04da6cf69245c6617e6a6}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_088c1623f32668dcd3683fceff9426c3}{
|
||||
std::queue$<$ eo\-Pop$<$ EOT $>$ $>$ \hyperlink{classpeoSyncIslandMig_088c1623f32668dcd3683fceff9426c3}{imm}}
|
||||
\label{classpeoSyncIslandMig_088c1623f32668dcd3683fceff9426c3}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_11d6dd3e4a6db710433f501af0988322}{
|
||||
std::queue$<$ eo\-Pop$<$ EOT $>$ $>$ \hyperlink{classpeoSyncIslandMig_11d6dd3e4a6db710433f501af0988322}{em}}
|
||||
\label{classpeoSyncIslandMig_11d6dd3e4a6db710433f501af0988322}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_2f7ca18d67ab7fb47a9851ab3179eb7d}{
|
||||
std::queue$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoSyncIslandMig_2f7ca18d67ab7fb47a9851ab3179eb7d}{coop\_\-em}}
|
||||
\label{classpeoSyncIslandMig_2f7ca18d67ab7fb47a9851ab3179eb7d}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncIslandMig_91e0e1ea59c2a6a66eb496bddd60a18f}{
|
||||
sem\_\-t \hyperlink{classpeoSyncIslandMig_91e0e1ea59c2a6a66eb496bddd60a18f}{sync}}
|
||||
\label{classpeoSyncIslandMig_91e0e1ea59c2a6a66eb496bddd60a18f}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Sync\-Island\-Mig$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e.
|
||||
|
||||
frequency of the migrations, selection and replacement strategies, a topological model and the source and destination population for the migrating individuals. The main difference as opposed to the asynchronous migration model is the synchronization step performed after selecting and sending the emigrant individuals.
|
||||
|
||||
The migration operator is called at the end of each generation of an evolutionary algorithms as a checkpoint object - the following code exposes the structure of a classic evolutionary algorithm:
|
||||
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
{\bf do} \{ ~ &~ \\\hline
|
||||
~~~~~~~~ select( population, offsprings ); ~ &// select the offsprings from the current population \\\hline
|
||||
~~~~~~~~ transform( offsprings ); ~ &// crossover and mutation operators are applied on the selected offsprings \\\hline
|
||||
~~~~~~~~ evaluate( offsprings ); ~ &// evaluation step of the resulting offspring \\\hline
|
||||
~~~~~~~~ replace( population, offsprings ); ~ &// replace the individuals in the current population whith individuals from the offspring population, according to a specified replacement strategy \\\hline
|
||||
\} {\bf while} ( ea\-Checkpoint\-Continue( population ) ); ~ &// checkpoint operators are applied on the current population, including the migration operator, if any specified \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
Constructing a synchronous island migration model requires having defined (1) a topological migration model, (2) the control parameters of the migration process, (3) a checkpoint object associated with an evolutionary algorithm, and (4) an owner object must be set. The owner object must be derived from the {\bf \hyperlink{classRunner}{Runner}} class (for example a \hyperlink{classpeoEA}{peo\-EA} object represents a possible owner). A simple example is offered bellow:
|
||||
|
||||
\begin{enumerate}
|
||||
\item topological model to be followed when performing migrations: \par
|
||||
\par
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
\hyperlink{classRingTopology}{Ring\-Topology} mig\-Topology; ~ &// a simple ring topological model - each island communicates with two other islands \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
\item the continuation criterion, selection and replacement strategy etc. are defined: \par
|
||||
\par
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
eo\-Pop$<$ EOT $>$ population( POP\_\-SIZE, pop\-Initializer ); ~ &// population of individuals to be used for the evolutionary algorithm \\\hline
|
||||
~ &~ \\\hline
|
||||
eo\-Random\-Select$<$ EOT $>$ mig\-Select\-Strategy; ~ &// selection strategy - in this case a random selection is applied \\\hline
|
||||
eo\-Select\-Number$<$ EOT $>$ mig\-Select( mig\-Select\-Strategy, MIG\_\-SIZE ); ~ &// number of individuals to be selected using the specified strategy \\\hline
|
||||
eo\-Plus\-Replacement$<$ EOT $>$ mig\-Replace; ~ &// immigration strategy - the worse individuals in the destination population are replaced by the immigrant individuals \\\hline
|
||||
~ &~ \\\hline
|
||||
peo\-Sync\-Island\-Mig$<$ EOT $>$ sync\-Migration( \par
|
||||
~~~~~~~~ MIG\_\-FREQ, mig\-Select, mig\-Replace, mig\-Topology, \par
|
||||
~~~~~~~~ population, population \par
|
||||
); ~ &// synchronous migration object - the emigrant individuals are selected from the same from population in which the immigrant individuals are being integrated \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
\item creation of a checkpoint object as part of the definition of an evolutionary algoritm (details of th EA not given as being out of scope): \par
|
||||
\par
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
... ~ &~ \\\hline
|
||||
eo\-Gen\-Continue$<$ EOT $>$ ea\-Cont( NUM\_\-GEN ); ~ &// the evolutionary algorithm will stop after NUM\_\-GEN generations \\\hline
|
||||
eo\-Check\-Point$<$ EOT $>$ ea\-Checkpoint\-Continue( ea\-Cont ); ~ &// number of individuals to be selected using the specified strategy \\\hline
|
||||
... ~ &~ \\\hline
|
||||
ea\-Checkpoint\-Continue.add( sync\-Migration ); ~ &// adding the migration operator as checkpoint element \\\hline
|
||||
... ~ &~ \\\hline
|
||||
\end{TabularC}
|
||||
|
||||
|
||||
\item definition of an owner evolutionary algorithm (an object inheriting the {\bf \hyperlink{classRunner}{Runner}} class): \par
|
||||
\par
|
||||
\begin{TabularC}{2}
|
||||
\hline
|
||||
peo\-EA$<$ EOT $>$ ea\-Alg( ea\-Checkpoint\-Continue, ea\-Pop\-Eval, ea\-Select, ea\-Transform, ea\-Replace); ~ &// evolutionary algorithm having as checkpoint the ea\-Checkpoint\-Continue object defined above \\\hline
|
||||
sync\-Migration.set\-Owner( ea\-Alg ); ~ &// setting the evolutionary algorithm as owner of the migration object \\\hline
|
||||
ea\-Alg( population ); ~ &// applying the evolutionary algorithm on a given population \\\hline
|
||||
\end{TabularC}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
The source and the destination population for the migration object were specified as being the same, in step no. 2, as we are usually interested in selecting the emigrants and integrating the immigrant individuals from and in, respectively, one unique population, iteratively evolved by an evolutionary algorithm. There is no restriction in having two distinct populations as source and destination for the emigrant and immigrant individuals respectively.
|
||||
|
||||
The above steps only create a synchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ mig\-Topology object has to be passed as parameter for all the migration objects, in order to interconnect them).
|
||||
|
||||
|
||||
|
||||
Definition at line 129 of file peo\-Sync\-Island\-Mig.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classpeoSyncIslandMig_96b7b6de20b5e318a8b1cde76842305c}{
|
||||
\index{peoSyncIslandMig@{peo\-Sync\-Island\-Mig}!peoSyncIslandMig@{peoSyncIslandMig}}
|
||||
\index{peoSyncIslandMig@{peoSyncIslandMig}!peoSyncIslandMig@{peo\-Sync\-Island\-Mig}}
|
||||
\subsubsection[peoSyncIslandMig]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig}$<$ EOT $>$::\hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} (unsigned {\em \_\-\_\-frequency}, eo\-Select$<$ EOT $>$ \& {\em \_\-\_\-select}, eo\-Replacement$<$ EOT $>$ \& {\em \_\-\_\-replace}, \hyperlink{classTopology}{Topology} \& {\em \_\-\_\-topology}, eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-source}, eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-destination})}}
|
||||
\label{classpeoSyncIslandMig_96b7b6de20b5e318a8b1cde76842305c}
|
||||
|
||||
|
||||
Constructor for the \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em unsigned}]\_\-\_\-frequency - frequency of the migrations - the migrations occur periodically; \item[{\em eo\-Select$<$}]EOT $>$\& \_\-\_\-select - selection strategy to be applied for constructing a list of emigrant individuals out of the source population; \item[{\em eo\-Replacement$<$}]EOT $>$\& \_\-\_\-replace - replacement strategy used for integrating the immigrant individuals in the destination population; \item[{\em Topology\&}]\_\-\_\-topology - topological model to be followed when performing migrations; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-source - source population from which the emigrant individuals are selected; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-destination - destination population in which the immigrant population are integrated. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 193 of file peo\-Sync\-Island\-Mig.h.
|
||||
|
||||
References Topology::add(), and peo\-Sync\-Island\-Mig$<$ EOT $>$::sync.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\hypertarget{classpeoSyncIslandMig_178476fd276f78b73607b33d19522c36}{
|
||||
\index{peoSyncIslandMig@{peo\-Sync\-Island\-Mig}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!peoSyncIslandMig@{peo\-Sync\-Island\-Mig}}
|
||||
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig}$<$ EOT $>$::operator() ()}}
|
||||
\label{classpeoSyncIslandMig_178476fd276f78b73607b33d19522c36}
|
||||
|
||||
|
||||
Function operator to be called as checkpoint for performing the migration step.
|
||||
|
||||
The emigrant individuals are selected from the source population and sent to the next island (defined by the topology object) while the immigrant individuals are integrated in the destination population. There is no need to explicitly call the function - the wrapper checkpoint object (please refer to the above example) will perform the call when required.
|
||||
|
||||
Definition at line 267 of file peo\-Sync\-Island\-Mig.h.
|
||||
|
||||
References peo\-Sync\-Island\-Mig$<$ EOT $>$::cont, peo\-Sync\-Island\-Mig$<$ EOT $>$::emigrate(), Cooperative::get\-Owner(), peo\-Sync\-Island\-Mig$<$ EOT $>$::immigrate(), Thread::set\-Active(), peo\-Sync\-Island\-Mig$<$ EOT $>$::source, Communicable::stop(), and peo\-Sync\-Island\-Mig$<$ EOT $>$::sync.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Sync\-Island\-Mig.h\end{CompactItemize}
|
||||
203
trunk/paradiseo-peo/docs/latex/classpeoSyncMultiStart.eps
Normal file
203
trunk/paradiseo-peo/docs/latex/classpeoSyncMultiStart.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 348.837
|
||||
%%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.43333 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
|
||||
(peoSyncMultiStart< EOT >) cw
|
||||
(Service) cw
|
||||
(Communicable) 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 -----
|
||||
|
||||
(peoSyncMultiStart< EOT >) 0 0 box
|
||||
(Service) 0 1 box
|
||||
(Communicable) 0 2 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
73
trunk/paradiseo-peo/docs/latex/classpeoSyncMultiStart.pdf
Normal file
73
trunk/paradiseo-peo/docs/latex/classpeoSyncMultiStart.pdf
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
%PDF-1.3
|
||||
%Çì<C387>¢
|
||||
5 0 obj
|
||||
<</Length 6 0 R/Filter /FlateDecode>>
|
||||
stream
|
||||
xœ¥PËNÃ0¼û+ö–µwý’PÅ ¡’ü@‰Ò*¨iiIAü=Nš<4E>Dâ‚<C3A2>e<3Þ™Ýj öôµ¨Õõ³‡Í»"xHw£JwèKQÃ]žDDc _«óg
Ú£h'`9䵺x+÷Ù×®x<m›*kVÇæO9Ü^æ¯j‘«¥bÁÀà3u©TÛǸèÐEÇRe<²Ž £7Ü¥ÈÊãGU”?¦IÇ‘‘ã¿ÍŒAã-01’3<E28099>Ùý¾®O»ªX½l§ŽÆ‡>üâØÍKZ<4B>±®>?5‰EØ&åø~’‘ï<E28098>–·)žM) Ù$1"ý™÷X_<58>C‘<43>â`b„
|
||||
<EFBFBD>&0ðýp#ßcã’µLCL<43>y<EFBFBD>b©¾Á‹Dendstream
|
||||
endobj
|
||||
6 0 obj
|
||||
293
|
||||
endobj
|
||||
4 0 obj
|
||||
<</Type/Page/MediaBox [0 0 500 348.84]
|
||||
/Parent 3 0 R
|
||||
/Resources<</ProcSet[/PDF /Text]
|
||||
/ExtGState 9 0 R
|
||||
/Font 10 0 R
|
||||
>>
|
||||
/Contents 5 0 R
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /Type /Pages /Kids [
|
||||
4 0 R
|
||||
] /Count 1
|
||||
>>
|
||||
endobj
|
||||
1 0 obj
|
||||
<</Type /Catalog /Pages 3 0 R
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<</Type/ExtGState
|
||||
/OPM 1>>endobj
|
||||
9 0 obj
|
||||
<</R7
|
||||
7 0 R>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<</R8
|
||||
8 0 R>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<</BaseFont/Times-Roman/Type/Font
|
||||
/Subtype/Type1>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<</Producer(ESP Ghostscript 815.02)
|
||||
/CreationDate(D:20061230145532)
|
||||
/ModDate(D:20061230145532)
|
||||
/Title(ClassName)
|
||||
/Creator(Doxygen)
|
||||
/Author()>>endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000609 00000 n
|
||||
0000000823 00000 n
|
||||
0000000550 00000 n
|
||||
0000000397 00000 n
|
||||
0000000015 00000 n
|
||||
0000000378 00000 n
|
||||
0000000657 00000 n
|
||||
0000000757 00000 n
|
||||
0000000698 00000 n
|
||||
0000000727 00000 n
|
||||
trailer
|
||||
<< /Size 11 /Root 1 0 R /Info 2 0 R
|
||||
/ID [(³Š”}„$F=ucvò²/)(³Š”}„$F=ucvò²/)]
|
||||
>>
|
||||
startxref
|
||||
980
|
||||
%%EOF
|
||||
243
trunk/paradiseo-peo/docs/latex/classpeoSyncMultiStart.tex
Normal file
243
trunk/paradiseo-peo/docs/latex/classpeoSyncMultiStart.tex
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
\hypertarget{classpeoSyncMultiStart}{
|
||||
\section{peo\-Sync\-Multi\-Start$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoSyncMultiStart}\index{peoSyncMultiStart@{peoSyncMultiStart}}
|
||||
}
|
||||
The \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Sync\-Multi\-Start.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Sync\-Multi\-Start$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3cm]{classpeoSyncMultiStart}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classpeoSyncMultiStart_d29f94aad3c1f443bfffc8b6aee0704c}{peo\-Sync\-Multi\-Start} (eo\-Continue$<$ EOT $>$ \&\_\-\_\-cont, eo\-Select$<$ EOT $>$ \&\_\-\_\-select, eo\-Replacement$<$ EOT $>$ \&\_\-\_\-replace, mo\-Algo$<$ EOT $>$ \&\_\-\_\-ls, eo\-Pop$<$ EOT $>$ \&\_\-\_\-pop)
|
||||
\begin{CompactList}\small\item\em Constructor function - several simple parameters are required for defining the characteristics of the multi-start model. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncMultiStart_76385b33fe514f91cb83f0fbecbeb3c2}{operator()} ()
|
||||
\begin{CompactList}\small\item\em Operator which synchronously executes the specified algorithm on the individuals selected from the initial population. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncMultiStart_8becfab1922b64708dca5a53e2932a5a}{pack\-Data} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncMultiStart_2903a441b77cded266b5fb651e17a5b5}{unpack\-Data} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncMultiStart_a4d1c2943c290de540800087b54dc49b}{execute} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for actually executing the specified algorithm on one assigned individual. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncMultiStart_6c48eb0dae741cff7203b65e226f9616}{pack\-Result} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncMultiStart_c3cbd1f10a89d1915c5ccf82a2c34a1d}{unpack\-Result} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncMultiStart_32ec0d01d3fd8a9932abd68f4781fc94}{notify\-Sending\-Data} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase. \item\end{CompactList}\item
|
||||
void \hyperlink{classpeoSyncMultiStart_fc90282cc4e93cdea8f82fd52dd78fb0}{notify\-Sending\-All\-Resource\-Requests} ()
|
||||
\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_43f4fa9b125baef6fc8b968dfd16f437}{
|
||||
eo\-Continue$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_43f4fa9b125baef6fc8b968dfd16f437}{cont}}
|
||||
\label{classpeoSyncMultiStart_43f4fa9b125baef6fc8b968dfd16f437}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_8fc9a3d046023ddd077defec3c23ab3b}{
|
||||
eo\-Select$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_8fc9a3d046023ddd077defec3c23ab3b}{select}}
|
||||
\label{classpeoSyncMultiStart_8fc9a3d046023ddd077defec3c23ab3b}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_a375ccea98e9bf2a0854dac27df4522f}{
|
||||
eo\-Replacement$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_a375ccea98e9bf2a0854dac27df4522f}{replace}}
|
||||
\label{classpeoSyncMultiStart_a375ccea98e9bf2a0854dac27df4522f}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_4d317966de767dcc87eee0286ea7f95d}{
|
||||
mo\-Algo$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_4d317966de767dcc87eee0286ea7f95d}{ls}}
|
||||
\label{classpeoSyncMultiStart_4d317966de767dcc87eee0286ea7f95d}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_391178bd6b8a97a08ab4e345f070e967}{
|
||||
eo\-Pop$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_391178bd6b8a97a08ab4e345f070e967}{pop}}
|
||||
\label{classpeoSyncMultiStart_391178bd6b8a97a08ab4e345f070e967}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_dbcc1a069ec72ecd8d40c392640d84b3}{
|
||||
eo\-Pop$<$ EOT $>$ \hyperlink{classpeoSyncMultiStart_dbcc1a069ec72ecd8d40c392640d84b3}{sel}}
|
||||
\label{classpeoSyncMultiStart_dbcc1a069ec72ecd8d40c392640d84b3}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_ca10f6d258105e3c4f0d1660db5b7679}{
|
||||
eo\-Pop$<$ EOT $>$ \hyperlink{classpeoSyncMultiStart_ca10f6d258105e3c4f0d1660db5b7679}{impr\_\-sel}}
|
||||
\label{classpeoSyncMultiStart_ca10f6d258105e3c4f0d1660db5b7679}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_2c2ebe46470d1425f0409897deab435b}{
|
||||
EOT \hyperlink{classpeoSyncMultiStart_2c2ebe46470d1425f0409897deab435b}{sol}}
|
||||
\label{classpeoSyncMultiStart_2c2ebe46470d1425f0409897deab435b}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_64191ef79b7b589964ac9c3e23ae6718}{
|
||||
unsigned \hyperlink{classpeoSyncMultiStart_64191ef79b7b589964ac9c3e23ae6718}{idx}}
|
||||
\label{classpeoSyncMultiStart_64191ef79b7b589964ac9c3e23ae6718}
|
||||
|
||||
\item
|
||||
\hypertarget{classpeoSyncMultiStart_773eb9097550d9444f25ca8f48997a30}{
|
||||
unsigned \hyperlink{classpeoSyncMultiStart_773eb9097550d9444f25ca8f48997a30}{num\_\-term}}
|
||||
\label{classpeoSyncMultiStart_773eb9097550d9444f25ca8f48997a30}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Sync\-Multi\-Start$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population.
|
||||
|
||||
As a simple example, several hill climbing algorithms may be synchronously launched on the specified population, each algorithm acting upon one individual only, the final result being integrated back in the population. A \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} object can be specified as checkpoint object for a classic Paradis\-EO evolutionary algorithm thus allowing for simple hybridization schemes which combine the evolutionary approach with a local search approach, for example, executed at the end of each generation.
|
||||
|
||||
|
||||
|
||||
Definition at line 51 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classpeoSyncMultiStart_d29f94aad3c1f443bfffc8b6aee0704c}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!peoSyncMultiStart@{peoSyncMultiStart}}
|
||||
\index{peoSyncMultiStart@{peoSyncMultiStart}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[peoSyncMultiStart]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::\hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} (eo\-Continue$<$ EOT $>$ \& {\em \_\-\_\-cont}, eo\-Select$<$ EOT $>$ \& {\em \_\-\_\-select}, eo\-Replacement$<$ EOT $>$ \& {\em \_\-\_\-replace}, mo\-Algo$<$ EOT $>$ \& {\em \_\-\_\-ls}, eo\-Pop$<$ EOT $>$ \& {\em \_\-\_\-pop})}}
|
||||
\label{classpeoSyncMultiStart_d29f94aad3c1f443bfffc8b6aee0704c}
|
||||
|
||||
|
||||
Constructor function - several simple parameters are required for defining the characteristics of the multi-start model.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em eo\-Continue$<$}]EOT $>$\& \_\-\_\-cont - defined for including further functionality - no semantics associated at this time; \item[{\em eo\-Select$<$}]EOT $>$\& \_\-\_\-select - selection strategy for obtaining a subset of the initial population on which to apply the specified algorithm; \item[{\em eo\-Replacement$<$}]EOT $>$\& \_\-\_\-replace - replacement strategy for integrating the resulting individuals in the initial population; \item[{\em mo\-Algo$<$}]EOT $>$\& \_\-\_\-ls - algorithm to be applied on each of the selected individuals - a {\bf mo\-Algo$<$ EOT $>$}-derived object must be specified; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - the initial population from which the individuals are selected for applying the specified algorithm. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 121 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\hypertarget{classpeoSyncMultiStart_76385b33fe514f91cb83f0fbecbeb3c2}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::operator() ()}}
|
||||
\label{classpeoSyncMultiStart_76385b33fe514f91cb83f0fbecbeb3c2}
|
||||
|
||||
|
||||
Operator which synchronously executes the specified algorithm on the individuals selected from the initial population.
|
||||
|
||||
There is no need to explicitly call the operator - automatically called as checkpoint operator.
|
||||
|
||||
Definition at line 176 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
References peo\-Sync\-Multi\-Start$<$ EOT $>$::idx, peo\-Sync\-Multi\-Start$<$ EOT $>$::impr\_\-sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::num\_\-term, peo\-Sync\-Multi\-Start$<$ EOT $>$::pop, Service::request\-Resource\-Request(), peo\-Sync\-Multi\-Start$<$ EOT $>$::sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::select, and Communicable::stop().\hypertarget{classpeoSyncMultiStart_8becfab1922b64708dca5a53e2932a5a}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!packData@{packData}}
|
||||
\index{packData@{packData}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[packData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::pack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoSyncMultiStart_8becfab1922b64708dca5a53e2932a5a}
|
||||
|
||||
|
||||
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{Service}.
|
||||
|
||||
Definition at line 135 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
References peo\-Sync\-Multi\-Start$<$ EOT $>$::idx, and peo\-Sync\-Multi\-Start$<$ EOT $>$::sel.\hypertarget{classpeoSyncMultiStart_2903a441b77cded266b5fb651e17a5b5}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!unpackData@{unpackData}}
|
||||
\index{unpackData@{unpackData}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[unpackData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::unpack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoSyncMultiStart_2903a441b77cded266b5fb651e17a5b5}
|
||||
|
||||
|
||||
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_3bd87b444710813d30fd754d4d0b4df3}{Service}.
|
||||
|
||||
Definition at line 141 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
References peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_a4d1c2943c290de540800087b54dc49b}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!execute@{execute}}
|
||||
\index{execute@{execute}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[execute]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::execute ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoSyncMultiStart_a4d1c2943c290de540800087b54dc49b}
|
||||
|
||||
|
||||
Auxiliary function for actually executing the specified algorithm on one assigned individual.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_e4f2894e6121e60f38d41cfbd7447ae4}{Service}.
|
||||
|
||||
Definition at line 147 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
References peo\-Sync\-Multi\-Start$<$ EOT $>$::ls, and peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_6c48eb0dae741cff7203b65e226f9616}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!packResult@{packResult}}
|
||||
\index{packResult@{packResult}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[packResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::pack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoSyncMultiStart_6c48eb0dae741cff7203b65e226f9616}
|
||||
|
||||
|
||||
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{Service}.
|
||||
|
||||
Definition at line 153 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
References peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_c3cbd1f10a89d1915c5ccf82a2c34a1d}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!unpackResult@{unpackResult}}
|
||||
\index{unpackResult@{unpackResult}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[unpackResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::unpack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoSyncMultiStart_c3cbd1f10a89d1915c5ccf82a2c34a1d}
|
||||
|
||||
|
||||
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_45c06344edbfa482b91f68e2035a6099}{Service}.
|
||||
|
||||
Definition at line 159 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
References Service::get\-Owner(), peo\-Sync\-Multi\-Start$<$ EOT $>$::impr\_\-sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::num\_\-term, peo\-Sync\-Multi\-Start$<$ EOT $>$::pop, peo\-Sync\-Multi\-Start$<$ EOT $>$::replace, Communicable::resume(), peo\-Sync\-Multi\-Start$<$ EOT $>$::sel, Thread::set\-Active(), and peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_32ec0d01d3fd8a9932abd68f4781fc94}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!notifySendingData@{notifySendingData}}
|
||||
\index{notifySendingData@{notifySendingData}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[notifySendingData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::notify\-Sending\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoSyncMultiStart_32ec0d01d3fd8a9932abd68f4781fc94}
|
||||
|
||||
|
||||
Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_81ad4d6ebb50045b8977e2ab74826f30}{Service}.
|
||||
|
||||
Definition at line 187 of file peo\-Sync\-Multi\-Start.h.\hypertarget{classpeoSyncMultiStart_fc90282cc4e93cdea8f82fd52dd78fb0}{
|
||||
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!notifySendingAllResourceRequests@{notifySendingAllResourceRequests}}
|
||||
\index{notifySendingAllResourceRequests@{notifySendingAllResourceRequests}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
||||
\subsubsection[notifySendingAllResourceRequests]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::notify\-Sending\-All\-Resource\-Requests ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
||||
\label{classpeoSyncMultiStart_fc90282cc4e93cdea8f82fd52dd78fb0}
|
||||
|
||||
|
||||
Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase.
|
||||
|
||||
There is no need to explicitly call the function.
|
||||
|
||||
Reimplemented from \hyperlink{classService_f94cc8a5c2665d4574041737e61e9ffc}{Service}.
|
||||
|
||||
Definition at line 192 of file peo\-Sync\-Multi\-Start.h.
|
||||
|
||||
References Service::get\-Owner(), and Thread::set\-Passive().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Sync\-Multi\-Start.h\end{CompactItemize}
|
||||
215
trunk/paradiseo-peo/docs/latex/classpeoTransform.eps
Normal file
215
trunk/paradiseo-peo/docs/latex/classpeoTransform.eps
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 200
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 2.5 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 2 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(peoTransform< EOT >) cw
|
||||
(Service) cw
|
||||
(Communicable) cw
|
||||
(peoParaSGATransform< EOT >) cw
|
||||
(peoSeqTransform< 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 -----
|
||||
|
||||
(peoTransform< EOT >) 0.5 1 box
|
||||
(Service) 0.5 2 box
|
||||
(Communicable) 0.5 3 box
|
||||
(peoParaSGATransform< EOT >) 0 0 box
|
||||
(peoSeqTransform< EOT >) 1 0 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
1 0.5 2 in
|
||||
solid
|
||||
0 0.5 2 out
|
||||
solid
|
||||
1 0.5 3 in
|
||||
solid
|
||||
1 0.5 0.25 out
|
||||
solid
|
||||
0 1 1 conn
|
||||
solid
|
||||
0 0 0.75 in
|
||||
solid
|
||||
0 1 0.75 in
|
||||
BIN
trunk/paradiseo-peo/docs/latex/classpeoTransform.pdf
Normal file
BIN
trunk/paradiseo-peo/docs/latex/classpeoTransform.pdf
Normal file
Binary file not shown.
29
trunk/paradiseo-peo/docs/latex/classpeoTransform.tex
Normal file
29
trunk/paradiseo-peo/docs/latex/classpeoTransform.tex
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
\hypertarget{classpeoTransform}{
|
||||
\section{peo\-Transform$<$ EOT $>$ Class Template Reference}
|
||||
\label{classpeoTransform}\index{peoTransform@{peoTransform}}
|
||||
}
|
||||
The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interface for creating transform operators - for an example please refer to the {\bf \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}} and the {\bf \hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform}} classes.
|
||||
|
||||
|
||||
{\tt \#include $<$peo\-Transform.h$>$}
|
||||
|
||||
Inheritance diagram for peo\-Transform$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classpeoTransform}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class peo\-Transform$<$ EOT $>$}
|
||||
|
||||
The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interface for creating transform operators - for an example please refer to the {\bf \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}} and the {\bf \hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform}} classes.
|
||||
|
||||
|
||||
|
||||
Definition at line 35 of file peo\-Transform.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
peo\-Transform.h\end{CompactItemize}
|
||||
78
trunk/paradiseo-peo/docs/latex/doxygen.sty
Normal file
78
trunk/paradiseo-peo/docs/latex/doxygen.sty
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{doxygen}
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage{array}
|
||||
\pagestyle{fancyplain}
|
||||
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
|
||||
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
|
||||
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
|
||||
\lhead[\fancyplain{}{\bfseries\thepage}]
|
||||
{\fancyplain{}{\bfseries\rightmark}}
|
||||
\rhead[\fancyplain{}{\bfseries\leftmark}]
|
||||
{\fancyplain{}{\bfseries\thepage}}
|
||||
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sat Dec 30 14:55:29 2006 for Paradis\-EO-PEO by Doxygen }]{}
|
||||
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sat Dec 30 14:55:29 2006 for Paradis\-EO-PEO by Doxygen }}
|
||||
\cfoot{}
|
||||
\newenvironment{Code}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
|
||||
\newenvironment{DocInclude}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newenvironment{VerbInclude}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newenvironment{Image}
|
||||
{\begin{figure}[H]}
|
||||
{\end{figure}}
|
||||
\newenvironment{ImageNoCaption}{}{}
|
||||
\newenvironment{CompactList}
|
||||
{\begin{list}{}{
|
||||
\setlength{\leftmargin}{0.5cm}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\renewcommand{\makelabel}{\hfill}}}
|
||||
{\end{list}}
|
||||
\newenvironment{CompactItemize}
|
||||
{
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{-3pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\setlength{\partopsep}{0pt}
|
||||
}
|
||||
{\end{itemize}}
|
||||
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
|
||||
\newlength{\tmplength}
|
||||
\newenvironment{TabularC}[1]
|
||||
{
|
||||
\setlength{\tmplength}
|
||||
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
|
||||
\par\begin{tabular*}{\linewidth}
|
||||
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
|
||||
}
|
||||
{\end{tabular*}\par}
|
||||
\newcommand{\entrylabel}[1]{
|
||||
{\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
|
||||
\newenvironment{Desc}
|
||||
{\begin{list}{}
|
||||
{
|
||||
\settowidth{\labelwidth}{40pt}
|
||||
\setlength{\leftmargin}{\labelwidth}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\itemsep}{-4pt}
|
||||
\renewcommand{\makelabel}{\entrylabel}
|
||||
}
|
||||
}
|
||||
{\end{list}}
|
||||
\newenvironment{Indent}
|
||||
{\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
|
||||
\item[]\ignorespaces}
|
||||
{\unskip\end{list}}
|
||||
\setlength{\parindent}{0cm}
|
||||
\setlength{\parskip}{0.2cm}
|
||||
\addtocounter{secnumdepth}{1}
|
||||
\sloppy
|
||||
\usepackage[T1]{fontenc}
|
||||
49
trunk/paradiseo-peo/docs/latex/hierarchy.tex
Normal file
49
trunk/paradiseo-peo/docs/latex/hierarchy.tex
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
\section{Paradis\-EO-PEO Class Hierarchy}
|
||||
This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList}
|
||||
\item \contentsline{section}{Communicable}{\pageref{classCommunicable}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{Cooperative}{\pageref{classCooperative}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{peo\-Async\-Island\-Mig$<$ EOT $>$}{\pageref{classpeoAsyncIslandMig}}{}
|
||||
\item \contentsline{section}{peo\-Sync\-Island\-Mig$<$ EOT $>$}{\pageref{classpeoSyncIslandMig}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{Runner}{\pageref{classRunner}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{peo\-EA$<$ EOT $>$}{\pageref{classpeoEA}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{Service}{\pageref{classService}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{peo\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoPopEval}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{peo\-Para\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoParaPopEval}}{}
|
||||
\item \contentsline{section}{peo\-Seq\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoSeqPopEval}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{peo\-Sync\-Multi\-Start$<$ EOT $>$}{\pageref{classpeoSyncMultiStart}}{}
|
||||
\item \contentsline{section}{peo\-Transform$<$ EOT $>$}{\pageref{classpeoTransform}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{peo\-Para\-SGATransform$<$ EOT $>$}{\pageref{classpeoParaSGATransform}}{}
|
||||
\item \contentsline{section}{peo\-Seq\-Transform$<$ EOT $>$}{\pageref{classpeoSeqTransform}}{}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{Worker}{\pageref{classWorker}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{Node}{\pageref{structNode}}{}
|
||||
\item \contentsline{section}{peo\-Agg\-Eval\-Func$<$ EOT $>$}{\pageref{classpeoAggEvalFunc}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{peo\-No\-Agg\-Eval\-Func$<$ EOT $>$}{\pageref{classpeoNoAggEvalFunc}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{SEND\_\-REQUEST}{\pageref{structSEND__REQUEST}}{}
|
||||
\item \contentsline{section}{Thread}{\pageref{classThread}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{Reactive\-Thread}{\pageref{classReactiveThread}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{Communicator}{\pageref{classCommunicator}}{}
|
||||
\item \contentsline{section}{Worker}{\pageref{classWorker}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{Runner}{\pageref{classRunner}}{}
|
||||
\end{CompactList}
|
||||
\item \contentsline{section}{Topology}{\pageref{classTopology}}{}
|
||||
\begin{CompactList}
|
||||
\item \contentsline{section}{Ring\-Topology}{\pageref{classRingTopology}}{}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
52
trunk/paradiseo-peo/docs/latex/main.tex
Normal file
52
trunk/paradiseo-peo/docs/latex/main.tex
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
\hypertarget{main_intro}{}\section{Introduction}\label{main_intro}
|
||||
Paradis\-EO is a white-box object-oriented framework dedicated to the reusable design of parallel and distributed metaheuristics (PDM). Paradis\-EO provides a broad range of features including evolutionary algorithms (EA), local searches (LS), the most common parallel and distributed models and hybridization mechanisms, etc. This high content and utility encourages its use at European level. Paradis\-EO is based on a clear conceptual separation of the solution methods from the problems they are intended to solve. This separation confers to the user a maximum code and design reuse. Furthermore, the fine-grained nature of the classes provided by the framework allow a higher flexibility compared to other frameworks. Paradis\-EO is one of the rare frameworks that provide the most common parallel and distributed models. Their implementation is portable on distributed-memory machines as well as on shared-memory multiprocessors, as it uses standard libraries such as MPI, PVM and PThreads. The models can be exploited in a transparent way, one has just to instantiate their associated provided classes. Their experimentation on the radio network design real-world application demonstrate their efficiency.
|
||||
|
||||
In practice, combinatorial optimization problems are often NP-hard, CPU time-consuming, and evolve over time. Unlike exact methods, metaheuristics allow to tackle large-size problems instances by delivering satisfactory solutions in a reasonable time. Metaheuristics are general-purpose heuristics that split in two categories: evolutionary algorithms (EA) and local search methods (LS). These two families have complementary characteristics: EA allow a better exploration of the search space, while LS have the power to intensify the search in promising regions. Their hybridization allows to deliver robust and better solutions
|
||||
|
||||
Although serial metaheuristics have a polynomial temporal complexity, they remain unsatisfactory for industrial problems. Parallel and distributed computing is a powerful way to deal with the performance issue of these problems. Numerous parallel and distributed metaheuristics (PDM) and their implementations have been proposed, and are available on the\-Web. They can be reused and adapted to his/her own problems. However, the user has to deeply examine the code and rewrite its problem-specific sections. The task is tedious, errorprone, takes along time and makes harder the produced code maintenance. A better way to reuse the code of existing PDM is the reuse through libraries. These are often more reliable as they are more tested and documented. They allow a better maintainability and efficiency. However, libraries do not allow the reuse of design.\hypertarget{main_parallel_metaheuristics}{}\section{Parallel and distributed metaheuristics}\label{main_parallel_metaheuristics}
|
||||
\hypertarget{main_parallel_distributed}{}\subsection{Parallel distributed evolutionary algorithms}\label{main_parallel_distributed}
|
||||
Evolutionary Algorithms (EA) are based on the iterative improvement of a population of solutions. At each step, individuals are selected, paired and recombined in order to generate new solutions that replace other ones, and so on. As the algorithm converges, the population is mainly composed of individuals well adapted to the \char`\"{}environment\char`\"{}, for instance the problem. The main features that characterize EA are the way the population is initialized, the selection strategy (deterministic/stochastic) by fostering \char`\"{}good\char`\"{} solutions, the replacement strategy that discards individuals, and the continuation/stopping criterion to decide whether the evolution should go on or not.
|
||||
|
||||
Basically, three major parallel and distributed models for EA can been distinguished: the island (a)synchronous cooperative model, the parallel evaluation of the population, and the distributed evaluation of a single solution. \begin{itemize}
|
||||
\item {\em Island (a)synchronous cooperative model\/}. Different EA are simultaneously deployed to cooperate for computing better and robust solutions. They exchange in an asynchronous way genetic stuff to diversify the search. The objective is to allow to delay the global convergence, especially when the\-EAare heterogeneous regarding the variation operators. The migration of individuals follows a policy defined by few parameters: the migration decision criterion, the exchange topology, the number of emigrants, the emigrants selection policy, and the replacement/integration policy.
|
||||
|
||||
\item {\em Parallel evaluation of the population\/}. It is required as it is in general the most timeconsuming. The parallel evaluation follows the centralized model. The farmer applies the following operations: selection, transformation and replacement as they require a global management of the population. At each generation, it distributes the set of new solutions between differentworkers. These evaluate and return back the solutions and their quality values. An efficient execution is often obtained particularly when the evaluation of each solution is costly. The two main advantages of an asynchronous model over the synchronous model are: (1) the fault tolerance of the asynchronous model; (2) the robustness in case the fitness computation can take very different computation times (e.g. for nonlinear numerical optimization). Whereas some time-out detection can be used to address the former issue, the latter one can be partially overcome if the grain is set to very small values, as individuals will be sent out for evaluations upon request of the workers.
|
||||
|
||||
\item {\em Distributed evaluation of a single solution\/}. The quality of each solution is evaluated in a parallel centralized way. That model is particularly interesting when the evaluation function can be itself parallelized as it is CPU time-consuming and/or IO intensive. In that case, the function can be viewed as an aggregation of a certain number of partial functions. The partial functions could also be identical if for example the problem to deal with is a data mining one. The evaluation is thus data parallel and the accesses to data base are performed in parallel. Furthermore, a reduction operation is performed on the results returned by the partial functions. As a summary, for this model the user has to indicate a set of partial functions and an aggregation operator of these. \end{itemize}
|
||||
\hypertarget{main_parallel_ls}{}\subsection{Parallel distributed local searches}\label{main_parallel_ls}
|
||||
\hypertarget{main_local_searches}{}\subsubsection{Local searches}\label{main_local_searches}
|
||||
All metaheuristics dedicated to the improvement of a single solution are based on the concept of neighborhood. They start from a solution randomly generated or obtained from another optimization algorithm, and update it, step by step, by replacing the current solution by one of its neighboring candidates. Some criterion have been identified to differentiate such searches: the heuristic internal memory, the choice of the initial solution, the candidate solutions generator, and the selection strategy of candidate moves. Three main algorithms of local search stand out: Hill Climbing (HC), Simulated Annealing (SA) and Tabu Search (TS).\hypertarget{main_parallel_local_searches}{}\subsubsection{Parallel local searches}\label{main_parallel_local_searches}
|
||||
Two parallel distributed models are commonly used in the literature: the parallel distributed exploration of neighboring candidate solutions model, and the multi-start model. \begin{itemize}
|
||||
\item {\em Parallel exploration of neighboring candidates\/}. It is a low-level Farmer-Worker model that does not alter the behavior of the heuristic. A sequential search computes the same results slower.At the beginning of each iteration, the farmer duplicates the current solution between distributed nodes. Each one manages some candidates and the results are returned to the farmer. The model is efficient if the evaluation of a each solution is time-consuming and/or there are a great deal of candidate neighbors to evaluate. This is obviously not applicable to SA since only one candidate is evaluated at each iteration. Likewise, the efficiency of the model for HC is not always guaranteed as the number of neighboring solutions to process before finding one that improves the current objective function may be highly variable.
|
||||
|
||||
\item {\em Multi-start model\/}. It consists in simultaneously launching several local searches. They may be heterogeneous, but no information is exchanged between them. The resultswould be identical as if the algorithms were sequentially run.Very often deterministic algorithms differ by the supplied initial solution and/or some other parameters. This trivial model is convenient for low-speed networks of workstations. \end{itemize}
|
||||
\hypertarget{main_hybridization}{}\section{Hybridization}\label{main_hybridization}
|
||||
Recently, hybrid metaheuristics have gained a considerable interest. For many practical or academic optimization problems, the best found solutions are obtained by hybrid algorithms. Combinations of different metaheuristics have provided very powerful search methods. Two levels and two modes of hybridization have been distinguished: Low and High levels, and Relay and \hyperlink{classCooperative}{Cooperative} modes. The low-level hybridization addresses the functional composition of a single optimization method. A function of a given metaheuristic is replaced by another metaheuristic. On the contrary, for high-level hybrid algorithms the different metaheuristics are self-containing, meaning no direct relationship to their internal working is considered. On the other hand, relay hybridization means a set of metaheuristics is applied in a pipeline way. The output of a metaheuristic (except the last) is the input of the following one (except the first). Conversely, co-evolutionist hybridization is a cooperative optimization model. Each metaheuristic performs a search in a solution space, and exchange solutions with others.\hypertarget{main_paradiseo_goals}{}\section{Paradiseo goals and architecture}\label{main_paradiseo_goals}
|
||||
The \char`\"{}EO\char`\"{} part of Paradis\-EO means Evolving Objects. EO is a C++ LGPL open source framework and includes a paradigm-free Evolutionary Computation library (EOlib) dedicated to the flexible design of EA through evolving objects superseding the most common dialects (Genetic Algorithms, Evolution Strategies, Evolutionary Programming and Genetic Programming). Furthermore, EO integrates several services including visualization facilities, on-line definition of parameters, application check-pointing, etc. Paradis\-EO is an extended version of the EO framework. The extensions include local search methods, hybridization mechanisms, parallelism and distribution mechanisms, and other features that are not addressed in this paper such as multi-objective optimization and grid computing. In the next sections, we present the motivations and goals of Paradis\-EO, its architecture and some of its main implementation details and issues.\hypertarget{main_motivation}{}\subsection{Motivations and goals}\label{main_motivation}
|
||||
A framework is normally intended to be exploited by as many users as possible. Therefore, its exploitation could be successful only if some important user criteria are satisfied. The following criteria are the major of them and constitute the main objectives of the Paradis\-EO framework:
|
||||
|
||||
\begin{itemize}
|
||||
\item {\em Maximum design and code reuse\/}. The framework must provide for the user a whole architecture design of his/her solution method. Moreover, the programmer may redo as little code as possible. This objective requires a clear and maximal conceptual separation between the solution methods and the problems to be solved, and thus a deep domain analysis. The user might therefore develop only the minimal problem-specific code.
|
||||
|
||||
\item {\em Flexibility and adaptability\/}. It must be possible for the user to easily add new features/ metaheuristics or change existing ones without implicating other components. Furthermore, as in practice existing problems evolve and new others arise these have to be tackled by specializing/adapting the framework components.
|
||||
|
||||
\item {\em Utility\/}. The framework must allow the user to cover a broad range of metaheuristics, problems, parallel distributed models, hybridization mechanisms, etc.
|
||||
|
||||
\item {\em Transparent and easy access to performance and robustness\/}. As the optimization applications are often time-consuming the performance issue is crucial. Parallelism and distribution are two important ways to achieve high performance execution. In order to facilitate its use it is implemented so that the user can deploy his/her parallel algorithms in a transparent manner. Moreover, the execution of the algorithms must be robust to guarantee the reliability and the quality of the results. The hybridization mechanism allows to obtain robust and better solutions.
|
||||
|
||||
\item {\em Portability\/}. In order to satisfy a large number of users the framework must support different material architectures and their associated operating systems. \end{itemize}
|
||||
\hypertarget{main_architecture}{}\subsection{Paradis\-EO architecture}\label{main_architecture}
|
||||
The architecture of Paradis\-EO is multi-layer and modular allowing to achieve the objectives quoted above. This allows particularly a high flexibility and adaptability, an easier hybridization, and more code and design reuse. The architecture has three layers identifying three major categories of classes: {\em Solvers\/}, {\em Runners\/} and {\em Helpers\/}. \begin{itemize}
|
||||
\item {\em Helpers\/}. Helpers are low-level classes that perform specific actions related to the evolution or search process. They are split in two categories: {\em Evolutionary helpers (EH)\/} and {\em Local search helpers (LSH)\/}. EH include mainly the transformation, selection and replacement operations, the evaluation function and the stopping criterion. LSH can be generic such as the neighborhood explorer class, or specific to the local search metaheuristic like the tabu list manager class in the Tabu Search solution method. On the other hand, there are some special helpers dedicated to the management of parallel and distributed models 2 and 3, such as the communicators that embody the communication services.
|
||||
|
||||
Helpers cooperate between them and interact with the components of the upper layer i.e. the runners. The runners invoke the helpers through function parameters. Indeed, helpers have not their own data, but they work on the internal data of the runners.
|
||||
|
||||
\item {\em Runners\/}. The Runners layer contains a set of classes that implement the metaheuristics themselves. They perform the run of the metaheuristics from the initial state or population to the final one. One can distinguish the {\em Evolutionary runners (ER)\/} such as genetic algorithms, evolution strategies, etc., and {\em Local search runners (LSR)\/} like tabu search, simulated annealing and hill climbing. Runners invoke the helpers to perform specific actions on their data. For instance, an ER may ask the fitness function evaluation helper to evaluate its population. An LSR asks the movement helper to perform a given movement on the current state. Furthermore, runners can be serial or parallel distributed.
|
||||
|
||||
\item {\em Solvers\/}. Solvers are devoted to control the evolution process and/or the search. They generate the initial state (solution or population) and define the strategy for combining and sequencing different metaheuristics. Two types of solvers can be distinguished. {\em Single metaheuristic solvers (SMS)\/} and {\em Multiple metaheuristics solvers (MMS)\/}. SMSs are dedicated to the execution of only one metaheuristic.MMS are more complex as they control and sequence several metaheuristics that can be heterogeneous. Solvers interact with the user by getting the input data and delivering the output (best solution, statistics, etc). \end{itemize}
|
||||
|
||||
|
||||
According to the generality of their embedded features, the classes of the architecture split in two major categories: {\em Provided classes\/} and {\em Required classes\/}. Provided classes embody the factored out part of the metaheuristics. They are generic, implemented in the framework, and ensure the control at run time. Required classes are those that must be supplied by the user. They encapsulate the problem-specific aspects of the application. These classes are fixed but not implemented in Paradis\-EO. The programmer has the burden to develop them using the OO specialization mechanism.\hypertarget{main_tutorials}{}\section{Paradis\-EO-PEO Tutorials}\label{main_tutorials}
|
||||
The basisc of the Paradis\-EO framework philosophy are exposed in a few simple tutorials: \begin{itemize}
|
||||
\item \href{lesson1/html/main.html}{\tt creating a simple Paradis\-EO evolutionary algorithm}; \end{itemize}
|
||||
All the presented examples have as case study the travel salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a \href{lsnshared/html/index.html}{\tt common shared source code base}. While not being part of the Paradis\-EO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials.
|
||||
52
trunk/paradiseo-peo/docs/latex/namespacepeo.tex
Normal file
52
trunk/paradiseo-peo/docs/latex/namespacepeo.tex
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
\hypertarget{namespacepeo}{
|
||||
\section{peo Namespace Reference}
|
||||
\label{namespacepeo}\index{peo@{peo}}
|
||||
}
|
||||
|
||||
|
||||
\subsection*{Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{namespacepeo_f90478489cc92d1e6abb222179163a30}{
|
||||
void \hyperlink{namespacepeo_f90478489cc92d1e6abb222179163a30}{finalize} ()}
|
||||
\label{namespacepeo_f90478489cc92d1e6abb222179163a30}
|
||||
|
||||
\item
|
||||
\hypertarget{namespacepeo_8184c3b1f7eecc68f69bb8e8b872a7d3}{
|
||||
void \hyperlink{namespacepeo_8184c3b1f7eecc68f69bb8e8b872a7d3}{init} (int \&\_\-\_\-argc, char $\ast$$\ast$\&\_\-\_\-argv)}
|
||||
\label{namespacepeo_8184c3b1f7eecc68f69bb8e8b872a7d3}
|
||||
|
||||
\item
|
||||
\hypertarget{namespacepeo_2b496ee9b81d9ae322ae6edb9a93dc71}{
|
||||
void \hyperlink{namespacepeo_2b496ee9b81d9ae322ae6edb9a93dc71}{load\-Parameters} (int \&\_\-\_\-argc, char $\ast$$\ast$\&\_\-\_\-argv)}
|
||||
\label{namespacepeo_2b496ee9b81d9ae322ae6edb9a93dc71}
|
||||
|
||||
\item
|
||||
\hypertarget{namespacepeo_10819b2d60b37477c6a89b60c595c67c}{
|
||||
void \hyperlink{namespacepeo_10819b2d60b37477c6a89b60c595c67c}{run} ()}
|
||||
\label{namespacepeo_10819b2d60b37477c6a89b60c595c67c}
|
||||
|
||||
\end{CompactItemize}
|
||||
\subsection*{Variables}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{namespacepeo_18a3998ce8b39c4e1143914fdd07b3d2}{
|
||||
int $\ast$ \hyperlink{namespacepeo_18a3998ce8b39c4e1143914fdd07b3d2}{argc}}
|
||||
\label{namespacepeo_18a3998ce8b39c4e1143914fdd07b3d2}
|
||||
|
||||
\item
|
||||
\hypertarget{namespacepeo_d07043237d4d923125e38860ba9bbe20}{
|
||||
char $\ast$$\ast$$\ast$ \hyperlink{namespacepeo_d07043237d4d923125e38860ba9bbe20}{argv}}
|
||||
\label{namespacepeo_d07043237d4d923125e38860ba9bbe20}
|
||||
|
||||
\item
|
||||
\hypertarget{namespacepeo_18a3998ce8b39c4e1143914fdd07b3d2}{
|
||||
int $\ast$ \hyperlink{namespacepeo_18a3998ce8b39c4e1143914fdd07b3d2}{argc}}
|
||||
\label{namespacepeo_18a3998ce8b39c4e1143914fdd07b3d2}
|
||||
|
||||
\item
|
||||
\hypertarget{namespacepeo_d07043237d4d923125e38860ba9bbe20}{
|
||||
char $\ast$$\ast$$\ast$ \hyperlink{namespacepeo_d07043237d4d923125e38860ba9bbe20}{argv}}
|
||||
\label{namespacepeo_d07043237d4d923125e38860ba9bbe20}
|
||||
|
||||
\end{CompactItemize}
|
||||
4
trunk/paradiseo-peo/docs/latex/namespaces.tex
Normal file
4
trunk/paradiseo-peo/docs/latex/namespaces.tex
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
\section{Paradis\-EO-PEO Namespace List}
|
||||
Here is a list of all documented namespaces with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{\hyperlink{namespacepeo}{peo} }{\pageref{namespacepeo}}{}
|
||||
\end{CompactList}
|
||||
82
trunk/paradiseo-peo/docs/latex/refman.tex
Normal file
82
trunk/paradiseo-peo/docs/latex/refman.tex
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
\documentclass[a4paper]{book}
|
||||
\usepackage{a4wide}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{multicol}
|
||||
\usepackage{float}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{alltt}
|
||||
\usepackage{times}
|
||||
\usepackage{ifpdf}
|
||||
\ifpdf
|
||||
\usepackage[pdftex,
|
||||
pagebackref=true,
|
||||
colorlinks=true,
|
||||
linkcolor=blue
|
||||
]{hyperref}
|
||||
\else
|
||||
\usepackage[ps2pdf,
|
||||
pagebackref=true,
|
||||
colorlinks=true,
|
||||
linkcolor=blue
|
||||
]{hyperref}
|
||||
\usepackage{pspicture}
|
||||
\fi
|
||||
\usepackage{doxygen}
|
||||
\makeindex
|
||||
\setcounter{tocdepth}{1}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\begin{document}
|
||||
\begin{titlepage}
|
||||
\vspace*{7cm}
|
||||
\begin{center}
|
||||
{\Large Paradis\-EO-PEO Reference Manual\\[1ex]\large 0.1 }\\
|
||||
\vspace*{1cm}
|
||||
{\large Generated by Doxygen 1.4.7}\\
|
||||
\vspace*{0.5cm}
|
||||
{\small Sat Dec 30 14:55:29 2006}\\
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{arabic}
|
||||
\chapter{The Paradis\-EO-PEO Framework }
|
||||
\label{index}\hypertarget{index}{}\input{main}
|
||||
\chapter{Paradis\-EO-PEO Namespace Index}
|
||||
\input{namespaces}
|
||||
\chapter{Paradis\-EO-PEO Hierarchical Index}
|
||||
\input{hierarchy}
|
||||
\chapter{Paradis\-EO-PEO Class Index}
|
||||
\input{annotated}
|
||||
\chapter{Paradis\-EO-PEO Namespace Documentation}
|
||||
\input{namespacepeo}
|
||||
\chapter{Paradis\-EO-PEO Class Documentation}
|
||||
\input{classCommunicable}
|
||||
\include{classCommunicator}
|
||||
\include{classCooperative}
|
||||
\include{structNode}
|
||||
\include{classpeoAggEvalFunc}
|
||||
\include{classpeoAsyncIslandMig}
|
||||
\include{classpeoEA}
|
||||
\include{classpeoNoAggEvalFunc}
|
||||
\include{classpeoParaPopEval}
|
||||
\include{classpeoParaSGATransform}
|
||||
\include{classpeoPopEval}
|
||||
\include{classpeoSeqPopEval}
|
||||
\include{classpeoSeqTransform}
|
||||
\include{classpeoSyncIslandMig}
|
||||
\include{classpeoSyncMultiStart}
|
||||
\include{classpeoTransform}
|
||||
\include{classReactiveThread}
|
||||
\include{classRingTopology}
|
||||
\include{classRunner}
|
||||
\include{structSEND__REQUEST}
|
||||
\include{classService}
|
||||
\include{classThread}
|
||||
\include{classTopology}
|
||||
\include{classWorker}
|
||||
\printindex
|
||||
\end{document}
|
||||
44
trunk/paradiseo-peo/docs/latex/structNode.tex
Normal file
44
trunk/paradiseo-peo/docs/latex/structNode.tex
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
\hypertarget{structNode}{
|
||||
\section{Node Struct Reference}
|
||||
\label{structNode}\index{Node@{Node}}
|
||||
}
|
||||
\subsection*{Public Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{structNode_7de6f254b6b8c3f9f8287af0bb742e9b}{
|
||||
RANK\_\-ID \hyperlink{structNode_7de6f254b6b8c3f9f8287af0bb742e9b}{rk}}
|
||||
\label{structNode_7de6f254b6b8c3f9f8287af0bb742e9b}
|
||||
|
||||
\item
|
||||
\hypertarget{structNode_3c4318d71ca9a44fe33edcf8b7f26863}{
|
||||
std::string \hyperlink{structNode_3c4318d71ca9a44fe33edcf8b7f26863}{name}}
|
||||
\label{structNode_3c4318d71ca9a44fe33edcf8b7f26863}
|
||||
|
||||
\item
|
||||
\hypertarget{structNode_01fec86d75332858b158c810d57caee3}{
|
||||
unsigned \hyperlink{structNode_01fec86d75332858b158c810d57caee3}{num\_\-workers}}
|
||||
\label{structNode_01fec86d75332858b158c810d57caee3}
|
||||
|
||||
\item
|
||||
\hypertarget{structNode_98deed2036c3dd8fc0f4fe8dacf56a92}{
|
||||
int \hyperlink{structNode_98deed2036c3dd8fc0f4fe8dacf56a92}{rk\_\-sched}}
|
||||
\label{structNode_98deed2036c3dd8fc0f4fe8dacf56a92}
|
||||
|
||||
\item
|
||||
\hypertarget{structNode_a90013b890888d3d252a71cb4fe48934}{
|
||||
std::vector$<$ RUNNER\_\-ID $>$ \hyperlink{structNode_a90013b890888d3d252a71cb4fe48934}{id\_\-run}}
|
||||
\label{structNode_a90013b890888d3d252a71cb4fe48934}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 35 of file schema.h.
|
||||
|
||||
The documentation for this struct was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
schema.h\end{CompactItemize}
|
||||
34
trunk/paradiseo-peo/docs/latex/structSEND__REQUEST.tex
Normal file
34
trunk/paradiseo-peo/docs/latex/structSEND__REQUEST.tex
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
\hypertarget{structSEND__REQUEST}{
|
||||
\section{SEND\_\-REQUEST Struct Reference}
|
||||
\label{structSEND__REQUEST}\index{SEND_REQUEST@{SEND\_\-REQUEST}}
|
||||
}
|
||||
\subsection*{Public Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hypertarget{structSEND__REQUEST_1ad8f7233fa3ff13262e783a9153920f}{
|
||||
\hyperlink{classCommunicable}{Communicable} $\ast$ \hyperlink{structSEND__REQUEST_1ad8f7233fa3ff13262e783a9153920f}{comm}}
|
||||
\label{structSEND__REQUEST_1ad8f7233fa3ff13262e783a9153920f}
|
||||
|
||||
\item
|
||||
\hypertarget{structSEND__REQUEST_93e2a6a71d2a91aa2b7bdd050ee59b4d}{
|
||||
int \hyperlink{structSEND__REQUEST_93e2a6a71d2a91aa2b7bdd050ee59b4d}{to}}
|
||||
\label{structSEND__REQUEST_93e2a6a71d2a91aa2b7bdd050ee59b4d}
|
||||
|
||||
\item
|
||||
\hypertarget{structSEND__REQUEST_3126b3ef9d6533d3086760e413a7f23f}{
|
||||
int \hyperlink{structSEND__REQUEST_3126b3ef9d6533d3086760e413a7f23f}{tag}}
|
||||
\label{structSEND__REQUEST_3126b3ef9d6533d3086760e413a7f23f}
|
||||
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 39 of file send.cpp.
|
||||
|
||||
The documentation for this struct was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
send.cpp\end{CompactItemize}
|
||||
Loading…
Add table
Add a link
Reference in a new issue