added initial files coming from the trunk (r=920) for the branch 2.0

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@921 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2008-02-01 13:38:51 +00:00
commit d912c44a58
1301 changed files with 145456 additions and 0 deletions

View file

@ -0,0 +1,227 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 120.968
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.13333 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 6 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
(FlowShop) cw
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) cw
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(EO< MOEOObjectiveVector >) cw
(eoObject) cw
(eoPersistent) cw
(eoPrintable) 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 -----
(FlowShop) 0.5 0 box
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) 0.5 1 box
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 2 box
(EO< MOEOObjectiveVector >) 0.5 3 box
(eoObject) 0 4 box
(eoPersistent) 1 4 box
(eoPrintable) 1 5 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
0 1 4 conn
solid
1 0 4 in
solid
1 1 4 in
solid
0 1 4 out
solid
1 1 5 in

View file

@ -0,0 +1,32 @@
\section{Flow\-Shop Class Reference}
\label{classFlowShop}\index{FlowShop@{FlowShop}}
Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int.
{\tt \#include $<$Flow\-Shop.h$>$}
Inheritance diagram for Flow\-Shop::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.3871cm]{classFlowShop}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
std::string \bf{class\-Name} () const \label{classFlowShop_eaab263664f0078082e723a905d430f3}
\begin{CompactList}\small\item\em class name \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int.
Definition at line 22 of file Flow\-Shop.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
Flow\-Shop.h\item
Flow\-Shop.cpp\end{CompactItemize}

View file

@ -0,0 +1,110 @@
\section{Flow\-Shop\-Benchmark\-Parser Class Reference}
\label{classFlowShopBenchmarkParser}\index{FlowShopBenchmarkParser@{FlowShopBenchmarkParser}}
Class to handle parameters of a flow-shop instance from a benchmark file.
{\tt \#include $<$Flow\-Shop\-Benchmark\-Parser.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{Flow\-Shop\-Benchmark\-Parser} (const std::string \_\-benchmark\-File\-Name)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
const unsigned int \bf{get\-M} ()\label{classFlowShopBenchmarkParser_8d5042c2f8727e235f94c947b2ba00a5}
\begin{CompactList}\small\item\em the number of machines \item\end{CompactList}\item
const unsigned int \bf{get\-N} ()\label{classFlowShopBenchmarkParser_fe16df4df5104aee3d792e60bb32a66d}
\begin{CompactList}\small\item\em the number of jobs \item\end{CompactList}\item
const std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \bf{get\-P} ()\label{classFlowShopBenchmarkParser_2df87bf8a18a55266729ab105955d7bf}
\begin{CompactList}\small\item\em the processing times \item\end{CompactList}\item
const std::vector$<$ unsigned int $>$ \bf{get\-D} ()\label{classFlowShopBenchmarkParser_b362d0042273be436c55637828d8582d}
\begin{CompactList}\small\item\em the due-dates \item\end{CompactList}\item
void \bf{print\-On} (std::ostream \&\_\-os) const
\begin{CompactList}\small\item\em printing. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{init} (const std::string \_\-benchmark\-File\-Name)
\begin{CompactList}\small\item\em Initialisation of the parameters with the data contained in the benchmark file. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{M}\label{classFlowShopBenchmarkParser_4cc02556c751afe32e8800544160c7c7}
\begin{CompactList}\small\item\em number of machines \item\end{CompactList}\item
unsigned int \bf{N}\label{classFlowShopBenchmarkParser_fb220e40e9f94e3c1d3a7eb437aeffce}
\begin{CompactList}\small\item\em number of jobs \item\end{CompactList}\item
std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \bf{p}\label{classFlowShopBenchmarkParser_4c1ce3d710b6605ddcc723101b808de5}
\begin{CompactList}\small\item\em p[i][j] = processing time of job j on machine i \item\end{CompactList}\item
std::vector$<$ unsigned int $>$ \bf{d}\label{classFlowShopBenchmarkParser_8898519f54465b2d23a846053363bf4b}
\begin{CompactList}\small\item\em d[j] = due-date of the job j \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Class to handle parameters of a flow-shop instance from a benchmark file.
Definition at line 23 of file Flow\-Shop\-Benchmark\-Parser.h.
\subsection{Constructor \& Destructor Documentation}
\index{FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}!FlowShopBenchmarkParser@{FlowShopBenchmarkParser}}
\index{FlowShopBenchmarkParser@{FlowShopBenchmarkParser}!FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Flow\-Shop\-Benchmark\-Parser::Flow\-Shop\-Benchmark\-Parser (const std::string {\em \_\-benchmark\-File\-Name})}\label{classFlowShopBenchmarkParser_2787b88a1be9d4d37438c557bf32f137}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-benchmark\-File\-Name}]the name of the benchmark file \end{description}
\end{Desc}
Definition at line 16 of file Flow\-Shop\-Benchmark\-Parser.cpp.
References init().
\subsection{Member Function Documentation}
\index{FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}!printOn@{printOn}}
\index{printOn@{printOn}!FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Flow\-Shop\-Benchmark\-Parser::print\-On (std::ostream \& {\em \_\-os}) const}\label{classFlowShopBenchmarkParser_69c9ba47e774da4b06424a724573265d}
printing.
..
Definition at line 46 of file Flow\-Shop\-Benchmark\-Parser.cpp.
References d, M, N, and p.\index{FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}!init@{init}}
\index{init@{init}!FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Flow\-Shop\-Benchmark\-Parser::init (const std::string {\em \_\-benchmark\-File\-Name})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopBenchmarkParser_4e6de6a0ec2859e1a2fb758fb06dc915}
Initialisation of the parameters with the data contained in the benchmark file.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-benchmark\-File\-Name}]the name of the benchmark file \end{description}
\end{Desc}
Definition at line 64 of file Flow\-Shop\-Benchmark\-Parser.cpp.
References d, M, N, and p.
Referenced by Flow\-Shop\-Benchmark\-Parser().
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
Flow\-Shop\-Benchmark\-Parser.h\item
Flow\-Shop\-Benchmark\-Parser.cpp\end{CompactItemize}

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

View file

@ -0,0 +1,147 @@
\section{Flow\-Shop\-Eval Class Reference}
\label{classFlowShopEval}\index{FlowShopEval@{FlowShopEval}}
Evaluation of the objective vector a (multi-objective) \doxyref{Flow\-Shop}{p.}{classFlowShop} object.
{\tt \#include $<$Flow\-Shop\-Eval.h$>$}
Inheritance diagram for Flow\-Shop\-Eval::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classFlowShopEval}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{Flow\-Shop\-Eval} (unsigned int \_\-M, unsigned int \_\-N, const std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \&\_\-p, const std::vector$<$ unsigned int $>$ \&\_\-d)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop)
\begin{CompactList}\small\item\em computation of the multi-objective evaluation of a \doxyref{Flow\-Shop}{p.}{classFlowShop} object \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
double \bf{makespan} (const \bf{Flow\-Shop} \&\_\-flowshop)
\begin{CompactList}\small\item\em computation of the makespan \item\end{CompactList}\item
double \bf{tardiness} (const \bf{Flow\-Shop} \&\_\-flowshop)
\begin{CompactList}\small\item\em computation of the tardiness \item\end{CompactList}\item
std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \bf{completion\-Time} (const \bf{Flow\-Shop} \&\_\-flowshop)
\begin{CompactList}\small\item\em computation of the completion times of a scheduling (for each job on each machine) C[i][j] = completion of the jth job of the scheduling on the ith machine \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{M}\label{classFlowShopEval_9c7c7263d8c04d18d66729f4875d46cd}
\begin{CompactList}\small\item\em number of machines \item\end{CompactList}\item
unsigned int \bf{N}\label{classFlowShopEval_48c4a108b54c2c949cb649e470c9e8c4}
\begin{CompactList}\small\item\em number of jobs \item\end{CompactList}\item
std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \bf{p}\label{classFlowShopEval_f4152ec0542e13cbc8f4c4ece284a2b4}
\begin{CompactList}\small\item\em p[i][j] = processing time of job j on machine i \item\end{CompactList}\item
std::vector$<$ unsigned int $>$ \bf{d}\label{classFlowShopEval_a283f1bfd433ec1bd3a45c46bd6e3ba4}
\begin{CompactList}\small\item\em d[j] = due-date of the job j \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Evaluation of the objective vector a (multi-objective) \doxyref{Flow\-Shop}{p.}{classFlowShop} object.
Definition at line 23 of file Flow\-Shop\-Eval.h.
\subsection{Constructor \& Destructor Documentation}
\index{FlowShopEval@{Flow\-Shop\-Eval}!FlowShopEval@{FlowShopEval}}
\index{FlowShopEval@{FlowShopEval}!FlowShopEval@{Flow\-Shop\-Eval}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Flow\-Shop\-Eval::Flow\-Shop\-Eval (unsigned int {\em \_\-M}, unsigned int {\em \_\-N}, const std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \& {\em \_\-p}, const std::vector$<$ unsigned int $>$ \& {\em \_\-d})}\label{classFlowShopEval_f830293ad66a253a4008937fd6d68fce}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-M}]the number of machines \item[{\em \_\-N}]the number of jobs to schedule \item[{\em \_\-p}]the processing times \item[{\em \_\-d}]the due dates \end{description}
\end{Desc}
Definition at line 16 of file Flow\-Shop\-Eval.cpp.
\subsection{Member Function Documentation}
\index{FlowShopEval@{Flow\-Shop\-Eval}!operator()@{operator()}}
\index{operator()@{operator()}!FlowShopEval@{Flow\-Shop\-Eval}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Flow\-Shop\-Eval::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop})}\label{classFlowShopEval_d6ea74de6e62c2b104b52aa68b5da3a5}
computation of the multi-objective evaluation of a \doxyref{Flow\-Shop}{p.}{classFlowShop} object
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-flowshop}]the \doxyref{Flow\-Shop}{p.}{classFlowShop} object to evaluate \end{description}
\end{Desc}
Definition at line 21 of file Flow\-Shop\-Eval.cpp.
References makespan(), MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::objective\-Vector(), and tardiness().\index{FlowShopEval@{Flow\-Shop\-Eval}!makespan@{makespan}}
\index{makespan@{makespan}!FlowShopEval@{Flow\-Shop\-Eval}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double Flow\-Shop\-Eval::makespan (const \bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopEval_8b383e0c6cfd68fdf61e987b5fc91cf3}
computation of the makespan
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-flowshop}]the genotype to evaluate \end{description}
\end{Desc}
Definition at line 31 of file Flow\-Shop\-Eval.cpp.
References completion\-Time(), M, and N.
Referenced by operator()().\index{FlowShopEval@{Flow\-Shop\-Eval}!tardiness@{tardiness}}
\index{tardiness@{tardiness}!FlowShopEval@{Flow\-Shop\-Eval}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double Flow\-Shop\-Eval::tardiness (const \bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopEval_25d04be8fd17b5589fdac732accaaf9e}
computation of the tardiness
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-flowshop}]the genotype to evaluate \end{description}
\end{Desc}
Definition at line 40 of file Flow\-Shop\-Eval.cpp.
References completion\-Time(), d, M, and N.
Referenced by operator()().\index{FlowShopEval@{Flow\-Shop\-Eval}!completionTime@{completionTime}}
\index{completionTime@{completionTime}!FlowShopEval@{Flow\-Shop\-Eval}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<$ std::vector$<$ unsigned int $>$ $>$ Flow\-Shop\-Eval::completion\-Time (const \bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopEval_84cfc6f7bee1c0e4b1a29ca99e3c129b}
computation of the completion times of a scheduling (for each job on each machine) C[i][j] = completion of the jth job of the scheduling on the ith machine
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-flowshop}]the genotype to evaluate \end{description}
\end{Desc}
Definition at line 53 of file Flow\-Shop\-Eval.cpp.
References M, N, and p.
Referenced by makespan(), and tardiness().
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
Flow\-Shop\-Eval.h\item
Flow\-Shop\-Eval.cpp\end{CompactItemize}

View 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 615.385
%%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.8125 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
(FlowShopInit) cw
(eoInit< FlowShop >) cw
(eoUF< A1, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(FlowShopInit) 0 0 box
(eoInit< FlowShop >) 0 1 box
(eoUF< A1, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -0,0 +1,75 @@
\section{Flow\-Shop\-Init Class Reference}
\label{classFlowShopInit}\index{FlowShopInit@{FlowShopInit}}
Initialization of a random genotype built by the default constructor of the \doxyref{Flow\-Shop}{p.}{classFlowShop} class.
{\tt \#include $<$Flow\-Shop\-Init.h$>$}
Inheritance diagram for Flow\-Shop\-Init::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classFlowShopInit}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{Flow\-Shop\-Init} (unsigned int \_\-N)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop)
\begin{CompactList}\small\item\em builds a random genotype \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{N}\label{classFlowShopInit_3bf7c402441e5bba3397377630e6ff4c}
\begin{CompactList}\small\item\em the number of jobs (size of a scheduling vector) \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Initialization of a random genotype built by the default constructor of the \doxyref{Flow\-Shop}{p.}{classFlowShop} class.
Definition at line 22 of file Flow\-Shop\-Init.h.
\subsection{Constructor \& Destructor Documentation}
\index{FlowShopInit@{Flow\-Shop\-Init}!FlowShopInit@{FlowShopInit}}
\index{FlowShopInit@{FlowShopInit}!FlowShopInit@{Flow\-Shop\-Init}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Flow\-Shop\-Init::Flow\-Shop\-Init (unsigned int {\em \_\-N})}\label{classFlowShopInit_8ede459984d5de13c6a181c72cf4551e}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-N}]the number of jobs to schedule \end{description}
\end{Desc}
Definition at line 16 of file Flow\-Shop\-Init.cpp.
\subsection{Member Function Documentation}
\index{FlowShopInit@{Flow\-Shop\-Init}!operator()@{operator()}}
\index{operator()@{operator()}!FlowShopInit@{Flow\-Shop\-Init}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Flow\-Shop\-Init::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop})}\label{classFlowShopInit_3df0d9e3834cdfa494683df7e8646025}
builds a random genotype
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-flowshop}]a genotype that has been default-constructed \end{description}
\end{Desc}
Definition at line 20 of file Flow\-Shop\-Init.cpp.
References MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::invalidate(), N, eo\-Rng::uniform(), and moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value().
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
Flow\-Shop\-Init.h\item
Flow\-Shop\-Init.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 201.005
%%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.4875 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
(FlowShopObjectiveVectorTraits) cw
(moeoObjectiveVectorTraits) 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 -----
(FlowShopObjectiveVectorTraits) 0 0 box
(moeoObjectiveVectorTraits) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,67 @@
\section{Flow\-Shop\-Objective\-Vector\-Traits Class Reference}
\label{classFlowShopObjectiveVectorTraits}\index{FlowShopObjectiveVectorTraits@{FlowShopObjectiveVectorTraits}}
Definition of the objective vector traits for multi-objective flow-shop problems.
{\tt \#include $<$Flow\-Shop\-Objective\-Vector\-Traits.h$>$}
Inheritance diagram for Flow\-Shop\-Objective\-Vector\-Traits::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classFlowShopObjectiveVectorTraits}
\end{center}
\end{figure}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item
static bool \bf{minimizing} (int \_\-i)
\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be minimzed. \item\end{CompactList}\item
static bool \bf{maximizing} (int \_\-i)
\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be maximzed. \item\end{CompactList}\item
static unsigned int \bf{n\-Objectives} ()\label{classFlowShopObjectiveVectorTraits_76ebe7639b502980bc683ab404b69c10}
\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Definition of the objective vector traits for multi-objective flow-shop problems.
Definition at line 21 of file Flow\-Shop\-Objective\-Vector\-Traits.h.
\subsection{Member Function Documentation}
\index{FlowShopObjectiveVectorTraits@{Flow\-Shop\-Objective\-Vector\-Traits}!minimizing@{minimizing}}
\index{minimizing@{minimizing}!FlowShopObjectiveVectorTraits@{Flow\-Shop\-Objective\-Vector\-Traits}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Objective\-Vector\-Traits::minimizing (int {\em \_\-i})\hspace{0.3cm}{\tt [static]}}\label{classFlowShopObjectiveVectorTraits_e1a0f5be1782b9f9ce08128a404a1fa8}
Returns true if the \_\-ith objective have to be minimzed.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-i}]index of the objective \end{description}
\end{Desc}
Definition at line 16 of file Flow\-Shop\-Objective\-Vector\-Traits.cpp.\index{FlowShopObjectiveVectorTraits@{Flow\-Shop\-Objective\-Vector\-Traits}!maximizing@{maximizing}}
\index{maximizing@{maximizing}!FlowShopObjectiveVectorTraits@{Flow\-Shop\-Objective\-Vector\-Traits}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Objective\-Vector\-Traits::maximizing (int {\em \_\-i})\hspace{0.3cm}{\tt [static]}}\label{classFlowShopObjectiveVectorTraits_229fbb4cc19d289637891c1b49f3eaba}
Returns true if the \_\-ith objective have to be maximzed.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-i}]index of the objective \end{description}
\end{Desc}
Definition at line 22 of file Flow\-Shop\-Objective\-Vector\-Traits.cpp.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
Flow\-Shop\-Objective\-Vector\-Traits.h\item
Flow\-Shop\-Objective\-Vector\-Traits.cpp\end{CompactItemize}

View 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 156.25
%%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.2 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/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
(FlowShopOpCrossoverQuad) cw
(eoQuadOp< FlowShop >) cw
(eoOp< EOType >) cw
(eoBF< FlowShop &, FlowShop &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(FlowShopOpCrossoverQuad) 0.5 0 box
(eoQuadOp< FlowShop >) 0.5 1 box
(eoOp< EOType >) 0 2 box
(eoBF< FlowShop &, FlowShop &, bool >) 1 2 box
(eoFunctorBase) 1 3 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
0 1 2 conn
solid
1 0 2 in
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in

View file

@ -0,0 +1,76 @@
\section{Flow\-Shop\-Op\-Crossover\-Quad Class Reference}
\label{classFlowShopOpCrossoverQuad}\index{FlowShopOpCrossoverQuad@{FlowShopOpCrossoverQuad}}
Quadratic crossover operator for flow-shop (modify the both genotypes).
{\tt \#include $<$Flow\-Shop\-Op\-Crossover\-Quad.h$>$}
Inheritance diagram for Flow\-Shop\-Op\-Crossover\-Quad::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classFlowShopOpCrossoverQuad}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
std::string \bf{class\-Name} () const \label{classFlowShopOpCrossoverQuad_60ac69b87970b7000980f65aa6ead44a}
\begin{CompactList}\small\item\em the class name (used to display statistics) \item\end{CompactList}\item
bool \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop1, \bf{Flow\-Shop} \&\_\-flowshop2)
\begin{CompactList}\small\item\em eo\-Quad crossover - \_\-flowshop1 and \_\-flowshop2 are the (future) offspring, i.e. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
\bf{Flow\-Shop} \bf{generate\-Offspring} (const \bf{Flow\-Shop} \&\_\-parent1, const \bf{Flow\-Shop} \&\_\-parent2, unsigned int \_\-point1, unsigned int \_\-point2)
\begin{CompactList}\small\item\em generation of an offspring by a 2 points crossover \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Quadratic crossover operator for flow-shop (modify the both genotypes).
Definition at line 22 of file Flow\-Shop\-Op\-Crossover\-Quad.h.
\subsection{Member Function Documentation}
\index{FlowShopOpCrossoverQuad@{Flow\-Shop\-Op\-Crossover\-Quad}!operator()@{operator()}}
\index{operator()@{operator()}!FlowShopOpCrossoverQuad@{Flow\-Shop\-Op\-Crossover\-Quad}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Op\-Crossover\-Quad::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop1}, \bf{Flow\-Shop} \& {\em \_\-flowshop2})\hspace{0.3cm}{\tt [virtual]}}\label{classFlowShopOpCrossoverQuad_92f70807bea24d3c233af580e2c55e3a}
eo\-Quad crossover - \_\-flowshop1 and \_\-flowshop2 are the (future) offspring, i.e.
\_\-copies\_\- of the parents \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-flowshop1}]the first parent \item[{\em \_\-flowshop2}]the second parent \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ Flow\-Shop \&, Flow\-Shop \&, bool $>$}.
Definition at line 22 of file Flow\-Shop\-Op\-Crossover\-Quad.cpp.
References generate\-Offspring(), eo\-Rng::random(), and moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value().\index{FlowShopOpCrossoverQuad@{Flow\-Shop\-Op\-Crossover\-Quad}!generateOffspring@{generateOffspring}}
\index{generateOffspring@{generateOffspring}!FlowShopOpCrossoverQuad@{Flow\-Shop\-Op\-Crossover\-Quad}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\bf{Flow\-Shop} Flow\-Shop\-Op\-Crossover\-Quad::generate\-Offspring (const \bf{Flow\-Shop} \& {\em \_\-parent1}, const \bf{Flow\-Shop} \& {\em \_\-parent2}, unsigned int {\em \_\-point1}, unsigned int {\em \_\-point2})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopOpCrossoverQuad_cbc2f344a0a29861900f4846597564c3}
generation of an offspring by a 2 points crossover
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-parent1}]the first parent \item[{\em \_\-parent2}]the second parent \item[{\em \_\-point1}]the first point \item[{\em \_\-point2}]the second point \end{description}
\end{Desc}
Definition at line 54 of file Flow\-Shop\-Op\-Crossover\-Quad.cpp.
Referenced by operator()().
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
Flow\-Shop\-Op\-Crossover\-Quad.h\item
Flow\-Shop\-Op\-Crossover\-Quad.cpp\end{CompactItemize}

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

View file

@ -0,0 +1,55 @@
\section{Flow\-Shop\-Op\-Mutation\-Exchange Class Reference}
\label{classFlowShopOpMutationExchange}\index{FlowShopOpMutationExchange@{FlowShopOpMutationExchange}}
Exchange mutation operator for the flow-shop.
{\tt \#include $<$Flow\-Shop\-Op\-Mutation\-Exchange.h$>$}
Inheritance diagram for Flow\-Shop\-Op\-Mutation\-Exchange::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classFlowShopOpMutationExchange}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
std::string \bf{class\-Name} () const \label{classFlowShopOpMutationExchange_36a926c9fe21346db26fadf1d50c1c7a}
\begin{CompactList}\small\item\em the class name (used to display statistics) \item\end{CompactList}\item
bool \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop)
\begin{CompactList}\small\item\em modifies the parent with an exchange mutation \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Exchange mutation operator for the flow-shop.
Definition at line 22 of file Flow\-Shop\-Op\-Mutation\-Exchange.h.
\subsection{Member Function Documentation}
\index{FlowShopOpMutationExchange@{Flow\-Shop\-Op\-Mutation\-Exchange}!operator()@{operator()}}
\index{operator()@{operator()}!FlowShopOpMutationExchange@{Flow\-Shop\-Op\-Mutation\-Exchange}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Op\-Mutation\-Exchange::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [virtual]}}\label{classFlowShopOpMutationExchange_bdb2e1d937d788c50f04226265c848bd}
modifies the parent with an exchange mutation
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-flowshop}]the parent genotype (will be modified) \end{description}
\end{Desc}
Implements \bf{eo\-UF$<$ Flow\-Shop \&, bool $>$}.
Definition at line 22 of file Flow\-Shop\-Op\-Mutation\-Exchange.cpp.
References eo\-Rng::random(), and moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value().
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
Flow\-Shop\-Op\-Mutation\-Exchange.h\item
Flow\-Shop\-Op\-Mutation\-Exchange.cpp\end{CompactItemize}

View 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 225.989
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.2125 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
(FlowShopOpMutationShift) cw
(eoMonOp< FlowShop >) cw
(eoOp< EOType >) cw
(eoUF< FlowShop &, bool >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(FlowShopOpMutationShift) 0.5 0 box
(eoMonOp< FlowShop >) 0.5 1 box
(eoOp< EOType >) 0 2 box
(eoUF< FlowShop &, bool >) 1 2 box
(eoFunctorBase) 1 3 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
0 1 2 conn
solid
1 0 2 in
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in

View file

@ -0,0 +1,55 @@
\section{Flow\-Shop\-Op\-Mutation\-Shift Class Reference}
\label{classFlowShopOpMutationShift}\index{FlowShopOpMutationShift@{FlowShopOpMutationShift}}
Shift mutation operator for flow-shop.
{\tt \#include $<$Flow\-Shop\-Op\-Mutation\-Shift.h$>$}
Inheritance diagram for Flow\-Shop\-Op\-Mutation\-Shift::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classFlowShopOpMutationShift}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
std::string \bf{class\-Name} () const \label{classFlowShopOpMutationShift_dd1d710568978d1d4bb8c6f3925da4c6}
\begin{CompactList}\small\item\em the class name (used to display statistics) \item\end{CompactList}\item
bool \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop)
\begin{CompactList}\small\item\em modifies the parent with a shift mutation \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Shift mutation operator for flow-shop.
Definition at line 22 of file Flow\-Shop\-Op\-Mutation\-Shift.h.
\subsection{Member Function Documentation}
\index{FlowShopOpMutationShift@{Flow\-Shop\-Op\-Mutation\-Shift}!operator()@{operator()}}
\index{operator()@{operator()}!FlowShopOpMutationShift@{Flow\-Shop\-Op\-Mutation\-Shift}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Op\-Mutation\-Shift::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [virtual]}}\label{classFlowShopOpMutationShift_c000b017e75ddee3b6fe9db8ea5ddd5b}
modifies the parent with a shift mutation
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-flowshop}]the parent genotype (will be modified) \end{description}
\end{Desc}
Implements \bf{eo\-UF$<$ Flow\-Shop \&, bool $>$}.
Definition at line 22 of file Flow\-Shop\-Op\-Mutation\-Shift.cpp.
References eo\-Rng::random(), and moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value().
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
Flow\-Shop\-Op\-Mutation\-Shift.h\item
Flow\-Shop\-Op\-Mutation\-Shift.cpp\end{CompactItemize}

View file

@ -0,0 +1,233 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 147.059
%%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.4 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 7 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
(Sch1) cw
(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(EO< MOEOObjectiveVector >) cw
(eoObject) cw
(eoPersistent) cw
(eoPrintable) 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 -----
(Sch1) 0.5 0 box
(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 1 box
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 0.5 2 box
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 3 box
(EO< MOEOObjectiveVector >) 0.5 4 box
(eoObject) 0 5 box
(eoPersistent) 1 5 box
(eoPrintable) 1 6 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
1 0.5 4 in
solid
0 0.5 4 out
solid
0 1 5 conn
solid
1 0 5 in
solid
1 1 5 in
solid
0 1 5 out
solid
1 1 6 in

View file

@ -0,0 +1,26 @@
\section{Sch1 Class Reference}
\label{classSch1}\index{Sch1@{Sch1}}
Inheritance diagram for Sch1::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.11765cm]{classSch1}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{Sch1} ()\label{classSch1_3ddc72f40539bfe0d5bb8d977b6655c0}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 44 of file Sch1.cpp.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
Sch1.cpp\end{CompactItemize}

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

View file

@ -0,0 +1,26 @@
\section{Sch1Eval Class Reference}
\label{classSch1Eval}\index{Sch1Eval@{Sch1Eval}}
Inheritance diagram for Sch1Eval::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classSch1Eval}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{operator()} (\bf{Sch1} \&\_\-sch1)\label{classSch1Eval_4f806a964f7bafa9e4fcca45da458c98}
\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 52 of file Sch1.cpp.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
Sch1.cpp\end{CompactItemize}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 231.214
%%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.1625 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
(Sch1ObjectiveVectorTraits) cw
(moeoObjectiveVectorTraits) 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 -----
(Sch1ObjectiveVectorTraits) 0 0 box
(moeoObjectiveVectorTraits) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,32 @@
\section{Sch1Objective\-Vector\-Traits Class Reference}
\label{classSch1ObjectiveVectorTraits}\index{Sch1ObjectiveVectorTraits@{Sch1ObjectiveVectorTraits}}
Inheritance diagram for Sch1Objective\-Vector\-Traits::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classSch1ObjectiveVectorTraits}
\end{center}
\end{figure}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item
static bool \bf{minimizing} (int i)\label{classSch1ObjectiveVectorTraits_455ac35e419ad21c0a4ba4bbd2768ca5}
\item
static bool \bf{maximizing} (int i)\label{classSch1ObjectiveVectorTraits_a7de212f3346dde550757e8a412baa4d}
\item
static unsigned int \bf{n\-Objectives} ()\label{classSch1ObjectiveVectorTraits_54ae04aa8eb052223778ecae175be95b}
\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
Definition at line 21 of file Sch1.cpp.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
Sch1.cpp\end{CompactItemize}

View 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 101.266
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.9375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 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
(moeoIBMOLS< MOEOT, Move >) cw
(moeoLS< MOEOT, eoPop< MOEOT > & >) cw
(moeoAlgo) cw
(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoIBMOLS< MOEOT, Move >) 0.5 0 box
(moeoLS< MOEOT, eoPop< MOEOT > & >) 0.5 1 box
(moeoAlgo) 0 2 box
(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) 1 2 box
(eoFunctorBase) 1 3 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
0 1 2 conn
solid
1 0 2 in
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in

View file

@ -0,0 +1,147 @@
\section{moeo\-IBMOLS$<$ MOEOT, Move $>$ Class Template Reference}
\label{classmoeoIBMOLS}\index{moeoIBMOLS@{moeoIBMOLS}}
Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K.
{\tt \#include $<$moeo\-IBMOLS.h$>$}
Inheritance diagram for moeo\-IBMOLS$<$ MOEOT, Move $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.83544cm]{classmoeoIBMOLS}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoIBMOLS_d3433001dcc9a6e2a967aa5d64163935}
\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \&\_\-move\-Init, mo\-Next\-Move$<$ Move $>$ \&\_\-next\-Move, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \&\_\-move\-Incr\-Eval, \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Apply the local search until a local archive does not change or another stopping criteria is met and update the archive \_\-arch with new non-dominated solutions. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{one\-Step} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Apply one step of the local search to the population \_\-pop. \item\end{CompactList}\item
void \bf{new\_\-one\-Step} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Apply one step of the local search to the population \_\-pop. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
mo\-Move\-Init$<$ Move $>$ \& \bf{move\-Init}\label{classmoeoIBMOLS_b4b4908b893edd52d6fa24085d2a89e5}
\begin{CompactList}\small\item\em the move initializer \item\end{CompactList}\item
mo\-Next\-Move$<$ Move $>$ \& \bf{next\-Move}\label{classmoeoIBMOLS_8b8ebbd6eb6c82caa796160b4be2a86b}
\begin{CompactList}\small\item\em the neighborhood explorer \item\end{CompactList}\item
\bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& \bf{eval}\label{classmoeoIBMOLS_e9acda4b2f61f8960109a8c6fd52551e}
\begin{CompactList}\small\item\em the full evaluation \item\end{CompactList}\item
\bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& \bf{move\-Incr\-Eval}\label{classmoeoIBMOLS_6c38636061bd03c4be809277e2dc257a}
\begin{CompactList}\small\item\em the incremental evaluation \item\end{CompactList}\item
\bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& \bf{fitness\-Assignment}\label{classmoeoIBMOLS_0c858da33922736b74d9875766cec9d7}
\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item
\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoIBMOLS_c15985c0bb5d9ba835f35d99d7c42b14}
\begin{CompactList}\small\item\em the stopping criteria \item\end{CompactList}\end{CompactItemize}
\subsection*{Classes}
\begin{CompactItemize}
\item
class \bf{One\-Objective\-Comparator}
\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT, class Move$>$ class moeo\-IBMOLS$<$ MOEOT, Move $>$}
Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K.
: \char`\"{}Indicator-Based Multi-Objective Local Search\char`\"{} (2007).
Definition at line 33 of file moeo\-IBMOLS.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoIBMOLS@{moeo\-IBMOLS}!moeoIBMOLS@{moeoIBMOLS}}
\index{moeoIBMOLS@{moeoIBMOLS}!moeoIBMOLS@{moeo\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::\bf{moeo\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \& {\em \_\-move\-Init}, mo\-Next\-Move$<$ Move $>$ \& {\em \_\-next\-Move}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& {\em \_\-move\-Incr\-Eval}, \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBMOLS_6d6a39ad3d5e4c298d450d801098e274}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-move\-Init}]the move initializer \item[{\em \_\-next\-Move}]the neighborhood explorer \item[{\em \_\-eval}]the full evaluation \item[{\em \_\-move\-Incr\-Eval}]the incremental evaluation \item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-continuator}]the stopping criteria \end{description}
\end{Desc}
Definition at line 50 of file moeo\-IBMOLS.h.
\subsection{Member Function Documentation}
\index{moeoIBMOLS@{moeo\-IBMOLS}!operator()@{operator()}}
\index{operator()@{operator()}!moeoIBMOLS@{moeo\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIBMOLS_fd788bbc4f956dec932dba2a4d4479b6}
Apply the local search until a local archive does not change or another stopping criteria is met and update the archive \_\-arch with new non-dominated solutions.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the initial population \item[{\em \_\-arch}]the (updated) archive \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, moeo\-Archive$<$ MOEOT $>$ \&, void $>$}.
Definition at line 73 of file moeo\-IBMOLS.h.
References moeo\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-Archive$<$ MOEOT $>$::equals(), moeo\-IBMOLS$<$ MOEOT, Move $>$::fitness\-Assignment, moeo\-IBMOLS$<$ MOEOT, Move $>$::one\-Step(), and moeo\-Archive$<$ MOEOT $>$::update().\index{moeoIBMOLS@{moeo\-IBMOLS}!oneStep@{oneStep}}
\index{oneStep@{oneStep}!moeoIBMOLS@{moeo\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::one\-Step (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoIBMOLS_fce770398602972b5d67c52638687d43}
Apply one step of the local search to the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 120 of file moeo\-IBMOLS.h.
References moeo\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-IBMOLS$<$ MOEOT, Move $>$::fitness\-Assignment, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Incr\-Eval, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Init, and moeo\-IBMOLS$<$ MOEOT, Move $>$::next\-Move.
Referenced by moeo\-IBMOLS$<$ MOEOT, Move $>$::operator()().\index{moeoIBMOLS@{moeo\-IBMOLS}!new_oneStep@{new\_\-oneStep}}
\index{new_oneStep@{new\_\-oneStep}!moeoIBMOLS@{moeo\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::new\_\-one\-Step (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoIBMOLS_9d811733d8e7508a7c48615c8ff0f990}
Apply one step of the local search to the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 304 of file moeo\-IBMOLS.h.
References moeo\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-IBMOLS$<$ MOEOT, Move $>$::fitness\-Assignment, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Incr\-Eval, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Init, and moeo\-IBMOLS$<$ MOEOT, Move $>$::next\-Move.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-IBMOLS.h\end{CompactItemize}

View 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 223.464
%%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.2375 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
(moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator) cw
(moeoComparator< MOEOT >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator) 0 0 box
(moeoComparator< MOEOT >) 0 1 box
(eoBF< A1, A2, R >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -0,0 +1,37 @@
\section{moeo\-IBMOLS$<$ MOEOT, Move $>$::One\-Objective\-Comparator Class Reference}
\label{classmoeoIBMOLS_1_1OneObjectiveComparator}\index{moeoIBMOLS::OneObjectiveComparator@{moeoIBMOLS::OneObjectiveComparator}}
Inheritance diagram for moeo\-IBMOLS$<$ MOEOT, Move $>$::One\-Objective\-Comparator::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoIBMOLS_1_1OneObjectiveComparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{One\-Objective\-Comparator} (unsigned int \_\-obj)\label{classmoeoIBMOLS_1_1OneObjectiveComparator_09ee419d143aa29bb05d48c358655bb1}
\item
const bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)\label{classmoeoIBMOLS_1_1OneObjectiveComparator_44685d0ab08fede366bb404fe7f36302}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned int \bf{obj}\label{classmoeoIBMOLS_1_1OneObjectiveComparator_724ca0379e42fdffe4ec0d788cd52f43}
\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT, class Move$>$ class moeo\-IBMOLS$<$ MOEOT, Move $>$::One\-Objective\-Comparator}
Definition at line 462 of file moeo\-IBMOLS.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-IBMOLS.h\end{CompactItemize}

View 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 101.266
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.9375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 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
(moeoIteratedIBMOLS< MOEOT, Move >) cw
(moeoLS< MOEOT, eoPop< MOEOT > & >) cw
(moeoAlgo) cw
(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoIteratedIBMOLS< MOEOT, Move >) 0.5 0 box
(moeoLS< MOEOT, eoPop< MOEOT > & >) 0.5 1 box
(moeoAlgo) 0 2 box
(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) 1 2 box
(eoFunctorBase) 1 3 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
0 1 2 conn
solid
1 0 2 in
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in

View file

@ -0,0 +1,124 @@
\section{moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$ Class Template Reference}
\label{classmoeoIteratedIBMOLS}\index{moeoIteratedIBMOLS@{moeoIteratedIBMOLS}}
Iterated version of IBMOLS as described in Basseur M., Burke K.
{\tt \#include $<$moeo\-Iterated\-IBMOLS.h$>$}
Inheritance diagram for moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.83544cm]{classmoeoIteratedIBMOLS}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoIteratedIBMOLS_bc0f8dff81be56b23376995aace92a01}
\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-Iterated\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \&\_\-move\-Init, mo\-Next\-Move$<$ Move $>$ \&\_\-next\-Move, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \&\_\-move\-Incr\-Eval, \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-mon\-Op, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-random\-Mon\-Op, unsigned int \_\-n\-Noise\-Iterations=1)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Apply the local search iteratively until the stopping criteria is met. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{generate\-New\-Solutions} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, const \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Creates new population randomly initialized and/or initialized from the archive \_\-arch. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$ \bf{ibmols}\label{classmoeoIteratedIBMOLS_6b1351f1faa391a1f095d1f9d4dba915}
\begin{CompactList}\small\item\em the local search to iterate \item\end{CompactList}\item
\bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& \bf{eval}\label{classmoeoIteratedIBMOLS_7abdd0c1433ec4671522c8d5edc9fe61}
\begin{CompactList}\small\item\em the full evaluation \item\end{CompactList}\item
\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoIteratedIBMOLS_964e5df65c7aa33dd84eed3180d5e0a3}
\begin{CompactList}\small\item\em the stopping criteria \item\end{CompactList}\item
\bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& \bf{mon\-Op}\label{classmoeoIteratedIBMOLS_77851daa2f2230000c0012beef3b8558}
\begin{CompactList}\small\item\em the monary operator \item\end{CompactList}\item
\bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& \bf{random\-Mon\-Op}\label{classmoeoIteratedIBMOLS_89df3bfa7069c06c7e7cf4b30ccc5535}
\begin{CompactList}\small\item\em the random monary operator (or random initializer) \item\end{CompactList}\item
unsigned int \bf{n\-Noise\-Iterations}\label{classmoeoIteratedIBMOLS_a50f25daf2847fb9d299ef65baf3bda7}
\begin{CompactList}\small\item\em the number of iterations to apply the random noise \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT, class Move$>$ class moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$}
Iterated version of IBMOLS as described in Basseur M., Burke K.
: \char`\"{}Indicator-Based Multi-Objective Local Search\char`\"{} (2007).
Definition at line 41 of file moeo\-Iterated\-IBMOLS.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!moeoIteratedIBMOLS@{moeoIteratedIBMOLS}}
\index{moeoIteratedIBMOLS@{moeoIteratedIBMOLS}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::\bf{moeo\-Iterated\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \& {\em \_\-move\-Init}, mo\-Next\-Move$<$ Move $>$ \& {\em \_\-next\-Move}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& {\em \_\-move\-Incr\-Eval}, \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-mon\-Op}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-random\-Mon\-Op}, unsigned int {\em \_\-n\-Noise\-Iterations} = {\tt 1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIteratedIBMOLS_67352bb5d797f20e767a4f0fa6d80f93}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-move\-Init}]the move initializer \item[{\em \_\-next\-Move}]the neighborhood explorer \item[{\em \_\-eval}]the full evaluation \item[{\em \_\-move\-Incr\-Eval}]the incremental evaluation \item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-mon\-Op}]the monary operator \item[{\em \_\-random\-Mon\-Op}]the random monary operator (or random initializer) \item[{\em \_\-n\-Noise\-Iterations}]the number of iterations to apply the random noise \end{description}
\end{Desc}
Definition at line 61 of file moeo\-Iterated\-IBMOLS.h.
\subsection{Member Function Documentation}
\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!operator()@{operator()}}
\index{operator()@{operator()}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIteratedIBMOLS_52d4aa19a93c69ed0c2246c62821e76e}
Apply the local search iteratively until the stopping criteria is met.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the initial population \item[{\em \_\-arch}]the (updated) archive \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, moeo\-Archive$<$ MOEOT $>$ \&, void $>$}.
Definition at line 86 of file moeo\-Iterated\-IBMOLS.h.
References moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::generate\-New\-Solutions(), moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::ibmols, and moeo\-Archive$<$ MOEOT $>$::update().\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!generateNewSolutions@{generateNewSolutions}}
\index{generateNewSolutions@{generateNewSolutions}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::generate\-New\-Solutions (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, const \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoIteratedIBMOLS_2826cf283f6670b3c46da5ac6b6def18}
Creates new population randomly initialized and/or initialized from the archive \_\-arch.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the output population \item[{\em \_\-arch}]the archive \end{description}
\end{Desc}
Definition at line 121 of file moeo\-Iterated\-IBMOLS.h.
References moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::eval, eo\-Pop$<$ EOT $>$::invalidate(), moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::mon\-Op, moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::n\-Noise\-Iterations, and moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::random\-Mon\-Op.
Referenced by moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Iterated\-IBMOLS.h\end{CompactItemize}

View 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 324.324
%%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.54167 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
(moeoMoveIncrEval< Move >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoMoveIncrEval< Move >) 0 0 box
(eoBF< A1, A2, R >) 0 1 box
(eoFunctorBase) 0 2 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in

View file

@ -0,0 +1,22 @@
\section{moeo\-Move\-Incr\-Eval$<$ Move $>$ Class Template Reference}
\label{classmoeoMoveIncrEval}\index{moeoMoveIncrEval@{moeoMoveIncrEval}}
Inheritance diagram for moeo\-Move\-Incr\-Eval$<$ Move $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classmoeoMoveIncrEval}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class Move$>$ class moeo\-Move\-Incr\-Eval$<$ Move $>$}
Definition at line 9 of file moeo\-Move\-Incr\-Eval.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Move\-Incr\-Eval.h\end{CompactItemize}

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

View 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 202.532
%%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.46875 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
(moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoFitnessAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box
(moeoFitnessAssignment< MOEOT >) 0 1 box
(eoUF< eoPop< MOEOT > &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -0,0 +1,148 @@
\section{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoReferencePointIndicatorBasedFitnessAssignment}\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}}
Fitness assignment sheme based a Reference Point and a Quality Indicator.
{\tt \#include $<$moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoReferencePointIndicatorBasedFitnessAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_51ae5507dca3e934f7db36eef78df556}
\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment} (\bf{Objective\-Vector} \&\_\-ref\-Point, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness values for every solution contained in the population \_\-pop. \item\end{CompactList}\item
void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item
void \bf{setup} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop (and the reference point). \item\end{CompactList}\item
void \bf{set\-Fitnesses} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness of every individual contained in the population \_\-pop. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
\bf{Objective\-Vector} \& \bf{ref\-Point}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_73dc1eb66e46b28b7ee283f7367f427b}
\begin{CompactList}\small\item\em the reference point \item\end{CompactList}\item
\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& \bf{metric}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_9adf4fd353f44f15d3722ef26aa81832}
\begin{CompactList}\small\item\em the quality indicator \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}
Fitness assignment sheme based a Reference Point and a Quality Indicator.
Definition at line 25 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}}
\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment} (\bf{Objective\-Vector} \& {\em \_\-ref\-Point}, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_67a5e91e08f89f27ad5aad989898c425}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-ref\-Point}]the reference point \item[{\em \_\-metric}]the quality indicator \end{description}
\end{Desc}
Definition at line 37 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_d122ebb7cda54b283d6736dc5e57da7d}
Sets the fitness values for every solution contained in the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Implements \bf{eo\-UF$<$ eo\-Pop$<$ MOEOT $>$ \&, void $>$}.
Definition at line 46 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses(), and moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup().\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_ba47422dd4f82274af2f69c0b5f95d3a}
Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
Implements \bf{moeo\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFitnessAssignment_4922629569eddc9be049b3ead1ab0269}.
Definition at line 60 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!setup@{setup}}
\index{setup@{setup}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::setup (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_67bfa12f97d247c15f3e28f923646b78}
Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop (and the reference point).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 78 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::ref\-Point, and moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::setup().
Referenced by moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!setFitnesses@{setFitnesses}}
\index{setFitnesses@{setFitnesses}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::set\-Fitnesses (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_b1ca358eeb6dac0afe902a3978e1219a}
Sets the fitness of every individual contained in the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 99 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::ref\-Point.
Referenced by moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize}

View file

@ -0,0 +1,119 @@
\section{peo\-EA$<$ EOT $>$ Class Template Reference}
\label{classpeoEA}\index{peoEA@{peoEA}}
The \doxyref{peo\-EA}{p.}{classpeoEA} class offers an elementary evolutionary algorithm implementation.
{\tt \#include $<$pmoeo\-EA.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{peo\-EA} (\bf{eo\-Continue}$<$ EOT $>$ \&\_\-\_\-cont, peo\-Pop\-Eval$<$ EOT $>$ \&\_\-\_\-pop\_\-eval, \bf{eo\-Select}$<$ EOT $>$ \&\_\-\_\-select, peo\-Transform$<$ EOT $>$ \&\_\-\_\-trans, \bf{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
void \bf{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 Runner} class, thus requiring the existence of a {\em run\/} function, the algorithm being executed on a distinct thread. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-pop)
\begin{CompactList}\small\item\em \doxyref{Function} operator for specifying the population to be associated with the algorithm. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{eo\-Continue}$<$ EOT $>$ \& \bf{cont}\label{classpeoEA_5f015eebf42f176b9fe322488c446c2a}
\item
peo\-Pop\-Eval$<$ EOT $>$ \& \bf{pop\_\-eval}\label{classpeoEA_9140259f50c9186edcb062b023624c96}
\item
\bf{eo\-Select}$<$ EOT $>$ \& \bf{select}\label{classpeoEA_2d8428d69fdd6aefefbaf543fdd46d19}
\item
peo\-Transform$<$ EOT $>$ \& \bf{trans}\label{classpeoEA_713c77935eb8aafebfb9488cfaa4a363}
\item
\bf{eo\-Replacement}$<$ EOT $>$ \& \bf{replace}\label{classpeoEA_9bd2d4356cf7e69e3141dc269213aa8a}
\item
\bf{eo\-Pop}$<$ EOT $>$ $\ast$ \bf{pop}\label{classpeoEA_c0b110e410bc16283e8339f24b733772}
\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class peo\-EA$<$ EOT $>$}
The \doxyref{peo\-EA}{p.}{classpeoEA} class offers an elementary evolutionary algorithm implementation.
In addition, as compared with the algorithms provided by the \doxyref{EO} framework, the \doxyref{peo\-EA}{p.}{classpeoEA} 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 \doxyref{EO} framework, the drawback resides in the fact that the \doxyref{EO} implementation is exclusively sequential and, in consequence, no parallelism is provided. A simple example for constructing a \doxyref{peo\-EA}{p.}{classpeoEA} 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 54 of file pmoeo\-EA.h.
\subsection{Constructor \& Destructor Documentation}
\index{peoEA@{peo\-EA}!peoEA@{peoEA}}
\index{peoEA@{peoEA}!peoEA@{peo\-EA}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \bf{peo\-EA}$<$ EOT $>$::\bf{peo\-EA} (\bf{eo\-Continue}$<$ EOT $>$ \& {\em \_\-\_\-cont}, peo\-Pop\-Eval$<$ EOT $>$ \& {\em \_\-\_\-pop\_\-eval}, \bf{eo\-Select}$<$ EOT $>$ \& {\em \_\-\_\-select}, peo\-Transform$<$ EOT $>$ \& {\em \_\-\_\-trans}, \bf{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 \doxyref{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 98 of file pmoeo\-EA.h.
References peo\-EA$<$ EOT $>$::pop\_\-eval, and peo\-EA$<$ EOT $>$::trans.
\subsection{Member Function Documentation}
\index{peoEA@{peo\-EA}!operator()@{operator()}}
\index{operator()@{operator()}!peoEA@{peo\-EA}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \bf{peo\-EA}$<$ EOT $>$::operator() (\bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-pop})}\label{classpeoEA_3c709e3b2491147d26fee36138644613}
\doxyref{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 114 of file pmoeo\-EA.h.
References peo\-EA$<$ EOT $>$::pop.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
pmoeo\-EA.h\end{CompactItemize}