MO full import

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@25 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2006-12-06 12:56:53 +00:00
commit bbad098cba
315 changed files with 46407 additions and 0 deletions

View file

@ -0,0 +1,23 @@
.TH "EmptySelection" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
EmptySelection \- Special class that describes the case of no selection.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moMoveSelect.h>\fP
.PP
.SH "Detailed Description"
.PP
Special class that describes the case of no selection.
This class is used as an exception that can be thrown if a solution selector has completly failed.
.PP
Definition at line 21 of file moMoveSelect.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,25 @@
.TH "moAlgo" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moAlgo \- Description of an algorithm of the mo library.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moAlgo.h>\fP
.PP
.SH "Detailed Description"
.PP
.SS "template<class EOT> class moAlgo< EOT >"
Description of an algorithm of the mo library.
\fBmoHC\fP, \fBmoTS\fP and \fBmoSA\fP are 3 examples of algorithm of the mo library.
.PP
Definition at line 21 of file moAlgo.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,44 @@
.TH "moAspirCrit" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moAspirCrit \- Description of the conditions in which a tabu move could be accepted.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moAspirCrit.h>\fP
.PP
Inherited by \fBmoImprBestFitAspirCrit< M >\fP, and \fBmoNoAspirCrit< M >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "virtual void \fBinit\fP ()=0"
.br
.RI "\fIProcedure which initialises all that needs a aspiration criterion. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moAspirCrit< M >"
Description of the conditions in which a tabu move could be accepted.
It is only a description... An object that herits from this class is needed to be used in a \fBmoTS\fP. See moNoAspriCrit for example.
.PP
Definition at line 22 of file moAspirCrit.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> virtual void \fBmoAspirCrit\fP< M >::init ()\fC [pure virtual]\fP"
.PP
Procedure which initialises all that needs a aspiration criterion.
.PP
It can be possible that this procedure do nothing...
.PP
Implemented in \fBmoImprBestFitAspirCrit< M >\fP, and \fBmoNoAspirCrit< M >\fP.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,115 @@
.TH "moBestImprSelect" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moBestImprSelect \- One of the possible \fBmoMoveSelect\fP.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moBestImprSelect.h>\fP
.PP
Inherits \fBmoMoveSelect< M >< M >\fP.
.PP
.SS "Public Types"
.in +1c
.ti -1c
.RI "typedef M::EOType::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "void \fBinit\fP (const \fBFitness\fP &__fit)"
.br
.RI "\fIProcedure which initialise the exploration. \fP"
.ti -1c
.RI "bool \fBupdate\fP (const M &__move, const \fBFitness\fP &__fit)"
.br
.RI "\fIFunction that indicates if the current move has not improved the fitness. \fP"
.ti -1c
.RI "void \fBoperator()\fP (M &__move, \fBFitness\fP &__fit) throw (EmptySelection)"
.br
.RI "\fIProcedure which saved the best move and fitness. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "bool \fBfirst_time\fP"
.br
.RI "\fIAllowing to know if at least one move has been generated. \fP"
.ti -1c
.RI "M \fBbest_move\fP"
.br
.RI "\fIThe best move. \fP"
.ti -1c
.RI "\fBFitness\fP \fBbest_fit\fP"
.br
.RI "\fIThe best fitness. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moBestImprSelect< M >"
One of the possible \fBmoMoveSelect\fP.
All neighbors are considered, and the movement which enables the best improvement is selected.
.PP
Definition at line 22 of file moBestImprSelect.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> bool \fBmoBestImprSelect\fP< M >::update (const M & __move, const \fBFitness\fP & __fit)\fC [inline, virtual]\fP"
.PP
Function that indicates if the current move has not improved the fitness.
.PP
If the given fitness enables an improvment, the move (\fBmoMove\fP) and the fitness linked to this move are saved.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP a move.
.br
\fI__fit\fP a fitness linked to the move.
.RE
.PP
\fBReturns:\fP
.RS 4
TRUE if the move does not improve the fitness.
.RE
.PP
.PP
Implements \fBmoMoveSelect< M >\fP.
.PP
Definition at line 47 of file moBestImprSelect.h.
.PP
References moBestImprSelect< M >::best_fit, moBestImprSelect< M >::best_move, and moBestImprSelect< M >::first_time.
.SS "template<class M> void \fBmoBestImprSelect\fP< M >::operator() (M & __move, \fBFitness\fP & __fit) throw (\fBEmptySelection\fP)\fC [inline]\fP"
.PP
Procedure which saved the best move and fitness.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP the current move (result of the procedure).
.br
\fI__fit\fP the current fitness (result of the procedure).
.RE
.PP
\fBExceptions:\fP
.RS 4
\fI\fBEmptySelection\fP\fP if no move has improved the fitness.
.RE
.PP
.PP
Definition at line 68 of file moBestImprSelect.h.
.PP
References moBestImprSelect< M >::best_fit, moBestImprSelect< M >::best_move, and moBestImprSelect< M >::first_time.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,25 @@
.TH "moCoolSched" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moCoolSched \- This class gives the description of a cooling schedule.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moCoolSched.h>\fP
.PP
Inherited by \fBmoEasyCoolSched\fP.
.PP
.SH "Detailed Description"
.PP
This class gives the description of a cooling schedule.
It is only a description... An object that herits from this class is needed to be used in a \fBmoSA\fP. See \fBmoEasyCoolSched\fP for example.
.PP
Definition at line 22 of file moCoolSched.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,88 @@
.TH "moEasyCoolSched" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moEasyCoolSched \- One of the possible \fBmoCoolSched\fP.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moEasyCoolSched.h>\fP
.PP
Inherits \fBmoCoolSched\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoEasyCoolSched\fP (double __threshold, double __ratio)"
.br
.RI "\fISimple constructor. \fP"
.ti -1c
.RI "bool \fBoperator()\fP (double &__temp)"
.br
.RI "\fIFunction which proceeds to the cooling. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "double \fBthreshold\fP"
.br
.RI "\fIThe temperature threhold. \fP"
.ti -1c
.RI "double \fBratio\fP"
.br
.RI "\fIThe decreasing factor of the temperature. \fP"
.in -1c
.SH "Detailed Description"
.PP
One of the possible \fBmoCoolSched\fP.
The simpliest, the temperature decrease according to a ratio until it greater than a threshold.
.PP
Definition at line 22 of file moEasyCoolSched.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "moEasyCoolSched::moEasyCoolSched (double __threshold, double __ratio)\fC [inline]\fP"
.PP
Simple constructor.
.PP
\fBParameters:\fP
.RS 4
\fI__threshold\fP the threshold.
.br
\fI__ratio\fP the ratio used to descrease the temperature.
.RE
.PP
.PP
Definition at line 31 of file moEasyCoolSched.h.
.SH "Member Function Documentation"
.PP
.SS "bool moEasyCoolSched::operator() (double & __temp)\fC [inline]\fP"
.PP
Function which proceeds to the cooling.
.PP
Decrease the temperature and indicates if it is greater than the threshold.
.PP
\fBParameters:\fP
.RS 4
\fI__temp\fP the current temperature.
.RE
.PP
\fBReturns:\fP
.RS 4
if the new temperature (current temperature * ratio) is greater than the threshold.
.RE
.PP
.PP
Definition at line 44 of file moEasyCoolSched.h.
.PP
References ratio, and threshold.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,128 @@
.TH "moFirstImprSelect" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moFirstImprSelect \- One possible \fBmoMoveSelect\fP.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moFirstImprSelect.h>\fP
.PP
Inherits \fBmoMoveSelect< M >< M >\fP.
.PP
.SS "Public Types"
.in +1c
.ti -1c
.RI "typedef M::EOType::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "virtual void \fBinit\fP (const \fBFitness\fP &__fit)"
.br
.RI "\fIProcedure which initialise the exploration. \fP"
.ti -1c
.RI "bool \fBupdate\fP (const M &__move, const typename M::EOType::Fitness &__fit)"
.br
.RI "\fIFunction that indicates if the current move has not improved the fitness. \fP"
.ti -1c
.RI "void \fBoperator()\fP (M &__move, \fBFitness\fP &__fit) throw (EmptySelection)"
.br
.RI "\fIProcedure which saved the best move and fitness. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "bool \fBvalid\fP"
.br
.RI "\fIAllow to know if at least one move has improved the solution. \fP"
.ti -1c
.RI "M \fBbest_move\fP"
.br
.RI "\fIBest stored movement. \fP"
.ti -1c
.RI "\fBFitness\fP \fBinit_fit\fP"
.br
.RI "\fIInitial fitness. \fP"
.ti -1c
.RI "\fBFitness\fP \fBbest_fit\fP"
.br
.RI "\fIBest stored fitness. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moFirstImprSelect< M >"
One possible \fBmoMoveSelect\fP.
The neighborhood is explored until a move enables an improvment of the current solution.
.PP
Definition at line 23 of file moFirstImprSelect.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> virtual void \fBmoFirstImprSelect\fP< M >::init (const \fBFitness\fP & __fit)\fC [inline, virtual]\fP"
.PP
Procedure which initialise the exploration.
.PP
It save the current fitness as the initial value for the fitness.
.PP
Implements \fBmoMoveSelect< M >\fP.
.PP
Definition at line 35 of file moFirstImprSelect.h.
.PP
References moFirstImprSelect< M >::init_fit, and moFirstImprSelect< M >::valid.
.SS "template<class M> bool \fBmoFirstImprSelect\fP< M >::update (const M & __move, const typename M::EOType::Fitness & __fit)\fC [inline]\fP"
.PP
Function that indicates if the current move has not improved the fitness.
.PP
If the given fitness enables an improvment, the move (\fBmoMove\fP) should be applied to the current solution.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP a move.
.br
\fI__fit\fP a fitness linked to the move.
.RE
.PP
\fBReturns:\fP
.RS 4
TRUE if the move does not improve the fitness.
.RE
.PP
.PP
Definition at line 52 of file moFirstImprSelect.h.
.PP
References moFirstImprSelect< M >::best_fit, moFirstImprSelect< M >::best_move, moFirstImprSelect< M >::init_fit, and moFirstImprSelect< M >::valid.
.SS "template<class M> void \fBmoFirstImprSelect\fP< M >::operator() (M & __move, \fBFitness\fP & __fit) throw (\fBEmptySelection\fP)\fC [inline]\fP"
.PP
Procedure which saved the best move and fitness.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP the current move (result of the procedure).
.br
\fI__fit\fP the current fitness (result of the procedure).
.RE
.PP
\fBExceptions:\fP
.RS 4
\fI\fBEmptySelection\fP\fP if no move has improved the fitness.
.RE
.PP
.PP
Definition at line 76 of file moFirstImprSelect.h.
.PP
References moFirstImprSelect< M >::best_fit, moFirstImprSelect< M >::best_move, and moFirstImprSelect< M >::valid.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,103 @@
.TH "moGenSolContinue" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moGenSolContinue \- One possible stop criterion for a solution-based heuristic.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moGenSolContinue.h>\fP
.PP
Inherits \fBmoSolContinue< EOT >< EOT >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoGenSolContinue\fP (unsigned __maxNumGen)"
.br
.RI "\fISimple constructor. \fP"
.ti -1c
.RI "bool \fBoperator()\fP (const EOT &__sol)"
.br
.RI "\fIFunction that activates the stop criterion. \fP"
.ti -1c
.RI "void \fBinit\fP ()"
.br
.RI "\fIProcedure which allows to initialise the generation counter. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "unsigned \fBmaxNumGen\fP"
.br
.RI "\fIIteration maximum number. \fP"
.ti -1c
.RI "unsigned \fBnumGen\fP"
.br
.RI "\fIIteration current number. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class EOT> class moGenSolContinue< EOT >"
One possible stop criterion for a solution-based heuristic.
The stop criterion corresponds to a maximum number of iteration.
.PP
Definition at line 21 of file moGenSolContinue.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<class EOT> \fBmoGenSolContinue\fP< EOT >::\fBmoGenSolContinue\fP (unsigned __maxNumGen)\fC [inline]\fP"
.PP
Simple constructor.
.PP
\fBParameters:\fP
.RS 4
\fI__maxNumGen\fP the maximum number of generation.
.RE
.PP
.PP
Definition at line 30 of file moGenSolContinue.h.
.SH "Member Function Documentation"
.PP
.SS "template<class EOT> bool \fBmoGenSolContinue\fP< EOT >::operator() (const EOT & __sol)\fC [inline]\fP"
.PP
Function that activates the stop criterion.
.PP
Increments the counter and returns TRUE if the current number of iteration is lower than the given maximum number of iterations.
.PP
\fBParameters:\fP
.RS 4
\fI__sol\fP the current solution.
.RE
.PP
\fBReturns:\fP
.RS 4
TRUE or FALSE according to the current generation number.
.RE
.PP
.PP
Definition at line 44 of file moGenSolContinue.h.
.PP
References moGenSolContinue< EOT >::maxNumGen, and moGenSolContinue< EOT >::numGen.
.SS "template<class EOT> void \fBmoGenSolContinue\fP< EOT >::init ()\fC [inline, virtual]\fP"
.PP
Procedure which allows to initialise the generation counter.
.PP
It can also be used to reset the iteration counter.
.PP
Implements \fBmoSolContinue< EOT >\fP.
.PP
Definition at line 54 of file moGenSolContinue.h.
.PP
References moGenSolContinue< EOT >::numGen.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,130 @@
.TH "moHC" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moHC \- Hill Climbing (HC).
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moHC.h>\fP
.PP
Inherits \fBmoAlgo< M::EOType >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoHC\fP (\fBmoMoveInit\fP< M > &__move_init, \fBmoNextMove\fP< M > &__next_move, \fBmoMoveIncrEval\fP< M > &__incr_eval, \fBmoMoveSelect\fP< M > &__move_select, eoEvalFunc< \fBEOT\fP > &__full_eval)"
.br
.RI "\fIFull constructor. \fP"
.ti -1c
.RI "\fBmoHC\fP (\fBmoMoveExpl\fP< M > &__move_expl, eoEvalFunc< \fBEOT\fP > &__full_eval)"
.br
.RI "\fILight constructor. \fP"
.ti -1c
.RI "bool \fBoperator()\fP (\fBEOT\fP &__sol)"
.br
.RI "\fIFunction which launches the HC. \fP"
.in -1c
.SS "Private Types"
.in +1c
.ti -1c
.RI "typedef M::EOType \fBEOT\fP"
.br
.RI "\fIAlias for the type. \fP"
.ti -1c
.RI "typedef EOT::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBmoMoveExpl\fP< M > & \fBmove_expl\fP"
.br
.RI "\fIComplete exploration of the neighborhood. \fP"
.ti -1c
.RI "eoEvalFunc< \fBEOT\fP > & \fBfull_eval\fP"
.br
.RI "\fIA full evaluation function. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moHC< M >"
Hill Climbing (HC).
Class which describes the algorithm for a hill climbing.
.PP
Definition at line 26 of file moHC.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<class M> \fBmoHC\fP< M >::\fBmoHC\fP (\fBmoMoveInit\fP< M > & __move_init, \fBmoNextMove\fP< M > & __next_move, \fBmoMoveIncrEval\fP< M > & __incr_eval, \fBmoMoveSelect\fP< M > & __move_select, eoEvalFunc< \fBEOT\fP > & __full_eval)\fC [inline]\fP"
.PP
Full constructor.
.PP
All the boxes are given in order the HC to use a \fBmoHCMoveLoopExpl\fP.
.PP
\fBParameters:\fP
.RS 4
\fI__move_init\fP a move initialiser.
.br
\fI__next_move\fP a neighborhood explorer.
.br
\fI__incr_eval\fP a (generally) efficient evaluation function.
.br
\fI__move_select\fP a move selector.
.br
\fI__full_eval\fP a full evaluation function.
.RE
.PP
.PP
Definition at line 53 of file moHC.h.
.SS "template<class M> \fBmoHC\fP< M >::\fBmoHC\fP (\fBmoMoveExpl\fP< M > & __move_expl, eoEvalFunc< \fBEOT\fP > & __full_eval)\fC [inline]\fP"
.PP
Light constructor.
.PP
This constructor allow to use another \fBmoMoveExpl\fP (generally not a \fBmoHCMoveLoopExpl\fP).
.PP
\fBParameters:\fP
.RS 4
\fI__move_expl\fP a complete explorer.
.br
\fI__full_eval\fP a full evaluation function.
.RE
.PP
.PP
Definition at line 67 of file moHC.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> bool \fBmoHC\fP< M >::operator() (\fBEOT\fP & __sol)\fC [inline]\fP"
.PP
Function which launches the HC.
.PP
The HC has to improve a current solution. As the \fBmoSA\fP and the mo TS, it can be used for HYBRIDATION in an evolutionnary algorithm.
.PP
\fBParameters:\fP
.RS 4
\fI__sol\fP a current solution to improve.
.RE
.PP
\fBReturns:\fP
.RS 4
TRUE.
.RE
.PP
.PP
Definition at line 82 of file moHC.h.
.PP
References moHC< M >::full_eval.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,111 @@
.TH "moHCMoveLoopExpl" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moHCMoveLoopExpl \- Iterative explorer used by a \fBmoHC\fP.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moHCMoveLoopExpl.h>\fP
.PP
Inherits \fBmoMoveLoopExpl< M >< M >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoHCMoveLoopExpl\fP (\fBmoMoveInit\fP< M > &__move_init, \fBmoNextMove\fP< M > &__next_move, \fBmoMoveIncrEval\fP< M > &__incr_eval, \fBmoMoveSelect\fP< M > &__move_select)"
.br
.RI "\fIConstructor. \fP"
.ti -1c
.RI "void \fBoperator()\fP (const \fBEOT\fP &__old_sol, \fBEOT\fP &__new_sol)"
.br
.RI "\fIProcedure which launches the explorer. \fP"
.in -1c
.SS "Private Types"
.in +1c
.ti -1c
.RI "typedef M::EOType \fBEOT\fP"
.br
.RI "\fIAlias for the type. \fP"
.ti -1c
.RI "typedef M::EOType::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBmoMoveInit\fP< M > & \fBmove_init\fP"
.br
.RI "\fIMove initialiser. \fP"
.ti -1c
.RI "\fBmoNextMove\fP< M > & \fBnext_move\fP"
.br
.RI "\fINeighborhood explorer. \fP"
.ti -1c
.RI "\fBmoMoveIncrEval\fP< M > & \fBincr_eval\fP"
.br
.RI "\fI(generally) Efficient evaluation. \fP"
.ti -1c
.RI "\fBmoMoveSelect\fP< M > & \fBmove_select\fP"
.br
.RI "\fIMove selector. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moHCMoveLoopExpl< M >"
Iterative explorer used by a \fBmoHC\fP.
.PP
Definition at line 23 of file moHCMoveLoopExpl.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<class M> \fBmoHCMoveLoopExpl\fP< M >::\fBmoHCMoveLoopExpl\fP (\fBmoMoveInit\fP< M > & __move_init, \fBmoNextMove\fP< M > & __next_move, \fBmoMoveIncrEval\fP< M > & __incr_eval, \fBmoMoveSelect\fP< M > & __move_select)\fC [inline]\fP"
.PP
Constructor.
.PP
All the boxes have to be specified.
.PP
\fBParameters:\fP
.RS 4
\fI__move_init\fP the move initialiser.
.br
\fI__next_move\fP the neighborhood explorer.
.br
\fI__incr_eval\fP (generally) efficient evaluation function.
.br
\fI__move_select\fP the move selector.
.RE
.PP
.PP
Definition at line 43 of file moHCMoveLoopExpl.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> void \fBmoHCMoveLoopExpl\fP< M >::operator() (const \fBEOT\fP & __old_sol, \fBEOT\fP & __new_sol)\fC [inline]\fP"
.PP
Procedure which launches the explorer.
.PP
The exploration starts from an old solution and provides a new solution.
.PP
\fBParameters:\fP
.RS 4
\fI__old_sol\fP the current solution.
.br
\fI__new_sol\fP the new_sol (result of the procedure).
.RE
.PP
.PP
Definition at line 59 of file moHCMoveLoopExpl.h.
.PP
References moHCMoveLoopExpl< M >::incr_eval, moHCMoveLoopExpl< M >::move_init, moHCMoveLoopExpl< M >::move_select, and moHCMoveLoopExpl< M >::next_move.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,88 @@
.TH "moImprBestFitAspirCrit" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moImprBestFitAspirCrit \- One of the possible \fBmoAspirCrit\fP.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moImprBestFitAspirCrit.h>\fP
.PP
Inherits \fBmoAspirCrit< M >< M >\fP.
.PP
.SS "Public Types"
.in +1c
.ti -1c
.RI "typedef M::EOType::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoImprBestFitAspirCrit\fP ()"
.br
.RI "\fIContructor. \fP"
.ti -1c
.RI "void \fBinit\fP ()"
.br
.RI "\fIInitialisation procedure. \fP"
.ti -1c
.RI "bool \fBoperator()\fP (const M &__move, const \fBFitness\fP &__fit)"
.br
.RI "\fIFunction that indicates if the fit is better that the already saved fit. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBFitness\fP \fBbest_fit\fP"
.br
.RI "\fIBest fitness found until now. \fP"
.ti -1c
.RI "bool \fBfirst_time\fP"
.br
.RI "\fIIndicates that a fitness has been already saved or not. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moImprBestFitAspirCrit< M >"
One of the possible \fBmoAspirCrit\fP.
This criterion is satisfied when a given fitness is the best ever considered.
.PP
Definition at line 22 of file moImprBestFitAspirCrit.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> bool \fBmoImprBestFitAspirCrit\fP< M >::operator() (const M & __move, const \fBFitness\fP & __fit)\fC [inline]\fP"
.PP
Function that indicates if the fit is better that the already saved fit.
.PP
The first time, the function only saved the current move and fitness.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP a move.
.br
\fI__fit\fP a fitnes linked to the move.
.RE
.PP
\fBReturns:\fP
.RS 4
TRUE the first time and if __fit > best_fit, else FALSE.
.RE
.PP
.PP
Definition at line 52 of file moImprBestFitAspirCrit.h.
.PP
References moImprBestFitAspirCrit< M >::best_fit, and moImprBestFitAspirCrit< M >::first_time.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,106 @@
.TH "moItRandNextMove" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moItRandNextMove \- One of the possible \fBmoNextMove\fP.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moItRandNextMove.h>\fP
.PP
Inherits \fBmoNextMove< M >< M >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoItRandNextMove\fP (\fBmoRandMove\fP< M > &__rand_move, unsigned __max_iter)"
.br
.RI "\fIThe constructor. \fP"
.ti -1c
.RI "bool \fBoperator()\fP (M &__move, const \fBEOT\fP &__sol)"
.br
.RI "\fIGeneration of a new move. \fP"
.in -1c
.SS "Private Types"
.in +1c
.ti -1c
.RI "typedef M::EOType \fBEOT\fP"
.br
.RI "\fIAlias for the type. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBmoRandMove\fP< M > & \fBrand_move\fP"
.br
.RI "\fIA move generator (generally randomly). \fP"
.ti -1c
.RI "unsigned \fBmax_iter\fP"
.br
.RI "\fIIteration maximum number. \fP"
.ti -1c
.RI "unsigned \fBnum_iter\fP"
.br
.RI "\fIIteration current number. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moItRandNextMove< M >"
One of the possible \fBmoNextMove\fP.
This class is a move (\fBmoMove\fP) generator with a bound for the maximum number of iterations.
.PP
Definition at line 22 of file moItRandNextMove.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<class M> \fBmoItRandNextMove\fP< M >::\fBmoItRandNextMove\fP (\fBmoRandMove\fP< M > & __rand_move, unsigned __max_iter)\fC [inline]\fP"
.PP
The constructor.
.PP
Parameters only for initialising the attributes.
.PP
\fBParameters:\fP
.RS 4
\fI__rand_move\fP the random move generator.
.br
\fI__max_iter\fP the iteration maximum number.
.RE
.PP
.PP
Definition at line 37 of file moItRandNextMove.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> bool \fBmoItRandNextMove\fP< M >::operator() (M & __move, const \fBEOT\fP & __sol)\fC [inline]\fP"
.PP
Generation of a new move.
.PP
If the maximum number is not already reached, the current move is forgotten and remplaced by another one.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP the current move.
.br
\fI__sol\fP the current solution.
.RE
.PP
\fBReturns:\fP
.RS 4
FALSE if the maximum number of iteration is reached, else TRUE.
.RE
.PP
.PP
Definition at line 52 of file moItRandNextMove.h.
.PP
References moItRandNextMove< M >::max_iter, moItRandNextMove< M >::num_iter, and moItRandNextMove< M >::rand_move.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,79 @@
.TH "moLSCheckPoint" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moLSCheckPoint \- Class which allows a checkpointing system.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moLSCheckPoint.h>\fP
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "void \fBoperator()\fP (const M &__move, const typename M::EOType &__sol)"
.br
.RI "\fIFunction which launches the checkpointing. \fP"
.ti -1c
.RI "void \fBadd\fP (eoBF< const M &, const typename M::EOType &, void > &__f)"
.br
.RI "\fIProcedure which add a new function to the function vector. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "std::vector< eoBF< const M &, const typename M::EOType &, void > * > \fBfunc\fP"
.br
.RI "\fIvector of function \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moLSCheckPoint< M >"
Class which allows a checkpointing system.
Thanks to this class, at each iteration, additionnal function can be used (and not only one).
.PP
Definition at line 21 of file moLSCheckPoint.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> void \fBmoLSCheckPoint\fP< M >::operator() (const M & __move, const typename M::EOType & __sol)\fC [inline]\fP"
.PP
Function which launches the checkpointing.
.PP
Each saved function is used on the current move and the current solution.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP a move.
.br
\fI__sol\fP a solution.
.RE
.PP
.PP
Definition at line 34 of file moLSCheckPoint.h.
.PP
References moLSCheckPoint< M >::func.
.SS "template<class M> void \fBmoLSCheckPoint\fP< M >::add (eoBF< const M &, const typename M::EOType &, void > & __f)\fC [inline]\fP"
.PP
Procedure which add a new function to the function vector.
.PP
The new function is added at the end of the vector.
.PP
\fBParameters:\fP
.RS 4
\fI__f\fP a new function to add.
.RE
.PP
.PP
Definition at line 49 of file moLSCheckPoint.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,33 @@
.TH "moMove" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moMove \- Definition of a move.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moMove.h>\fP
.PP
.SS "Public Types"
.in +1c
.ti -1c
.RI "typedef EOT \fBEOType\fP"
.br
.RI "\fIAlias for the type. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class EOT> class moMove< EOT >"
Definition of a move.
A move transforms a solution to another close solution. It describes how a solution can be modified to another one.
.PP
Definition at line 23 of file moMove.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,27 @@
.TH "moMoveExpl" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moMoveExpl \- Description of a move (\fBmoMove\fP) explorer.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moMoveExpl.h>\fP
.PP
Inherited by \fBmoMoveLoopExpl< M >\fP.
.PP
.SH "Detailed Description"
.PP
.SS "template<class M> class moMoveExpl< M >"
Description of a move (\fBmoMove\fP) explorer.
Only a description...See \fBmoMoveLoopExpl\fP.
.PP
Definition at line 21 of file moMoveExpl.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,25 @@
.TH "moMoveIncrEval" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moMoveIncrEval \- (generally) Efficient evaluation function based a move and a solution.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moMoveIncrEval.h>\fP
.PP
.SH "Detailed Description"
.PP
.SS "template<class M> class moMoveIncrEval< M >"
(generally) Efficient evaluation function based a move and a solution.
From a move and a solution, it computes a new fitness that could be associated to the solution if this one is updated.
.PP
Definition at line 24 of file moMoveIncrEval.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,25 @@
.TH "moMoveInit" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moMoveInit \- Move (\fBmoMove\fP) initializer.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moMoveInit.h>\fP
.PP
.SH "Detailed Description"
.PP
.SS "template<class M> class moMoveInit< M >"
Move (\fBmoMove\fP) initializer.
Class which allows to initiase a move. Only a description... An object that herits from this class needs to be designed to be used.
.PP
Definition at line 22 of file moMoveInit.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,29 @@
.TH "moMoveLoopExpl" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moMoveLoopExpl \- Class which describes an iterative explorer.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moMoveLoopExpl.h>\fP
.PP
Inherits \fBmoMoveExpl< M >< M >\fP.
.PP
Inherited by \fBmoHCMoveLoopExpl< M >\fP, and \fBmoTSMoveLoopExpl< M >\fP.
.PP
.SH "Detailed Description"
.PP
.SS "template<class M> class moMoveLoopExpl< M >"
Class which describes an iterative explorer.
Only a description... \fBmoHCMoveLoopExpl\fP and \fBmoTSMoveLoopExpl\fP are exemples of class that are a \fBmoMoveLoopExpl\fP.
.PP
Definition at line 21 of file moMoveLoopExpl.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,82 @@
.TH "moMoveSelect" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moMoveSelect \- Class that describes a move selector (\fBmoMove\fP).
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moMoveSelect.h>\fP
.PP
Inherited by \fBmoBestImprSelect< M >\fP, \fBmoFirstImprSelect< M >\fP, and \fBmoRandImprSelect< M >\fP.
.PP
.SS "Public Types"
.in +1c
.ti -1c
.RI "typedef M::EOType::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "virtual void \fBinit\fP (const \fBFitness\fP &__fit)=0"
.br
.RI "\fIProcedure which initialises all that the move selector needs including the initial fitness. \fP"
.ti -1c
.RI "virtual bool \fBupdate\fP (const M &__move, const \fBFitness\fP &__fit)=0"
.br
.RI "\fIFunction which updates the best solutions. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moMoveSelect< M >"
Class that describes a move selector (\fBmoMove\fP).
It iteratively considers some moves (\fBmoMove\fP) and their associated fitnesses. The best move is so regularly updated. At any time, it could be accessed.
.PP
Definition at line 32 of file moMoveSelect.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> virtual void \fBmoMoveSelect\fP< M >::init (const \fBFitness\fP & __fit)\fC [pure virtual]\fP"
.PP
Procedure which initialises all that the move selector needs including the initial fitness.
.PP
In order to know the fitness of the solution, for which the neighborhood will be soon explored
.PP
\fBParameters:\fP
.RS 4
\fI__fit\fP the current fitness.
.RE
.PP
.PP
Implemented in \fBmoBestImprSelect< M >\fP, \fBmoFirstImprSelect< M >\fP, and \fBmoRandImprSelect< M >\fP.
.SS "template<class M> virtual bool \fBmoMoveSelect\fP< M >::update (const M & __move, const \fBFitness\fP & __fit)\fC [pure virtual]\fP"
.PP
Function which updates the best solutions.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP a new move.
.br
\fI__fit\fP a fitness linked to the new move.
.RE
.PP
\fBReturns:\fP
.RS 4
a boolean that expresses the need to resume the exploration.
.RE
.PP
.PP
Implemented in \fBmoBestImprSelect< M >\fP, and \fBmoRandImprSelect< M >\fP.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,27 @@
.TH "moNextMove" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moNextMove \- Class which allows to generate a new move (\fBmoMove\fP).
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moNextMove.h>\fP
.PP
Inherited by \fBmoItRandNextMove< M >\fP.
.PP
.SH "Detailed Description"
.PP
.SS "template<class M> class moNextMove< M >"
Class which allows to generate a new move (\fBmoMove\fP).
Useful for the explorer (for \fBmoTS\fP or \fBmoHC\fP). Does nothing... An object that herits from this class needs to be designed for being used.
.PP
Definition at line 22 of file moNextMove.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,71 @@
.TH "moNoAspirCrit" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moNoAspirCrit \- One of the possible aspiration criterion (\fBmoAspirCrit\fP).
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moNoAspirCrit.h>\fP
.PP
Inherits \fBmoAspirCrit< M >< M >\fP.
.PP
.SS "Private Member Functions"
.in +1c
.ti -1c
.RI "bool \fBoperator()\fP (const M &__move, const typename M::EOType::Fitness &__sol)"
.br
.RI "\fIFunction which describes the aspiration criterion behaviour. \fP"
.ti -1c
.RI "void \fBinit\fP ()"
.br
.RI "\fIProcedure which initialises all that needs a \fBmoNoAspirCrit\fP. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moNoAspirCrit< M >"
One of the possible aspiration criterion (\fBmoAspirCrit\fP).
The simplest : never satisfied.
.PP
Definition at line 21 of file moNoAspirCrit.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> bool \fBmoNoAspirCrit\fP< M >::operator() (const M & __move, const typename M::EOType::Fitness & __sol)\fC [inline, private]\fP"
.PP
Function which describes the aspiration criterion behaviour.
.PP
Does nothing.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP a move.
.br
\fI__sol\fP a fitness.
.RE
.PP
\fBReturns:\fP
.RS 4
FALSE.
.RE
.PP
.PP
Definition at line 32 of file moNoAspirCrit.h.
.SS "template<class M> void \fBmoNoAspirCrit\fP< M >::init ()\fC [inline, private, virtual]\fP"
.PP
Procedure which initialises all that needs a \fBmoNoAspirCrit\fP.
.PP
Nothing...
.PP
Implements \fBmoAspirCrit< M >\fP.
.PP
Definition at line 43 of file moNoAspirCrit.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,135 @@
.TH "moRandImprSelect" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moRandImprSelect \- One of the possible \fBmoMove\fP selector (\fBmoMoveSelect\fP).
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moRandImprSelect.h>\fP
.PP
Inherits \fBmoMoveSelect< M >< M >\fP.
.PP
.SS "Public Types"
.in +1c
.ti -1c
.RI "typedef M::EOType::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "void \fBinit\fP (const \fBFitness\fP &__fit)"
.br
.RI "\fIProcedure which all that needs a \fBmoRandImprSelect\fP. \fP"
.ti -1c
.RI "bool \fBupdate\fP (const M &__move, const \fBFitness\fP &__fit)"
.br
.RI "\fIFunction that updates the fitness and move vectors. \fP"
.ti -1c
.RI "void \fBoperator()\fP (M &__move, \fBFitness\fP &__fit) throw (EmptySelection)"
.br
.RI "\fIThe move selection. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBFitness\fP \fBinit_fit\fP"
.br
.RI "\fIFitness of the current solution. \fP"
.ti -1c
.RI "std::vector< \fBFitness\fP > \fBvect_better_fit\fP"
.br
.RI "\fICandidate fitnesse vector. \fP"
.ti -1c
.RI "std::vector< M > \fBvect_better_moves\fP"
.br
.RI "\fICandidate move vector. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moRandImprSelect< M >"
One of the possible \fBmoMove\fP selector (\fBmoMoveSelect\fP).
All the neighbors are considered. One of them that enables an improvment of the objective function is choosen.
.PP
Definition at line 25 of file moRandImprSelect.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> void \fBmoRandImprSelect\fP< M >::init (const \fBFitness\fP & __fit)\fC [inline, virtual]\fP"
.PP
Procedure which all that needs a \fBmoRandImprSelect\fP.
.PP
Give a value to the initialise fitness. Clean the move and fitness vectors.
.PP
\fBParameters:\fP
.RS 4
\fI__fit\fP the current best fitness
.RE
.PP
.PP
Implements \fBmoMoveSelect< M >\fP.
.PP
Definition at line 40 of file moRandImprSelect.h.
.PP
References moRandImprSelect< M >::init_fit, moRandImprSelect< M >::vect_better_fit, and moRandImprSelect< M >::vect_better_moves.
.SS "template<class M> bool \fBmoRandImprSelect\fP< M >::update (const M & __move, const \fBFitness\fP & __fit)\fC [inline, virtual]\fP"
.PP
Function that updates the fitness and move vectors.
.PP
if a move give a better fitness than the initial fitness, it is saved and the fitness too.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP a new move.
.br
\fI__fit\fP a new fitness associated to the new move.
.RE
.PP
\fBReturns:\fP
.RS 4
TRUE.
.RE
.PP
.PP
Implements \fBmoMoveSelect< M >\fP.
.PP
Definition at line 56 of file moRandImprSelect.h.
.PP
References moRandImprSelect< M >::init_fit, moRandImprSelect< M >::vect_better_fit, and moRandImprSelect< M >::vect_better_moves.
.SS "template<class M> void \fBmoRandImprSelect\fP< M >::operator() (M & __move, \fBFitness\fP & __fit) throw (\fBEmptySelection\fP)\fC [inline]\fP"
.PP
The move selection.
.PP
One the saved move is randomly chosen.
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP the reference of the move that can be initialised by the function.
.br
\fI__fit\fP the reference of the fitness that can be initialised by the function.
.RE
.PP
\fBExceptions:\fP
.RS 4
\fI\fBEmptySelection\fP\fP If no move which improves the current fitness are found.
.RE
.PP
.PP
Definition at line 77 of file moRandImprSelect.h.
.PP
References moRandImprSelect< M >::vect_better_fit, and moRandImprSelect< M >::vect_better_moves.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,25 @@
.TH "moRandMove" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moRandMove \- Random move generator.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moRandMove.h>\fP
.PP
.SH "Detailed Description"
.PP
.SS "template<class M> class moRandMove< M >"
Random move generator.
Only a description... An object that herits from this class needs to be designed in order to use a \fBmoSA\fP.
.PP
Definition at line 21 of file moRandMove.h.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,128 @@
.TH "moSA" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moSA \- Simulated Annealing (SA).
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moSA.h>\fP
.PP
Inherits \fBmoAlgo< M::EOType >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoSA\fP (\fBmoRandMove\fP< M > &__move_rand, \fBmoMoveIncrEval\fP< M > &__incr_eval, \fBmoSolContinue\fP< \fBEOT\fP > &__cont, double __init_temp, \fBmoCoolSched\fP &__cool_sched, eoEvalFunc< \fBEOT\fP > &__full_eval)"
.br
.RI "\fISA constructor. \fP"
.ti -1c
.RI "bool \fBoperator()\fP (\fBEOT\fP &__sol)"
.br
.RI "\fIfunction that launches the SA algorithm. \fP"
.in -1c
.SS "Private Types"
.in +1c
.ti -1c
.RI "typedef M::EOType \fBEOT\fP"
.br
.RI "\fIAlias for the type. \fP"
.ti -1c
.RI "typedef EOT::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBmoRandMove\fP< M > & \fBmove_rand\fP"
.br
.RI "\fIA move generator (generally randomly). \fP"
.ti -1c
.RI "\fBmoMoveIncrEval\fP< M > & \fBincr_eval\fP"
.br
.RI "\fIA (generally) efficient evaluation function. \fP"
.ti -1c
.RI "\fBmoSolContinue\fP< \fBEOT\fP > & \fBcont\fP"
.br
.RI "\fIStopping criterion before temperature update. \fP"
.ti -1c
.RI "double \fBinit_temp\fP"
.br
.RI "\fIInitial temperature. \fP"
.ti -1c
.RI "\fBmoCoolSched\fP & \fBcool_sched\fP"
.br
.RI "\fIThe cooling schedule. \fP"
.ti -1c
.RI "eoEvalFunc< \fBEOT\fP > & \fBfull_eval\fP"
.br
.RI "\fIA full evaluation function. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moSA< M >"
Simulated Annealing (SA).
Class that describes a Simulated Annealing algorithm.
.PP
Definition at line 32 of file moSA.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<class M> \fBmoSA\fP< M >::\fBmoSA\fP (\fBmoRandMove\fP< M > & __move_rand, \fBmoMoveIncrEval\fP< M > & __incr_eval, \fBmoSolContinue\fP< \fBEOT\fP > & __cont, double __init_temp, \fBmoCoolSched\fP & __cool_sched, eoEvalFunc< \fBEOT\fP > & __full_eval)\fC [inline]\fP"
.PP
SA constructor.
.PP
All the boxes used by a SA need to be given.
.PP
\fBParameters:\fP
.RS 4
\fI__move_rand\fP a move generator (generally randomly).
.br
\fI__incr_eval\fP a (generaly) efficient evaluation function
.br
\fI__cont\fP a stopping criterion.
.br
\fI__init_temp\fP the initial temperature.
.br
\fI__cool_sched\fP a cooling schedule, describes how the temperature is modified.
.br
\fI__full_eval\fP a full evaluation function.
.RE
.PP
.PP
Definition at line 60 of file moSA.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> bool \fBmoSA\fP< M >::operator() (\fBEOT\fP & __sol)\fC [inline]\fP"
.PP
function that launches the SA algorithm.
.PP
As a \fBmoTS\fP or a \fBmoHC\fP, the SA can be used for HYBRIDATION in an evolutionary algorithm.
.PP
\fBParameters:\fP
.RS 4
\fI__sol\fP a solution to improve.
.RE
.PP
\fBReturns:\fP
.RS 4
TRUE.
.RE
.PP
.PP
Definition at line 82 of file moSA.h.
.PP
References moSA< M >::full_eval.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,44 @@
.TH "moSolContinue" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moSolContinue \- Class that describes a stop criterion for a solution-based heuristic.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moSolContinue.h>\fP
.PP
Inherited by \fBmoGenSolContinue< EOT >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "virtual void \fBinit\fP ()=0"
.br
.RI "\fIProcedure which initialises all that the stop criterion needs. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class EOT> class moSolContinue< EOT >"
Class that describes a stop criterion for a solution-based heuristic.
It allows to add an initialisation procedure to an object that is a unary function (eoUF).
.PP
Definition at line 22 of file moSolContinue.h.
.SH "Member Function Documentation"
.PP
.SS "template<class EOT> virtual void \fBmoSolContinue\fP< EOT >::init ()\fC [pure virtual]\fP"
.PP
Procedure which initialises all that the stop criterion needs.
.PP
Generally, it allocates some data structures or initialises some counters.
.PP
Implemented in \fBmoGenSolContinue< EOT >\fP.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,156 @@
.TH "moTS" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moTS \- Tabu Search (TS).
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moTS.h>\fP
.PP
Inherits \fBmoAlgo< M::EOType >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoTS\fP (\fBmoMoveInit\fP< M > &__move_init, \fBmoNextMove\fP< M > &__next_move, \fBmoMoveIncrEval\fP< M > &__incr_eval, \fBmoTabuList\fP< M > &__tabu_list, \fBmoAspirCrit\fP< M > &__aspir_crit, \fBmoSolContinue\fP< \fBEOT\fP > &__cont, eoEvalFunc< \fBEOT\fP > &__full_eval)"
.br
.RI "\fIConstructor of a \fBmoTS\fP specifying all the boxes. \fP"
.ti -1c
.RI "\fBmoTS\fP (\fBmoMoveExpl\fP< M > &__move_expl, \fBmoSolContinue\fP< \fBEOT\fP > &__cont, eoEvalFunc< \fBEOT\fP > &__full_eval)"
.br
.RI "\fIConstructor with less parameters. \fP"
.ti -1c
.RI "bool \fBoperator()\fP (\fBEOT\fP &__sol)"
.br
.RI "\fIFunction which launchs the Tabu Search. \fP"
.in -1c
.SS "Private Types"
.in +1c
.ti -1c
.RI "typedef M::EOType \fBEOT\fP"
.br
.RI "\fIAlias for the type. \fP"
.ti -1c
.RI "typedef EOT::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBmoMoveExpl\fP< M > & \fBmove_expl\fP"
.br
.RI "\fINeighborhood explorer. \fP"
.ti -1c
.RI "\fBmoSolContinue\fP< \fBEOT\fP > & \fBcont\fP"
.br
.RI "\fIStop criterion. \fP"
.ti -1c
.RI "eoEvalFunc< \fBEOT\fP > & \fBfull_eval\fP"
.br
.RI "\fIFull evaluation function. \fP"
.in -1c
.SS "Static Private Attributes"
.in +1c
.ti -1c
.RI "static bool \fBfirst_time\fP = true"
.br
.RI "\fIBoolean allowing to initialise the ptread_mutex_t in the constructor. \fP"
.ti -1c
.RI "static pthread_mutex_t \fBmutex\fP"
.br
.RI "\fIThe lock. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moTS< M >"
Tabu Search (TS).
Generic algorithm that describes a tabu search.
.PP
Definition at line 30 of file moTS.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<class M> \fBmoTS\fP< M >::\fBmoTS\fP (\fBmoMoveInit\fP< M > & __move_init, \fBmoNextMove\fP< M > & __next_move, \fBmoMoveIncrEval\fP< M > & __incr_eval, \fBmoTabuList\fP< M > & __tabu_list, \fBmoAspirCrit\fP< M > & __aspir_crit, \fBmoSolContinue\fP< \fBEOT\fP > & __cont, eoEvalFunc< \fBEOT\fP > & __full_eval)\fC [inline]\fP"
.PP
Constructor of a \fBmoTS\fP specifying all the boxes.
.PP
In this constructor, a \fBmoTSMoveLoopExpl\fP is instanciated.
.PP
\fBParameters:\fP
.RS 4
\fI__move_init\fP move initialisation
.br
\fI__next_move\fP neighborhood explorer
.br
\fI__incr_eval\fP efficient evaluation
.br
\fI__tabu_list\fP tabu list
.br
\fI__aspir_crit\fP aspiration criterion
.br
\fI__cont\fP stop criterion
.br
\fI__full_eval\fP full evaluation function
.RE
.PP
.PP
Definition at line 59 of file moTS.h.
.PP
References moTS< M >::first_time, and moTS< M >::mutex.
.SS "template<class M> \fBmoTS\fP< M >::\fBmoTS\fP (\fBmoMoveExpl\fP< M > & __move_expl, \fBmoSolContinue\fP< \fBEOT\fP > & __cont, eoEvalFunc< \fBEOT\fP > & __full_eval)\fC [inline]\fP"
.PP
Constructor with less parameters.
.PP
The explorer is given in the parameters.
.PP
\fBParameters:\fP
.RS 4
\fI__move_expl\fP the explorer (generally different that a \fBmoTSMoveLoopExpl\fP)
.br
\fI__cont\fP stop criterion
.br
\fI__full_eval\fP full evaluation function
.RE
.PP
.PP
Definition at line 81 of file moTS.h.
.PP
References moTS< M >::first_time, and moTS< M >::mutex.
.SH "Member Function Documentation"
.PP
.SS "template<class M> bool \fBmoTS\fP< M >::operator() (\fBEOT\fP & __sol)\fC [inline]\fP"
.PP
Function which launchs the Tabu Search.
.PP
Algorithm of the tabu search. As a \fBmoSA\fP or a \fBmoHC\fP, it can be used for HYBRIDATION in an evolutionary algorithm. For security a lock (pthread_mutex_t) is closed during the algorithm.
.PP
\fBParameters:\fP
.RS 4
\fI__sol\fP a solution to improve.
.RE
.PP
\fBReturns:\fP
.RS 4
TRUE.
.RE
.PP
.PP
Definition at line 104 of file moTS.h.
.PP
References moTS< M >::full_eval, and moTS< M >::mutex.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,123 @@
.TH "moTSMoveLoopExpl" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moTSMoveLoopExpl \- Explorer for a Tabu Search algorithm.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moTSMoveLoopExpl.h>\fP
.PP
Inherits \fBmoMoveLoopExpl< M >< M >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBmoTSMoveLoopExpl\fP (\fBmoMoveInit\fP< M > &__move_init, \fBmoNextMove\fP< M > &__next_move, \fBmoMoveIncrEval\fP< M > &__incr_eval, \fBmoTabuList\fP< M > &__tabu_list, \fBmoAspirCrit\fP< M > &__aspir_crit)"
.br
.RI "\fIConstructor. \fP"
.ti -1c
.RI "void \fBoperator()\fP (const \fBEOT\fP &__old_sol, \fBEOT\fP &__new_sol)"
.br
.RI "\fIProcedure which lauches the exploration. \fP"
.in -1c
.SS "Private Types"
.in +1c
.ti -1c
.RI "typedef M::EOType \fBEOT\fP"
.br
.RI "\fIAlias for the type. \fP"
.ti -1c
.RI "typedef M::EOType::Fitness \fBFitness\fP"
.br
.RI "\fIAlias for the fitness. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBmoMoveInit\fP< M > & \fBmove_init\fP"
.br
.RI "\fIMove initialisation. \fP"
.ti -1c
.RI "\fBmoNextMove\fP< M > & \fBnext_move\fP"
.br
.RI "\fINeighborhood explorer. \fP"
.ti -1c
.RI "\fBmoMoveIncrEval\fP< M > & \fBincr_eval\fP"
.br
.RI "\fIEfficient evaluation. \fP"
.ti -1c
.RI "\fBmoBestImprSelect\fP< M > \fBmove_select\fP"
.br
.RI "\fIMove selector. \fP"
.ti -1c
.RI "\fBmoTabuList\fP< M > & \fBtabu_list\fP"
.br
.RI "\fITabu list. \fP"
.ti -1c
.RI "\fBmoAspirCrit\fP< M > & \fBaspir_crit\fP"
.br
.RI "\fIAspiration criterion. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moTSMoveLoopExpl< M >"
Explorer for a Tabu Search algorithm.
It is used by a \fBmoTS\fP.
.PP
Definition at line 30 of file moTSMoveLoopExpl.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<class M> \fBmoTSMoveLoopExpl\fP< M >::\fBmoTSMoveLoopExpl\fP (\fBmoMoveInit\fP< M > & __move_init, \fBmoNextMove\fP< M > & __next_move, \fBmoMoveIncrEval\fP< M > & __incr_eval, \fBmoTabuList\fP< M > & __tabu_list, \fBmoAspirCrit\fP< M > & __aspir_crit)\fC [inline]\fP"
.PP
Constructor.
.PP
\fBParameters:\fP
.RS 4
\fI__move_init\fP move initialisation
.br
\fI__next_move\fP neighborhood explorer
.br
\fI__incr_eval\fP efficient evaluation
.br
\fI__tabu_list\fP tabu list
.br
\fI__aspir_crit\fP aspiration criterion
.RE
.PP
.PP
Definition at line 49 of file moTSMoveLoopExpl.h.
.PP
References moTSMoveLoopExpl< M >::aspir_crit, and moTSMoveLoopExpl< M >::tabu_list.
.SH "Member Function Documentation"
.PP
.SS "template<class M> void \fBmoTSMoveLoopExpl\fP< M >::operator() (const \fBEOT\fP & __old_sol, \fBEOT\fP & __new_sol)\fC [inline]\fP"
.PP
Procedure which lauches the exploration.
.PP
The exploration continues while the chosen move is not in the tabu list or the aspiration criterion is true. If these 2 conditions are not true, the exploration stops if the move selector update function returns false.
.PP
\fBParameters:\fP
.RS 4
\fI__old_sol\fP the initial solution
.br
\fI__new_sol\fP the new solution
.RE
.PP
.PP
Definition at line 69 of file moTSMoveLoopExpl.h.
.PP
References moTSMoveLoopExpl< M >::aspir_crit, moTSMoveLoopExpl< M >::incr_eval, moTSMoveLoopExpl< M >::move_init, moTSMoveLoopExpl< M >::move_select, moTSMoveLoopExpl< M >::next_move, and moTSMoveLoopExpl< M >::tabu_list.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.

View file

@ -0,0 +1,75 @@
.TH "moTabuList" 3 "6 Dec 2006" "Version 0.1" "PARADISEO-MO" \" -*- nroff -*-
.ad l
.nh
.SH NAME
moTabuList \- Class describing a tabu list that a \fBmoTS\fP uses.
.PP
.SH SYNOPSIS
.br
.PP
\fC#include <moTabuList.h>\fP
.PP
.SS "Public Types"
.in +1c
.ti -1c
.RI "typedef M::EOType \fBEOT\fP"
.br
.RI "\fIAlias for the type. \fP"
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "virtual void \fBadd\fP (const M &__move, const \fBEOT\fP &__sol)=0"
.br
.RI "\fIProcedure to add a move in the tabu list. \fP"
.ti -1c
.RI "virtual void \fBupdate\fP ()=0"
.br
.RI "\fIProcedure that updates the tabu list content. \fP"
.ti -1c
.RI "virtual void \fBinit\fP ()=0"
.br
.RI "\fIProcedure which initialises the tabu list. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template<class M> class moTabuList< M >"
Class describing a tabu list that a \fBmoTS\fP uses.
It is only a description, does nothing... A new object that herits from this class has to be defined in order to be used in a \fBmoTS\fP.
.PP
Definition at line 22 of file moTabuList.h.
.SH "Member Function Documentation"
.PP
.SS "template<class M> virtual void \fBmoTabuList\fP< M >::add (const M & __move, const \fBEOT\fP & __sol)\fC [pure virtual]\fP"
.PP
Procedure to add a move in the tabu list.
.PP
The two parameters have not to be modified so they are constant parameters
.PP
\fBParameters:\fP
.RS 4
\fI__move\fP a new tabu move
.br
\fI__sol\fP the solution associated to this move
.RE
.PP
.SS "template<class M> virtual void \fBmoTabuList\fP< M >::update ()\fC [pure virtual]\fP"
.PP
Procedure that updates the tabu list content.
.PP
Generally, a counter associated to each saved move is decreased by one.
.SS "template<class M> virtual void \fBmoTabuList\fP< M >::init ()\fC [pure virtual]\fP"
.PP
Procedure which initialises the tabu list.
.PP
Can be useful if the data structure needs to be allocated before being used.
.SH "Author"
.PP
Generated automatically by Doxygen for PARADISEO-MO from the source code.