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:
parent
dc9cb551be
commit
d912c44a58
1301 changed files with 145456 additions and 0 deletions
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
Loading…
Add table
Add a link
Reference in a new issue