diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html new file mode 100644 index 000000000..05757db88 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html @@ -0,0 +1,159 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopBenchmarkParser.cpp Source File + + + + +
+
+

FlowShopBenchmarkParser.cpp

00001 /*
+00002 * <FlowShopBenchmarkParser.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #include <stdexcept>
+00039 #include <FlowShopBenchmarkParser.h>
+00040 
+00041 FlowShopBenchmarkParser::FlowShopBenchmarkParser(const std::string _benchmarkFileName)
+00042 {
+00043   init(_benchmarkFileName);
+00044 }
+00045 
+00046 
+00047 const unsigned int FlowShopBenchmarkParser::getM()
+00048 {
+00049   return M;
+00050 }
+00051 
+00052 
+00053 const unsigned int FlowShopBenchmarkParser::getN()
+00054 {
+00055   return N;
+00056 }
+00057 
+00058 
+00059 const std::vector< std::vector<unsigned int> > FlowShopBenchmarkParser::getP()
+00060 {
+00061   return p;
+00062 }
+00063 
+00064 
+00065 const std::vector<unsigned int> FlowShopBenchmarkParser::getD()
+00066 {
+00067   return d;
+00068 }
+00069 
+00070 
+00071 void FlowShopBenchmarkParser::printOn(std::ostream & _os) const
+00072   {
+00073     _os << "M=" << M << " N=" << N << std::endl;
+00074     _os << "*** processing times" << std::endl;
+00075     for (unsigned int i=0; i<M; i++)
+00076       {
+00077         for (unsigned int j=0; j<N; j++)
+00078           {
+00079             _os << p[i][j] << " ";
+00080           }
+00081         _os << std::endl;
+00082       }
+00083     _os << "*** due-dates" << std::endl;
+00084     for (unsigned int j=0; j<N; j++)
+00085       {
+00086         _os << d[j] << " ";
+00087       }
+00088     _os << std::endl << std::endl;
+00089   }
+00090 
+00091 
+00092 void FlowShopBenchmarkParser::init(const std::string _benchmarkFileName)
+00093 {
+00094   std::string buffer;
+00095   std::string::size_type start, end;
+00096   std::ifstream inputFile(_benchmarkFileName.data(), std::ios::in);
+00097   // opening of the benchmark file
+00098   if (! inputFile)
+00099     throw std::runtime_error("*** ERROR : Unable to open the benchmark file");
+00100   // number of jobs (N)
+00101   getline(inputFile, buffer, '\n');
+00102   N = atoi(buffer.data());
+00103   // number of machines M
+00104   getline(inputFile, buffer, '\n');
+00105   M = atoi(buffer.data());
+00106   // initial and current seeds (not used)
+00107   getline(inputFile, buffer, '\n');
+00108   // processing times and due-dates
+00109   p = std::vector< std::vector<unsigned int> > (M,N);
+00110   d = std::vector<unsigned int> (N);
+00111   // for each job...
+00112   for (unsigned int j=0 ; j<N ; j++)
+00113     {
+00114       // index of the job (<=> j)
+00115       getline(inputFile, buffer, '\n');
+00116       // due-date of the job j
+00117       getline(inputFile, buffer, '\n');
+00118       d[j] = atoi(buffer.data());
+00119       // processing times of the job j on each machine
+00120       getline(inputFile, buffer, '\n');
+00121       start = buffer.find_first_not_of(" ");
+00122       for (unsigned int i=0 ; i<M ; i++)
+00123         {
+00124           end = buffer.find_first_of(" ", start);
+00125           p[i][j] = atoi(buffer.substr(start, end-start).data());
+00126           start = buffer.find_first_not_of(" ", end);
+00127         }
+00128     }
+00129   // closing of the input file
+00130   inputFile.close();
+00131 }
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8h-source.html new file mode 100644 index 000000000..089762e75 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8h-source.html @@ -0,0 +1,107 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopBenchmarkParser.h Source File + + + + +
+
+

FlowShopBenchmarkParser.h

00001 /*
+00002 * <FlowShopBenchmarkParser.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOPBENCHMARKPARSER_H_
+00039 #define FLOWSHOPBENCHMARKPARSER_H_
+00040 
+00041 #include <fstream>
+00042 #include <string>
+00043 #include <vector>
+00044 
+00048 class FlowShopBenchmarkParser
+00049   {
+00050   public:
+00051 
+00056     FlowShopBenchmarkParser(const std::string _benchmarkFileName);
+00057 
+00058 
+00062     const unsigned int getM();
+00063 
+00064 
+00068     const unsigned int getN();
+00069 
+00070 
+00074     const std::vector < std::vector < unsigned int > > getP();
+00075 
+00076 
+00080     const std::vector < unsigned int > getD();
+00081 
+00082 
+00086     void printOn(std::ostream & _os) const;
+00087 
+00088 
+00089   private:
+00090 
+00092     unsigned int M;
+00094     unsigned int N;
+00096     std::vector < std::vector < unsigned int > > p;
+00098     std::vector < unsigned int > d;
+00099 
+00100 
+00105     void init(const std::string _benchmarkFileName);
+00106 
+00107   };
+00108 
+00109 #endif /*FLOWSHOPBENCHMARKPARSER_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopEval_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopEval_8cpp-source.html new file mode 100644 index 000000000..082354687 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopEval_8cpp-source.html @@ -0,0 +1,118 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopEval.cpp Source File + + + + +
+
+

FlowShopEval.cpp

00001 /*
+00002 * <FlowShopEval.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #include <FlowShopEval.h>
+00039 
+00040 
+00041 FlowShopEval::FlowShopEval(unsigned int _M, unsigned int _N, const std::vector< std::vector<unsigned int> > & _p, const std::vector<unsigned int> & _d) :
+00042     M(_M), N (_N), p(_p), d(_d)
+00043 {}
+00044 
+00045 
+00046 void FlowShopEval::operator()(FlowShop & _flowshop)
+00047 {
+00048   FlowShopObjectiveVector objVector;
+00049   objVector[0] = makespan(_flowshop);
+00050   objVector[1] = tardiness(_flowshop);
+00051   _flowshop.objectiveVector(objVector);
+00052 }
+00053 
+00054 
+00055 
+00056 double FlowShopEval::makespan(const FlowShop & _flowshop)
+00057 {
+00058   // completion times computation for each job on each machine
+00059   // C[i][j] = completion of the jth job of the scheduling on the ith machine
+00060   std::vector< std::vector<unsigned int> > C = completionTime(_flowshop);
+00061   return C[M-1][_flowshop[N-1]];
+00062 }
+00063 
+00064 
+00065 double FlowShopEval::tardiness(const FlowShop & _flowshop)
+00066 {
+00067   // completion times computation for each job on each machine
+00068   // C[i][j] = completion of the jth job of the scheduling on the ith machine
+00069   std::vector< std::vector<unsigned int> > C = completionTime(_flowshop);
+00070   // tardiness computation
+00071   unsigned int long sum = 0;
+00072   for (unsigned int j=0 ; j<N ; j++)
+00073     sum += (unsigned int) std::max (0, (int) (C[M-1][_flowshop[j]] - d[_flowshop[j]]));
+00074   return sum;
+00075 }
+00076 
+00077 
+00078 std::vector< std::vector<unsigned int> > FlowShopEval::completionTime(const FlowShop & _flowshop)
+00079 {
+00080   std::vector< std::vector<unsigned int> > C(M,N);
+00081   C[0][_flowshop[0]] = p[0][_flowshop[0]];
+00082   for (unsigned int j=1; j<N; j++)
+00083     C[0][_flowshop[j]] = C[0][_flowshop[j-1]] + p[0][_flowshop[j]];
+00084   for (unsigned int i=1; i<M; i++)
+00085     C[i][_flowshop[0]] = C[i-1][_flowshop[0]] + p[i][_flowshop[0]];
+00086   for (unsigned int i=1; i<M; i++)
+00087     for (unsigned int j=1; j<N; j++)
+00088       C[i][_flowshop[j]] = std::max(C[i][_flowshop[j-1]], C[i-1][_flowshop[j]]) + p[i][_flowshop[j]];
+00089   return C;
+00090 }
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopEval_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopEval_8h-source.html new file mode 100644 index 000000000..c954a62df --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopEval_8h-source.html @@ -0,0 +1,101 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopEval.h Source File + + + + +
+
+

FlowShopEval.h

00001 /*
+00002 * <FlowShopEval.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOPEVAL_H_
+00039 #define FLOWSHOPEVAL_H_
+00040 
+00041 #include <vector>
+00042 #include <core/moeoEvalFunc.h>
+00043 #include <FlowShop.h>
+00044 
+00048 class FlowShopEval : public moeoEvalFunc<FlowShop>
+00049   {
+00050   public:
+00051 
+00059     FlowShopEval(unsigned int _M, unsigned int _N, const std::vector< std::vector<unsigned int> > & _p, const std::vector<unsigned int> & _d);
+00060 
+00061 
+00066     void operator()(FlowShop & _flowshop);
+00067 
+00068 
+00069   private:
+00070 
+00072     unsigned int M;
+00074     unsigned int N;
+00076     std::vector< std::vector < unsigned int > > p;
+00078     std::vector < unsigned int > d;
+00079 
+00080 
+00085     double makespan(const FlowShop & _flowshop);
+00086 
+00087 
+00092     double tardiness(const FlowShop & _flowshop);
+00093 
+00094 
+00100     std::vector< std::vector<unsigned int> > completionTime (const FlowShop & _flowshop);
+00101 
+00102   };
+00103 
+00104 #endif /*FLOWSHOPEVAL_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopInit_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopInit_8cpp-source.html new file mode 100644 index 000000000..21b5da46a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopInit_8cpp-source.html @@ -0,0 +1,92 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopInit.cpp Source File + + + + +
+
+

FlowShopInit.cpp

00001 /*
+00002 * <FlowShopInit.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #include <FlowShopInit.h>
+00039 
+00040 
+00041 FlowShopInit::FlowShopInit(unsigned int _N) : N(_N)
+00042 {}
+00043 
+00044 
+00045 void FlowShopInit::operator()(FlowShop & _flowshop)
+00046 {
+00047   // scheduling vector
+00048   std::vector<unsigned int> scheduling(N);
+00049   // initialisation of possible values
+00050   std::vector<unsigned int> possibles(N);
+00051   for (unsigned int i=0 ; i<N ; i++)
+00052     possibles[i] = i;
+00053   // random initialization
+00054   unsigned int rInd;     // random index
+00055   for (unsigned int i=0; i<N; i++)
+00056     {
+00057       rInd = (unsigned int) rng.uniform(N-i);
+00058       scheduling[i] = possibles[rInd];
+00059       possibles[rInd] = possibles[N-i-1];
+00060     }
+00061   _flowshop.resize(N);
+00062   _flowshop.value(scheduling);
+00063   _flowshop.invalidate();          // IMPORTANT in case the _genotype is old
+00064 }
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopInit_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopInit_8h-source.html new file mode 100644 index 000000000..cda28127c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopInit_8h-source.html @@ -0,0 +1,74 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopInit.h Source File + + + + +
+
+

FlowShopInit.h

00001 /*
+00002 * <FlowShopInit.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOPINIT_H_
+00039 #define FLOWSHOPINIT_H_
+00040 
+00041 #include <eoInit.h>
+00042 #include <FlowShop.h>
+00043 
+00047 typedef eoInitPermutation<FlowShop> FlowShopInit;
+00048 
+00049 #endif /*FLOWSHOPINIT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8cpp-source.html new file mode 100644 index 000000000..928a66570 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8cpp-source.html @@ -0,0 +1,85 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopObjectiveVectorTraits.cpp Source File + + + + +
+
+

FlowShopObjectiveVectorTraits.cpp

00001 /*
+00002 * <FlowShopObjectiveVectorTraits.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #include <FlowShopObjectiveVectorTraits.h>
+00039 
+00040 
+00041 bool FlowShopObjectiveVectorTraits::minimizing (int _i)
+00042 {
+00043   // minimizing both
+00044   return true;
+00045 }
+00046 
+00047 bool FlowShopObjectiveVectorTraits::maximizing (int _i)
+00048 {
+00049   // minimizing both
+00050   return false;
+00051 }
+00052 
+00053 unsigned int FlowShopObjectiveVectorTraits::nObjectives ()
+00054 {
+00055   // 2 objectives
+00056   return 2;
+00057 }
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8h-source.html new file mode 100644 index 000000000..ea23cfe34 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8h-source.html @@ -0,0 +1,85 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopObjectiveVectorTraits.h Source File + + + + +
+
+

FlowShopObjectiveVectorTraits.h

00001 /*
+00002 * <FlowShopObjectiveVectorTraits.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOPOBJECTIVEVECTORTRAITS_H_
+00039 #define FLOWSHOPOBJECTIVEVECTORTRAITS_H_
+00040 
+00041 #include <core/moeoObjectiveVectorTraits.h>
+00042 
+00046 class FlowShopObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00047   {
+00048   public:
+00049 
+00054     static bool minimizing (int _i);
+00055 
+00056 
+00061     static bool maximizing (int _i);
+00062 
+00063 
+00067     static unsigned int nObjectives ();
+00068 
+00069   };
+00070 
+00071 #endif /*FLOWSHOPOBJECTIVEVECTORTRAITS_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVector_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVector_8h-source.html new file mode 100644 index 000000000..b3f5d1aaf --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopObjectiveVector_8h-source.html @@ -0,0 +1,74 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopObjectiveVector.h Source File + + + + +
+
+

FlowShopObjectiveVector.h

00001 /*
+00002 * <FlowShopObjectiveVector.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOPOBJECTIVEVECTOR_H_
+00039 #define FLOWSHOPOBJECTIVEVECTOR_H_
+00040 
+00041 #include <core/moeoRealObjectiveVector.h>
+00042 #include <FlowShopObjectiveVectorTraits.h>
+00043 
+00047 typedef moeoRealObjectiveVector < FlowShopObjectiveVectorTraits > FlowShopObjectiveVector;
+00048 
+00049 #endif /*FLOWSHOPOBJECTIVEVECTOR_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8cpp-source.html new file mode 100644 index 000000000..13a85ce9c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8cpp-source.html @@ -0,0 +1,138 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopOpCrossoverQuad.cpp Source File + + + + +
+
+

FlowShopOpCrossoverQuad.cpp

00001 /*
+00002 * <FlowShopOpCrossoverQuad.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #include <FlowShopOpCrossoverQuad.h>
+00039 
+00040 
+00041 std::string FlowShopOpCrossoverQuad::className() const
+00042   {
+00043     return "FlowShopOpCrossoverQuad";
+00044   }
+00045 
+00046 
+00047 bool FlowShopOpCrossoverQuad::operator()(FlowShop & _flowshop1, FlowShop & _flowshop2)
+00048 {
+00049   bool oneAtLeastIsModified;
+00050   // computation of the 2 random points
+00051   unsigned int point1, point2;
+00052   do
+00053     {
+00054       point1 =  rng.random(std::min(_flowshop1.size(), _flowshop2.size()));
+00055       point2 =  rng.random(std::min(_flowshop1.size(), _flowshop2.size()));
+00056     }
+00057   while (fabs((double) point1-point2) <= 2);
+00058   // computation of the offspring
+00059   FlowShop offspring1 = generateOffspring(_flowshop1, _flowshop2, point1, point2);
+00060   FlowShop offspring2 = generateOffspring(_flowshop2, _flowshop1, point1, point2);
+00061   // does at least one genotype has been modified ?
+00062   if ((_flowshop1 != offspring1) || (_flowshop2 != offspring2))
+00063     {
+00064       // update
+00065       _flowshop1.value(offspring1);
+00066       _flowshop2.value(offspring2);
+00067       // at least one genotype has been modified
+00068       oneAtLeastIsModified = true;
+00069     }
+00070   else
+00071     {
+00072       // no genotype has been modified
+00073       oneAtLeastIsModified = false;
+00074     }
+00075   // return 'true' if at least one genotype has been modified
+00076   return oneAtLeastIsModified;
+00077 }
+00078 
+00079 
+00080 FlowShop FlowShopOpCrossoverQuad::generateOffspring(const FlowShop & _parent1, const FlowShop & _parent2, unsigned int _point1, unsigned int _point2)
+00081 {
+00082   FlowShop result = _parent1;
+00083   std::vector<bool> taken_values(result.size(), false);
+00084   if (_point1 > _point2)
+00085     std::swap(_point1, _point2);
+00086   /* first parent */
+00087   for (unsigned int i=0 ; i<=_point1 ; i++)
+00088     {
+00089       // result[i] == _parent1[i]
+00090       taken_values[_parent1[i]] = true;
+00091     }
+00092   for (unsigned int i=_point2 ; i<result.size() ; i++)
+00093     {
+00094       // result[i] == _parent1[i]
+00095       taken_values[_parent1[i]] = true;
+00096     }
+00097   /* second parent */
+00098   unsigned int i = _point1+1;
+00099   unsigned int j = 0;
+00100   while (i<_point2 && j<_parent2.size())
+00101     {
+00102       if (! taken_values[_parent2[j]])
+00103         {
+00104           result[i] = _parent2[j];
+00105           i++;
+00106         }
+00107       j++;
+00108     }
+00109   return result;
+00110 }
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8h-source.html new file mode 100644 index 000000000..0d7c79ee1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8h-source.html @@ -0,0 +1,88 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopOpCrossoverQuad.h Source File + + + + +
+
+

FlowShopOpCrossoverQuad.h

00001 /*
+00002 * <FlowShopOpCrossoverQuad.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOPOPCROSSOVERQUAD_H_
+00039 #define FLOWSHOPOPCROSSOVERQUAD_H_
+00040 
+00041 #include <eoOp.h>
+00042 #include <FlowShop.h>
+00043 
+00047 class FlowShopOpCrossoverQuad : public eoQuadOp < FlowShop >
+00048   {
+00049   public:
+00050 
+00054     std::string className() const;
+00055 
+00056 
+00062     bool operator()(FlowShop & _flowshop1, FlowShop & _flowshop2);
+00063 
+00064 
+00065   private:
+00066 
+00074     FlowShop generateOffspring(const FlowShop & _parent1, const FlowShop & _parent2, unsigned int _point1, unsigned int _point2);
+00075 
+00076   };
+00077 
+00078 #endif /*FLOWSHOPOPCROSSOVERQUAD_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8h-source.html new file mode 100644 index 000000000..3b7a12d88 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8h-source.html @@ -0,0 +1,74 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopOpMutationExchange.h Source File + + + + +
+
+

FlowShopOpMutationExchange.h

00001 /*
+00002 * <FlowShopOpMutationExchange.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOPOPMUTATIONEXCHANGE_H_
+00039 #define FLOWSHOPOPMUTATIONEXCHANGE_H_
+00040 
+00041 #include <eoSwapMutation.h>
+00042 #include <FlowShop.h>
+00043 
+00047 typedef eoSwapMutation<FlowShop> FlowShopOpMutationExchange;
+00048 
+00049 #endif /*FLOWSHOPOPMUTATIONEXCHANGE_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8h-source.html new file mode 100644 index 000000000..a7de79a3d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8h-source.html @@ -0,0 +1,74 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopOpMutationShift.h Source File + + + + +
+
+

FlowShopOpMutationShift.h

00001 /*
+00002 * <FlowShopOpMutationShift.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOPOPMUTATIONSHIFT_H_
+00039 #define FLOWSHOPOPMUTATIONSHIFT_H_
+00040 
+00041 #include <eoShiftMutation.h>
+00042 #include <FlowShop.h>
+00043 
+00047 typedef eoShiftMutation<FlowShop> FlowShopOpMutationShift;
+00048 
+00049 #endif /*FLOWSHOPOPMUTATIONSHIFT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShop_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShop_8cpp-source.html new file mode 100644 index 000000000..181ef58ec --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShop_8cpp-source.html @@ -0,0 +1,71 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShop.cpp Source File + + + + +
+
+

FlowShop.cpp

00001 /*
+00002 * <FlowShop.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #include <FlowShop.h>
+00039 
+00040 std::string FlowShop::className() const
+00041   {
+00042     return "FlowShop";
+00043   }
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShop_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShop_8h-source.html new file mode 100644 index 000000000..fbb3f9550 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/FlowShop_8h-source.html @@ -0,0 +1,80 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShop.h Source File + + + + +
+
+

FlowShop.h

00001 /*
+00002 * <FlowShop.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef FLOWSHOP_H_
+00039 #define FLOWSHOP_H_
+00040 
+00041 #include <core/moeoVector.h>
+00042 #include <FlowShopObjectiveVector.h>
+00043 
+00047 class FlowShop: public moeoVector < FlowShopObjectiveVector , double , double , unsigned int >
+00048   {
+00049   public:
+00050 
+00054     std::string className() const;
+00055 
+00056   };
+00057 
+00058 #endif /*FLOWSHOP_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Lesson2_2FlowShopEA_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Lesson2_2FlowShopEA_8cpp-source.html new file mode 100644 index 000000000..e7dcaf9b0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Lesson2_2FlowShopEA_8cpp-source.html @@ -0,0 +1,175 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopEA.cpp Source File + + + + +
+
+

FlowShopEA.cpp

00001 /*
+00002 * <FlowShopEA.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 
+00039 // moeo general include
+00040 #include <moeo>
+00041 // for the creation of an evaluator
+00042 #include <make_eval_FlowShop.h>
+00043 // for the creation of an initializer
+00044 #include <make_genotype_FlowShop.h>
+00045 // for the creation of the variation operators
+00046 #include <make_op_FlowShop.h>
+00047 // how to initialize the population
+00048 #include <do/make_pop.h>
+00049 // the stopping criterion
+00050 #include <do/make_continue_moeo.h>
+00051 // outputs (stats, population dumps, ...)
+00052 #include <do/make_checkpoint_moeo.h>
+00053 // evolution engine (selection and replacement)
+00054 #include <do/make_ea_moeo.h>
+00055 // simple call to the algo
+00056 #include <do/make_run.h>
+00057 // checks for help demand, and writes the status file and make_help; in libutils
+00058 void make_help(eoParser & _parser);
+00059 // definition of the representation
+00060 #include <FlowShop.h>
+00061 
+00062 
+00063 using namespace std;
+00064 
+00065 
+00066 int main(int argc, char* argv[])
+00067 {
+00068     try
+00069     {
+00070 
+00071         eoParser parser(argc, argv);  // for user-parameter reading
+00072         eoState state;                // to keep all things allocated
+00073 
+00074 
+00075         /*** the representation-dependent things ***/
+00076 
+00077         // The fitness evaluation
+00078         eoEvalFuncCounter<FlowShop>& eval = do_make_eval(parser, state);
+00079         // the genotype (through a genotype initializer)
+00080         eoInit<FlowShop>& init = do_make_genotype(parser, state);
+00081         // the variation operators
+00082         eoGenOp<FlowShop>& op = do_make_op(parser, state);
+00083 
+00084 
+00085         /*** the representation-independent things ***/
+00086 
+00087         // initialization of the population
+00088         eoPop<FlowShop>& pop = do_make_pop(parser, state, init);
+00089         // definition of the archive
+00090         moeoArchive<FlowShop> arch;
+00091         // stopping criteria
+00092         unsigned int maxGen = parser.createParam((unsigned int)(100), "maxGen", "Maximum number of gen.",'G',"Stopping criterion").value();
+00093         eoGenContinue<FlowShop> term(maxGen);
+00094         // checkpointing
+00095         eoCheckPoint<FlowShop> checkpoint(term);
+00096         moeoArchiveUpdater < FlowShop > updater(arch, pop);
+00097         checkpoint.add(updater);
+00098         // fitness assignment
+00099         moeoFastNonDominatedSortingFitnessAssignment <FlowShop> fitnessAssignment;
+00100         // diversity preservation
+00101         moeoFrontByFrontCrowdingDiversityAssignment <FlowShop> diversityAssignment;
+00102         // comparator
+00103         moeoFitnessThenDiversityComparator <FlowShop> comparator;
+00104         // selection scheme
+00105         moeoDetTournamentSelect <FlowShop> select(comparator, 2);
+00106         // replacement scheme
+00107         moeoElitistReplacement <FlowShop> replace(fitnessAssignment, diversityAssignment, comparator);
+00108         // breeder
+00109         eoGeneralBreeder <FlowShop> breed(select, op);
+00110         // algorithm
+00111         moeoEasyEA <FlowShop> algo (checkpoint, eval, breed, replace, fitnessAssignment, diversityAssignment);
+00112 
+00113 
+00114         /*** Go ! ***/
+00115 
+00116         // help ?
+00117         make_help(parser);
+00118 
+00119         // first evalution (for printing)
+00120         apply<FlowShop>(eval, pop);
+00121 
+00122         // printing of the initial population
+00123         cout << "Initial Population\n";
+00124         pop.sortedPrintOn(cout);
+00125         cout << endl;
+00126 
+00127         // run the algo
+00128         algo(pop);
+00129 
+00130         // printing of the final population
+00131         cout << "Final Population\n";
+00132         pop.sortedPrintOn(cout);
+00133         cout << endl;
+00134 
+00135         // printing of the final archive
+00136         cout << "Final Archive\n";
+00137         arch.sortedPrintOn(cout);
+00138         cout << endl;
+00139 
+00140 
+00141     }
+00142     catch (exception& e)
+00143     {
+00144         cout << e.what() << endl;
+00145     }
+00146     return EXIT_SUCCESS;
+00147 }
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Lesson3_2FlowShopEA_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Lesson3_2FlowShopEA_8cpp-source.html new file mode 100644 index 000000000..601d5b62d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Lesson3_2FlowShopEA_8cpp-source.html @@ -0,0 +1,160 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopEA.cpp Source File + + + + +
+
+

FlowShopEA.cpp

00001 /*
+00002 * <FlowShopEA.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 
+00039 // moeo general include
+00040 #include <moeo>
+00041 // for the creation of an evaluator
+00042 #include <make_eval_FlowShop.h>
+00043 // for the creation of an initializer
+00044 #include <make_genotype_FlowShop.h>
+00045 // for the creation of the variation operators
+00046 #include <make_op_FlowShop.h>
+00047 // how to initialize the population
+00048 #include <do/make_pop.h>
+00049 // the stopping criterion
+00050 #include <do/make_continue_moeo.h>
+00051 // outputs (stats, population dumps, ...)
+00052 #include <do/make_checkpoint_moeo.h>
+00053 // evolution engine (selection and replacement)
+00054 #include <do/make_ea_moeo.h>
+00055 // simple call to the algo
+00056 #include <do/make_run.h>
+00057 // checks for help demand, and writes the status file and make_help; in libutils
+00058 void make_help(eoParser & _parser);
+00059 // definition of the representation
+00060 #include <FlowShop.h>
+00061 
+00062 
+00063 using namespace std;
+00064 
+00065 
+00066 int main(int argc, char* argv[])
+00067 {
+00068   try
+00069     {
+00070 
+00071       eoParser parser(argc, argv);  // for user-parameter reading
+00072       eoState state;                // to keep all things allocated
+00073 
+00074 
+00075       /*** the representation-dependent things ***/
+00076 
+00077       // The fitness evaluation
+00078       eoEvalFuncCounter<FlowShop>& eval = do_make_eval(parser, state);
+00079       // the genotype (through a genotype initializer)
+00080       eoInit<FlowShop>& init = do_make_genotype(parser, state);
+00081       // the variation operators
+00082       eoGenOp<FlowShop>& op = do_make_op(parser, state);
+00083 
+00084 
+00085       /*** the representation-independent things ***/
+00086 
+00087       // initialization of the population
+00088       eoPop<FlowShop>& pop = do_make_pop(parser, state, init);
+00089       // definition of the archive
+00090       moeoArchive<FlowShop> arch;
+00091       // stopping criteria
+00092       eoContinue<FlowShop>& term = do_make_continue_moeo(parser, state, eval);
+00093       // output
+00094       eoCheckPoint<FlowShop>& checkpoint = do_make_checkpoint_moeo(parser, state, eval, term, pop, arch);
+00095       // algorithm
+00096       eoAlgo<FlowShop>& algo = do_make_ea_moeo(parser, state, eval, checkpoint, op, arch);
+00097 
+00098 
+00099       /*** Go ! ***/
+00100 
+00101       // help ?
+00102       make_help(parser);
+00103 
+00104       // first evalution (for printing)
+00105       apply<FlowShop>(eval, pop);
+00106 
+00107       // printing of the initial population
+00108       cout << "Initial Population\n";
+00109       pop.sortedPrintOn(cout);
+00110       cout << endl;
+00111 
+00112       // run the algo
+00113       algo(pop);
+00114 
+00115       // printing of the final population
+00116       cout << "Final Population\n";
+00117       pop.sortedPrintOn(cout);
+00118       cout << endl;
+00119 
+00120       // printing of the final archive
+00121       cout << "Final Archive\n";
+00122       arch.sortedPrintOn(cout);
+00123       cout << endl;
+00124 
+00125 
+00126     }
+00127   catch (exception& e)
+00128     {
+00129       cout << e.what() << endl;
+00130     }
+00131   return EXIT_SUCCESS;
+00132 }
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/MOEO_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/MOEO_8h-source.html new file mode 100644 index 000000000..9f542a8e6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/MOEO_8h-source.html @@ -0,0 +1,293 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: MOEO.h Source File + + + + +
+
+

MOEO.h

00001 /*
+00002 * <MOEO.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEO_H_
+00039 #define MOEO_H_
+00040 
+00041 #include <iostream>
+00042 #include <stdexcept>
+00043 #include <string>
+00044 #include <EO.h>
+00045 
+00059 /*
+00060  template < typename DataType, typename DataTypeEx > struct Wrapper {
+00061 
+00062         Wrapper() {}
+00063 
+00064         Wrapper( const DataType& data )
+00065                 : embededData( data ) {}
+00066 
+00067         Wrapper( const Wrapper& wrapper )
+00068                 : embededData( wrapper.embededData ), embededDataEx( wrapper.embededDataEx ) {}
+00069 
+00070         operator const DataType& () const { return embededData; }
+00071 
+00072         Wrapper& operator= ( const Wrapper& wrapper ) {
+00073 
+00074                 embededData = wrapper.embededData;
+00075                 embededDataEx = wrapper.embededDataEx;
+00076                 return *this;
+00077         }
+00078 
+00079         Wrapper& operator= ( const DataType& data ) {
+00080 
+00081                 embededData = data;
+00082                 return *this;
+00083         }
+00084 
+00085         DataType embededData;
+00086         DataTypeEx embededDataEx;
+00087 };
+00088  **/
+00089 
+00090 
+00091 template < class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity >
+00092 class MOEO : public EO < MOEOObjectiveVector >
+00093   {
+00094   public:
+00095 
+00097     typedef MOEOObjectiveVector ObjectiveVector;
+00098 
+00100     typedef MOEOFitness Fitness;
+00101 //      typedef Wrapper< MOEOFitness, MOEOObjectiveVector > Fitness;
+00102 
+00104     typedef MOEODiversity Diversity;
+00105 
+00106 
+00110     MOEO()
+00111     {
+00112       // default values for every parameters
+00113       objectiveVectorValue = ObjectiveVector();
+00114       fitnessValue = Fitness();
+00115       diversityValue = Diversity();
+00116       // invalidate all
+00117       invalidate();
+00118     }
+00119 
+00120 
+00124     virtual ~MOEO()
+00125     {};
+00126 
+00127 
+00131     ObjectiveVector objectiveVector() const
+00132       {
+00133         if ( invalidObjectiveVector() )
+00134           {
+00135             throw std::runtime_error("invalid objective vector in MOEO");
+00136           }
+00137         return objectiveVectorValue;
+00138       }
+00139 
+00140 
+00145     void objectiveVector(const ObjectiveVector & _objectiveVectorValue)
+00146     {
+00147       objectiveVectorValue = _objectiveVectorValue;
+00148       invalidObjectiveVectorValue = false;
+00149     }
+00150 
+00151 
+00155     void invalidateObjectiveVector()
+00156     {
+00157       invalidObjectiveVectorValue = true;
+00158     }
+00159 
+00160 
+00164     bool invalidObjectiveVector() const
+00165       {
+00166         return invalidObjectiveVectorValue;
+00167       }
+00168 
+00169 
+00173     Fitness fitness() const
+00174       {
+00175         if ( invalidFitness() )
+00176           {
+00177             throw std::runtime_error("invalid fitness in MOEO");
+00178           }
+00179 //         const_cast< Fitness& >( fitnessValue ).embededDataEx = objectiveVectorValue;
+00180 
+00181         return fitnessValue;
+00182       }
+00183 
+00184 
+00189     void fitness(const Fitness & _fitnessValue)
+00190     {
+00191       fitnessValue = _fitnessValue;
+00192       invalidFitnessValue = false;
+00193     }
+00194 
+00195 
+00199     void invalidateFitness()
+00200     {
+00201       invalidFitnessValue = true;
+00202     }
+00203 
+00204 
+00208     bool invalidFitness() const
+00209       {
+00210         return invalidFitnessValue;
+00211       }
+00212 
+00213 
+00217     Diversity diversity() const
+00218       {
+00219         if ( invalidDiversity() )
+00220           {
+00221             throw std::runtime_error("invalid diversity in MOEO");
+00222           }
+00223         return diversityValue;
+00224       }
+00225 
+00226 
+00231     void diversity(const Diversity & _diversityValue)
+00232     {
+00233       diversityValue = _diversityValue;
+00234       invalidDiversityValue = false;
+00235     }
+00236 
+00237 
+00241     void invalidateDiversity()
+00242     {
+00243       invalidDiversityValue = true;
+00244     }
+00245 
+00246 
+00250     bool invalidDiversity() const
+00251       {
+00252         return invalidDiversityValue;
+00253       }
+00254 
+00255 
+00259     void invalidate()
+00260     {
+00261       invalidateObjectiveVector();
+00262       invalidateFitness();
+00263       invalidateDiversity();
+00264     }
+00265 
+00266 
+00270     bool invalid() const
+00271       {
+00272         return invalidObjectiveVector();
+00273       }
+00274 
+00275 
+00282     bool operator<(const MOEO & _other) const
+00283       {
+00284         return objectiveVector() < _other.objectiveVector();
+00285       }
+00286 
+00287 
+00291     virtual std::string className() const
+00292       {
+00293         return "MOEO";
+00294       }
+00295 
+00296 
+00301     virtual void printOn(std::ostream & _os) const
+00302       {
+00303         if ( invalidObjectiveVector() )
+00304           {
+00305             _os << "INVALID\t";
+00306           }
+00307         else
+00308           {
+00309             _os << objectiveVectorValue << '\t';
+00310           }
+00311       }
+00312 
+00313 
+00318     virtual void readFrom(std::istream & _is)
+00319     {
+00320       std::string objectiveVector_str;
+00321       int pos = _is.tellg();
+00322       _is >> objectiveVector_str;
+00323       if (objectiveVector_str == "INVALID")
+00324         {
+00325           invalidateObjectiveVector();
+00326         }
+00327       else
+00328         {
+00329           invalidObjectiveVectorValue = false;
+00330           _is.seekg(pos); // rewind
+00331           _is >> objectiveVectorValue;
+00332         }
+00333     }
+00334 
+00335 
+00336   private:
+00337 
+00339     ObjectiveVector objectiveVectorValue;
+00341     bool invalidObjectiveVectorValue;
+00343     Fitness fitnessValue;
+00345     bool invalidFitnessValue;
+00347     Diversity diversityValue;
+00349     bool invalidDiversityValue;
+00350 
+00351   };
+00352 
+00353 
+00354 
+00355 #endif /*MOEO_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/README-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/README-source.html new file mode 100644 index 000000000..88c888322 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/README-source.html @@ -0,0 +1,110 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: README Source File + + + + +
+
+

README

00001                 PARADISEO-MOEO README FILE
+00002 =======================================================================
+00003          check latest news at http://paradiseo.gforge.inria.fr/
+00004 =======================================================================
+00005 
+00006 Welcome to ParadisEO-MOEO, the Multi-Objective Evolving Objects library.
+00007 The latest news about ParadisEO-MOEO can be found on the gforge repository at
+00008 http://paradiseo.gforge.inria.fr/
+00009 In case of any problem, please e-mail us at
+00010 paradiseo-help@lists.gforge.inria.fr
+00011 
+00012 
+00013 =======================================================================
+00014                         BUILDING PARADISEO-MOEO
+00015 =======================================================================
+00016 The basic installation procedure goes the following.
+00017 
+00018 To compile paradiseo-moeo in the default directory,
+00019 go to paradiseo-moeo/build/ and run:
+00020     > cmake ../ -Dconfig=<path to the install.cmake file>
+00021     > make
+00022     // for an easy-use of the provided lessons
+00023     > make install
+00024     // optional (if the documentation is not already available)
+00025     > make doc
+00026 
+00027 To compile paradiseo-moeo anywhere else, simply run:
+00028     > cmake $(MOEO) -Dconfig=<path to the install.cmake file>
+00029     > make
+00030     // for an easy-use of the provided lessons
+00031     > make install
+00032     // optional (if the documentation is not already available)
+00033     > make doc
+00034 
+00035 where $(MOEO) is the top-level directory of PARADISEO-MOEO.
+00036 
+00037 To clean everything, simply run
+00038     > make clean
+00039 
+00040 =======================================================================
+00041                           DIRECTORY STRUCTURE
+00042 =======================================================================
+00043 After unpacking the archive file, you should end up with the following
+00044 structure:
+00045 
+00046 .../                       The main PARADISEO-MOEO directory, created when unpacking.
+00047    |
+00048    |
+00049    +-- build               BUILD directory that contains libraries and executable files.
+00050    |
+00051    |
+00052    +-- src                 SOURCE directory that contains PARADISEO-MOEO source files.
+00053    |
+00054    |
+00055    +-- doc                 DOCUMENTATION directory (generated by Doxygen).
+00056    |   |
+00057    |   +-- html            HTML files - start at index.html.
+00058    |   |
+00059    |   +-- latex           latex files - use to generate Postcript doc.
+00060    |   |
+00061    |   +-- man             Unix man format documentation.
+00062    |
+00063    |
+00064    +-- tutorial            TUTORIAL directory that contains with lessons.
+00065        |
+00066        +-- examples        APPLICATIONS - one directory per separate application.
+00067        |   |
+00068        |   +-- flowshop    Flow-shop scheduling problem example source files.
+00069        |       |
+00070        |       +-- benchs  Benchmark suites for the flow-shop.
+00071        |
+00072        +-- Lesson1         NSGA-II to solve the SCH1 problem.
+00073        |
+00074        +-- Lesson2         A bi-objective flow-shop scheduling problem solved using main MOEAs.
+00075        |
+00076        +-- Lesson3         A bi-objective flow-shop scheduling problem solved using main MOEAs thanks to a parameter file.
+00077 
+00078 =======================================================================
+00079                                  NOTES
+00080 =======================================================================
+00081 
+00082 Mailing list : paradiseo-help@lists.gforge.inria.fr
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Sch1_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Sch1_8cpp-source.html new file mode 100644 index 000000000..2d8548ffb --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/Sch1_8cpp-source.html @@ -0,0 +1,168 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Sch1.cpp Source File + + + + +
+
+

Sch1.cpp

00001 /*
+00002 * <Sch1.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Abdelhakim Deneche, Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #include <stdio.h>
+00039 #include <moeo>
+00040 #include <es/eoRealInitBounded.h>
+00041 #include <es/eoRealOp.h>
+00042 
+00043 using namespace std;
+00044 
+00045 
+00046 // the moeoObjectiveVectorTraits : minimizing 2 objectives
+00047 class Sch1ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00048 {
+00049 public:
+00050     static bool minimizing (int i)
+00051     {
+00052         return true;
+00053     }
+00054     static bool maximizing (int i)
+00055     {
+00056         return false;
+00057     }
+00058     static unsigned int nObjectives ()
+00059     {
+00060         return 2;
+00061     }
+00062 };
+00063 
+00064 
+00065 // objective vector of real values
+00066 typedef moeoRealObjectiveVector < Sch1ObjectiveVectorTraits > Sch1ObjectiveVector;
+00067 
+00068 
+00069 // multi-objective evolving object for the Sch1 problem
+00070 class Sch1 : public moeoRealVector < Sch1ObjectiveVector, double, double >
+00071 {
+00072 public:
+00073     Sch1() : moeoRealVector < Sch1ObjectiveVector, double, double > (1)
+00074     {}
+00075 };
+00076 
+00077 
+00078 // evaluation of objective functions
+00079 class Sch1Eval : public moeoEvalFunc < Sch1 >
+00080 {
+00081 public:
+00082     void operator () (Sch1 & _sch1)
+00083     {
+00084         if (_sch1.invalidObjectiveVector())
+00085         {
+00086             Sch1ObjectiveVector objVec;
+00087             double x = _sch1[0];
+00088             objVec[0] = x * x;
+00089             objVec[1] = (x - 2.0) * (x - 2.0);
+00090             _sch1.objectiveVector(objVec);
+00091         }
+00092     }
+00093 };
+00094 
+00095 
+00096 // main
+00097 int main (int argc, char *argv[])
+00098 {
+00099     eoParser parser(argc, argv);  // for user-parameter reading
+00100     eoState state;                // to keep all things allocated
+00101 
+00102     // parameters
+00103     unsigned int POP_SIZE = parser.createParam((unsigned int)(100), "popSize", "Population size",'P',"Param").value();
+00104     unsigned int MAX_GEN = parser.createParam((unsigned int)(100), "maxGen", "Maximum number of generations",'G',"Param").value();
+00105     double M_EPSILON = parser.createParam(0.01, "mutEpsilon", "epsilon for mutation",'e',"Param").value();
+00106     double P_CROSS = parser.createParam(0.25, "pCross", "Crossover probability",'C',"Param").value();
+00107     double P_MUT = parser.createParam(0.35, "pMut", "Mutation probability",'M',"Param").value();
+00108 
+00109     // objective functions evaluation
+00110     Sch1Eval eval;
+00111 
+00112     // crossover and mutation
+00113     eoQuadCloneOp < Sch1 > xover;
+00114     eoUniformMutation < Sch1 > mutation (M_EPSILON);
+00115 
+00116     // generate initial population
+00117     eoRealVectorBounds bounds (1, 0.0, 2.0);    // [0, 2]
+00118     eoRealInitBounded < Sch1 > init (bounds);
+00119     eoPop < Sch1 > pop (POP_SIZE, init);
+00120 
+00121     // build NSGA-II
+00122     moeoNSGAII < Sch1 > nsgaII (MAX_GEN, eval, xover, P_CROSS, mutation, P_MUT);
+00123 
+00124     // help ?
+00125     make_help(parser);
+00126 
+00127     // run the algo
+00128     nsgaII (pop);
+00129 
+00130     // extract first front of the final population using an moeoArchive (this is the output of nsgaII)
+00131     moeoArchive < Sch1 > arch;
+00132     arch.update (pop);
+00133 
+00134     // printing of the final archive
+00135     cout << "Final Archive" << endl;
+00136     arch.sortedPrintOn (cout);
+00137     cout << endl;
+00138 
+00139     return EXIT_SUCCESS;
+00140 }
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/annotated.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/annotated.html new file mode 100644 index 000000000..8ce739d94 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/annotated.html @@ -0,0 +1,129 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Class List + + + + +
+
+
+
+

ParadisEO-MOEO-MultiObjectiveEvolvingObjects Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FlowShopStructure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int
FlowShopBenchmarkParserClass to handle parameters of a flow-shop instance from a benchmark file
FlowShopEvalEvaluation of the objective vector a (multi-objective) FlowShop object
FlowShopObjectiveVectorTraitsDefinition of the objective vector traits for multi-objective flow-shop problems
FlowShopOpCrossoverQuadQuadratic crossover operator for flow-shop (modify the both genotypes)
MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >Base class allowing to represent a solution (an individual) for multi-objective optimization
moeoAchievementFitnessAssignment< MOEOT >Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980)
moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C
moeoAggregativeComparator< MOEOT >Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value
moeoAlgoAbstract class for multi-objective algorithms
moeoArchive< MOEOT >An archive is a secondary population that stores non-dominated solutions
moeoArchiveObjectiveVectorSavingUpdater< MOEOT >This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation
moeoArchiveUpdater< MOEOT >This class allows to update the archive at each generation with newly found non-dominated solutions
moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >MoeoIndicatorBasedFitnessAssignment for binary indicators
moeoBinaryMetric< A1, A2, R >Base class for binary metrics
moeoBinaryMetricSavingUpdater< MOEOT >This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file
moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >This class is an implementationeo of a simple bit-valued moeoVector
moeoCombinedLS< MOEOT, Type >This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions
moeoComparator< MOEOT >Functor allowing to compare two solutions
moeoContributionMetric< ObjectiveVector >The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc
moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >Functor allowing to get a vector of objective vectors from a population
moeoCriterionBasedFitnessAssignment< MOEOT >MoeoCriterionBasedFitnessAssignment is a moeoFitnessAssignment for criterion-based strategies
moeoCrowdingDiversityAssignment< MOEOT >Diversity assignment sheme based on crowding proposed in: K
moeoDetTournamentSelect< MOEOT >Selection strategy that selects ONE individual by deterministic tournament
moeoDistance< MOEOT, Type >The base class for distance computation
moeoDistanceMatrix< MOEOT, Type >A matrix to compute distances between every pair of individuals contained in a population
moeoDiversityAssignment< MOEOT >Functor that sets the diversity values of a whole population
moeoDiversityThenFitnessComparator< MOEOT >Functor allowing to compare two solutions according to their diversity values, then according to their fitness values
moeoDummyDiversityAssignment< MOEOT >MoeoDummyDiversityAssignment is a moeoDiversityAssignment that gives the value '0' as the individual's diversity for a whole population if it is invalid
moeoDummyFitnessAssignment< MOEOT >MoeoDummyFitnessAssignment is a moeoFitnessAssignment that gives the value '0' as the individual's fitness for a whole population if it is invalid
moeoEA< MOEOT >Abstract class for multi-objective evolutionary algorithms
moeoEasyEA< MOEOT >An easy class to design multi-objective evolutionary algorithms
moeoEasyEA< MOEOT >::eoDummyEvalDummy eval
moeoEasyEA< MOEOT >::eoDummySelectDummy select
moeoEasyEA< MOEOT >::eoDummyTransformDummy transform
moeoElitistReplacement< MOEOT >Elitist replacement strategy that consists in keeping the N best individuals
moeoElitistReplacement< MOEOT >::CmpThis object is used to compare solutions in order to sort the population
moeoEntropyMetric< ObjectiveVector >The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc
moeoEnvironmentalReplacement< MOEOT >Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion
moeoEnvironmentalReplacement< MOEOT >::CmpThis object is used to compare solutions in order to sort the population
moeoEuclideanDistance< MOEOT >A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e
moeoEvalFunc< MOEOT >
moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >Fitness assignment sheme based on an indicator proposed in: E
moeoFastNonDominatedSortingFitnessAssignment< MOEOT >Fitness assignment sheme based on Pareto-dominance count proposed in: N
moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparatorFunctor allowing to compare two solutions according to their first objective value, then their second, and so on
moeoFitnessAssignment< MOEOT >Functor that sets the fitness values of a whole population
moeoFitnessThenDiversityComparator< MOEOT >Functor allowing to compare two solutions according to their fitness values, then according to their diversity values
moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >Diversity assignment sheme based on crowding proposed in: K
moeoFrontByFrontSharingDiversityAssignment< MOEOT >Sharing assignment scheme on the way it is used in NSGA
moeoGDominanceObjectiveVectorComparator< ObjectiveVector >This functor class allows to compare 2 objective vectors according to g-dominance
moeoGenerationalReplacement< MOEOT >Generational replacement: only the new individuals are preserved
moeoHybridLS< MOEOT >This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified
moeoHypervolumeBinaryMetric< ObjectiveVector >Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S
moeoIBEA< MOEOT >IBEA (Indicator-Based Evolutionary Algorithm) as described in: E
moeoIndicatorBasedFitnessAssignment< MOEOT >MoeoIndicatorBasedFitnessAssignment is a moeoFitnessAssignment for Indicator-based strategies
moeoLS< MOEOT, Type >Abstract class for local searches applied to multi-objective optimization
moeoManhattanDistance< MOEOT >A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e
moeoMetricBase class for performance metrics (also known as quality indicators)
moeoNormalizedDistance< MOEOT, Type >The base class for double distance computation with normalized objective values (i.e
moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values
moeoNSGA< MOEOT >NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N
moeoNSGAII< MOEOT >NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S
moeoObjectiveObjectiveVectorComparator< ObjectiveVector >Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on
moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >Abstract class allowing to represent a solution in the objective space (phenotypic representation)
moeoObjectiveVectorComparator< ObjectiveVector >Abstract class allowing to compare 2 objective vectors
moeoObjectiveVectorTraitsA traits class for moeoObjectiveVector to specify the number of objectives and which ones have to be minimized or maximized
moeoOneObjectiveComparator< MOEOT >Functor allowing to compare two solutions according to one objective
moeoParetoBasedFitnessAssignment< MOEOT >MoeoParetoBasedFitnessAssignment is a moeoFitnessAssignment for Pareto-based strategies
moeoParetoObjectiveVectorComparator< ObjectiveVector >This functor class allows to compare 2 objective vectors according to Pareto dominance
moeoRandomSelect< MOEOT >Selection strategy that selects only one element randomly from a whole population
moeoRealObjectiveVector< ObjectiveVectorTraits >This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e
moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >This class is an implementation of a simple double-valued moeoVector
moeoReplacement< MOEOT >Replacement strategy for multi-objective optimization
moeoRouletteSelect< MOEOT >Selection strategy that selects ONE individual by using roulette wheel process
moeoScalarFitnessAssignment< MOEOT >MoeoScalarFitnessAssignment is a moeoFitnessAssignment for scalar strategies
moeoSelectFromPopAndArch< MOEOT >Elitist selection process that consists in choosing individuals in the archive as well as in the current population
moeoSelectOne< MOEOT >Selection strategy for multi-objective optimization that selects only one element from a whole population
moeoSharingDiversityAssignment< MOEOT >Sharing assignment scheme originally porposed by: D
moeoSolutionUnaryMetric< ObjectiveVector, R >Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector
moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors
moeoStochTournamentSelect< MOEOT >Selection strategy that selects ONE individual by stochastic tournament
moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >MoeoIndicatorBasedFitnessAssignment for unary indicators
moeoUnaryMetric< A, R >Base class for unary metrics
moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >Base class for fixed length chromosomes, just derives from MOEO and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison)
moeoVectorUnaryMetric< ObjectiveVector, R >Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors)
moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors)
ObjectiveVectorTraits
Sch1
Sch1Eval
Sch1ObjectiveVectorTraits
Solution
TestEval
+
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop-members.html new file mode 100644 index 000000000..2263761d0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop-members.html @@ -0,0 +1,86 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

FlowShop Member List

This is the complete list of members for FlowShop, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtomType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >
className() const FlowShop [virtual]
ContainerType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoVector(unsigned int _size=0, GeneType _value=GeneType())moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > &_moeo) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
MOEO::operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline, virtual]
readFrom(std::istream &_is)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline, virtual]
storage_type typedefEO< MOEOObjectiveVector >
value(const std::vector< GeneType > &_v)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop.html new file mode 100644 index 000000000..17a6123ad --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop.html @@ -0,0 +1,65 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShop Class Reference + + + + +
+
+
+
+

FlowShop Class Reference

Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. +More... +

+#include <FlowShop.h> +

+

Inheritance diagram for FlowShop: +

+ +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +EO< MOEOObjectiveVector > +eoObject +eoPersistent +eoPrintable + +List of all members. + + + + + +

Public Member Functions

+std::string className () const
 class name
+

Detailed Description

+Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. +

+ +

+Definition at line 47 of file FlowShop.h.


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop.png new file mode 100644 index 000000000..e2566fff8 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShop.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser-members.html new file mode 100644 index 000000000..88b9e3819 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

FlowShopBenchmarkParser Member List

This is the complete list of members for FlowShopBenchmarkParser, including all inherited members.

+ + + + + + + + + + + +
dFlowShopBenchmarkParser [private]
FlowShopBenchmarkParser(const std::string _benchmarkFileName)FlowShopBenchmarkParser
getD()FlowShopBenchmarkParser
getM()FlowShopBenchmarkParser
getN()FlowShopBenchmarkParser
getP()FlowShopBenchmarkParser
init(const std::string _benchmarkFileName)FlowShopBenchmarkParser [private]
MFlowShopBenchmarkParser [private]
NFlowShopBenchmarkParser [private]
pFlowShopBenchmarkParser [private]
printOn(std::ostream &_os) const FlowShopBenchmarkParser


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser.html new file mode 100644 index 000000000..96649ab55 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser.html @@ -0,0 +1,189 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopBenchmarkParser Class Reference + + + + +
+
+
+
+

FlowShopBenchmarkParser Class Reference

Class to handle parameters of a flow-shop instance from a benchmark file. +More... +

+#include <FlowShopBenchmarkParser.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FlowShopBenchmarkParser (const std::string _benchmarkFileName)
 Ctor.
+const unsigned int getM ()
 the number of machines
+const unsigned int getN ()
 the number of jobs
+const std::vector< std::vector<
+ unsigned int > > 
getP ()
 the processing times
+const std::vector< unsigned
+int > 
getD ()
 the due-dates
void printOn (std::ostream &_os) const
 printing.

Private Member Functions

void init (const std::string _benchmarkFileName)
 Initialisation of the parameters with the data contained in the benchmark file.

Private Attributes

+unsigned int M
 number of machines
+unsigned int N
 number of jobs
+std::vector< std::vector<
+ unsigned int > > 
p
 p[i][j] = processing time of job j on machine i
+std::vector< unsigned int > d
 d[j] = due-date of the job j
+


Detailed Description

+Class to handle parameters of a flow-shop instance from a benchmark file. +

+ +

+Definition at line 48 of file FlowShopBenchmarkParser.h.


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
FlowShopBenchmarkParser::FlowShopBenchmarkParser (const std::string  _benchmarkFileName  ) 
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_benchmarkFileName the name of the benchmark file
+
+ +

+Definition at line 41 of file FlowShopBenchmarkParser.cpp. +

+References init(). +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
void FlowShopBenchmarkParser::printOn (std::ostream &  _os  )  const
+
+
+ +

+printing. +

+.. +

+Definition at line 71 of file FlowShopBenchmarkParser.cpp. +

+References d, M, N, and p. +

+

+ +

+
+ + + + + + + + + +
void FlowShopBenchmarkParser::init (const std::string  _benchmarkFileName  )  [private]
+
+
+ +

+Initialisation of the parameters with the data contained in the benchmark file. +

+

Parameters:
+ + +
_benchmarkFileName the name of the benchmark file
+
+ +

+Definition at line 92 of file FlowShopBenchmarkParser.cpp. +

+References d, M, N, and p. +

+Referenced by FlowShopBenchmarkParser(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval-members.html new file mode 100644 index 000000000..e8728ffd6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

FlowShopEval Member List

This is the complete list of members for FlowShopEval, including all inherited members.

+ + + + + + + + + + + + + + + +
completionTime(const FlowShop &_flowshop)FlowShopEval [private]
dFlowShopEval [private]
EOFitT typedefeoEvalFunc< FlowShop >
EOType typedefeoEvalFunc< FlowShop >
FlowShopEval(unsigned int _M, unsigned int _N, const std::vector< std::vector< unsigned int > > &_p, const std::vector< unsigned int > &_d)FlowShopEval
functor_category()eoUF< A1, R > [static]
MFlowShopEval [private]
makespan(const FlowShop &_flowshop)FlowShopEval [private]
NFlowShopEval [private]
operator()(FlowShop &_flowshop)FlowShopEval
moeoEvalFunc< FlowShop >::operator()(A1)=0eoUF< A1, R > [pure virtual]
pFlowShopEval [private]
tardiness(const FlowShop &_flowshop)FlowShopEval [private]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval.html new file mode 100644 index 000000000..62fc0e58f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval.html @@ -0,0 +1,279 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopEval Class Reference + + + + +
+
+
+
+

FlowShopEval Class Reference

Evaluation of the objective vector a (multi-objective) FlowShop object. +More... +

+#include <FlowShopEval.h> +

+

Inheritance diagram for FlowShopEval: +

+ +moeoEvalFunc< FlowShop > +eoEvalFunc< FlowShop > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FlowShopEval (unsigned int _M, unsigned int _N, const std::vector< std::vector< unsigned int > > &_p, const std::vector< unsigned int > &_d)
 Ctor.
void operator() (FlowShop &_flowshop)
 computation of the multi-objective evaluation of a FlowShop object

Private Member Functions

double makespan (const FlowShop &_flowshop)
 computation of the makespan
double tardiness (const FlowShop &_flowshop)
 computation of the tardiness
std::vector< std::vector<
+ unsigned int > > 
completionTime (const FlowShop &_flowshop)
 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

Private Attributes

+unsigned int M
 number of machines
+unsigned int N
 number of jobs
+std::vector< std::vector<
+ unsigned int > > 
p
 p[i][j] = processing time of job j on machine i
+std::vector< unsigned int > d
 d[j] = due-date of the job j
+

Detailed Description

+Evaluation of the objective vector a (multi-objective) FlowShop object. +

+ +

+Definition at line 48 of file FlowShopEval.h.


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FlowShopEval::FlowShopEval (unsigned int  _M,
unsigned int  _N,
const std::vector< std::vector< unsigned int > > &  _p,
const std::vector< unsigned int > &  _d 
)
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + +
_M the number of machines
_N the number of jobs to schedule
_p the processing times
_d the due dates
+
+ +

+Definition at line 41 of file FlowShopEval.cpp. +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
void FlowShopEval::operator() (FlowShop _flowshop  ) 
+
+
+ +

+computation of the multi-objective evaluation of a FlowShop object +

+

Parameters:
+ + +
_flowshop the FlowShop object to evaluate
+
+ +

+Definition at line 46 of file FlowShopEval.cpp. +

+References makespan(), MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVector(), and tardiness(). +

+

+ +

+
+ + + + + + + + + +
double FlowShopEval::makespan (const FlowShop _flowshop  )  [private]
+
+
+ +

+computation of the makespan +

+

Parameters:
+ + +
_flowshop the genotype to evaluate
+
+ +

+Definition at line 56 of file FlowShopEval.cpp. +

+References completionTime(), M, and N. +

+Referenced by operator()(). +

+

+ +

+
+ + + + + + + + + +
double FlowShopEval::tardiness (const FlowShop _flowshop  )  [private]
+
+
+ +

+computation of the tardiness +

+

Parameters:
+ + +
_flowshop the genotype to evaluate
+
+ +

+Definition at line 65 of file FlowShopEval.cpp. +

+References completionTime(), d, M, and N. +

+Referenced by operator()(). +

+

+ +

+
+ + + + + + + + + +
std::vector< std::vector< unsigned int > > FlowShopEval::completionTime (const FlowShop _flowshop  )  [private]
+
+
+ +

+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 +

+

Parameters:
+ + +
_flowshop the genotype to evaluate
+
+ +

+Definition at line 78 of file FlowShopEval.cpp. +

+References M, N, and p. +

+Referenced by makespan(), and tardiness(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval.png new file mode 100644 index 000000000..3dbdc85d2 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopEval.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits-members.html new file mode 100644 index 000000000..aeec6dc76 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

FlowShopObjectiveVectorTraits Member List

This is the complete list of members for FlowShopObjectiveVectorTraits, including all inherited members.

+ + + + + + + +
maximizing(int _i)FlowShopObjectiveVectorTraits [static]
moeoObjectiveVectorTraits::maximizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
minimizing(int _i)FlowShopObjectiveVectorTraits [static]
moeoObjectiveVectorTraits::minimizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
nObjectives()FlowShopObjectiveVectorTraits [static]
setup(unsigned int _nObjectives, std::vector< bool > &_bObjectives)moeoObjectiveVectorTraits [inline, static]
tolerance()moeoObjectiveVectorTraits [inline, static]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.html new file mode 100644 index 000000000..0a201020d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.html @@ -0,0 +1,125 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopObjectiveVectorTraits Class Reference + + + + +
+
+
+
+

FlowShopObjectiveVectorTraits Class Reference

Definition of the objective vector traits for multi-objective flow-shop problems. +More... +

+#include <FlowShopObjectiveVectorTraits.h> +

+

Inheritance diagram for FlowShopObjectiveVectorTraits: +

+ +moeoObjectiveVectorTraits + +List of all members. + + + + + + + + + + + +

Static Public Member Functions

static bool minimizing (int _i)
 Returns true if the _ith objective have to be minimzed.
static bool maximizing (int _i)
 Returns true if the _ith objective have to be maximzed.
+static unsigned int nObjectives ()
 Returns the number of objectives.
+

Detailed Description

+Definition of the objective vector traits for multi-objective flow-shop problems. +

+ +

+Definition at line 46 of file FlowShopObjectiveVectorTraits.h.


Member Function Documentation

+ +
+
+ + + + + + + + + +
bool FlowShopObjectiveVectorTraits::minimizing (int  _i  )  [static]
+
+
+ +

+Returns true if the _ith objective have to be minimzed. +

+

Parameters:
+ + +
_i index of the objective
+
+ +

+Definition at line 41 of file FlowShopObjectiveVectorTraits.cpp. +

+

+ +

+
+ + + + + + + + + +
bool FlowShopObjectiveVectorTraits::maximizing (int  _i  )  [static]
+
+
+ +

+Returns true if the _ith objective have to be maximzed. +

+

Parameters:
+ + +
_i index of the objective
+
+ +

+Definition at line 47 of file FlowShopObjectiveVectorTraits.cpp. +

+

+


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.png new file mode 100644 index 000000000..dfd860d7c Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad-members.html new file mode 100644 index 000000000..5bbad21e0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

FlowShopOpCrossoverQuad Member List

This is the complete list of members for FlowShopOpCrossoverQuad, including all inherited members.

+ + + + + + + + + + + + +
className() const FlowShopOpCrossoverQuad [virtual]
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
eoQuadOp()eoQuadOp< FlowShop >
functor_category()eoBF< FlowShop &, FlowShop &, bool > [static]
generateOffspring(const FlowShop &_parent1, const FlowShop &_parent2, unsigned int _point1, unsigned int _point2)FlowShopOpCrossoverQuad [private]
getType() const eoOp< EOType >
operator()(FlowShop &_flowshop1, FlowShop &_flowshop2)FlowShopOpCrossoverQuad [virtual]
OpType enum nameeoOp< EOType >
~eoBF()eoBF< FlowShop &, FlowShop &, bool > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.html new file mode 100644 index 000000000..11b56bf84 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.html @@ -0,0 +1,169 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: FlowShopOpCrossoverQuad Class Reference + + + + +
+
+
+
+

FlowShopOpCrossoverQuad Class Reference

Quadratic crossover operator for flow-shop (modify the both genotypes). +More... +

+#include <FlowShopOpCrossoverQuad.h> +

+

Inheritance diagram for FlowShopOpCrossoverQuad: +

+ +eoQuadOp< FlowShop > +eoOp< EOType > +eoBF< FlowShop &, FlowShop &, bool > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Member Functions

+std::string className () const
 the class name (used to display statistics)
bool operator() (FlowShop &_flowshop1, FlowShop &_flowshop2)
 eoQuad crossover - _flowshop1 and _flowshop2 are the (future) offspring, i.e.

Private Member Functions

FlowShop generateOffspring (const FlowShop &_parent1, const FlowShop &_parent2, unsigned int _point1, unsigned int _point2)
 generation of an offspring by a 2 points crossover
+

Detailed Description

+Quadratic crossover operator for flow-shop (modify the both genotypes). +

+ +

+Definition at line 47 of file FlowShopOpCrossoverQuad.h.


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool FlowShopOpCrossoverQuad::operator() (FlowShop _flowshop1,
FlowShop _flowshop2 
) [virtual]
+
+
+ +

+eoQuad crossover - _flowshop1 and _flowshop2 are the (future) offspring, i.e. +

+_copies_ of the parents

Parameters:
+ + + +
_flowshop1 the first parent
_flowshop2 the second parent
+
+ +

+Implements eoBF< FlowShop &, FlowShop &, bool >. +

+Definition at line 47 of file FlowShopOpCrossoverQuad.cpp. +

+References generateOffspring(), eoRng::random(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FlowShop FlowShopOpCrossoverQuad::generateOffspring (const FlowShop _parent1,
const FlowShop _parent2,
unsigned int  _point1,
unsigned int  _point2 
) [private]
+
+
+ +

+generation of an offspring by a 2 points crossover +

+

Parameters:
+ + + + + +
_parent1 the first parent
_parent2 the second parent
_point1 the first point
_point2 the second point
+
+ +

+Definition at line 80 of file FlowShopOpCrossoverQuad.cpp. +

+Referenced by operator()(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.png new file mode 100644 index 000000000..cc942ed89 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO-members.html new file mode 100644 index 000000000..b62cdb70e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO-members.html @@ -0,0 +1,87 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Member List

This is the complete list of members for MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
className() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversityValueMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [private]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
fitnessValueMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [private]
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversityValueMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [private]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitnessValueMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [private]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVectorValueMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [private]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVectorValueMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [private]
operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
readFrom(std::istream &_is)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
storage_type typedefEO< MOEOObjectiveVector >
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO.html new file mode 100644 index 000000000..6e8b3cfc4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO.html @@ -0,0 +1,383 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Class Template Reference + + + + +
+
+
+
+

MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Class Template Reference

Base class allowing to represent a solution (an individual) for multi-objective optimization. +More... +

+#include <MOEO.h> +

+

Inheritance diagram for MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >: +

+ +EO< MOEOObjectiveVector > +eoObject +eoPersistent +eoPrintable +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +FlowShop +moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +Sch1 +Solution +Solution +Solution +Solution +Solution + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOObjectiveVector ObjectiveVector
 the objective vector type of a solution
+typedef MOEOFitness Fitness
 the fitness type of a solution
+typedef MOEODiversity Diversity
 the diversity type of a solution

Public Member Functions

MOEO ()
 Ctor.
+virtual ~MOEO ()
 Virtual dtor.
+ObjectiveVector objectiveVector () const
 Returns the objective vector of the current solution.
void objectiveVector (const ObjectiveVector &_objectiveVectorValue)
 Sets the objective vector of the current solution.
+void invalidateObjectiveVector ()
 Sets the objective vector as invalid.
+bool invalidObjectiveVector () const
 Returns true if the objective vector is invalid, false otherwise.
+Fitness fitness () const
 Returns the fitness value of the current solution.
void fitness (const Fitness &_fitnessValue)
 Sets the fitness value of the current solution.
+void invalidateFitness ()
 Sets the fitness value as invalid.
+bool invalidFitness () const
 Returns true if the fitness value is invalid, false otherwise.
+Diversity diversity () const
 Returns the diversity value of the current solution.
void diversity (const Diversity &_diversityValue)
 Sets the diversity value of the current solution.
+void invalidateDiversity ()
 Sets the diversity value as invalid.
+bool invalidDiversity () const
 Returns true if the diversity value is invalid, false otherwise.
+void invalidate ()
 Sets the objective vector, the fitness value and the diversity value as invalid.
+bool invalid () const
 Returns true if the objective values are invalid, false otherwise.
bool operator< (const MOEO &_other) const
 Returns true if the objective vector of the current solution is smaller than the objective vector of _other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
+virtual std::string className () const
 Return the class id (the class name as a std::string).
virtual void printOn (std::ostream &_os) const
 Writing object.
virtual void readFrom (std::istream &_is)
 Reading object.

Private Attributes

+ObjectiveVector objectiveVectorValue
 the objective vector of this solution
+bool invalidObjectiveVectorValue
 true if the objective vector is invalid
+Fitness fitnessValue
 the fitness value of this solution
+bool invalidFitnessValue
 true if the fitness value is invalid
+Diversity diversityValue
 the diversity value of this solution
+bool invalidDiversityValue
 true if the diversity value is invalid
+

Detailed Description

+

template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ class MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >

+ +Base class allowing to represent a solution (an individual) for multi-objective optimization. +

+The template argument MOEOObjectiveVector allows to represent the solution in the objective space (it can be a moeoObjectiveVector object). The template argument MOEOFitness is an object reflecting the quality of the solution in term of convergence (the fitness of a solution is always to be maximized). The template argument MOEODiversity is an object reflecting the quality of the solution in term of diversity (the diversity of a solution is always to be maximized). All template arguments must have a void and a copy constructor. Using some specific representations, you will have to define a copy constructor if the default one is not what you want. In the same cases, you will also have to define the affectation operator (operator=). Then, you will explicitly have to call the parent copy constructor and the parent affectation operator at the beginning of the corresponding implementation. Besides, note that, contrary to the mono-objective case (and to EO) where the fitness value of a solution is confused with its objective value, the fitness value differs of the objectives values in the multi-objective case. +

+ +

+Definition at line 92 of file MOEO.h.


Member Function Documentation

+ +
+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + +
void MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVector (const ObjectiveVector _objectiveVectorValue  )  [inline]
+
+
+ +

+Sets the objective vector of the current solution. +

+

Parameters:
+ + +
_objectiveVectorValue the new objective vector
+
+ +

+Definition at line 145 of file MOEO.h. +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + +
void MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::fitness (const Fitness _fitnessValue  )  [inline]
+
+
+ +

+Sets the fitness value of the current solution. +

+

Parameters:
+ + +
_fitnessValue the new fitness value
+
+ +

+Definition at line 189 of file MOEO.h. +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + +
void MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::diversity (const Diversity _diversityValue  )  [inline]
+
+
+ +

+Sets the diversity value of the current solution. +

+

Parameters:
+ + +
_diversityValue the new diversity value
+
+ +

+Definition at line 231 of file MOEO.h. +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + +
bool MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::operator< (const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > &  _other  )  const [inline]
+
+
+ +

+Returns true if the objective vector of the current solution is smaller than the objective vector of _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +

+You should implement another function in the sub-class of MOEO to have another sorting mecanism.

Parameters:
+ + +
_other the other MOEO object to compare with
+
+ +

+Definition at line 282 of file MOEO.h. +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + +
virtual void MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::printOn (std::ostream &  _os  )  const [inline, virtual]
+
+
+ +

+Writing object. +

+

Parameters:
+ + +
_os output stream
+
+ +

+Reimplemented from EO< MOEOObjectiveVector >. +

+Reimplemented in moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >, moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >, moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >, moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >, moeoVector< moeoRealObjectiveVector< FlowShopObjectiveVectorTraits >, double, double, unsigned int >, moeoVector< moeoRealObjectiveVector< Sch1ObjectiveVectorTraits >, double, double, double >, and moeoVector< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double, double >. +

+Definition at line 301 of file MOEO.h. +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + +
virtual void MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::readFrom (std::istream &  _is  )  [inline, virtual]
+
+
+ +

+Reading object. +

+

Parameters:
+ + +
_is input stream
+
+ +

+Reimplemented from EO< MOEOObjectiveVector >. +

+Reimplemented in moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >, moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >, moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >, moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >, moeoVector< moeoRealObjectiveVector< FlowShopObjectiveVectorTraits >, double, double, unsigned int >, moeoVector< moeoRealObjectiveVector< Sch1ObjectiveVectorTraits >, double, double, double >, and moeoVector< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double, double >. +

+Definition at line 318 of file MOEO.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO.png new file mode 100644 index 000000000..0f8c2b5b1 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classMOEO.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits-members.html new file mode 100644 index 000000000..dbe566a93 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits-members.html @@ -0,0 +1,85 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

ObjectiveVectorTraits Member List

This is the complete list of members for ObjectiveVectorTraits, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
maximizing(int i)ObjectiveVectorTraits [inline, static]
moeoObjectiveVectorTraits::maximizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
minimizing(int i)ObjectiveVectorTraits [inline, static]
moeoObjectiveVectorTraits::minimizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
nObjectives()ObjectiveVectorTraits [inline, static]
setup(unsigned int _nObjectives, std::vector< bool > &_bObjectives)moeoObjectiveVectorTraits [inline, static]
tolerance()moeoObjectiveVectorTraits [inline, static]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits.html new file mode 100644 index 000000000..362071c83 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits.html @@ -0,0 +1,215 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: ObjectiveVectorTraits Class Reference + + + + +
+
+
+
+

ObjectiveVectorTraits Class Reference

Inheritance diagram for ObjectiveVectorTraits: +

+ +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits +moeoObjectiveVectorTraits + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Static Public Member Functions

+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+

Detailed Description

+ +

+ +

+Definition at line 45 of file t-moeo.cpp.


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits.png new file mode 100644 index 000000000..b45ca7dac Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classObjectiveVectorTraits.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1-members.html new file mode 100644 index 000000000..352b8c3ca --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1-members.html @@ -0,0 +1,88 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

Sch1 Member List

This is the complete list of members for Sch1, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtomType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
className() const moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
ContainerType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoRealVector(unsigned int _size=0, double _value=0.0)moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoVector(unsigned int _size=0, double_value=double())moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > &_moeo) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
MOEO::operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline, virtual]
readFrom(std::istream &_is)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline, virtual]
Sch1()Sch1 [inline]
storage_type typedefEO< MOEOObjectiveVector >
value(const std::vector< double > &_v)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1.html new file mode 100644 index 000000000..348aa8ea3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1.html @@ -0,0 +1,60 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Sch1 Class Reference + + + + +
+
+
+
+

Sch1 Class Reference

Inheritance diagram for Sch1: +

+ +moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +EO< MOEOObjectiveVector > +eoObject +eoPersistent +eoPrintable + +List of all members. + + + + +

Public Member Functions

Sch1 ()
+

Detailed Description

+ +

+ +

+Definition at line 70 of file Sch1.cpp.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1.png new file mode 100644 index 000000000..3b4958d4e Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval-members.html new file mode 100644 index 000000000..31cf26043 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

Sch1Eval Member List

This is the complete list of members for Sch1Eval, including all inherited members.

+ + + + + + + +
EOFitT typedefeoEvalFunc< Sch1 >
EOType typedefeoEvalFunc< Sch1 >
functor_category()eoUF< A1, R > [static]
operator()(Sch1 &_sch1)Sch1Eval [inline]
moeoEvalFunc< Sch1 >::operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval.html new file mode 100644 index 000000000..2c0062345 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval.html @@ -0,0 +1,57 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Sch1Eval Class Reference + + + + +
+
+
+
+

Sch1Eval Class Reference

Inheritance diagram for Sch1Eval: +

+ +moeoEvalFunc< Sch1 > +eoEvalFunc< Sch1 > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + +

Public Member Functions

+void operator() (Sch1 &_sch1)
+

Detailed Description

+ +

+ +

+Definition at line 79 of file Sch1.cpp.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval.png new file mode 100644 index 000000000..f51abff08 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1Eval.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits-members.html new file mode 100644 index 000000000..60565772d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

Sch1ObjectiveVectorTraits Member List

This is the complete list of members for Sch1ObjectiveVectorTraits, including all inherited members.

+ + + + + + + +
maximizing(int i)Sch1ObjectiveVectorTraits [inline, static]
moeoObjectiveVectorTraits::maximizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
minimizing(int i)Sch1ObjectiveVectorTraits [inline, static]
moeoObjectiveVectorTraits::minimizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
nObjectives()Sch1ObjectiveVectorTraits [inline, static]
setup(unsigned int _nObjectives, std::vector< bool > &_bObjectives)moeoObjectiveVectorTraits [inline, static]
tolerance()moeoObjectiveVectorTraits [inline, static]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.html new file mode 100644 index 000000000..f3a041a2a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Sch1ObjectiveVectorTraits Class Reference + + + + +
+
+
+
+

Sch1ObjectiveVectorTraits Class Reference

Inheritance diagram for Sch1ObjectiveVectorTraits: +

+ +moeoObjectiveVectorTraits + +List of all members. + + + + + + + + + +

Static Public Member Functions

+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+

Detailed Description

+ +

+ +

+Definition at line 47 of file Sch1.cpp.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.png new file mode 100644 index 000000000..6180dfbc3 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution-members.html new file mode 100644 index 000000000..47eb9747f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution-members.html @@ -0,0 +1,92 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

Solution Member List

This is the complete list of members for Solution, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtomType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
className() const moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
ContainerType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoRealVector(unsigned int _size=0, double _value=0.0)moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoVector(unsigned int _size=0, double_value=double())moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > &_moeo) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
MOEO::operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline, virtual]
readFrom(std::istream &_is)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline, virtual]
Solution()Solution [inline]
Solution()Solution [inline]
Solution()Solution [inline]
Solution()Solution [inline]
Solution()Solution [inline]
storage_type typedefEO< MOEOObjectiveVector >
value(const std::vector< double > &_v)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution.html new file mode 100644 index 000000000..d7fc363b0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution.html @@ -0,0 +1,95 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Solution Class Reference + + + + +
+
+
+
+

Solution Class Reference

Inheritance diagram for Solution: +

+ +moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +EO< MOEOObjectiveVector > +EO< MOEOObjectiveVector > +EO< MOEOObjectiveVector > +EO< MOEOObjectiveVector > +EO< MOEOObjectiveVector > +eoPersistent +eoObject +eoPersistent +eoObject +eoPersistent +eoObject +eoPersistent +eoObject +eoPersistent +eoObject + +List of all members. + + + + + + + + + + + + +

Public Member Functions

Solution ()
Solution ()
Solution ()
Solution ()
Solution ()
+

Detailed Description

+ +

+ +

+Definition at line 66 of file t-moeoEasyEA.cpp.


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution.png new file mode 100644 index 000000000..f68292654 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classSolution.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval-members.html new file mode 100644 index 000000000..5fccfe3b9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

TestEval Member List

This is the complete list of members for TestEval, including all inherited members.

+ + + + + + + + + + + +
EOFitT typedefeoEvalFunc< Solution >
EOType typedefeoEvalFunc< Solution >
functor_category()eoUF< A1, R > [static]
operator()(Solution &_sol)TestEval [inline]
operator()(Solution &_sol)TestEval [inline]
operator()(Solution &_sol)TestEval [inline]
operator()(Solution &_sol)TestEval [inline]
operator()(Solution &_sol)TestEval [inline]
moeoEvalFunc< Solution >::operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval.html new file mode 100644 index 000000000..f0a45aabf --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval.html @@ -0,0 +1,85 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: TestEval Class Reference + + + + +
+
+
+
+

TestEval Class Reference

Inheritance diagram for TestEval: +

+ +moeoEvalFunc< Solution > +moeoEvalFunc< Solution > +moeoEvalFunc< Solution > +moeoEvalFunc< Solution > +moeoEvalFunc< Solution > +eoEvalFunc< Solution > +eoEvalFunc< Solution > +eoEvalFunc< Solution > +eoEvalFunc< Solution > +eoEvalFunc< Solution > +eoUF< A1, R > +eoUF< A1, R > +eoUF< A1, R > +eoUF< A1, R > +eoUF< A1, R > +eoFunctorBase +eoFunctorBase +eoFunctorBase +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Member Functions

+void operator() (Solution &_sol)
+void operator() (Solution &_sol)
+void operator() (Solution &_sol)
+void operator() (Solution &_sol)
+void operator() (Solution &_sol)
+

Detailed Description

+ +

+ +

+Definition at line 72 of file t-moeoEasyEA.cpp.


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval.png new file mode 100644 index 000000000..d26eb6382 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classTestEval.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classes.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classes.html new file mode 100644 index 000000000..2c0760066 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classes.html @@ -0,0 +1,57 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Alphabetical List + + + + +
+
+
+
+

ParadisEO-MOEO-MultiObjectiveEvolvingObjects Class Index

A | B | C | D | E | F | G | H | I | L | M | N | O | P | R | S | T | U | V

+ +
  A  
+
moeoEnvironmentalReplacement   
  O  
+
moeoAchievementFitnessAssignment   moeoEnvironmentalReplacement::Cmp   moeoObjectiveObjectiveVectorComparator   
moeoAdditiveEpsilonBinaryMetric   moeoEuclideanDistance   moeoObjectiveVector   
moeoAggregativeComparator   moeoEvalFunc   moeoObjectiveVectorComparator   
moeoAlgo   moeoExpBinaryIndicatorBasedFitnessAssignment   ObjectiveVectorTraits   
moeoArchive   
  F  
+
moeoObjectiveVectorTraits   
moeoArchiveObjectiveVectorSavingUpdater   moeoFastNonDominatedSortingFitnessAssignment   moeoOneObjectiveComparator   
moeoArchiveUpdater   moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator   
  P  
+
  B  
+
moeoFitnessAssignment   moeoParetoBasedFitnessAssignment   
moeoBinaryIndicatorBasedFitnessAssignment   moeoFitnessThenDiversityComparator   moeoParetoObjectiveVectorComparator   
moeoBinaryMetric   FlowShop   
  R  
+
moeoBinaryMetricSavingUpdater   FlowShopBenchmarkParser   moeoRandomSelect   
moeoBitVector   FlowShopEval   moeoRealObjectiveVector   
  C  
+
FlowShopObjectiveVectorTraits   moeoRealVector   
moeoCombinedLS   FlowShopOpCrossoverQuad   moeoReplacement   
moeoComparator   moeoFrontByFrontCrowdingDiversityAssignment   moeoRouletteSelect   
moeoContributionMetric   moeoFrontByFrontSharingDiversityAssignment   
  S  
+
moeoConvertPopToObjectiveVectors   
  G  
+
moeoScalarFitnessAssignment   
moeoCriterionBasedFitnessAssignment   moeoGDominanceObjectiveVectorComparator   Sch1   
moeoCrowdingDiversityAssignment   moeoGenerationalReplacement   Sch1Eval   
  D  
+
  H  
+
Sch1ObjectiveVectorTraits   
moeoDetTournamentSelect   moeoHybridLS   moeoSelectFromPopAndArch   
moeoDistance   moeoHypervolumeBinaryMetric   moeoSelectOne   
moeoDistanceMatrix   
  I  
+
moeoSharingDiversityAssignment   
moeoDiversityAssignment   moeoIBEA   Solution   
moeoDiversityThenFitnessComparator   moeoIndicatorBasedFitnessAssignment   moeoSolutionUnaryMetric   
moeoDummyDiversityAssignment   
  L  
+
moeoSolutionVsSolutionBinaryMetric   
moeoDummyFitnessAssignment   moeoLS   moeoStochTournamentSelect   
  E  
+
  M  
+
  T  
+
moeoEA   moeoManhattanDistance   TestEval   
moeoEasyEA   moeoMetric   
  U  
+
moeoEasyEA::eoDummyEval   MOEO   moeoUnaryIndicatorBasedFitnessAssignment   
moeoEasyEA::eoDummySelect   
  N  
+
moeoUnaryMetric   
moeoEasyEA::eoDummyTransform   moeoNormalizedDistance   
  V  
+
moeoElitistReplacement   moeoNormalizedSolutionVsSolutionBinaryMetric   moeoVector   
moeoElitistReplacement::Cmp   moeoNSGA   moeoVectorUnaryMetric   
moeoEntropyMetric   moeoNSGAII   moeoVectorVsVectorBinaryMetric   

A | B | C | D | E | F | G | H | I | L | M | N | O | P | R | S | T | U | V

+


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment-members.html new file mode 100644 index 000000000..cca43560d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoAchievementFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoAchievementFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + +
compute(MOEOT &_moeo)moeoAchievementFitnessAssignment< MOEOT > [inline, private]
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
inf() const moeoAchievementFitnessAssignment< MOEOT > [inline, private]
lambdasmoeoAchievementFitnessAssignment< MOEOT > [private]
moeoAchievementFitnessAssignment(ObjectiveVector &_reference, std::vector< double > &_lambdas, double _spn=0.0001)moeoAchievementFitnessAssignment< MOEOT > [inline]
moeoAchievementFitnessAssignment(ObjectiveVector &_reference, double _spn=0.0001)moeoAchievementFitnessAssignment< MOEOT > [inline]
ObjectiveVector typedefmoeoAchievementFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoAchievementFitnessAssignment< MOEOT > [inline, virtual]
referencemoeoAchievementFitnessAssignment< MOEOT > [private]
setReference(const ObjectiveVector &_reference)moeoAchievementFitnessAssignment< MOEOT > [inline]
spnmoeoAchievementFitnessAssignment< MOEOT > [private]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoAchievementFitnessAssignment< MOEOT > [inline, virtual]
moeoScalarFitnessAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment.html new file mode 100644 index 000000000..ce2cde553 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment.html @@ -0,0 +1,344 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoAchievementFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoAchievementFitnessAssignment< MOEOT > Class Template Reference

Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980). +More... +

+#include <moeoAchievementFitnessAssignment.h> +

+

Inheritance diagram for moeoAchievementFitnessAssignment< MOEOT >: +

+ +moeoScalarFitnessAssignment< MOEOT > +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

 moeoAchievementFitnessAssignment (ObjectiveVector &_reference, std::vector< double > &_lambdas, double _spn=0.0001)
 Default ctor.
 moeoAchievementFitnessAssignment (ObjectiveVector &_reference, double _spn=0.0001)
 Ctor with default values for lambdas (1/nObjectives).
virtual void operator() (eoPop< MOEOT > &_pop)
 Sets the fitness values for every solution contained in the population _pop.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)
 Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account (nothing to do).
void setReference (const ObjectiveVector &_reference)
 Sets the reference point.

Private Member Functions

+double inf () const
 Returns a big value (regarded as infinite).
void compute (MOEOT &_moeo)
 Computes the fitness value for a solution.

Private Attributes

+ObjectiveVector reference
 the reference point
+std::vector< double > lambdas
 the weighted coefficients vector
+double spn
 an arbitrary small positive number (0 < _spn << 1)
+

Detailed Description

+

template<class MOEOT>
+ class moeoAchievementFitnessAssignment< MOEOT >

+ +Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980). +

+ +

+Definition at line 49 of file moeoAchievementFitnessAssignment.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoAchievementFitnessAssignment< MOEOT >::moeoAchievementFitnessAssignment (ObjectiveVector _reference,
std::vector< double > &  _lambdas,
double  _spn = 0.0001 
) [inline]
+
+
+ +

+Default ctor. +

+

Parameters:
+ + + + +
_reference reference point vector
_lambdas weighted coefficients vector
_spn arbitrary small positive number (0 < _spn << 1)
+
+ +

+Definition at line 63 of file moeoAchievementFitnessAssignment.h. +

+References moeoAchievementFitnessAssignment< MOEOT >::spn. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoAchievementFitnessAssignment< MOEOT >::moeoAchievementFitnessAssignment (ObjectiveVector _reference,
double  _spn = 0.0001 
) [inline]
+
+
+ +

+Ctor with default values for lambdas (1/nObjectives). +

+

Parameters:
+ + + +
_reference reference point vector
_spn arbitrary small positive number (0 < _spn << 1)
+
+ +

+Definition at line 79 of file moeoAchievementFitnessAssignment.h. +

+References moeoAchievementFitnessAssignment< MOEOT >::lambdas, moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(), and moeoAchievementFitnessAssignment< MOEOT >::spn. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
virtual void moeoAchievementFitnessAssignment< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets the fitness values for every solution contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< eoPop< MOEOT > &, void >. +

+Definition at line 100 of file moeoAchievementFitnessAssignment.h. +

+References moeoAchievementFitnessAssignment< MOEOT >::compute(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoAchievementFitnessAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account (nothing to do). +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implements moeoFitnessAssignment< MOEOT >. +

+Definition at line 114 of file moeoAchievementFitnessAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoAchievementFitnessAssignment< MOEOT >::setReference (const ObjectiveVector _reference  )  [inline]
+
+
+ +

+Sets the reference point. +

+

Parameters:
+ + +
_reference the new reference point
+
+ +

+Definition at line 124 of file moeoAchievementFitnessAssignment.h. +

+References moeoAchievementFitnessAssignment< MOEOT >::reference. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoAchievementFitnessAssignment< MOEOT >::compute (MOEOT &  _moeo  )  [inline, private]
+
+
+ +

+Computes the fitness value for a solution. +

+

Parameters:
+ + +
_moeo the solution
+
+ +

+Definition at line 153 of file moeoAchievementFitnessAssignment.h. +

+References moeoAchievementFitnessAssignment< MOEOT >::inf(), moeoAchievementFitnessAssignment< MOEOT >::lambdas, moeoAchievementFitnessAssignment< MOEOT >::reference, and moeoAchievementFitnessAssignment< MOEOT >::spn. +

+Referenced by moeoAchievementFitnessAssignment< MOEOT >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment.png new file mode 100644 index 000000000..4396fd5a3 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAchievementFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric-members.html new file mode 100644 index 000000000..16398d0b6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoAdditiveEpsilonBinaryMetric< ObjectiveVector > Member List

This is the complete list of members for moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >, including all inherited members.

+ + + + + + + + + + + +
boundsmoeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [protected]
epsilon(const ObjectiveVector &_o1, const ObjectiveVector &_o2, const unsigned int _obj)moeoAdditiveEpsilonBinaryMetric< ObjectiveVector > [inline, private]
functor_category()eoBF< A1, A2, R > [static]
moeoNormalizedSolutionVsSolutionBinaryMetric()moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline]
operator()(const ObjectiveVector &_o1, const ObjectiveVector &_o2)moeoAdditiveEpsilonBinaryMetric< ObjectiveVector > [inline]
moeoNormalizedSolutionVsSolutionBinaryMetric::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
setup(double _min, double _max, unsigned int _obj)moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline]
setup(eoRealInterval _realInterval, unsigned int _obj)moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline, virtual]
tiny()moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline, static]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric.html new file mode 100644 index 000000000..08e39f12b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric.html @@ -0,0 +1,171 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoAdditiveEpsilonBinaryMetric< ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoAdditiveEpsilonBinaryMetric< ObjectiveVector > Class Template Reference

Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C. +More... +

+#include <moeoAdditiveEpsilonBinaryMetric.h> +

+

Inheritance diagram for moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >: +

+ +moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > +moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R > +moeoBinaryMetric< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + + + + + +

Public Member Functions

double operator() (const ObjectiveVector &_o1, const ObjectiveVector &_o2)
 Returns the minimal distance by which the objective vector _o1 must be translated in all objectives so that it weakly dominates the objective vector _o2.

Private Member Functions

double epsilon (const ObjectiveVector &_o1, const ObjectiveVector &_o2, const unsigned int _obj)
 Returns the epsilon value by which the objective vector _o1 must be translated in the objective _obj so that it dominates the objective vector _o2.
+

Detailed Description

+

template<class ObjectiveVector>
+ class moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >

+ +Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C. +

+M., Grunert da Fonseca V.: Performance Assessment of Multiobjective Optimizers: An Analysis and Review. IEEE Transactions on Evolutionary Computation 7(2), pp.117–132 (2003). +

+ +

+Definition at line 49 of file moeoAdditiveEpsilonBinaryMetric.h.


Member Function Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
double moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >::operator() (const ObjectiveVector _o1,
const ObjectiveVector _o2 
) [inline]
+
+
+ +

+Returns the minimal distance by which the objective vector _o1 must be translated in all objectives so that it weakly dominates the objective vector _o2. +

+

Warning:
don't forget to set the bounds for every objective before the call of this function
+
Parameters:
+ + + +
_o1 the first objective vector
_o2 the second objective vector
+
+ +

+Definition at line 60 of file moeoAdditiveEpsilonBinaryMetric.h. +

+References moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >::epsilon(), and moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(). +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + + + + + + + +
double moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >::epsilon (const ObjectiveVector _o1,
const ObjectiveVector _o2,
const unsigned int  _obj 
) [inline, private]
+
+
+ +

+Returns the epsilon value by which the objective vector _o1 must be translated in the objective _obj so that it dominates the objective vector _o2. +

+

Parameters:
+ + + + +
_o1 the first objective vector
_o2 the second objective vector
_obj the index of the objective
+
+ +

+Definition at line 89 of file moeoAdditiveEpsilonBinaryMetric.h. +

+References moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >::bounds. +

+Referenced by moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric.png new file mode 100644 index 000000000..4389024b7 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAdditiveEpsilonBinaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator-members.html new file mode 100644 index 000000000..2d16f74ab --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoAggregativeComparator< MOEOT > Member List

This is the complete list of members for moeoAggregativeComparator< MOEOT >, including all inherited members.

+ + + + + + + + +
functor_category()eoBF< A1, A2, R > [static]
moeoAggregativeComparator(double _weightFitness=1.0, double _weightDiversity=1.0)moeoAggregativeComparator< MOEOT > [inline]
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoAggregativeComparator< MOEOT > [inline]
moeoComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
weightDiversitymoeoAggregativeComparator< MOEOT > [private]
weightFitnessmoeoAggregativeComparator< MOEOT > [private]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator.html new file mode 100644 index 000000000..e99e04304 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator.html @@ -0,0 +1,162 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoAggregativeComparator< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoAggregativeComparator< MOEOT > Class Template Reference

Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value. +More... +

+#include <moeoAggregativeComparator.h> +

+

Inheritance diagram for moeoAggregativeComparator< MOEOT >: +

+ +moeoComparator< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + +

Public Member Functions

 moeoAggregativeComparator (double _weightFitness=1.0, double _weightDiversity=1.0)
 Ctor.
const bool operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns true if _moeo1 < _moeo2 according to the aggregation of their fitness and diversity values.

Private Attributes

+double weightFitness
 the weight for fitness
+double weightDiversity
 the weight for diversity
+

Detailed Description

+

template<class MOEOT>
+ class moeoAggregativeComparator< MOEOT >

+ +Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value. +

+ +

+Definition at line 47 of file moeoAggregativeComparator.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoAggregativeComparator< MOEOT >::moeoAggregativeComparator (double  _weightFitness = 1.0,
double  _weightDiversity = 1.0 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_weightFitness the weight for fitness
_weightDiversity the weight for diversity
+
+ +

+Definition at line 56 of file moeoAggregativeComparator.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
const bool moeoAggregativeComparator< MOEOT >::operator() (const MOEOT &  _moeo1,
const MOEOT &  _moeo2 
) [inline]
+
+
+ +

+Returns true if _moeo1 < _moeo2 according to the aggregation of their fitness and diversity values. +

+

Parameters:
+ + + +
_moeo1 the first solution
_moeo2 the second solution
+
+ +

+Definition at line 65 of file moeoAggregativeComparator.h. +

+References moeoAggregativeComparator< MOEOT >::weightDiversity, and moeoAggregativeComparator< MOEOT >::weightFitness. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator.png new file mode 100644 index 000000000..6a43ed016 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAggregativeComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAlgo.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAlgo.html new file mode 100644 index 000000000..778e63d43 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAlgo.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoAlgo Class Reference + + + + +
+
+
+
+

moeoAlgo Class Reference

Abstract class for multi-objective algorithms. +More... +

+#include <moeoAlgo.h> +

+

Inheritance diagram for moeoAlgo: +

+ +moeoEA< MOEOT > +moeoLS< MOEOT, Type > +moeoEasyEA< MOEOT > +moeoIBEA< MOEOT > +moeoNSGA< MOEOT > +moeoNSGAII< MOEOT > +moeoCombinedLS< MOEOT, Type > + + + +
+

Detailed Description

+Abstract class for multi-objective algorithms. +

+ +

+Definition at line 44 of file moeoAlgo.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAlgo.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAlgo.png new file mode 100644 index 000000000..464a61acd Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoAlgo.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive-members.html new file mode 100644 index 000000000..6706e9019 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive-members.html @@ -0,0 +1,80 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoArchive< MOEOT > Member List

This is the complete list of members for moeoArchive< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
append(unsigned _newPopSize, eoInit< MOEOT > &_chromInit)eoPop< MOEOT >
best_element() const eoPop< MOEOT >
className() const eoPop< MOEOT > [virtual]
comparatormoeoArchive< MOEOT > [private]
contains(const ObjectiveVector &_objectiveVector) const moeoArchive< MOEOT > [inline]
dominates(const ObjectiveVector &_objectiveVector) const moeoArchive< MOEOT > [inline]
eoPop()eoPop< MOEOT >
eoPop(unsigned _popSize, eoInit< MOEOT > &_chromInit)eoPop< MOEOT >
eoPop(std::istream &_is)eoPop< MOEOT >
eoPop(void)eoPop< MOEOT >
equals(const moeoArchive< MOEOT > &_arch)moeoArchive< MOEOT > [inline]
Fitness typedefeoPop< MOEOT >
fitness_traits typedefeoPop< MOEOT >
getPerf2Worth()eoPop< MOEOT >
invalidate()eoPop< MOEOT > [virtual]
it_best_element()eoPop< MOEOT >
it_worse_element()eoPop< MOEOT >
moeoArchive()moeoArchive< MOEOT > [inline]
moeoArchive(moeoObjectiveVectorComparator< ObjectiveVector > &_comparator)moeoArchive< MOEOT > [inline]
nth_element(int nth)eoPop< MOEOT >
nth_element(int which, std::vector< const MOEOT * > &result) const eoPop< MOEOT >
nth_element_fitness(int which) const eoPop< MOEOT >
ObjectiveVector typedefmoeoArchive< MOEOT >
paretoComparatormoeoArchive< MOEOT > [private]
printOn(std::ostream &_os) const eoPop< MOEOT > [virtual]
readFrom(std::istream &_is)eoPop< MOEOT > [virtual]
scale()eoPop< MOEOT >
setPerf2Worth(eoPerf2Worth< MOEOT > &_p2w)eoPop< MOEOT >
setPerf2Worth(eoPerf2Worth< MOEOT > *_p2w)eoPop< MOEOT >
shuffle(void)eoPop< MOEOT >
shuffle(std::vector< const MOEOT * > &result) const eoPop< MOEOT >
sort(void)eoPop< MOEOT >
sort(std::vector< const MOEOT * > &result) const eoPop< MOEOT >
sort()eoPop< MOEOT >
sortedPrintOn(std::ostream &_os) const eoPop< MOEOT > [virtual]
swap(eoPop< MOEOT > &other)eoPop< MOEOT >
swap(eoPop< MOEOT > &other)eoPop< MOEOT >
update(const MOEOT &_moeo)moeoArchive< MOEOT > [inline]
update(const eoPop< MOEOT > &_pop)moeoArchive< MOEOT > [inline]
worse_element() const eoPop< MOEOT >
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPop()eoPop< MOEOT > [virtual]
~eoPrintable()eoPrintable [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive.html new file mode 100644 index 000000000..a29e8b066 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive.html @@ -0,0 +1,324 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoArchive< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoArchive< MOEOT > Class Template Reference

An archive is a secondary population that stores non-dominated solutions. +More... +

+#include <moeoArchive.h> +

+

Inheritance diagram for moeoArchive< MOEOT >: +

+ +eoPop< MOEOT > +eoObject +eoPersistent +eoPrintable + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type of an objective vector for a solution.

Public Member Functions

 moeoArchive ()
 Default ctor.
 moeoArchive (moeoObjectiveVectorComparator< ObjectiveVector > &_comparator)
 Ctor.
bool dominates (const ObjectiveVector &_objectiveVector) const
 Returns true if the current archive dominates _objectiveVector according to the moeoObjectiveVectorComparator given in the constructor.
bool contains (const ObjectiveVector &_objectiveVector) const
 Returns true if the current archive already contains a solution with the same objective values than _objectiveVector.
void update (const MOEOT &_moeo)
 Updates the archive with a given individual _moeo.
void update (const eoPop< MOEOT > &_pop)
 Updates the archive with a given population _pop.
bool equals (const moeoArchive< MOEOT > &_arch)
 Returns true if the current archive contains the same objective vectors than the given archive _arch.

Private Attributes

+moeoObjectiveVectorComparator<
+ ObjectiveVector > & 
comparator
 The moeoObjectiveVectorComparator used to compare solutions.
+moeoParetoObjectiveVectorComparator<
+ ObjectiveVector
paretoComparator
 A moeoObjectiveVectorComparator based on Pareto dominance (used as default).
+

Detailed Description

+

template<class MOEOT>
+ class moeoArchive< MOEOT >

+ +An archive is a secondary population that stores non-dominated solutions. +

+ +

+Definition at line 49 of file moeoArchive.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + +
moeoArchive< MOEOT >::moeoArchive (  )  [inline]
+
+
+ +

+Default ctor. +

+The moeoObjectiveVectorComparator used to compare solutions is based on Pareto dominance +

+Definition at line 70 of file moeoArchive.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoArchive< MOEOT >::moeoArchive (moeoObjectiveVectorComparator< ObjectiveVector > &  _comparator  )  [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_comparator the moeoObjectiveVectorComparator used to compare solutions
+
+ +

+Definition at line 78 of file moeoArchive.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
bool moeoArchive< MOEOT >::dominates (const ObjectiveVector _objectiveVector  )  const [inline]
+
+
+ +

+Returns true if the current archive dominates _objectiveVector according to the moeoObjectiveVectorComparator given in the constructor. +

+

Parameters:
+ + +
_objectiveVector the objective vector to compare with the current archive
+
+ +

+Definition at line 86 of file moeoArchive.h. +

+References moeoArchive< MOEOT >::comparator. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
bool moeoArchive< MOEOT >::contains (const ObjectiveVector _objectiveVector  )  const [inline]
+
+
+ +

+Returns true if the current archive already contains a solution with the same objective values than _objectiveVector. +

+

Parameters:
+ + +
_objectiveVector the objective vector to compare with the current archive
+
+ +

+Definition at line 104 of file moeoArchive.h. +

+Referenced by moeoArchive< MOEOT >::equals(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoArchive< MOEOT >::update (const MOEOT &  _moeo  )  [inline]
+
+
+ +

+Updates the archive with a given individual _moeo. +

+

Parameters:
+ + +
_moeo the given individual
+
+ +

+Definition at line 121 of file moeoArchive.h. +

+References moeoArchive< MOEOT >::comparator. +

+Referenced by moeoArchive< MOEOT >::update(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoArchive< MOEOT >::update (const eoPop< MOEOT > &  _pop  )  [inline]
+
+
+ +

+Updates the archive with a given population _pop. +

+

Parameters:
+ + +
_pop the given population
+
+ +

+Definition at line 164 of file moeoArchive.h. +

+References moeoArchive< MOEOT >::update(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
bool moeoArchive< MOEOT >::equals (const moeoArchive< MOEOT > &  _arch  )  [inline]
+
+
+ +

+Returns true if the current archive contains the same objective vectors than the given archive _arch. +

+

Parameters:
+ + +
_arch the given archive
+
+ +

+Definition at line 177 of file moeoArchive.h. +

+References moeoArchive< MOEOT >::contains(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive.png new file mode 100644 index 000000000..d3035b86e Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchive.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater-members.html new file mode 100644 index 000000000..ffbfdec01 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater-members.html @@ -0,0 +1,50 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoArchiveObjectiveVectorSavingUpdater< MOEOT > Member List

This is the complete list of members for moeoArchiveObjectiveVectorSavingUpdater< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + +
addTo(eoCheckPoint< EOT > &cp)eoUpdater
archmoeoArchiveObjectiveVectorSavingUpdater< MOEOT > [private]
className(void) const eoUpdater [virtual]
countmoeoArchiveObjectiveVectorSavingUpdater< MOEOT > [private]
countermoeoArchiveObjectiveVectorSavingUpdater< MOEOT > [private]
filenamemoeoArchiveObjectiveVectorSavingUpdater< MOEOT > [private]
functor_category()eoF< void > [static]
idmoeoArchiveObjectiveVectorSavingUpdater< MOEOT > [private]
lastCall()eoUpdater [virtual]
moeoArchiveObjectiveVectorSavingUpdater(moeoArchive< MOEOT > &_arch, const std::string &_filename, bool _count=false, int _id=-1)moeoArchiveObjectiveVectorSavingUpdater< MOEOT > [inline]
operator()()moeoArchiveObjectiveVectorSavingUpdater< MOEOT > [inline, virtual]
result_type typedefeoF< void >
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater.html new file mode 100644 index 000000000..c77cc6bd1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater.html @@ -0,0 +1,145 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoArchiveObjectiveVectorSavingUpdater< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoArchiveObjectiveVectorSavingUpdater< MOEOT > Class Template Reference

This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation. +More... +

+#include <moeoArchiveObjectiveVectorSavingUpdater.h> +

+

Inheritance diagram for moeoArchiveObjectiveVectorSavingUpdater< MOEOT >: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoArchiveObjectiveVectorSavingUpdater (moeoArchive< MOEOT > &_arch, const std::string &_filename, bool _count=false, int _id=-1)
 Ctor.
+void operator() ()
 Saves the fitness of the archive's members into the file.

Private Attributes

+moeoArchive< MOEOT > & arch
 local archive
+std::string filename
 target filename
+bool count
 this variable is set to true if a new file have to be created each time () is called and to false if the file only HAVE to be updated
+unsigned int counter
 counter
+int id
 own ID
+

Detailed Description

+

template<class MOEOT>
+ class moeoArchiveObjectiveVectorSavingUpdater< MOEOT >

+ +This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation. +

+ +

+Definition at line 53 of file moeoArchiveObjectiveVectorSavingUpdater.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoArchiveObjectiveVectorSavingUpdater< MOEOT >::moeoArchiveObjectiveVectorSavingUpdater (moeoArchive< MOEOT > &  _arch,
const std::string &  _filename,
bool  _count = false,
int  _id = -1 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + +
_arch local archive
_filename target filename
_count put this variable to true if you want a new file to be created each time () is called and to false if you only want the file to be updated
_id own ID
+
+ +

+Definition at line 64 of file moeoArchiveObjectiveVectorSavingUpdater.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater.png new file mode 100644 index 000000000..c70a60fc0 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveObjectiveVectorSavingUpdater.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater-members.html new file mode 100644 index 000000000..6beb1f7c4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoArchiveUpdater< MOEOT > Member List

This is the complete list of members for moeoArchiveUpdater< MOEOT >, including all inherited members.

+ + + + + + + + + + + +
addTo(eoCheckPoint< EOT > &cp)eoUpdater
archmoeoArchiveUpdater< MOEOT > [private]
className(void) const eoUpdater [virtual]
functor_category()eoF< void > [static]
lastCall()eoUpdater [virtual]
moeoArchiveUpdater(moeoArchive< MOEOT > &_arch, const eoPop< MOEOT > &_pop)moeoArchiveUpdater< MOEOT > [inline]
operator()()moeoArchiveUpdater< MOEOT > [inline, virtual]
popmoeoArchiveUpdater< MOEOT > [private]
result_type typedefeoF< void >
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.html new file mode 100644 index 000000000..b5d350df3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.html @@ -0,0 +1,119 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoArchiveUpdater< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoArchiveUpdater< MOEOT > Class Template Reference

This class allows to update the archive at each generation with newly found non-dominated solutions. +More... +

+#include <moeoArchiveUpdater.h> +

+

Inheritance diagram for moeoArchiveUpdater< MOEOT >: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + +

Public Member Functions

 moeoArchiveUpdater (moeoArchive< MOEOT > &_arch, const eoPop< MOEOT > &_pop)
 Ctor.
+void operator() ()
 Updates the archive with newly found non-dominated solutions contained in the main population.

Private Attributes

+moeoArchive< MOEOT > & arch
 the archive of non-dominated solutions
+const eoPop< MOEOT > & pop
 the main population
+

Detailed Description

+

template<class MOEOT>
+ class moeoArchiveUpdater< MOEOT >

+ +This class allows to update the archive at each generation with newly found non-dominated solutions. +

+ +

+Definition at line 49 of file moeoArchiveUpdater.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoArchiveUpdater< MOEOT >::moeoArchiveUpdater (moeoArchive< MOEOT > &  _arch,
const eoPop< MOEOT > &  _pop 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_arch an archive of non-dominated solutions
_pop the main population
+
+ +

+Definition at line 58 of file moeoArchiveUpdater.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.png new file mode 100644 index 000000000..9ab110825 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment-members.html new file mode 100644 index 000000000..733c0afe5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoBinaryIndicatorBasedFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &)=0eoUF< eoPop< MOEOT > &, void > [pure virtual]
updateByAdding(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoFitnessAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment.html new file mode 100644 index 000000000..110d4ce54 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment.html @@ -0,0 +1,113 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference

moeoIndicatorBasedFitnessAssignment for binary indicators. +More... +

+#include <moeoBinaryIndicatorBasedFitnessAssignment.h> +

+

Inheritance diagram for moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >: +

+ +moeoIndicatorBasedFitnessAssignment< MOEOT > +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase +moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > + +List of all members. + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type for objective vector.

Public Member Functions

virtual double updateByAdding (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0
 Updates the fitness values of the whole population _pop by taking the new objective vector _objVec into account and returns the fitness value of _objVec.
+

Detailed Description

+

template<class MOEOT>
+ class moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >

+ +moeoIndicatorBasedFitnessAssignment for binary indicators. +

+ +

+Definition at line 47 of file moeoBinaryIndicatorBasedFitnessAssignment.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
virtual double moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >::updateByAdding (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [pure virtual]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the new objective vector _objVec into account and returns the fitness value of _objVec. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implemented in moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment.png new file mode 100644 index 000000000..6c4992b88 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryIndicatorBasedFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric-members.html new file mode 100644 index 000000000..82db614c3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoBinaryMetric< A1, A2, R > Member List

This is the complete list of members for moeoBinaryMetric< A1, A2, R >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric.html new file mode 100644 index 000000000..2117987ba --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric.html @@ -0,0 +1,72 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoBinaryMetric< A1, A2, R > Class Template Reference + + + + +
+
+
+
+

moeoBinaryMetric< A1, A2, R > Class Template Reference

Base class for binary metrics. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoBinaryMetric< A1, A2, R >: +

+ +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase +moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R > +moeoSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double > +moeoSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, R > +moeoVectorVsVectorBinaryMetric< ObjectiveVector, R > +moeoVectorVsVectorBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double > +moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > +moeoNormalizedSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double > +moeoContributionMetric< ObjectiveVector > +moeoEntropyMetric< ObjectiveVector > +moeoAdditiveEpsilonBinaryMetric< ObjectiveVector > +moeoHypervolumeBinaryMetric< ObjectiveVector > + +List of all members. + +
+

Detailed Description

+

template<class A1, class A2, class R>
+ class moeoBinaryMetric< A1, A2, R >

+ +Base class for binary metrics. +

+ +

+Definition at line 63 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric.png new file mode 100644 index 000000000..4efa99dc6 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater-members.html new file mode 100644 index 000000000..59b3d2964 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater-members.html @@ -0,0 +1,52 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoBinaryMetricSavingUpdater< MOEOT > Member List

This is the complete list of members for moeoBinaryMetricSavingUpdater< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + + +
addTo(eoCheckPoint< EOT > &cp)eoUpdater
className(void) const eoUpdater [virtual]
countermoeoBinaryMetricSavingUpdater< MOEOT > [private]
filenamemoeoBinaryMetricSavingUpdater< MOEOT > [private]
firstGenmoeoBinaryMetricSavingUpdater< MOEOT > [private]
functor_category()eoF< void > [static]
lastCall()eoUpdater [virtual]
metricmoeoBinaryMetricSavingUpdater< MOEOT > [private]
moeoBinaryMetricSavingUpdater(moeoVectorVsVectorBinaryMetric< ObjectiveVector, double > &_metric, const eoPop< MOEOT > &_pop, std::string _filename)moeoBinaryMetricSavingUpdater< MOEOT > [inline]
ObjectiveVector typedefmoeoBinaryMetricSavingUpdater< MOEOT >
oldPopmoeoBinaryMetricSavingUpdater< MOEOT > [private]
operator()()moeoBinaryMetricSavingUpdater< MOEOT > [inline, virtual]
popmoeoBinaryMetricSavingUpdater< MOEOT > [private]
result_type typedefeoF< void >
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.html new file mode 100644 index 000000000..63a88f607 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.html @@ -0,0 +1,148 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoBinaryMetricSavingUpdater< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoBinaryMetricSavingUpdater< MOEOT > Class Template Reference

This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file. +More... +

+#include <moeoBinaryMetricSavingUpdater.h> +

+

Inheritance diagram for moeoBinaryMetricSavingUpdater< MOEOT >: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The objective vector type of a solution.

Public Member Functions

 moeoBinaryMetricSavingUpdater (moeoVectorVsVectorBinaryMetric< ObjectiveVector, double > &_metric, const eoPop< MOEOT > &_pop, std::string _filename)
 Ctor.
+void operator() ()
 Saves the metric's value for the current generation.

Private Attributes

+moeoVectorVsVectorBinaryMetric<
+ ObjectiveVector, double > & 
metric
 binary metric comparing two Pareto sets
+const eoPop< MOEOT > & pop
 main population
+eoPop< MOEOT > oldPop
 (n-1) population
+std::string filename
 target filename
+bool firstGen
 is it the first generation ?
+unsigned int counter
 counter
+

Detailed Description

+

template<class MOEOT>
+ class moeoBinaryMetricSavingUpdater< MOEOT >

+ +This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file. +

+ +

+Definition at line 53 of file moeoBinaryMetricSavingUpdater.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoBinaryMetricSavingUpdater< MOEOT >::moeoBinaryMetricSavingUpdater (moeoVectorVsVectorBinaryMetric< ObjectiveVector, double > &  _metric,
const eoPop< MOEOT > &  _pop,
std::string  _filename 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + +
_metric the binary metric comparing two Pareto sets
_pop the main population
_filename the target filename
+
+ +

+Definition at line 67 of file moeoBinaryMetricSavingUpdater.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.png new file mode 100644 index 000000000..b7ec32e83 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector-members.html new file mode 100644 index 000000000..00398ff7f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector-members.html @@ -0,0 +1,87 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Member List

This is the complete list of members for moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtomType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >
className() const moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
ContainerType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoBitVector(unsigned int _size=0, bool _value=false)moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoVector(unsigned int _size=0, bool_value=bool())moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > &_moeo) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > [inline]
MOEO::operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
readFrom(std::istream &_is)moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
storage_type typedefEO< MOEOObjectiveVector >
value(const std::vector< bool > &_v)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > [inline]
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector.html new file mode 100644 index 000000000..ce080e105 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector.html @@ -0,0 +1,186 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Class Template Reference + + + + +
+
+
+
+

moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Class Template Reference

This class is an implementationeo of a simple bit-valued moeoVector. +More... +

+#include <moeoBitVector.h> +

+

Inheritance diagram for moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >: +

+ +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +EO< MOEOObjectiveVector > +eoObject +eoPersistent +eoPrintable + +List of all members. + + + + + + + + + + + + + + +

Public Member Functions

 moeoBitVector (unsigned int _size=0, bool _value=false)
 Ctor.
+virtual std::string className () const
 Returns the class name as a std::string.
virtual void printOn (std::ostream &_os) const
 Writing object.
virtual void readFrom (std::istream &_is)
 Reading object.
+

Detailed Description

+

template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ class moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >

+ +This class is an implementationeo of a simple bit-valued moeoVector. +

+ +

+Definition at line 47 of file moeoBitVector.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + + + + + + + + + + +
moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::moeoBitVector (unsigned int  _size = 0,
bool  _value = false 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_size Length of vector (default is 0)
_value Initial value of all elements (default is default value of type GeneType)
+
+ +

+Definition at line 62 of file moeoBitVector.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + +
virtual void moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::printOn (std::ostream &  _os  )  const [inline, virtual]
+
+
+ +

+Writing object. +

+

Parameters:
+ + +
_os output stream
+
+ +

+Reimplemented from moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >. +

+Definition at line 79 of file moeoBitVector.h. +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + +
virtual void moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::readFrom (std::istream &  _is  )  [inline, virtual]
+
+
+ +

+Reading object. +

+

Parameters:
+ + +
_is input stream
+
+ +

+Reimplemented from moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >. +

+Definition at line 92 of file moeoBitVector.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector.png new file mode 100644 index 000000000..461c6469d Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoBitVector.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS-members.html new file mode 100644 index 000000000..030c45b48 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoCombinedLS< MOEOT, Type > Member List

This is the complete list of members for moeoCombinedLS< MOEOT, Type >, including all inherited members.

+ + + + + + + +
add(moeoLS< MOEOT, Type > &_mols)moeoCombinedLS< MOEOT, Type > [inline]
combinedLSmoeoCombinedLS< MOEOT, Type > [private]
functor_category()eoBF< Type, moeoArchive< MOEOT > &, void > [static]
moeoCombinedLS(moeoLS< MOEOT, Type > &_first_mols)moeoCombinedLS< MOEOT, Type > [inline]
operator()(Type _type, moeoArchive< MOEOT > &_arch)moeoCombinedLS< MOEOT, Type > [inline, virtual]
~eoBF()eoBF< Type, moeoArchive< MOEOT > &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS.html new file mode 100644 index 000000000..4f392271f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS.html @@ -0,0 +1,190 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoCombinedLS< MOEOT, Type > Class Template Reference + + + + +
+
+
+
+

moeoCombinedLS< MOEOT, Type > Class Template Reference

This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. +More... +

+#include <moeoCombinedLS.h> +

+

Inheritance diagram for moeoCombinedLS< MOEOT, Type >: +

+ +moeoLS< MOEOT, Type > +moeoAlgo +eoBF< Type, moeoArchive< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + +

Public Member Functions

 moeoCombinedLS (moeoLS< MOEOT, Type > &_first_mols)
 Ctor.
void add (moeoLS< MOEOT, Type > &_mols)
 Adds a new local search to combine.
void operator() (Type _type, moeoArchive< MOEOT > &_arch)
 Gives a new solution in order to explore the neigborhood.

Private Attributes

+std::vector< moeoLS< MOEOT,
+ Type > * > 
combinedLS
 the vector that contains the combined LS
+

Detailed Description

+

template<class MOEOT, class Type>
+ class moeoCombinedLS< MOEOT, Type >

+ +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. +

+ +

+Definition at line 50 of file moeoCombinedLS.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT, class Type>
+ + + + + + + + + +
moeoCombinedLS< MOEOT, Type >::moeoCombinedLS (moeoLS< MOEOT, Type > &  _first_mols  )  [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_first_mols the first multi-objective local search to add
+
+ +

+Definition at line 58 of file moeoCombinedLS.h. +

+References moeoCombinedLS< MOEOT, Type >::combinedLS. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT, class Type>
+ + + + + + + + + +
void moeoCombinedLS< MOEOT, Type >::add (moeoLS< MOEOT, Type > &  _mols  )  [inline]
+
+
+ +

+Adds a new local search to combine. +

+

Parameters:
+ + +
_mols the multi-objective local search to add
+
+ +

+Definition at line 67 of file moeoCombinedLS.h. +

+References moeoCombinedLS< MOEOT, Type >::combinedLS. +

+

+ +

+
+
+template<class MOEOT, class Type>
+ + + + + + + + + + + + + + + + + + +
void moeoCombinedLS< MOEOT, Type >::operator() (Type  _type,
moeoArchive< MOEOT > &  _arch 
) [inline, virtual]
+
+
+ +

+Gives a new solution in order to explore the neigborhood. +

+The new non-dominated solutions are added to the archive

Parameters:
+ + + +
_type the object to apply the local search to
_arch the archive of non-dominated solutions
+
+ +

+Implements eoBF< Type, moeoArchive< MOEOT > &, void >. +

+Definition at line 78 of file moeoCombinedLS.h. +

+References moeoCombinedLS< MOEOT, Type >::combinedLS. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS.png new file mode 100644 index 000000000..7bc8d9deb Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCombinedLS.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator-members.html new file mode 100644 index 000000000..808fb605a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoComparator< MOEOT > Member List

This is the complete list of members for moeoComparator< MOEOT >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator.html new file mode 100644 index 000000000..0c0569f63 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator.html @@ -0,0 +1,64 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoComparator< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoComparator< MOEOT > Class Template Reference

Functor allowing to compare two solutions. +More... +

+#include <moeoComparator.h> +

+

Inheritance diagram for moeoComparator< MOEOT >: +

+ +eoBF< A1, A2, R > +eoFunctorBase +moeoAggregativeComparator< MOEOT > +moeoDiversityThenFitnessComparator< MOEOT > +moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator +moeoFitnessThenDiversityComparator< MOEOT > +moeoOneObjectiveComparator< MOEOT > + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoComparator< MOEOT >

+ +Functor allowing to compare two solutions. +

+ +

+Definition at line 47 of file moeoComparator.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator.png new file mode 100644 index 000000000..616eae5e0 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric-members.html new file mode 100644 index 000000000..40e1df27d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric-members.html @@ -0,0 +1,45 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoContributionMetric< ObjectiveVector > Member List

This is the complete list of members for moeoContributionMetric< ObjectiveVector >, including all inherited members.

+ + + + + + + + + +
card_C(const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)moeoContributionMetric< ObjectiveVector > [inline, private]
card_N(const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)moeoContributionMetric< ObjectiveVector > [inline, private]
card_W(const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)moeoContributionMetric< ObjectiveVector > [inline, private]
functor_category()eoBF< A1, A2, R > [static]
operator()(const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)moeoContributionMetric< ObjectiveVector > [inline]
moeoVectorVsVectorBinaryMetric::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
paretoComparatormoeoContributionMetric< ObjectiveVector > [private]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric.html new file mode 100644 index 000000000..eef8b9398 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric.html @@ -0,0 +1,262 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoContributionMetric< ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoContributionMetric< ObjectiveVector > Class Template Reference

The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. +More... +

+#include <moeoContributionMetric.h> +

+

Inheritance diagram for moeoContributionMetric< ObjectiveVector >: +

+ +moeoVectorVsVectorBinaryMetric< ObjectiveVector, R > +moeoBinaryMetric< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

double operator() (const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)
 Returns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'.

Private Member Functions

unsigned int card_C (const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)
 Returns the number of solutions both in '_set1' and '_set2'.
unsigned int card_W (const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)
 Returns the number of solutions in '_set1' dominating at least one solution of '_set2'.
unsigned int card_N (const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)
 Returns the number of solutions in '_set1' having no relation of dominance with those from '_set2'.

Private Attributes

+moeoParetoObjectiveVectorComparator<
+ ObjectiveVector
paretoComparator
 Functor to compare two objective vectors according to Pareto dominance relation.
+

Detailed Description

+

template<class ObjectiveVector>
+ class moeoContributionMetric< ObjectiveVector >

+ +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. +

+of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324) +

+ +

+Definition at line 49 of file moeoContributionMetric.h.


Member Function Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
double moeoContributionMetric< ObjectiveVector >::operator() (const std::vector< ObjectiveVector > &  _set1,
const std::vector< ObjectiveVector > &  _set2 
) [inline]
+
+
+ +

+Returns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 58 of file moeoContributionMetric.h. +

+References moeoContributionMetric< ObjectiveVector >::card_C(), moeoContributionMetric< ObjectiveVector >::card_N(), and moeoContributionMetric< ObjectiveVector >::card_W(). +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
unsigned int moeoContributionMetric< ObjectiveVector >::card_C (const std::vector< ObjectiveVector > &  _set1,
const std::vector< ObjectiveVector > &  _set2 
) [inline, private]
+
+
+ +

+Returns the number of solutions both in '_set1' and '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 80 of file moeoContributionMetric.h. +

+Referenced by moeoContributionMetric< ObjectiveVector >::operator()(). +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
unsigned int moeoContributionMetric< ObjectiveVector >::card_W (const std::vector< ObjectiveVector > &  _set1,
const std::vector< ObjectiveVector > &  _set2 
) [inline, private]
+
+
+ +

+Returns the number of solutions in '_set1' dominating at least one solution of '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 99 of file moeoContributionMetric.h. +

+References moeoContributionMetric< ObjectiveVector >::paretoComparator. +

+Referenced by moeoContributionMetric< ObjectiveVector >::operator()(). +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
unsigned int moeoContributionMetric< ObjectiveVector >::card_N (const std::vector< ObjectiveVector > &  _set1,
const std::vector< ObjectiveVector > &  _set2 
) [inline, private]
+
+
+ +

+Returns the number of solutions in '_set1' having no relation of dominance with those from '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 118 of file moeoContributionMetric.h. +

+References moeoContributionMetric< ObjectiveVector >::paretoComparator. +

+Referenced by moeoContributionMetric< ObjectiveVector >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric.png new file mode 100644 index 000000000..edb70e1d7 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoContributionMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors-members.html new file mode 100644 index 000000000..d05445587 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector > Member List

This is the complete list of members for moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >, including all inherited members.

+ + + + + +
functor_category()eoUF< A1, R > [static]
operator()(const eoPop< MOEOT > _pop)moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector > [inline]
eoUF::operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors.html new file mode 100644 index 000000000..977103202 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors.html @@ -0,0 +1,95 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector > Class Template Reference

Functor allowing to get a vector of objective vectors from a population. +More... +

+#include <moeoConvertPopToObjectiveVectors.h> +

+

Inheritance diagram for moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >: +

+ +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

const std::vector< ObjectiveVectoroperator() (const eoPop< MOEOT > _pop)
 Returns a vector of the objective vectors from the population _pop.
+

Detailed Description

+

template<class MOEOT, class ObjectiveVector = typename MOEOT::ObjectiveVector>
+ class moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >

+ +Functor allowing to get a vector of objective vectors from a population. +

+ +

+Definition at line 48 of file moeoConvertPopToObjectiveVectors.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT, class ObjectiveVector = typename MOEOT::ObjectiveVector>
+ + + + + + + + + +
const std::vector< ObjectiveVector > moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >::operator() (const eoPop< MOEOT >  _pop  )  [inline]
+
+
+ +

+Returns a vector of the objective vectors from the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 56 of file moeoConvertPopToObjectiveVectors.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors.png new file mode 100644 index 000000000..3904ce954 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoConvertPopToObjectiveVectors.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment-members.html new file mode 100644 index 000000000..6f286fd2b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoCriterionBasedFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoCriterionBasedFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &)=0eoUF< eoPop< MOEOT > &, void > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoFitnessAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment.html new file mode 100644 index 000000000..f6bda0bb6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment.html @@ -0,0 +1,60 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoCriterionBasedFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoCriterionBasedFitnessAssignment< MOEOT > Class Template Reference

moeoCriterionBasedFitnessAssignment is a moeoFitnessAssignment for criterion-based strategies. +More... +

+#include <moeoCriterionBasedFitnessAssignment.h> +

+

Inheritance diagram for moeoCriterionBasedFitnessAssignment< MOEOT >: +

+ +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoCriterionBasedFitnessAssignment< MOEOT >

+ +moeoCriterionBasedFitnessAssignment is a moeoFitnessAssignment for criterion-based strategies. +

+ +

+Definition at line 47 of file moeoCriterionBasedFitnessAssignment.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment.png new file mode 100644 index 000000000..d3a36cb02 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCriterionBasedFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment-members.html new file mode 100644 index 000000000..c3d46261b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment-members.html @@ -0,0 +1,46 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoCrowdingDiversityAssignment< MOEOT > Member List

This is the complete list of members for moeoCrowdingDiversityAssignment< MOEOT >, including all inherited members.

+ + + + + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
inf() const moeoCrowdingDiversityAssignment< MOEOT > [inline]
ObjectiveVector typedefmoeoCrowdingDiversityAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoCrowdingDiversityAssignment< MOEOT > [inline, virtual]
setDistances(eoPop< MOEOT > &_pop)moeoCrowdingDiversityAssignment< MOEOT > [inline, protected, virtual]
tiny() const moeoCrowdingDiversityAssignment< MOEOT > [inline]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoCrowdingDiversityAssignment< MOEOT > [inline, virtual]
moeoDiversityAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoDiversityAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment.html new file mode 100644 index 000000000..a59220e67 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment.html @@ -0,0 +1,204 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoCrowdingDiversityAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoCrowdingDiversityAssignment< MOEOT > Class Template Reference

Diversity assignment sheme based on crowding proposed in: K. +More... +

+#include <moeoCrowdingDiversityAssignment.h> +

+

Inheritance diagram for moeoCrowdingDiversityAssignment< MOEOT >: +

+ +moeoDiversityAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase +moeoFrontByFrontCrowdingDiversityAssignment< MOEOT > + +List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

+double inf () const
 Returns a big value (regarded as infinite).
+double tiny () const
 Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound).
void operator() (eoPop< MOEOT > &_pop)
 Computes diversity values for every solution contained in the population _pop.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)

Protected Member Functions

virtual void setDistances (eoPop< MOEOT > &_pop)
 Sets the distance values.
+

Detailed Description

+

template<class MOEOT>
+ class moeoCrowdingDiversityAssignment< MOEOT >

+ +Diversity assignment sheme based on crowding proposed in: K. +

+Deb, A. Pratap, S. Agarwal, T. Meyarivan, "A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II", IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). +

+ +

+Definition at line 50 of file moeoCrowdingDiversityAssignment.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoCrowdingDiversityAssignment< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Computes diversity values for every solution contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< eoPop< MOEOT > &, void >. +

+Definition at line 80 of file moeoCrowdingDiversityAssignment.h. +

+References moeoCrowdingDiversityAssignment< MOEOT >::inf(), and moeoCrowdingDiversityAssignment< MOEOT >::setDistances(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoCrowdingDiversityAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+

Warning:
NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
+
Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+
Warning:
NOT IMPLEMENTED, DO NOTHING !
+ +

+Implements moeoDiversityAssignment< MOEOT >. +

+Reimplemented in moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >. +

+Definition at line 103 of file moeoCrowdingDiversityAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
virtual void moeoCrowdingDiversityAssignment< MOEOT >::setDistances (eoPop< MOEOT > &  _pop  )  [inline, protected, virtual]
+
+
+ +

+Sets the distance values. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Reimplemented in moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >. +

+Definition at line 115 of file moeoCrowdingDiversityAssignment.h. +

+References moeoCrowdingDiversityAssignment< MOEOT >::inf(). +

+Referenced by moeoCrowdingDiversityAssignment< MOEOT >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment.png new file mode 100644 index 000000000..75ba1a783 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoCrowdingDiversityAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect-members.html new file mode 100644 index 000000000..f20589034 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoDetTournamentSelect< MOEOT > Member List

This is the complete list of members for moeoDetTournamentSelect< MOEOT >, including all inherited members.

+ + + + + + + + + + + +
comparatormoeoDetTournamentSelect< MOEOT > [protected]
defaultComparatormoeoDetTournamentSelect< MOEOT > [protected]
functor_category()eoUF< A1, R > [static]
moeoDetTournamentSelect(moeoComparator< MOEOT > &_comparator, unsigned int _tSize=2)moeoDetTournamentSelect< MOEOT > [inline]
moeoDetTournamentSelect(unsigned int _tSize=2)moeoDetTournamentSelect< MOEOT > [inline]
operator()(const eoPop< MOEOT > &_pop)moeoDetTournamentSelect< MOEOT > [inline]
moeoSelectOne::operator()(A1)=0eoUF< A1, R > [pure virtual]
setup(const eoPop< MOEOT > &_pop)eoSelectOne< MOEOT > [virtual]
tSizemoeoDetTournamentSelect< MOEOT > [protected]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect.html new file mode 100644 index 000000000..5bcf2f7f7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect.html @@ -0,0 +1,196 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDetTournamentSelect< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoDetTournamentSelect< MOEOT > Class Template Reference

Selection strategy that selects ONE individual by deterministic tournament. +More... +

+#include <moeoDetTournamentSelect.h> +

+

Inheritance diagram for moeoDetTournamentSelect< MOEOT >: +

+ +moeoSelectOne< MOEOT > +eoSelectOne< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoDetTournamentSelect (moeoComparator< MOEOT > &_comparator, unsigned int _tSize=2)
 Full Ctor.
 moeoDetTournamentSelect (unsigned int _tSize=2)
 Ctor without comparator.
const MOEOT & operator() (const eoPop< MOEOT > &_pop)
 Apply the tournament to the given population.

Protected Attributes

+moeoComparator< MOEOT > & comparator
 the comparator (used to compare 2 individuals)
+moeoFitnessThenDiversityComparator<
+ MOEOT > 
defaultComparator
 a fitness then diversity comparator can be used as default
+unsigned int tSize
 the number of individuals in the tournament
+

Detailed Description

+

template<class MOEOT>
+ class moeoDetTournamentSelect< MOEOT >

+ +Selection strategy that selects ONE individual by deterministic tournament. +

+ +

+Definition at line 49 of file moeoDetTournamentSelect.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoDetTournamentSelect< MOEOT >::moeoDetTournamentSelect (moeoComparator< MOEOT > &  _comparator,
unsigned int  _tSize = 2 
) [inline]
+
+
+ +

+Full Ctor. +

+

Parameters:
+ + + +
_comparator the comparator (used to compare 2 individuals)
_tSize the number of individuals in the tournament (default: 2)
+
+ +

+Definition at line 58 of file moeoDetTournamentSelect.h. +

+References moeoDetTournamentSelect< MOEOT >::tSize. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoDetTournamentSelect< MOEOT >::moeoDetTournamentSelect (unsigned int  _tSize = 2  )  [inline]
+
+
+ +

+Ctor without comparator. +

+A moeoFitnessThenDiversityComparator is used as default.

Parameters:
+ + +
_tSize the number of individuals in the tournament (default: 2)
+
+ +

+Definition at line 74 of file moeoDetTournamentSelect.h. +

+References moeoDetTournamentSelect< MOEOT >::tSize. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
const MOEOT& moeoDetTournamentSelect< MOEOT >::operator() (const eoPop< MOEOT > &  _pop  )  [inline]
+
+
+ +

+Apply the tournament to the given population. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 90 of file moeoDetTournamentSelect.h. +

+References moeoDetTournamentSelect< MOEOT >::comparator, and moeoDetTournamentSelect< MOEOT >::tSize. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect.png new file mode 100644 index 000000000..4fbb81319 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDetTournamentSelect.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance-members.html new file mode 100644 index 000000000..6d9ae0750 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoDistance< MOEOT, Type > Member List

This is the complete list of members for moeoDistance< MOEOT, Type >, including all inherited members.

+ + + + + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
setup(const eoPop< MOEOT > &_pop)moeoDistance< MOEOT, Type > [inline, virtual]
setup(double _min, double _max, unsigned int _obj)moeoDistance< MOEOT, Type > [inline, virtual]
setup(eoRealInterval _realInterval, unsigned int _obj)moeoDistance< MOEOT, Type > [inline, virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance.html new file mode 100644 index 000000000..540079cdc --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance.html @@ -0,0 +1,197 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDistance< MOEOT, Type > Class Template Reference + + + + +
+
+
+
+

moeoDistance< MOEOT, Type > Class Template Reference

The base class for distance computation. +More... +

+#include <moeoDistance.h> +

+

Inheritance diagram for moeoDistance< MOEOT, Type >: +

+ +eoBF< A1, A2, R > +eoFunctorBase +moeoNormalizedDistance< MOEOT, Type > + +List of all members. + + + + + + + + + + + +

Public Member Functions

virtual void setup (const eoPop< MOEOT > &_pop)
 Nothing to do.
virtual void setup (double _min, double _max, unsigned int _obj)
 Nothing to do.
virtual void setup (eoRealInterval _realInterval, unsigned int _obj)
 Nothing to do.
+

Detailed Description

+

template<class MOEOT, class Type>
+ class moeoDistance< MOEOT, Type >

+ +The base class for distance computation. +

+ +

+Definition at line 47 of file moeoDistance.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT, class Type>
+ + + + + + + + + +
virtual void moeoDistance< MOEOT, Type >::setup (const eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Nothing to do. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Reimplemented in moeoNormalizedDistance< MOEOT, Type >, and moeoNormalizedDistance< MOEOT >. +

+Definition at line 55 of file moeoDistance.h. +

+

+ +

+
+
+template<class MOEOT, class Type>
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void moeoDistance< MOEOT, Type >::setup (double  _min,
double  _max,
unsigned int  _obj 
) [inline, virtual]
+
+
+ +

+Nothing to do. +

+

Parameters:
+ + + + +
_min lower bound
_max upper bound
_obj the objective index
+
+ +

+Reimplemented in moeoNormalizedDistance< MOEOT, Type >, and moeoNormalizedDistance< MOEOT >. +

+Definition at line 65 of file moeoDistance.h. +

+

+ +

+
+
+template<class MOEOT, class Type>
+ + + + + + + + + + + + + + + + + + +
virtual void moeoDistance< MOEOT, Type >::setup (eoRealInterval  _realInterval,
unsigned int  _obj 
) [inline, virtual]
+
+
+ +

+Nothing to do. +

+

Parameters:
+ + + +
_realInterval the eoRealInterval object
_obj the objective index
+
+ +

+Reimplemented in moeoNormalizedDistance< MOEOT, Type >, and moeoNormalizedDistance< MOEOT >. +

+Definition at line 74 of file moeoDistance.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance.png new file mode 100644 index 000000000..cf22dcd06 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistance.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix-members.html new file mode 100644 index 000000000..48b3234fc --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix-members.html @@ -0,0 +1,42 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoDistanceMatrix< MOEOT, Type > Member List

This is the complete list of members for moeoDistanceMatrix< MOEOT, Type >, including all inherited members.

+ + + + + + +
distancemoeoDistanceMatrix< MOEOT, Type > [private]
functor_category()eoUF< const eoPop< MOEOT > &, void > [static]
moeoDistanceMatrix(unsigned int _size, moeoDistance< MOEOT, Type > &_distance)moeoDistanceMatrix< MOEOT, Type > [inline]
operator()(const eoPop< MOEOT > &_pop)moeoDistanceMatrix< MOEOT, Type > [inline, virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< const eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix.html new file mode 100644 index 000000000..fd3ad504d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix.html @@ -0,0 +1,149 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDistanceMatrix< MOEOT, Type > Class Template Reference + + + + +
+
+
+
+

moeoDistanceMatrix< MOEOT, Type > Class Template Reference

A matrix to compute distances between every pair of individuals contained in a population. +More... +

+#include <moeoDistanceMatrix.h> +

+

Inheritance diagram for moeoDistanceMatrix< MOEOT, Type >: +

+ +eoUF< const eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Member Functions

 moeoDistanceMatrix (unsigned int _size, moeoDistance< MOEOT, Type > &_distance)
 Ctor.
void operator() (const eoPop< MOEOT > &_pop)
 Sets the distance between every pair of individuals contained in the population _pop.

Private Attributes

+moeoDistance< MOEOT, Type > & distance
 the distance to use
+

Detailed Description

+

template<class MOEOT, class Type>
+ class moeoDistanceMatrix< MOEOT, Type >

+ +A matrix to compute distances between every pair of individuals contained in a population. +

+ +

+Definition at line 49 of file moeoDistanceMatrix.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT, class Type>
+ + + + + + + + + + + + + + + + + + +
moeoDistanceMatrix< MOEOT, Type >::moeoDistanceMatrix (unsigned int  _size,
moeoDistance< MOEOT, Type > &  _distance 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_size size for every dimension of the matrix
_distance the distance to use
+
+ +

+Definition at line 62 of file moeoDistanceMatrix.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT, class Type>
+ + + + + + + + + +
void moeoDistanceMatrix< MOEOT, Type >::operator() (const eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets the distance between every pair of individuals contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< const eoPop< MOEOT > &, void >. +

+Definition at line 76 of file moeoDistanceMatrix.h. +

+References moeoDistanceMatrix< MOEOT, Type >::distance. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix.png new file mode 100644 index 000000000..a8aac1611 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDistanceMatrix.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment-members.html new file mode 100644 index 000000000..7a9a645c7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoDiversityAssignment< MOEOT > Member List

This is the complete list of members for moeoDiversityAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoDiversityAssignment< MOEOT >
operator()(eoPop< MOEOT > &)=0eoUF< eoPop< MOEOT > &, void > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoDiversityAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoDiversityAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment.html new file mode 100644 index 000000000..d4d2f9c2a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment.html @@ -0,0 +1,163 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDiversityAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoDiversityAssignment< MOEOT > Class Template Reference

Functor that sets the diversity values of a whole population. +More... +

+#include <moeoDiversityAssignment.h> +

+

Inheritance diagram for moeoDiversityAssignment< MOEOT >: +

+ +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase +moeoCrowdingDiversityAssignment< MOEOT > +moeoDummyDiversityAssignment< MOEOT > +moeoSharingDiversityAssignment< MOEOT > +moeoFrontByFrontCrowdingDiversityAssignment< MOEOT > +moeoFrontByFrontSharingDiversityAssignment< MOEOT > + +List of all members. + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type for objective vector.

Public Member Functions

virtual void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0
 Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
void updateByDeleting (eoPop< MOEOT > &_pop, MOEOT &_moeo)
 Updates the diversity values of the whole population _pop by taking the deletion of the individual _moeo into account.
+

Detailed Description

+

template<class MOEOT>
+ class moeoDiversityAssignment< MOEOT >

+ +Functor that sets the diversity values of a whole population. +

+ +

+Definition at line 48 of file moeoDiversityAssignment.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
virtual void moeoDiversityAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [pure virtual]
+
+
+ +

+Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implemented in moeoCrowdingDiversityAssignment< MOEOT >, moeoDummyDiversityAssignment< MOEOT >, moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >, moeoFrontByFrontSharingDiversityAssignment< MOEOT >, and moeoSharingDiversityAssignment< MOEOT >. +

+Referenced by moeoDiversityAssignment< MOEOT >::updateByDeleting(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoDiversityAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
MOEOT &  _moeo 
) [inline]
+
+
+ +

+Updates the diversity values of the whole population _pop by taking the deletion of the individual _moeo into account. +

+

Parameters:
+ + + +
_pop the population
_moeo the individual
+
+ +

+Definition at line 69 of file moeoDiversityAssignment.h. +

+References moeoDiversityAssignment< MOEOT >::updateByDeleting(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment.png new file mode 100644 index 000000000..2067845ec Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator-members.html new file mode 100644 index 000000000..10b8c3537 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoDiversityThenFitnessComparator< MOEOT > Member List

This is the complete list of members for moeoDiversityThenFitnessComparator< MOEOT >, including all inherited members.

+ + + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoDiversityThenFitnessComparator< MOEOT > [inline]
moeoComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator.html new file mode 100644 index 000000000..911031b1b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator.html @@ -0,0 +1,106 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDiversityThenFitnessComparator< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoDiversityThenFitnessComparator< MOEOT > Class Template Reference

Functor allowing to compare two solutions according to their diversity values, then according to their fitness values. +More... +

+#include <moeoDiversityThenFitnessComparator.h> +

+

Inheritance diagram for moeoDiversityThenFitnessComparator< MOEOT >: +

+ +moeoComparator< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

const bool operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns true if _moeo1 < _moeo2 according to their diversity values, then according to their fitness values.
+

Detailed Description

+

template<class MOEOT>
+ class moeoDiversityThenFitnessComparator< MOEOT >

+ +Functor allowing to compare two solutions according to their diversity values, then according to their fitness values. +

+ +

+Definition at line 47 of file moeoDiversityThenFitnessComparator.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
const bool moeoDiversityThenFitnessComparator< MOEOT >::operator() (const MOEOT &  _moeo1,
const MOEOT &  _moeo2 
) [inline]
+
+
+ +

+Returns true if _moeo1 < _moeo2 according to their diversity values, then according to their fitness values. +

+

Parameters:
+ + + +
_moeo1 the first solution
_moeo2 the second solution
+
+ +

+Definition at line 56 of file moeoDiversityThenFitnessComparator.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator.png new file mode 100644 index 000000000..14c65dd0b Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDiversityThenFitnessComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment-members.html new file mode 100644 index 000000000..230df148a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoDummyDiversityAssignment< MOEOT > Member List

This is the complete list of members for moeoDummyDiversityAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoDummyDiversityAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoDummyDiversityAssignment< MOEOT > [inline, virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoDummyDiversityAssignment< MOEOT > [inline, virtual]
moeoDiversityAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoDiversityAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment.html new file mode 100644 index 000000000..6e5ff540d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment.html @@ -0,0 +1,149 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDummyDiversityAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoDummyDiversityAssignment< MOEOT > Class Template Reference

moeoDummyDiversityAssignment is a moeoDiversityAssignment that gives the value '0' as the individual's diversity for a whole population if it is invalid. +More... +

+#include <moeoDummyDiversityAssignment.h> +

+

Inheritance diagram for moeoDummyDiversityAssignment< MOEOT >: +

+ +moeoDiversityAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type for objective vector.

Public Member Functions

void operator() (eoPop< MOEOT > &_pop)
 Sets the diversity to '0' for every individuals of the population _pop if it is invalid.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)
 Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
+

Detailed Description

+

template<class MOEOT>
+ class moeoDummyDiversityAssignment< MOEOT >

+ +moeoDummyDiversityAssignment is a moeoDiversityAssignment that gives the value '0' as the individual's diversity for a whole population if it is invalid. +

+ +

+Definition at line 47 of file moeoDummyDiversityAssignment.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoDummyDiversityAssignment< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets the diversity to '0' for every individuals of the population _pop if it is invalid. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< eoPop< MOEOT > &, void >. +

+Definition at line 59 of file moeoDummyDiversityAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoDummyDiversityAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implements moeoDiversityAssignment< MOEOT >. +

+Definition at line 77 of file moeoDummyDiversityAssignment.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment.png new file mode 100644 index 000000000..b4489ca44 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyDiversityAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment-members.html new file mode 100644 index 000000000..468fd2de2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoDummyFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoDummyFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoDummyFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoDummyFitnessAssignment< MOEOT > [inline, virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoDummyFitnessAssignment< MOEOT > [inline, virtual]
moeoFitnessAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment.html new file mode 100644 index 000000000..defd61819 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment.html @@ -0,0 +1,149 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDummyFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoDummyFitnessAssignment< MOEOT > Class Template Reference

moeoDummyFitnessAssignment is a moeoFitnessAssignment that gives the value '0' as the individual's fitness for a whole population if it is invalid. +More... +

+#include <moeoDummyFitnessAssignment.h> +

+

Inheritance diagram for moeoDummyFitnessAssignment< MOEOT >: +

+ +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type for objective vector.

Public Member Functions

void operator() (eoPop< MOEOT > &_pop)
 Sets the fitness to '0' for every individuals of the population _pop if it is invalid.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)
 Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
+

Detailed Description

+

template<class MOEOT>
+ class moeoDummyFitnessAssignment< MOEOT >

+ +moeoDummyFitnessAssignment is a moeoFitnessAssignment that gives the value '0' as the individual's fitness for a whole population if it is invalid. +

+ +

+Definition at line 47 of file moeoDummyFitnessAssignment.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoDummyFitnessAssignment< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets the fitness to '0' for every individuals of the population _pop if it is invalid. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< eoPop< MOEOT > &, void >. +

+Definition at line 59 of file moeoDummyFitnessAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoDummyFitnessAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implements moeoFitnessAssignment< MOEOT >. +

+Definition at line 77 of file moeoDummyFitnessAssignment.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment.png new file mode 100644 index 000000000..9dd125053 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoDummyFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA-members.html new file mode 100644 index 000000000..483f1ed63 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEA< MOEOT > Member List

This is the complete list of members for moeoEA< MOEOT >, including all inherited members.

+ + + + +
functor_category()eoUF< A1, R > [static]
operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA.html new file mode 100644 index 000000000..3ce556452 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA.html @@ -0,0 +1,65 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEA< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoEA< MOEOT > Class Template Reference

Abstract class for multi-objective evolutionary algorithms. +More... +

+#include <moeoEA.h> +

+

Inheritance diagram for moeoEA< MOEOT >: +

+ +moeoAlgo +eoAlgo< MOEOT > +eoUF< A1, R > +eoFunctorBase +moeoEasyEA< MOEOT > +moeoIBEA< MOEOT > +moeoNSGA< MOEOT > +moeoNSGAII< MOEOT > + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoEA< MOEOT >

+ +Abstract class for multi-objective evolutionary algorithms. +

+ +

+Definition at line 48 of file moeoEA.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA.png new file mode 100644 index 000000000..f07b00510 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEA.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA-members.html new file mode 100644 index 000000000..b15c6ea68 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA-members.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEasyEA< MOEOT > Member List

This is the complete list of members for moeoEasyEA< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
breedmoeoEasyEA< MOEOT > [protected]
continuatormoeoEasyEA< MOEOT > [protected]
diversityEvalmoeoEasyEA< MOEOT > [protected]
dummyEvalmoeoEasyEA< MOEOT > [protected]
dummyMergemoeoEasyEA< MOEOT > [protected]
dummyReducemoeoEasyEA< MOEOT > [protected]
dummySelectmoeoEasyEA< MOEOT > [protected]
dummyTransformmoeoEasyEA< MOEOT > [protected]
evalmoeoEasyEA< MOEOT > [protected]
evalFitAndDivBeforeSelectionmoeoEasyEA< MOEOT > [protected]
fitnessEvalmoeoEasyEA< MOEOT > [protected]
functor_category()eoUF< A1, R > [static]
loopEvalmoeoEasyEA< MOEOT > [protected]
mergeReducemoeoEasyEA< MOEOT > [protected]
moeoEasyEA(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoBreed< MOEOT > &_breed, moeoReplacement< MOEOT > &_replace, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)moeoEasyEA< MOEOT > [inline]
moeoEasyEA(eoContinue< MOEOT > &_continuator, eoPopEvalFunc< MOEOT > &_popEval, eoBreed< MOEOT > &_breed, moeoReplacement< MOEOT > &_replace, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)moeoEasyEA< MOEOT > [inline]
moeoEasyEA(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoBreed< MOEOT > &_breed, eoMerge< MOEOT > &_merge, eoReduce< MOEOT > &_reduce, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)moeoEasyEA< MOEOT > [inline]
moeoEasyEA(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoSelect< MOEOT > &_select, eoTransform< MOEOT > &_transform, moeoReplacement< MOEOT > &_replace, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)moeoEasyEA< MOEOT > [inline]
moeoEasyEA(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoSelect< MOEOT > &_select, eoTransform< MOEOT > &_transform, eoMerge< MOEOT > &_merge, eoReduce< MOEOT > &_reduce, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)moeoEasyEA< MOEOT > [inline]
operator()(eoPop< MOEOT > &_pop)moeoEasyEA< MOEOT > [inline, virtual]
moeoEA::operator()(A1)=0eoUF< A1, R > [pure virtual]
popEvalmoeoEasyEA< MOEOT > [protected]
replacemoeoEasyEA< MOEOT > [protected]
selectTransformmoeoEasyEA< MOEOT > [protected]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA.html new file mode 100644 index 000000000..767fcffcb --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA.html @@ -0,0 +1,599 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEasyEA< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoEasyEA< MOEOT > Class Template Reference

An easy class to design multi-objective evolutionary algorithms. +More... +

+#include <moeoEasyEA.h> +

+

Inheritance diagram for moeoEasyEA< MOEOT >: +

+ +moeoEA< MOEOT > +moeoAlgo +eoAlgo< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoEasyEA (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoBreed< MOEOT > &_breed, moeoReplacement< MOEOT > &_replace, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)
 Ctor taking a breed and merge.
 moeoEasyEA (eoContinue< MOEOT > &_continuator, eoPopEvalFunc< MOEOT > &_popEval, eoBreed< MOEOT > &_breed, moeoReplacement< MOEOT > &_replace, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)
 Ctor taking a breed, a merge and a eoPopEval.
 moeoEasyEA (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoBreed< MOEOT > &_breed, eoMerge< MOEOT > &_merge, eoReduce< MOEOT > &_reduce, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)
 Ctor taking a breed, a merge and a reduce.
 moeoEasyEA (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoSelect< MOEOT > &_select, eoTransform< MOEOT > &_transform, moeoReplacement< MOEOT > &_replace, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)
 Ctor taking a select, a transform and a replacement.
 moeoEasyEA (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoSelect< MOEOT > &_select, eoTransform< MOEOT > &_transform, eoMerge< MOEOT > &_merge, eoReduce< MOEOT > &_reduce, moeoFitnessAssignment< MOEOT > &_fitnessEval, moeoDiversityAssignment< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)
 Ctor taking a select, a transform, a merge and a reduce.
virtual void operator() (eoPop< MOEOT > &_pop)
 Applies a few generation of evolution to the population _pop.

Protected Attributes

+eoContinue< MOEOT > & continuator
 the stopping criteria
+eoEvalFunc< MOEOT > & eval
 the evaluation functions
+eoPopLoopEval< MOEOT > loopEval
 to evaluate the whole population
+eoPopEvalFunc< MOEOT > & popEval
 to evaluate the whole population
+eoSelectTransform< MOEOT > selectTransform
 breed: a select followed by a transform
+eoBreed< MOEOT > & breed
 the breeder
+eoMergeReduce< MOEOT > mergeReduce
 replacement: a merge followed by a reduce
+moeoReplacement< MOEOT > & replace
 the replacment strategy
+moeoFitnessAssignment< MOEOT > & fitnessEval
 the fitness assignment strategy
+moeoDiversityAssignment< MOEOT > & diversityEval
 the diversity assignment strategy
+bool evalFitAndDivBeforeSelection
 if this parameter is set to 'true', the fitness and the diversity of the whole population will be re-evaluated before the selection process
+moeoEasyEA::eoDummyEval dummyEval
 a dummy eval
+moeoEasyEA::eoDummySelect dummySelect
 a dummy select
+moeoEasyEA::eoDummyTransform dummyTransform
 a dummy transform
+eoNoElitism< MOEOT > dummyMerge
 a dummy merge
+eoTruncate< MOEOT > dummyReduce
 a dummy reduce

Classes

class  eoDummyEval
 a dummy eval More...
class  eoDummySelect
 a dummy select More...
class  eoDummyTransform
 a dummy transform More...
+

Detailed Description

+

template<class MOEOT>
+ class moeoEasyEA< MOEOT >

+ +An easy class to design multi-objective evolutionary algorithms. +

+ +

+Definition at line 58 of file moeoEasyEA.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoEasyEA< MOEOT >::moeoEasyEA (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoBreed< MOEOT > &  _breed,
moeoReplacement< MOEOT > &  _replace,
moeoFitnessAssignment< MOEOT > &  _fitnessEval,
moeoDiversityAssignment< MOEOT > &  _diversityEval,
bool  _evalFitAndDivBeforeSelection = false 
) [inline]
+
+
+ +

+Ctor taking a breed and merge. +

+

Parameters:
+ + + + + + + + +
_continuator the stopping criteria
_eval the evaluation functions
_breed the breeder
_replace the replacement strategy
_fitnessEval the fitness evaluation scheme
_diversityEval the diversity evaluation scheme
_evalFitAndDivBeforeSelection put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process
+
+ +

+Definition at line 72 of file moeoEasyEA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoEasyEA< MOEOT >::moeoEasyEA (eoContinue< MOEOT > &  _continuator,
eoPopEvalFunc< MOEOT > &  _popEval,
eoBreed< MOEOT > &  _breed,
moeoReplacement< MOEOT > &  _replace,
moeoFitnessAssignment< MOEOT > &  _fitnessEval,
moeoDiversityAssignment< MOEOT > &  _diversityEval,
bool  _evalFitAndDivBeforeSelection = false 
) [inline]
+
+
+ +

+Ctor taking a breed, a merge and a eoPopEval. +

+

Parameters:
+ + + + + + + + +
_continuator the stopping criteria
_popEval the evaluation functions for the whole population
_breed the breeder
_replace the replacement strategy
_fitnessEval the fitness evaluation scheme
_diversityEval the diversity evaluation scheme
_evalFitAndDivBeforeSelection put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process
+
+ +

+Definition at line 90 of file moeoEasyEA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoEasyEA< MOEOT >::moeoEasyEA (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoBreed< MOEOT > &  _breed,
eoMerge< MOEOT > &  _merge,
eoReduce< MOEOT > &  _reduce,
moeoFitnessAssignment< MOEOT > &  _fitnessEval,
moeoDiversityAssignment< MOEOT > &  _diversityEval,
bool  _evalFitAndDivBeforeSelection = false 
) [inline]
+
+
+ +

+Ctor taking a breed, a merge and a reduce. +

+

Parameters:
+ + + + + + + + + +
_continuator the stopping criteria
_eval the evaluation functions
_breed the breeder
_merge the merge scheme
_reduce the reduce scheme
_fitnessEval the fitness evaluation scheme
_diversityEval the diversity evaluation scheme
_evalFitAndDivBeforeSelection put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process
+
+ +

+Definition at line 109 of file moeoEasyEA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoEasyEA< MOEOT >::moeoEasyEA (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoSelect< MOEOT > &  _select,
eoTransform< MOEOT > &  _transform,
moeoReplacement< MOEOT > &  _replace,
moeoFitnessAssignment< MOEOT > &  _fitnessEval,
moeoDiversityAssignment< MOEOT > &  _diversityEval,
bool  _evalFitAndDivBeforeSelection = false 
) [inline]
+
+
+ +

+Ctor taking a select, a transform and a replacement. +

+

Parameters:
+ + + + + + + + + +
_continuator the stopping criteria
_eval the evaluation functions
_select the selection scheme
_transform the tranformation scheme
_replace the replacement strategy
_fitnessEval the fitness evaluation scheme
_diversityEval the diversity evaluation scheme
_evalFitAndDivBeforeSelection put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process
+
+ +

+Definition at line 128 of file moeoEasyEA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoEasyEA< MOEOT >::moeoEasyEA (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoSelect< MOEOT > &  _select,
eoTransform< MOEOT > &  _transform,
eoMerge< MOEOT > &  _merge,
eoReduce< MOEOT > &  _reduce,
moeoFitnessAssignment< MOEOT > &  _fitnessEval,
moeoDiversityAssignment< MOEOT > &  _diversityEval,
bool  _evalFitAndDivBeforeSelection = false 
) [inline]
+
+
+ +

+Ctor taking a select, a transform, a merge and a reduce. +

+

Parameters:
+ + + + + + + + + + +
_continuator the stopping criteria
_eval the evaluation functions
_select the selection scheme
_transform the tranformation scheme
_merge the merge scheme
_reduce the reduce scheme
_fitnessEval the fitness evaluation scheme
_diversityEval the diversity evaluation scheme
_evalFitAndDivBeforeSelection put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process
+
+ +

+Definition at line 148 of file moeoEasyEA.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
virtual void moeoEasyEA< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Applies a few generation of evolution to the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 160 of file moeoEasyEA.h. +

+References moeoEasyEA< MOEOT >::breed, moeoEasyEA< MOEOT >::continuator, moeoEasyEA< MOEOT >::diversityEval, moeoEasyEA< MOEOT >::evalFitAndDivBeforeSelection, moeoEasyEA< MOEOT >::fitnessEval, moeoEasyEA< MOEOT >::popEval, and moeoEasyEA< MOEOT >::replace. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA.png new file mode 100644 index 000000000..4a16b3df3 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval-members.html new file mode 100644 index 000000000..ab5154e74 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEasyEA< MOEOT >::eoDummyEval Member List

This is the complete list of members for moeoEasyEA< MOEOT >::eoDummyEval, including all inherited members.

+ + + + + + + +
EOFitT typedefeoEvalFunc< MOEOT >
EOType typedefeoEvalFunc< MOEOT >
functor_category()eoUF< A1, R > [static]
operator()(MOEOT &)moeoEasyEA< MOEOT >::eoDummyEval [inline]
eoEvalFunc< MOEOT >::operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval.html new file mode 100644 index 000000000..e08ad488a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval.html @@ -0,0 +1,67 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEasyEA< MOEOT >::eoDummyEval Class Reference + + + + +
+
+
+
+ +

moeoEasyEA< MOEOT >::eoDummyEval Class Reference

a dummy eval +More... +

+#include <moeoEasyEA.h> +

+

Inheritance diagram for moeoEasyEA< MOEOT >::eoDummyEval: +

+ +eoEvalFunc< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

+void operator() (MOEOT &)
 the dummy functor
+

Detailed Description

+

template<class MOEOT>
+ class moeoEasyEA< MOEOT >::eoDummyEval

+ +a dummy eval +

+ +

+Definition at line 226 of file moeoEasyEA.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval.png new file mode 100644 index 000000000..b84873cf5 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyEval.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect-members.html new file mode 100644 index 000000000..de79782f4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEasyEA< MOEOT >::eoDummySelect Member List

This is the complete list of members for moeoEasyEA< MOEOT >::eoDummySelect, including all inherited members.

+ + + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(const eoPop< MOEOT > &, eoPop< MOEOT > &)moeoEasyEA< MOEOT >::eoDummySelect [inline]
eoSelect< MOEOT >::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect.html new file mode 100644 index 000000000..9e874633f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect.html @@ -0,0 +1,67 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEasyEA< MOEOT >::eoDummySelect Class Reference + + + + +
+
+
+
+ +

moeoEasyEA< MOEOT >::eoDummySelect Class Reference

a dummy select +More... +

+#include <moeoEasyEA.h> +

+

Inheritance diagram for moeoEasyEA< MOEOT >::eoDummySelect: +

+ +eoSelect< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

+void operator() (const eoPop< MOEOT > &, eoPop< MOEOT > &)
 the dummy functor
+

Detailed Description

+

template<class MOEOT>
+ class moeoEasyEA< MOEOT >::eoDummySelect

+ +a dummy select +

+ +

+Definition at line 234 of file moeoEasyEA.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect.png new file mode 100644 index 000000000..b8f3b8454 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummySelect.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform-members.html new file mode 100644 index 000000000..f5c03e80f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEasyEA< MOEOT >::eoDummyTransform Member List

This is the complete list of members for moeoEasyEA< MOEOT >::eoDummyTransform, including all inherited members.

+ + + + + +
functor_category()eoUF< A1, R > [static]
operator()(eoPop< MOEOT > &)moeoEasyEA< MOEOT >::eoDummyTransform [inline]
eoTransform< MOEOT >::operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform.html new file mode 100644 index 000000000..9c0d00e3f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform.html @@ -0,0 +1,67 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEasyEA< MOEOT >::eoDummyTransform Class Reference + + + + +
+
+
+
+ +

moeoEasyEA< MOEOT >::eoDummyTransform Class Reference

a dummy transform +More... +

+#include <moeoEasyEA.h> +

+

Inheritance diagram for moeoEasyEA< MOEOT >::eoDummyTransform: +

+ +eoTransform< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

+void operator() (eoPop< MOEOT > &)
 the dummy functor
+

Detailed Description

+

template<class MOEOT>
+ class moeoEasyEA< MOEOT >::eoDummyTransform

+ +a dummy transform +

+ +

+Definition at line 242 of file moeoEasyEA.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform.png new file mode 100644 index 000000000..c5e6511a2 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEasyEA_1_1eoDummyTransform.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement-members.html new file mode 100644 index 000000000..8920bcbe4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement-members.html @@ -0,0 +1,50 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoElitistReplacement< MOEOT > Member List

This is the complete list of members for moeoElitistReplacement< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + +
comparatormoeoElitistReplacement< MOEOT > [protected]
defaultComparatormoeoElitistReplacement< MOEOT > [protected]
defaultDiversitymoeoElitistReplacement< MOEOT > [protected]
diversityAssignmentmoeoElitistReplacement< MOEOT > [protected]
fitnessAssignmentmoeoElitistReplacement< MOEOT > [protected]
functor_category()eoBF< A1, A2, R > [static]
moeoElitistReplacement(moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoDiversityAssignment< MOEOT > &_diversityAssignment, moeoComparator< MOEOT > &_comparator)moeoElitistReplacement< MOEOT > [inline]
moeoElitistReplacement(moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoDiversityAssignment< MOEOT > &_diversityAssignment)moeoElitistReplacement< MOEOT > [inline]
moeoElitistReplacement(moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoComparator< MOEOT > &_comparator)moeoElitistReplacement< MOEOT > [inline]
moeoElitistReplacement(moeoFitnessAssignment< MOEOT > &_fitnessAssignment)moeoElitistReplacement< MOEOT > [inline]
operator()(eoPop< MOEOT > &_parents, eoPop< MOEOT > &_offspring)moeoElitistReplacement< MOEOT > [inline]
moeoReplacement::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement.html new file mode 100644 index 000000000..38f96b2a4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement.html @@ -0,0 +1,310 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoElitistReplacement< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoElitistReplacement< MOEOT > Class Template Reference

Elitist replacement strategy that consists in keeping the N best individuals. +More... +

+#include <moeoElitistReplacement.h> +

+

Inheritance diagram for moeoElitistReplacement< MOEOT >: +

+ +moeoReplacement< MOEOT > +eoReplacement< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoElitistReplacement (moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoDiversityAssignment< MOEOT > &_diversityAssignment, moeoComparator< MOEOT > &_comparator)
 Full constructor.
 moeoElitistReplacement (moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoDiversityAssignment< MOEOT > &_diversityAssignment)
 Constructor without comparator.
 moeoElitistReplacement (moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoComparator< MOEOT > &_comparator)
 Constructor without moeoDiversityAssignement.
 moeoElitistReplacement (moeoFitnessAssignment< MOEOT > &_fitnessAssignment)
 Constructor without moeoDiversityAssignement nor moeoComparator.
void operator() (eoPop< MOEOT > &_parents, eoPop< MOEOT > &_offspring)
 Replaces the first population by adding the individuals of the second one, sorting with a moeoComparator and resizing the whole population obtained.

Protected Attributes

+moeoFitnessAssignment< MOEOT > & fitnessAssignment
 the fitness assignment strategy
+moeoDiversityAssignment< MOEOT > & diversityAssignment
 the diversity assignment strategy
+moeoDummyDiversityAssignment<
+ MOEOT > 
defaultDiversity
 a dummy diversity assignment can be used as default
+moeoFitnessThenDiversityComparator<
+ MOEOT > 
defaultComparator
 a fitness then diversity comparator can be used as default
+moeoElitistReplacement::Cmp comparator
 this object is used to compare solutions in order to sort the population

Classes

class  Cmp
 this object is used to compare solutions in order to sort the population More...
+

Detailed Description

+

template<class MOEOT>
+ class moeoElitistReplacement< MOEOT >

+ +Elitist replacement strategy that consists in keeping the N best individuals. +

+ +

+Definition at line 51 of file moeoElitistReplacement.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoElitistReplacement< MOEOT >::moeoElitistReplacement (moeoFitnessAssignment< MOEOT > &  _fitnessAssignment,
moeoDiversityAssignment< MOEOT > &  _diversityAssignment,
moeoComparator< MOEOT > &  _comparator 
) [inline]
+
+
+ +

+Full constructor. +

+

Parameters:
+ + + + +
_fitnessAssignment the fitness assignment strategy
_diversityAssignment the diversity assignment strategy
_comparator the comparator (used to compare 2 individuals)
+
+ +

+Definition at line 61 of file moeoElitistReplacement.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoElitistReplacement< MOEOT >::moeoElitistReplacement (moeoFitnessAssignment< MOEOT > &  _fitnessAssignment,
moeoDiversityAssignment< MOEOT > &  _diversityAssignment 
) [inline]
+
+
+ +

+Constructor without comparator. +

+A moeoFitThenDivComparator is used as default.

Parameters:
+ + + +
_fitnessAssignment the fitness assignment strategy
_diversityAssignment the diversity assignment strategy
+
+ +

+Definition at line 71 of file moeoElitistReplacement.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoElitistReplacement< MOEOT >::moeoElitistReplacement (moeoFitnessAssignment< MOEOT > &  _fitnessAssignment,
moeoComparator< MOEOT > &  _comparator 
) [inline]
+
+
+ +

+Constructor without moeoDiversityAssignement. +

+A dummy diversity is used as default.

Parameters:
+ + + +
_fitnessAssignment the fitness assignment strategy
_comparator the comparator (used to compare 2 individuals)
+
+ +

+Definition at line 81 of file moeoElitistReplacement.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoElitistReplacement< MOEOT >::moeoElitistReplacement (moeoFitnessAssignment< MOEOT > &  _fitnessAssignment  )  [inline]
+
+
+ +

+Constructor without moeoDiversityAssignement nor moeoComparator. +

+A moeoFitThenDivComparator and a dummy diversity are used as default.

Parameters:
+ + +
_fitnessAssignment the fitness assignment strategy
+
+ +

+Definition at line 91 of file moeoElitistReplacement.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoElitistReplacement< MOEOT >::operator() (eoPop< MOEOT > &  _parents,
eoPop< MOEOT > &  _offspring 
) [inline]
+
+
+ +

+Replaces the first population by adding the individuals of the second one, sorting with a moeoComparator and resizing the whole population obtained. +

+

Parameters:
+ + + +
_parents the population composed of the parents (the population you want to replace)
_offspring the offspring population
+
+ +

+Definition at line 101 of file moeoElitistReplacement.h. +

+References moeoElitistReplacement< MOEOT >::comparator, moeoElitistReplacement< MOEOT >::diversityAssignment, and moeoElitistReplacement< MOEOT >::fitnessAssignment. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement.png new file mode 100644 index 000000000..c9df8b373 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement_1_1Cmp-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement_1_1Cmp-members.html new file mode 100644 index 000000000..17d840895 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement_1_1Cmp-members.html @@ -0,0 +1,39 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoElitistReplacement< MOEOT >::Cmp Member List

This is the complete list of members for moeoElitistReplacement< MOEOT >::Cmp, including all inherited members.

+ + + +
Cmp(moeoComparator< MOEOT > &_comp)moeoElitistReplacement< MOEOT >::Cmp [inline]
compmoeoElitistReplacement< MOEOT >::Cmp [private]
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoElitistReplacement< MOEOT >::Cmp [inline]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement_1_1Cmp.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement_1_1Cmp.html new file mode 100644 index 000000000..feb6f1550 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoElitistReplacement_1_1Cmp.html @@ -0,0 +1,100 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoElitistReplacement< MOEOT >::Cmp Class Reference + + + + +
+
+
+
+ +

moeoElitistReplacement< MOEOT >::Cmp Class Reference

this object is used to compare solutions in order to sort the population +More... +

+#include <moeoElitistReplacement.h> +

+List of all members. + + + + + + + + + + + + +

Public Member Functions

 Cmp (moeoComparator< MOEOT > &_comp)
 Ctor.
+bool operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns true if _moeo1 is greater than _moeo2 according to the comparator _moeo1 the first individual _moeo2 the first individual.

Private Attributes

+moeoComparator< MOEOT > & comp
 the comparator
+


Detailed Description

+

template<class MOEOT>
+ class moeoElitistReplacement< MOEOT >::Cmp

+ +this object is used to compare solutions in order to sort the population +

+ +

+Definition at line 130 of file moeoElitistReplacement.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoElitistReplacement< MOEOT >::Cmp::Cmp (moeoComparator< MOEOT > &  _comp  )  [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_comp the comparator
+
+ +

+Definition at line 137 of file moeoElitistReplacement.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric-members.html new file mode 100644 index 000000000..0bb9ee973 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric-members.html @@ -0,0 +1,50 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEntropyMetric< ObjectiveVector > Member List

This is the complete list of members for moeoEntropyMetric< ObjectiveVector >, including all inherited members.

+ + + + + + + + + + + + + + +
computeUnion(const std::vector< ObjectiveVector > &_f1, const std::vector< ObjectiveVector > &_f2, std::vector< ObjectiveVector > &_f)moeoEntropyMetric< ObjectiveVector > [inline, private]
euclidianDistance(const ObjectiveVector &_set1, const ObjectiveVector &_to, unsigned int _deg=2)moeoEntropyMetric< ObjectiveVector > [inline, private]
functor_category()eoBF< A1, A2, R > [static]
howManyInNicheOf(const std::vector< ObjectiveVector > &_f, const ObjectiveVector &_s, unsigned int _size)moeoEntropyMetric< ObjectiveVector > [inline, private]
normalize(std::vector< ObjectiveVector > &_f)moeoEntropyMetric< ObjectiveVector > [inline, private]
operator()(const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)moeoEntropyMetric< ObjectiveVector > [inline]
moeoVectorVsVectorBinaryMetric::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
paretoComparatormoeoEntropyMetric< ObjectiveVector > [private]
prenormalize(const std::vector< ObjectiveVector > &_f)moeoEntropyMetric< ObjectiveVector > [inline, private]
removeDominated(std::vector< ObjectiveVector > &_f)moeoEntropyMetric< ObjectiveVector > [inline, private]
vect_max_valmoeoEntropyMetric< ObjectiveVector > [private]
vect_min_valmoeoEntropyMetric< ObjectiveVector > [private]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric.html new file mode 100644 index 000000000..494464625 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric.html @@ -0,0 +1,303 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEntropyMetric< ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoEntropyMetric< ObjectiveVector > Class Template Reference

The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. +More... +

+#include <moeoEntropyMetric.h> +

+

Inheritance diagram for moeoEntropyMetric< ObjectiveVector >: +

+ +moeoVectorVsVectorBinaryMetric< ObjectiveVector, R > +moeoBinaryMetric< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

double operator() (const std::vector< ObjectiveVector > &_set1, const std::vector< ObjectiveVector > &_set2)
 Returns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'.

Private Member Functions

void removeDominated (std::vector< ObjectiveVector > &_f)
 Removes the dominated individuals contained in _f.
void prenormalize (const std::vector< ObjectiveVector > &_f)
 Prenormalization.
void normalize (std::vector< ObjectiveVector > &_f)
 Normalization.
void computeUnion (const std::vector< ObjectiveVector > &_f1, const std::vector< ObjectiveVector > &_f2, std::vector< ObjectiveVector > &_f)
 Computation of the union of _f1 and _f2 in _f.
+unsigned int howManyInNicheOf (const std::vector< ObjectiveVector > &_f, const ObjectiveVector &_s, unsigned int _size)
 How many in niche.
+double euclidianDistance (const ObjectiveVector &_set1, const ObjectiveVector &_to, unsigned int _deg=2)
 Euclidian distance.

Private Attributes

+std::vector< double > vect_min_val
 vector of min values
+std::vector< double > vect_max_val
 vector of max values
+moeoParetoObjectiveVectorComparator<
+ ObjectiveVector
paretoComparator
 Functor to compare two objective vectors according to Pareto dominance relation.
+

Detailed Description

+

template<class ObjectiveVector>
+ class moeoEntropyMetric< ObjectiveVector >

+ +The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. +

+of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156) +

+ +

+Definition at line 50 of file moeoEntropyMetric.h.


Member Function Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
double moeoEntropyMetric< ObjectiveVector >::operator() (const std::vector< ObjectiveVector > &  _set1,
const std::vector< ObjectiveVector > &  _set2 
) [inline]
+
+
+ +

+Returns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 59 of file moeoEntropyMetric.h. +

+References moeoEntropyMetric< ObjectiveVector >::computeUnion(), moeoEntropyMetric< ObjectiveVector >::howManyInNicheOf(), moeoEntropyMetric< ObjectiveVector >::normalize(), moeoEntropyMetric< ObjectiveVector >::prenormalize(), and moeoEntropyMetric< ObjectiveVector >::removeDominated(). +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + +
void moeoEntropyMetric< ObjectiveVector >::removeDominated (std::vector< ObjectiveVector > &  _f  )  [inline, private]
+
+
+ +

+Removes the dominated individuals contained in _f. +

+

Parameters:
+ + +
_f a Pareto set
+
+ +

+Definition at line 113 of file moeoEntropyMetric.h. +

+References moeoEntropyMetric< ObjectiveVector >::paretoComparator. +

+Referenced by moeoEntropyMetric< ObjectiveVector >::operator()(). +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + +
void moeoEntropyMetric< ObjectiveVector >::prenormalize (const std::vector< ObjectiveVector > &  _f  )  [inline, private]
+
+
+ +

+Prenormalization. +

+

Parameters:
+ + +
_f a Pareto set
+
+ +

+Definition at line 138 of file moeoEntropyMetric.h. +

+References moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(), moeoEntropyMetric< ObjectiveVector >::vect_max_val, and moeoEntropyMetric< ObjectiveVector >::vect_min_val. +

+Referenced by moeoEntropyMetric< ObjectiveVector >::operator()(). +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + +
void moeoEntropyMetric< ObjectiveVector >::normalize (std::vector< ObjectiveVector > &  _f  )  [inline, private]
+
+
+ +

+Normalization. +

+

Parameters:
+ + +
_f a Pareto set
+
+ +

+Definition at line 163 of file moeoEntropyMetric.h. +

+References moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(), moeoEntropyMetric< ObjectiveVector >::vect_max_val, and moeoEntropyMetric< ObjectiveVector >::vect_min_val. +

+Referenced by moeoEntropyMetric< ObjectiveVector >::operator()(). +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + + + + + + + +
void moeoEntropyMetric< ObjectiveVector >::computeUnion (const std::vector< ObjectiveVector > &  _f1,
const std::vector< ObjectiveVector > &  _f2,
std::vector< ObjectiveVector > &  _f 
) [inline, private]
+
+
+ +

+Computation of the union of _f1 and _f2 in _f. +

+

Parameters:
+ + + + +
_f1 the first Pareto set
_f2 the second Pareto set
_f the final Pareto set
+
+ +

+Definition at line 177 of file moeoEntropyMetric.h. +

+Referenced by moeoEntropyMetric< ObjectiveVector >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric.png new file mode 100644 index 000000000..0a62a7e09 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEntropyMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement-members.html new file mode 100644 index 000000000..fcf8c4690 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEnvironmentalReplacement< MOEOT > Member List

This is the complete list of members for moeoEnvironmentalReplacement< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + +
comparatormoeoEnvironmentalReplacement< MOEOT > [protected]
defaultComparatormoeoEnvironmentalReplacement< MOEOT > [protected]
defaultDiversitymoeoEnvironmentalReplacement< MOEOT > [protected]
diversityAssignmentmoeoEnvironmentalReplacement< MOEOT > [protected]
fitnessAssignmentmoeoEnvironmentalReplacement< MOEOT > [protected]
functor_category()eoBF< A1, A2, R > [static]
moeoEnvironmentalReplacement(moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoDiversityAssignment< MOEOT > &_diversityAssignment, moeoComparator< MOEOT > &_comparator)moeoEnvironmentalReplacement< MOEOT > [inline]
moeoEnvironmentalReplacement(moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoDiversityAssignment< MOEOT > &_diversityAssignment)moeoEnvironmentalReplacement< MOEOT > [inline]
moeoEnvironmentalReplacement(moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoComparator< MOEOT > &_comparator)moeoEnvironmentalReplacement< MOEOT > [inline]
moeoEnvironmentalReplacement(moeoFitnessAssignment< MOEOT > &_fitnessAssignment)moeoEnvironmentalReplacement< MOEOT > [inline]
ObjectiveVector typedefmoeoEnvironmentalReplacement< MOEOT >
operator()(eoPop< MOEOT > &_parents, eoPop< MOEOT > &_offspring)moeoEnvironmentalReplacement< MOEOT > [inline]
moeoReplacement::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement.html new file mode 100644 index 000000000..7065a5927 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement.html @@ -0,0 +1,315 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEnvironmentalReplacement< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoEnvironmentalReplacement< MOEOT > Class Template Reference

Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion. +More... +

+#include <moeoEnvironmentalReplacement.h> +

+

Inheritance diagram for moeoEnvironmentalReplacement< MOEOT >: +

+ +moeoReplacement< MOEOT > +eoReplacement< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type for objective vector.

Public Member Functions

 moeoEnvironmentalReplacement (moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoDiversityAssignment< MOEOT > &_diversityAssignment, moeoComparator< MOEOT > &_comparator)
 Full constructor.
 moeoEnvironmentalReplacement (moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoDiversityAssignment< MOEOT > &_diversityAssignment)
 Constructor without comparator.
 moeoEnvironmentalReplacement (moeoFitnessAssignment< MOEOT > &_fitnessAssignment, moeoComparator< MOEOT > &_comparator)
 Constructor without moeoDiversityAssignement.
 moeoEnvironmentalReplacement (moeoFitnessAssignment< MOEOT > &_fitnessAssignment)
 Constructor without moeoDiversityAssignement nor moeoComparator.
void operator() (eoPop< MOEOT > &_parents, eoPop< MOEOT > &_offspring)
 Replaces the first population by adding the individuals of the second one, sorting with a moeoComparator and resizing the whole population obtained.

Protected Attributes

+moeoFitnessAssignment< MOEOT > & fitnessAssignment
 the fitness assignment strategy
+moeoDiversityAssignment< MOEOT > & diversityAssignment
 the diversity assignment strategy
+moeoDummyDiversityAssignment<
+ MOEOT > 
defaultDiversity
 a dummy diversity assignment can be used as default
+moeoFitnessThenDiversityComparator<
+ MOEOT > 
defaultComparator
 a fitness then diversity comparator can be used as default
+moeoEnvironmentalReplacement::Cmp comparator
 this object is used to compare solutions in order to sort the population

Classes

class  Cmp
 this object is used to compare solutions in order to sort the population More...
+

Detailed Description

+

template<class MOEOT>
+ class moeoEnvironmentalReplacement< MOEOT >

+ +Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion. +

+ +

+Definition at line 51 of file moeoEnvironmentalReplacement.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoEnvironmentalReplacement< MOEOT >::moeoEnvironmentalReplacement (moeoFitnessAssignment< MOEOT > &  _fitnessAssignment,
moeoDiversityAssignment< MOEOT > &  _diversityAssignment,
moeoComparator< MOEOT > &  _comparator 
) [inline]
+
+
+ +

+Full constructor. +

+

Parameters:
+ + + + +
_fitnessAssignment the fitness assignment strategy
_diversityAssignment the diversity assignment strategy
_comparator the comparator (used to compare 2 individuals)
+
+ +

+Definition at line 65 of file moeoEnvironmentalReplacement.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoEnvironmentalReplacement< MOEOT >::moeoEnvironmentalReplacement (moeoFitnessAssignment< MOEOT > &  _fitnessAssignment,
moeoDiversityAssignment< MOEOT > &  _diversityAssignment 
) [inline]
+
+
+ +

+Constructor without comparator. +

+A moeoFitThenDivComparator is used as default.

Parameters:
+ + + +
_fitnessAssignment the fitness assignment strategy
_diversityAssignment the diversity assignment strategy
+
+ +

+Definition at line 75 of file moeoEnvironmentalReplacement.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoEnvironmentalReplacement< MOEOT >::moeoEnvironmentalReplacement (moeoFitnessAssignment< MOEOT > &  _fitnessAssignment,
moeoComparator< MOEOT > &  _comparator 
) [inline]
+
+
+ +

+Constructor without moeoDiversityAssignement. +

+A dummy diversity is used as default.

Parameters:
+ + + +
_fitnessAssignment the fitness assignment strategy
_comparator the comparator (used to compare 2 individuals)
+
+ +

+Definition at line 85 of file moeoEnvironmentalReplacement.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoEnvironmentalReplacement< MOEOT >::moeoEnvironmentalReplacement (moeoFitnessAssignment< MOEOT > &  _fitnessAssignment  )  [inline]
+
+
+ +

+Constructor without moeoDiversityAssignement nor moeoComparator. +

+A moeoFitThenDivComparator and a dummy diversity are used as default.

Parameters:
+ + +
_fitnessAssignment the fitness assignment strategy
+
+ +

+Definition at line 95 of file moeoEnvironmentalReplacement.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoEnvironmentalReplacement< MOEOT >::operator() (eoPop< MOEOT > &  _parents,
eoPop< MOEOT > &  _offspring 
) [inline]
+
+
+ +

+Replaces the first population by adding the individuals of the second one, sorting with a moeoComparator and resizing the whole population obtained. +

+

Parameters:
+ + + +
_parents the population composed of the parents (the population you want to replace)
_offspring the offspring population
+
+ +

+Definition at line 105 of file moeoEnvironmentalReplacement.h. +

+References moeoEnvironmentalReplacement< MOEOT >::comparator, moeoEnvironmentalReplacement< MOEOT >::diversityAssignment, and moeoEnvironmentalReplacement< MOEOT >::fitnessAssignment. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement.png new file mode 100644 index 000000000..ee0869fc6 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement_1_1Cmp-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement_1_1Cmp-members.html new file mode 100644 index 000000000..e5a1f414a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement_1_1Cmp-members.html @@ -0,0 +1,39 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEnvironmentalReplacement< MOEOT >::Cmp Member List

This is the complete list of members for moeoEnvironmentalReplacement< MOEOT >::Cmp, including all inherited members.

+ + + +
Cmp(moeoComparator< MOEOT > &_comp)moeoEnvironmentalReplacement< MOEOT >::Cmp [inline]
compmoeoEnvironmentalReplacement< MOEOT >::Cmp [private]
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoEnvironmentalReplacement< MOEOT >::Cmp [inline]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement_1_1Cmp.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement_1_1Cmp.html new file mode 100644 index 000000000..8506ed09d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEnvironmentalReplacement_1_1Cmp.html @@ -0,0 +1,100 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEnvironmentalReplacement< MOEOT >::Cmp Class Reference + + + + +
+
+
+
+ +

moeoEnvironmentalReplacement< MOEOT >::Cmp Class Reference

this object is used to compare solutions in order to sort the population +More... +

+#include <moeoEnvironmentalReplacement.h> +

+List of all members. + + + + + + + + + + + + +

Public Member Functions

 Cmp (moeoComparator< MOEOT > &_comp)
 Ctor.
+bool operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns true if _moeo1 is greater than _moeo2 according to the comparator _moeo1 the first individual _moeo2 the first individual.

Private Attributes

+moeoComparator< MOEOT > & comp
 the comparator
+


Detailed Description

+

template<class MOEOT>
+ class moeoEnvironmentalReplacement< MOEOT >::Cmp

+ +this object is used to compare solutions in order to sort the population +

+ +

+Definition at line 146 of file moeoEnvironmentalReplacement.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoEnvironmentalReplacement< MOEOT >::Cmp::Cmp (moeoComparator< MOEOT > &  _comp  )  [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_comp the comparator
+
+ +

+Definition at line 153 of file moeoEnvironmentalReplacement.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance-members.html new file mode 100644 index 000000000..90438d07b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEuclideanDistance< MOEOT > Member List

This is the complete list of members for moeoEuclideanDistance< MOEOT >, including all inherited members.

+ + + + + + + + + + + + +
boundsmoeoNormalizedDistance< MOEOT > [protected]
functor_category()eoBF< A1, A2, R > [static]
moeoNormalizedDistance()moeoNormalizedDistance< MOEOT > [inline]
ObjectiveVector typedefmoeoEuclideanDistance< MOEOT >
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoEuclideanDistance< MOEOT > [inline]
moeoNormalizedDistance< MOEOT >::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
setup(const eoPop< MOEOT > &_pop)moeoNormalizedDistance< MOEOT > [inline, virtual]
setup(double _min, double _max, unsigned int _obj)moeoNormalizedDistance< MOEOT > [inline, virtual]
setup(eoRealInterval _realInterval, unsigned int _obj)moeoNormalizedDistance< MOEOT > [inline, virtual]
tiny()moeoNormalizedDistance< MOEOT > [inline, static]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance.html new file mode 100644 index 000000000..c8b6b283c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance.html @@ -0,0 +1,116 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEuclideanDistance< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoEuclideanDistance< MOEOT > Class Template Reference

A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e. +More... +

+#include <moeoEuclideanDistance.h> +

+

Inheritance diagram for moeoEuclideanDistance< MOEOT >: +

+ +moeoNormalizedDistance< MOEOT > +moeoDistance< MOEOT, double > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

const double operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns the euclidian distance between _moeo1 and _moeo2 in the objective space.
+

Detailed Description

+

template<class MOEOT>
+ class moeoEuclideanDistance< MOEOT >

+ +A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e. +

+between 0 and 1). A distance value then lies between 0 and sqrt(nObjectives). +

+ +

+Definition at line 49 of file moeoEuclideanDistance.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
const double moeoEuclideanDistance< MOEOT >::operator() (const MOEOT &  _moeo1,
const MOEOT &  _moeo2 
) [inline]
+
+
+ +

+Returns the euclidian distance between _moeo1 and _moeo2 in the objective space. +

+

Parameters:
+ + + +
_moeo1 the first solution
_moeo2 the second solution
+
+ +

+Definition at line 62 of file moeoEuclideanDistance.h. +

+References moeoNormalizedDistance< MOEOT >::bounds, and moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance.png new file mode 100644 index 000000000..e57f38c7c Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEuclideanDistance.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc-members.html new file mode 100644 index 000000000..881bc2985 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc-members.html @@ -0,0 +1,42 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoEvalFunc< MOEOT > Member List

This is the complete list of members for moeoEvalFunc< MOEOT >, including all inherited members.

+ + + + + + +
EOFitT typedefeoEvalFunc< MOEOT >
EOType typedefeoEvalFunc< MOEOT >
functor_category()eoUF< A1, R > [static]
operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc.html new file mode 100644 index 000000000..b04edbe75 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc.html @@ -0,0 +1,55 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEvalFunc< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoEvalFunc< MOEOT > Class Template Reference

Inheritance diagram for moeoEvalFunc< MOEOT >: +

+ +eoEvalFunc< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoEvalFunc< MOEOT >

+ + +

+ +

+Definition at line 47 of file moeoEvalFunc.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc.png new file mode 100644 index 000000000..cf6ffdddc Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoEvalFunc.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment-members.html new file mode 100644 index 000000000..3366e2a4d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment-members.html @@ -0,0 +1,52 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + + +
computeFitness(const unsigned int _idx)moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [inline, protected]
computeValues(const eoPop< MOEOT > &_pop)moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [inline, protected]
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
kappamoeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [protected]
metricmoeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [protected]
moeoExpBinaryIndicatorBasedFitnessAssignment(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [inline]
ObjectiveVector typedefmoeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [inline, virtual]
setFitnesses(eoPop< MOEOT > &_pop)moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [inline, protected]
setup(const eoPop< MOEOT > &_pop)moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [inline, protected]
updateByAdding(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [inline, virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [inline, virtual]
moeoBinaryIndicatorBasedFitnessAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
valuesmoeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > [protected]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment.html new file mode 100644 index 000000000..7011c4353 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment.html @@ -0,0 +1,418 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference

Fitness assignment sheme based on an indicator proposed in: E. +More... +

+#include <moeoExpBinaryIndicatorBasedFitnessAssignment.h> +

+

Inheritance diagram for moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >: +

+ +moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > +moeoIndicatorBasedFitnessAssignment< MOEOT > +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type of objective vector.

Public Member Functions

 moeoExpBinaryIndicatorBasedFitnessAssignment (moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)
 Ctor.
void operator() (eoPop< MOEOT > &_pop)
 Sets the fitness values for every solution contained in the population _pop.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)
 Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
double updateByAdding (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)
 Updates the fitness values of the whole population _pop by taking the adding of the objective vector _objVec into account and returns the fitness value of _objVec.

Protected Member Functions

void setup (const eoPop< MOEOT > &_pop)
 Sets the bounds for every objective using the min and the max value for every objective vector of _pop.
void computeValues (const eoPop< MOEOT > &_pop)
 Compute every indicator value in values (values[i] = I(_v[i], _o)).
void setFitnesses (eoPop< MOEOT > &_pop)
 Sets the fitness value of the whple population.
double computeFitness (const unsigned int _idx)
 Returns the fitness value of the _idx th individual of the population.

Protected Attributes

+moeoNormalizedSolutionVsSolutionBinaryMetric<
+ ObjectiveVector, double > & 
metric
 the quality indicator
+double kappa
 the scaling factor
+std::vector< std::vector<
+ double > > 
values
 the computed indicator values
+

Detailed Description

+

template<class MOEOT>
+ class moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >

+ +Fitness assignment sheme based on an indicator proposed in: E. +

+Zitzler, S. Künzli, "Indicator-Based Selection in Multiobjective Search", Proc. 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 832-842, Birmingham, UK (2004). This strategy is, for instance, used in IBEA. +

+ +

+Definition at line 54 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::moeoExpBinaryIndicatorBasedFitnessAssignment (moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &  _metric,
const double  _kappa = 0.05 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_metric the quality indicator
_kappa the scaling factor
+
+ +

+Definition at line 67 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets the fitness values for every solution contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< eoPop< MOEOT > &, void >. +

+Definition at line 75 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +

+References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::computeValues(), moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::setFitnesses(), and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::setup(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implements moeoFitnessAssignment< MOEOT >. +

+Definition at line 91 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +

+References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::kappa, and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::metric. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
double moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::updateByAdding (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the adding of the objective vector _objVec into account and returns the fitness value of _objVec. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implements moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >. +

+Definition at line 112 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +

+References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::kappa, and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::metric. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::setup (const eoPop< MOEOT > &  _pop  )  [inline, protected]
+
+
+ +

+Sets the bounds for every objective using the min and the max value for every objective vector of _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 155 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +

+References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::metric, and moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(). +

+Referenced by moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::computeValues (const eoPop< MOEOT > &  _pop  )  [inline, protected]
+
+
+ +

+Compute every indicator value in values (values[i] = I(_v[i], _o)). +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 177 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +

+References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::metric, and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::values. +

+Referenced by moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::setFitnesses (eoPop< MOEOT > &  _pop  )  [inline, protected]
+
+
+ +

+Sets the fitness value of the whple population. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 199 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +

+References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::computeFitness(). +

+Referenced by moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
double moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::computeFitness (const unsigned int  _idx  )  [inline, protected]
+
+
+ +

+Returns the fitness value of the _idx th individual of the population. +

+

Parameters:
+ + +
_idx the index
+
+ +

+Definition at line 212 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +

+References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::kappa, and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::values. +

+Referenced by moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::setFitnesses(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment.png new file mode 100644 index 000000000..6dd362e57 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoExpBinaryIndicatorBasedFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment-members.html new file mode 100644 index 000000000..b9ab133c1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoFastNonDominatedSortingFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoFastNonDominatedSortingFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + +
comparatormoeoFastNonDominatedSortingFitnessAssignment< MOEOT > [private]
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
mObjectives(eoPop< MOEOT > &_pop)moeoFastNonDominatedSortingFitnessAssignment< MOEOT > [inline, private]
moeoFastNonDominatedSortingFitnessAssignment()moeoFastNonDominatedSortingFitnessAssignment< MOEOT > [inline]
moeoFastNonDominatedSortingFitnessAssignment(moeoObjectiveVectorComparator< ObjectiveVector > &_comparator)moeoFastNonDominatedSortingFitnessAssignment< MOEOT > [inline]
objComparatormoeoFastNonDominatedSortingFitnessAssignment< MOEOT > [private]
ObjectiveVector typedefmoeoFastNonDominatedSortingFitnessAssignment< MOEOT >
oneObjective(eoPop< MOEOT > &_pop)moeoFastNonDominatedSortingFitnessAssignment< MOEOT > [inline, private]
operator()(eoPop< MOEOT > &_pop)moeoFastNonDominatedSortingFitnessAssignment< MOEOT > [inline, virtual]
paretoComparatormoeoFastNonDominatedSortingFitnessAssignment< MOEOT > [private]
twoObjectives(eoPop< MOEOT > &_pop)moeoFastNonDominatedSortingFitnessAssignment< MOEOT > [inline, private]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoFastNonDominatedSortingFitnessAssignment< MOEOT > [inline, virtual]
moeoParetoBasedFitnessAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment.html new file mode 100644 index 000000000..cafad445e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment.html @@ -0,0 +1,325 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFastNonDominatedSortingFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoFastNonDominatedSortingFitnessAssignment< MOEOT > Class Template Reference

Fitness assignment sheme based on Pareto-dominance count proposed in: N. +More... +

+#include <moeoFastNonDominatedSortingFitnessAssignment.h> +

+

Inheritance diagram for moeoFastNonDominatedSortingFitnessAssignment< MOEOT >: +

+ +moeoParetoBasedFitnessAssignment< MOEOT > +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

moeoFastNonDominatedSortingFitnessAssignment ()
 Default ctor.
 moeoFastNonDominatedSortingFitnessAssignment (moeoObjectiveVectorComparator< ObjectiveVector > &_comparator)
 Ctor where you can choose your own way to compare objective vectors.
void operator() (eoPop< MOEOT > &_pop)
 Sets the fitness values for every solution contained in the population _pop.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)
 Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account.

Private Member Functions

void oneObjective (eoPop< MOEOT > &_pop)
 Sets the fitness values for mono-objective problems.
void twoObjectives (eoPop< MOEOT > &_pop)
 Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size.
void mObjectives (eoPop< MOEOT > &_pop)
 Sets the fitness values for problems with more than two objectives with a complexity of O(n² log n), where n stands for the population size.

Private Attributes

+moeoObjectiveVectorComparator<
+ ObjectiveVector > & 
comparator
 Functor to compare two objective vectors.
+moeoParetoObjectiveVectorComparator<
+ ObjectiveVector
paretoComparator
 Functor to compare two objective vectors according to Pareto dominance relation.
+moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator objComparator
 Functor allowing to compare two solutions according to their first objective value, then their second, and so on.

Classes

class  ObjectiveComparator
 Functor allowing to compare two solutions according to their first objective value, then their second, and so on. More...
+

Detailed Description

+

template<class MOEOT>
+ class moeoFastNonDominatedSortingFitnessAssignment< MOEOT >

+ +Fitness assignment sheme based on Pareto-dominance count proposed in: N. +

+Srinivas, K. Deb, "Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms", Evolutionary Computation vol. 2, no. 3, pp. 221-248 (1994) and in: K. Deb, A. Pratap, S. Agarwal, T. Meyarivan, "A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II", IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). This strategy is, for instance, used in NSGA and NSGA-II. +

+ +

+Definition at line 57 of file moeoFastNonDominatedSortingFitnessAssignment.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::moeoFastNonDominatedSortingFitnessAssignment (moeoObjectiveVectorComparator< ObjectiveVector > &  _comparator  )  [inline]
+
+
+ +

+Ctor where you can choose your own way to compare objective vectors. +

+

Parameters:
+ + +
_comparator the functor used to compare objective vectors
+
+ +

+Definition at line 76 of file moeoFastNonDominatedSortingFitnessAssignment.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets the fitness values for every solution contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< eoPop< MOEOT > &, void >. +

+Definition at line 84 of file moeoFastNonDominatedSortingFitnessAssignment.h. +

+References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::mObjectives(), and moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::oneObjective(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implements moeoFitnessAssignment< MOEOT >. +

+Definition at line 126 of file moeoFastNonDominatedSortingFitnessAssignment.h. +

+References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::comparator. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::oneObjective (eoPop< MOEOT > &  _pop  )  [inline, private]
+
+
+ +

+Sets the fitness values for mono-objective problems. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 169 of file moeoFastNonDominatedSortingFitnessAssignment.h. +

+References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::objComparator. +

+Referenced by moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::operator()(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::twoObjectives (eoPop< MOEOT > &  _pop  )  [inline, private]
+
+
+ +

+Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 191 of file moeoFastNonDominatedSortingFitnessAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::mObjectives (eoPop< MOEOT > &  _pop  )  [inline, private]
+
+
+ +

+Sets the fitness values for problems with more than two objectives with a complexity of O(n² log n), where n stands for the population size. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 201 of file moeoFastNonDominatedSortingFitnessAssignment.h. +

+References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::comparator. +

+Referenced by moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment.png new file mode 100644 index 000000000..3749d9490 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator-members.html new file mode 100644 index 000000000..00bc42f24 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator-members.html @@ -0,0 +1,42 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator Member List

This is the complete list of members for moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator, including all inherited members.

+ + + + + + +
cmpmoeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator [private]
functor_category()eoBF< A1, A2, R > [static]
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator [inline]
moeoComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.html new file mode 100644 index 000000000..cff478283 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.html @@ -0,0 +1,114 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator Class Reference + + + + +
+
+
+
+ +

moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator Class Reference

Functor allowing to compare two solutions according to their first objective value, then their second, and so on. +More... +

+

Inheritance diagram for moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator: +

+ +moeoComparator< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + +

Public Member Functions

const bool operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns true if _moeo1 < _moeo2 on the first objective, then on the second, and so on.

Private Attributes

+moeoObjectiveObjectiveVectorComparator<
+ ObjectiveVector
cmp
 the corresponding comparator for objective vectors
+

Detailed Description

+

template<class MOEOT>
+ class moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator

+ +Functor allowing to compare two solutions according to their first objective value, then their second, and so on. +

+ +

+Definition at line 146 of file moeoFastNonDominatedSortingFitnessAssignment.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
const bool moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator::operator() (const MOEOT &  _moeo1,
const MOEOT &  _moeo2 
) [inline]
+
+
+ +

+Returns true if _moeo1 < _moeo2 on the first objective, then on the second, and so on. +

+

Parameters:
+ + + +
_moeo1 the first solution
_moeo2 the second solution
+
+ +

+Definition at line 154 of file moeoFastNonDominatedSortingFitnessAssignment.h. +

+References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator::cmp. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.png new file mode 100644 index 000000000..797288325 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment-members.html new file mode 100644 index 000000000..e45d2ee55 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &)=0eoUF< eoPop< MOEOT > &, void > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoFitnessAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment.html new file mode 100644 index 000000000..8abbe03db --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment.html @@ -0,0 +1,168 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoFitnessAssignment< MOEOT > Class Template Reference

Functor that sets the fitness values of a whole population. +More... +

+#include <moeoFitnessAssignment.h> +

+

Inheritance diagram for moeoFitnessAssignment< MOEOT >: +

+ +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase +moeoCriterionBasedFitnessAssignment< MOEOT > +moeoDummyFitnessAssignment< MOEOT > +moeoIndicatorBasedFitnessAssignment< MOEOT > +moeoParetoBasedFitnessAssignment< MOEOT > +moeoScalarFitnessAssignment< MOEOT > +moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > +moeoUnaryIndicatorBasedFitnessAssignment< MOEOT > +moeoFastNonDominatedSortingFitnessAssignment< MOEOT > +moeoAchievementFitnessAssignment< MOEOT > +moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > + +List of all members. + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type for objective vector.

Public Member Functions

virtual void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0
 Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
void updateByDeleting (eoPop< MOEOT > &_pop, MOEOT &_moeo)
 Updates the fitness values of the whole population _pop by taking the deletion of the individual _moeo into account.
+

Detailed Description

+

template<class MOEOT>
+ class moeoFitnessAssignment< MOEOT >

+ +Functor that sets the fitness values of a whole population. +

+ +

+Definition at line 48 of file moeoFitnessAssignment.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
virtual void moeoFitnessAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [pure virtual]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implemented in moeoAchievementFitnessAssignment< MOEOT >, moeoDummyFitnessAssignment< MOEOT >, moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >, and moeoFastNonDominatedSortingFitnessAssignment< MOEOT >. +

+Referenced by moeoFitnessAssignment< MOEOT >::updateByDeleting(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoFitnessAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
MOEOT &  _moeo 
) [inline]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the deletion of the individual _moeo into account. +

+

Parameters:
+ + + +
_pop the population
_moeo the individual
+
+ +

+Definition at line 69 of file moeoFitnessAssignment.h. +

+References moeoFitnessAssignment< MOEOT >::updateByDeleting(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment.png new file mode 100644 index 000000000..2e0cd207d Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator-members.html new file mode 100644 index 000000000..77409c4a6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoFitnessThenDiversityComparator< MOEOT > Member List

This is the complete list of members for moeoFitnessThenDiversityComparator< MOEOT >, including all inherited members.

+ + + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoFitnessThenDiversityComparator< MOEOT > [inline]
moeoComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator.html new file mode 100644 index 000000000..e7f20e63e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator.html @@ -0,0 +1,106 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFitnessThenDiversityComparator< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoFitnessThenDiversityComparator< MOEOT > Class Template Reference

Functor allowing to compare two solutions according to their fitness values, then according to their diversity values. +More... +

+#include <moeoFitnessThenDiversityComparator.h> +

+

Inheritance diagram for moeoFitnessThenDiversityComparator< MOEOT >: +

+ +moeoComparator< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

const bool operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns true if _moeo1 < _moeo2 according to their fitness values, then according to their diversity values.
+

Detailed Description

+

template<class MOEOT>
+ class moeoFitnessThenDiversityComparator< MOEOT >

+ +Functor allowing to compare two solutions according to their fitness values, then according to their diversity values. +

+ +

+Definition at line 47 of file moeoFitnessThenDiversityComparator.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
const bool moeoFitnessThenDiversityComparator< MOEOT >::operator() (const MOEOT &  _moeo1,
const MOEOT &  _moeo2 
) [inline]
+
+
+ +

+Returns true if _moeo1 < _moeo2 according to their fitness values, then according to their diversity values. +

+

Parameters:
+ + + +
_moeo1 the first solution
_moeo2 the second solution
+
+ +

+Definition at line 56 of file moeoFitnessThenDiversityComparator.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator.png new file mode 100644 index 000000000..13040c492 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFitnessThenDiversityComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment-members.html new file mode 100644 index 000000000..75a06868f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoFrontByFrontCrowdingDiversityAssignment< MOEOT > Member List

This is the complete list of members for moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >, including all inherited members.

+ + + + + + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
inf() const moeoCrowdingDiversityAssignment< MOEOT > [inline]
lastIndex(eoPop< MOEOT > &_pop, unsigned int _start)moeoFrontByFrontCrowdingDiversityAssignment< MOEOT > [inline, private]
ObjectiveVector typedefmoeoFrontByFrontCrowdingDiversityAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoCrowdingDiversityAssignment< MOEOT > [inline, virtual]
setDistances(eoPop< MOEOT > &_pop)moeoFrontByFrontCrowdingDiversityAssignment< MOEOT > [inline, private, virtual]
tiny() const moeoCrowdingDiversityAssignment< MOEOT > [inline]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoFrontByFrontCrowdingDiversityAssignment< MOEOT > [inline, virtual]
moeoDiversityAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoDiversityAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment.html new file mode 100644 index 000000000..d1efcc8bd --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment.html @@ -0,0 +1,200 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFrontByFrontCrowdingDiversityAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoFrontByFrontCrowdingDiversityAssignment< MOEOT > Class Template Reference

Diversity assignment sheme based on crowding proposed in: K. +More... +

+#include <moeoFrontByFrontCrowdingDiversityAssignment.h> +

+

Inheritance diagram for moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >: +

+ +moeoCrowdingDiversityAssignment< MOEOT > +moeoDiversityAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)

Private Member Functions

void setDistances (eoPop< MOEOT > &_pop)
 Sets the distance values.
unsigned int lastIndex (eoPop< MOEOT > &_pop, unsigned int _start)
 Returns the index of the last individual having the same fitness value than _pop[_start].
+

Detailed Description

+

template<class MOEOT>
+ class moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >

+ +Diversity assignment sheme based on crowding proposed in: K. +

+Deb, A. Pratap, S. Agarwal, T. Meyarivan, "A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II", IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). Tis strategy assigns diversity values FRONT BY FRONT. It is, for instance, used in NSGA-II. +

+ +

+Definition at line 50 of file moeoFrontByFrontCrowdingDiversityAssignment.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+

Warning:
NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
+
Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+
Warning:
NOT IMPLEMENTED, DO NOTHING !
+ +

+Reimplemented from moeoCrowdingDiversityAssignment< MOEOT >. +

+Definition at line 65 of file moeoFrontByFrontCrowdingDiversityAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >::setDistances (eoPop< MOEOT > &  _pop  )  [inline, private, virtual]
+
+
+ +

+Sets the distance values. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Reimplemented from moeoCrowdingDiversityAssignment< MOEOT >. +

+Definition at line 80 of file moeoFrontByFrontCrowdingDiversityAssignment.h. +

+References moeoCrowdingDiversityAssignment< MOEOT >::inf(), moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >::lastIndex(), and moeoCrowdingDiversityAssignment< MOEOT >::tiny(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
unsigned int moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >::lastIndex (eoPop< MOEOT > &  _pop,
unsigned int  _start 
) [inline, private]
+
+
+ +

+Returns the index of the last individual having the same fitness value than _pop[_start]. +

+

Parameters:
+ + + +
_pop the population
_start the index to start from
+
+ +

+Definition at line 146 of file moeoFrontByFrontCrowdingDiversityAssignment.h. +

+Referenced by moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >::setDistances(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment.png new file mode 100644 index 000000000..30e862b7b Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontCrowdingDiversityAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment-members.html new file mode 100644 index 000000000..5f29d5505 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment-members.html @@ -0,0 +1,53 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoFrontByFrontSharingDiversityAssignment< MOEOT > Member List

This is the complete list of members for moeoFrontByFrontSharingDiversityAssignment< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + + + +
alphamoeoSharingDiversityAssignment< MOEOT > [protected]
defaultDistancemoeoSharingDiversityAssignment< MOEOT > [protected]
distancemoeoSharingDiversityAssignment< MOEOT > [protected]
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
moeoFrontByFrontSharingDiversityAssignment(moeoDistance< MOEOT, double > &_distance, double _nicheSize=0.5, double _alpha=2.0)moeoFrontByFrontSharingDiversityAssignment< MOEOT > [inline]
moeoFrontByFrontSharingDiversityAssignment(double _nicheSize=0.5, double _alpha=2.0)moeoFrontByFrontSharingDiversityAssignment< MOEOT > [inline]
moeoSharingDiversityAssignment(moeoDistance< MOEOT, double > &_distance, double _nicheSize=0.5, double _alpha=1.0)moeoSharingDiversityAssignment< MOEOT > [inline]
moeoSharingDiversityAssignment(double _nicheSize=0.5, double _alpha=1.0)moeoSharingDiversityAssignment< MOEOT > [inline]
nicheSizemoeoSharingDiversityAssignment< MOEOT > [protected]
ObjectiveVector typedefmoeoFrontByFrontSharingDiversityAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoSharingDiversityAssignment< MOEOT > [inline, virtual]
setSimilarities(eoPop< MOEOT > &_pop)moeoFrontByFrontSharingDiversityAssignment< MOEOT > [inline, private, virtual]
sh(double _dist)moeoSharingDiversityAssignment< MOEOT > [inline, protected]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoFrontByFrontSharingDiversityAssignment< MOEOT > [inline, virtual]
moeoDiversityAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoDiversityAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment.html new file mode 100644 index 000000000..a9dfc853c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment.html @@ -0,0 +1,248 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFrontByFrontSharingDiversityAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoFrontByFrontSharingDiversityAssignment< MOEOT > Class Template Reference

Sharing assignment scheme on the way it is used in NSGA. +More... +

+#include <moeoFrontByFrontSharingDiversityAssignment.h> +

+

Inheritance diagram for moeoFrontByFrontSharingDiversityAssignment< MOEOT >: +

+ +moeoSharingDiversityAssignment< MOEOT > +moeoDiversityAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

 moeoFrontByFrontSharingDiversityAssignment (moeoDistance< MOEOT, double > &_distance, double _nicheSize=0.5, double _alpha=2.0)
 Ctor.
 moeoFrontByFrontSharingDiversityAssignment (double _nicheSize=0.5, double _alpha=2.0)
 Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)

Private Member Functions

void setSimilarities (eoPop< MOEOT > &_pop)
 Sets similarities FRONT BY FRONT for every solution contained in the population _pop.
+

Detailed Description

+

template<class MOEOT>
+ class moeoFrontByFrontSharingDiversityAssignment< MOEOT >

+ +Sharing assignment scheme on the way it is used in NSGA. +

+ +

+Definition at line 47 of file moeoFrontByFrontSharingDiversityAssignment.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoFrontByFrontSharingDiversityAssignment< MOEOT >::moeoFrontByFrontSharingDiversityAssignment (moeoDistance< MOEOT, double > &  _distance,
double  _nicheSize = 0.5,
double  _alpha = 2.0 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + +
_distance the distance used to compute the neighborhood of solutions (can be related to the decision space or the objective space)
_nicheSize neighborhood size in terms of radius distance (closely related to the way the distances are computed)
_alpha parameter used to regulate the shape of the sharing function
+
+ +

+Definition at line 61 of file moeoFrontByFrontSharingDiversityAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoFrontByFrontSharingDiversityAssignment< MOEOT >::moeoFrontByFrontSharingDiversityAssignment (double  _nicheSize = 0.5,
double  _alpha = 2.0 
) [inline]
+
+
+ +

+Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default. +

+

Parameters:
+ + + +
_nicheSize neighborhood size in terms of radius distance (closely related to the way the distances are computed)
_alpha parameter used to regulate the shape of the sharing function
+
+ +

+Definition at line 70 of file moeoFrontByFrontSharingDiversityAssignment.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoFrontByFrontSharingDiversityAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+

Warning:
NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
+
Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+
Warning:
NOT IMPLEMENTED, DO NOTHING !
+ +

+Reimplemented from moeoSharingDiversityAssignment< MOEOT >. +

+Definition at line 81 of file moeoFrontByFrontSharingDiversityAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoFrontByFrontSharingDiversityAssignment< MOEOT >::setSimilarities (eoPop< MOEOT > &  _pop  )  [inline, private, virtual]
+
+
+ +

+Sets similarities FRONT BY FRONT for every solution contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Reimplemented from moeoSharingDiversityAssignment< MOEOT >. +

+Definition at line 98 of file moeoFrontByFrontSharingDiversityAssignment.h. +

+References moeoSharingDiversityAssignment< MOEOT >::distance, moeoSharingDiversityAssignment< MOEOT >::nicheSize, and moeoSharingDiversityAssignment< MOEOT >::sh(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment.png new file mode 100644 index 000000000..836960c5c Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoFrontByFrontSharingDiversityAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator-members.html new file mode 100644 index 000000000..262528a10 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator-members.html @@ -0,0 +1,45 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoGDominanceObjectiveVectorComparator< ObjectiveVector > Member List

This is the complete list of members for moeoGDominanceObjectiveVectorComparator< ObjectiveVector >, including all inherited members.

+ + + + + + + + + +
flag(const ObjectiveVector &_objectiveVector)moeoGDominanceObjectiveVectorComparator< ObjectiveVector > [inline, private]
functor_category()eoBF< A1, A2, R > [static]
moeoGDominanceObjectiveVectorComparator(ObjectiveVector &_ref)moeoGDominanceObjectiveVectorComparator< ObjectiveVector > [inline]
operator()(const ObjectiveVector &_objectiveVector1, const ObjectiveVector &_objectiveVector2)moeoGDominanceObjectiveVectorComparator< ObjectiveVector > [inline]
moeoObjectiveVectorComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
paretoComparatormoeoGDominanceObjectiveVectorComparator< ObjectiveVector > [private]
refmoeoGDominanceObjectiveVectorComparator< ObjectiveVector > [private]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator.html new file mode 100644 index 000000000..eb59b9082 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator.html @@ -0,0 +1,194 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoGDominanceObjectiveVectorComparator< ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoGDominanceObjectiveVectorComparator< ObjectiveVector > Class Template Reference

This functor class allows to compare 2 objective vectors according to g-dominance. +More... +

+#include <moeoGDominanceObjectiveVectorComparator.h> +

+

Inheritance diagram for moeoGDominanceObjectiveVectorComparator< ObjectiveVector >: +

+ +moeoObjectiveVectorComparator< ObjectiveVector > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoGDominanceObjectiveVectorComparator (ObjectiveVector &_ref)
 Ctor.
const bool operator() (const ObjectiveVector &_objectiveVector1, const ObjectiveVector &_objectiveVector2)
 Returns true if _objectiveVector1 is g-dominated by _objectiveVector2.

Private Member Functions

unsigned int flag (const ObjectiveVector &_objectiveVector)
 Returns the flag of _objectiveVector according to the reference point.

Private Attributes

+ObjectiveVectorref
 the reference point
+moeoParetoObjectiveVectorComparator<
+ ObjectiveVector
paretoComparator
 Pareto comparator.
+

Detailed Description

+

template<class ObjectiveVector>
+ class moeoGDominanceObjectiveVectorComparator< ObjectiveVector >

+ +This functor class allows to compare 2 objective vectors according to g-dominance. +

+The concept of g-dominance as been introduced in: J. Molina, L. V. Santana, A. G. Hernandez-Diaz, C. A. Coello Coello, R. Caballero, "g-dominance: Reference point based dominance" (2007) +

+ +

+Definition at line 50 of file moeoGDominanceObjectiveVectorComparator.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + +
moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::moeoGDominanceObjectiveVectorComparator (ObjectiveVector _ref  )  [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_ref the reference point
+
+ +

+Definition at line 58 of file moeoGDominanceObjectiveVectorComparator.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
const bool moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::operator() (const ObjectiveVector _objectiveVector1,
const ObjectiveVector _objectiveVector2 
) [inline]
+
+
+ +

+Returns true if _objectiveVector1 is g-dominated by _objectiveVector2. +

+

Parameters:
+ + + +
_objectiveVector1 the first objective vector
_objectiveVector2 the second objective vector
+
+ +

+Definition at line 67 of file moeoGDominanceObjectiveVectorComparator.h. +

+References moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::flag(), and moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::paretoComparator. +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + +
unsigned int moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::flag (const ObjectiveVector _objectiveVector  )  [inline, private]
+
+
+ +

+Returns the flag of _objectiveVector according to the reference point. +

+

Parameters:
+ + +
_objectiveVector the first objective vector
+
+ +

+Definition at line 101 of file moeoGDominanceObjectiveVectorComparator.h. +

+References moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >::nObjectives(), and moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::ref. +

+Referenced by moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator.png new file mode 100644 index 000000000..7b85ac538 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGDominanceObjectiveVectorComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement-members.html new file mode 100644 index 000000000..21860869f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement-members.html @@ -0,0 +1,42 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoGenerationalReplacement< MOEOT > Member List

This is the complete list of members for moeoGenerationalReplacement< MOEOT >, including all inherited members.

+ + + + + + +
moeoReplacement::functor_category()eoBF< A1, A2, R > [static]
eoGenerationalReplacement< MOEOT >::functor_category()eoBF< A1, A2, R > [static]
operator()(eoPop< MOEOT > &_parents, eoPop< MOEOT > &_offspring)moeoGenerationalReplacement< MOEOT > [inline]
moeoReplacement::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement.html new file mode 100644 index 000000000..cf31dab82 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement.html @@ -0,0 +1,113 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoGenerationalReplacement< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoGenerationalReplacement< MOEOT > Class Template Reference

Generational replacement: only the new individuals are preserved. +More... +

+#include <moeoGenerationalReplacement.h> +

+

Inheritance diagram for moeoGenerationalReplacement< MOEOT >: +

+ +moeoReplacement< MOEOT > +eoGenerationalReplacement< MOEOT > +eoReplacement< MOEOT > +eoReplacement< EOT > +eoBF< A1, A2, R > +eoBF< A1, A2, R > +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

void operator() (eoPop< MOEOT > &_parents, eoPop< MOEOT > &_offspring)
 Swaps _parents and _offspring.
+

Detailed Description

+

template<class MOEOT>
+ class moeoGenerationalReplacement< MOEOT >

+ +Generational replacement: only the new individuals are preserved. +

+ +

+Definition at line 48 of file moeoGenerationalReplacement.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoGenerationalReplacement< MOEOT >::operator() (eoPop< MOEOT > &  _parents,
eoPop< MOEOT > &  _offspring 
) [inline]
+
+
+ +

+Swaps _parents and _offspring. +

+

Parameters:
+ + + +
_parents the parents population
_offspring the offspring population
+
+ +

+Reimplemented from eoGenerationalReplacement< MOEOT >. +

+Definition at line 57 of file moeoGenerationalReplacement.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement.png new file mode 100644 index 000000000..add034462 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoGenerationalReplacement.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS-members.html new file mode 100644 index 000000000..d1ca49d17 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS-members.html @@ -0,0 +1,49 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoHybridLS< MOEOT > Member List

This is the complete list of members for moeoHybridLS< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + +
addTo(eoCheckPoint< EOT > &cp)eoUpdater
archmoeoHybridLS< MOEOT > [private]
className(void) const eoUpdater [virtual]
functor_category()eoF< void > [static]
lastCall()eoUpdater [virtual]
moeoHybridLS(eoContinue< MOEOT > &_term, eoSelect< MOEOT > &_select, moeoLS< MOEOT, MOEOT > &_mols, moeoArchive< MOEOT > &_arch)moeoHybridLS< MOEOT > [inline]
molsmoeoHybridLS< MOEOT > [private]
operator()()moeoHybridLS< MOEOT > [inline, virtual]
result_type typedefeoF< void >
selectmoeoHybridLS< MOEOT > [private]
termmoeoHybridLS< MOEOT > [private]
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS.html new file mode 100644 index 000000000..f4fe9e081 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS.html @@ -0,0 +1,141 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoHybridLS< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoHybridLS< MOEOT > Class Template Reference

This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. +More... +

+#include <moeoHybridLS.h> +

+

Inheritance diagram for moeoHybridLS< MOEOT >: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoHybridLS (eoContinue< MOEOT > &_term, eoSelect< MOEOT > &_select, moeoLS< MOEOT, MOEOT > &_mols, moeoArchive< MOEOT > &_arch)
 Ctor.
+void operator() ()
 Applies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified.

Private Attributes

+eoContinue< MOEOT > & term
 stopping criteria
+eoSelect< MOEOT > & select
 selector
+moeoLS< MOEOT, MOEOT > & mols
 multi-objective local search
+moeoArchive< MOEOT > & arch
 archive
+

Detailed Description

+

template<class MOEOT>
+ class moeoHybridLS< MOEOT >

+ +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. +

+ +

+Definition at line 53 of file moeoHybridLS.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoHybridLS< MOEOT >::moeoHybridLS (eoContinue< MOEOT > &  _term,
eoSelect< MOEOT > &  _select,
moeoLS< MOEOT, MOEOT > &  _mols,
moeoArchive< MOEOT > &  _arch 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + +
_term stopping criteria
_select selector
_mols a multi-objective local search
_arch the archive
+
+ +

+Definition at line 64 of file moeoHybridLS.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS.png new file mode 100644 index 000000000..3887a1abb Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHybridLS.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric-members.html new file mode 100644 index 000000000..59702a715 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric-members.html @@ -0,0 +1,50 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoHypervolumeBinaryMetric< ObjectiveVector > Member List

This is the complete list of members for moeoHypervolumeBinaryMetric< ObjectiveVector >, including all inherited members.

+ + + + + + + + + + + + + + +
boundsmoeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [protected]
functor_category()eoBF< A1, A2, R > [static]
hypervolume(const ObjectiveVector &_o1, const ObjectiveVector &_o2, const unsigned int _obj, const bool _flag=false)moeoHypervolumeBinaryMetric< ObjectiveVector > [inline, private]
moeoHypervolumeBinaryMetric(double _rho=1.1)moeoHypervolumeBinaryMetric< ObjectiveVector > [inline]
moeoNormalizedSolutionVsSolutionBinaryMetric()moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline]
operator()(const ObjectiveVector &_o1, const ObjectiveVector &_o2)moeoHypervolumeBinaryMetric< ObjectiveVector > [inline]
moeoNormalizedSolutionVsSolutionBinaryMetric::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
paretoComparatormoeoHypervolumeBinaryMetric< ObjectiveVector > [private]
rhomoeoHypervolumeBinaryMetric< ObjectiveVector > [private]
setup(double _min, double _max, unsigned int _obj)moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline]
setup(eoRealInterval _realInterval, unsigned int _obj)moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline, virtual]
tiny()moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline, static]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric.html new file mode 100644 index 000000000..351fd1e35 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric.html @@ -0,0 +1,225 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoHypervolumeBinaryMetric< ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoHypervolumeBinaryMetric< ObjectiveVector > Class Template Reference

Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S. +More... +

+#include <moeoHypervolumeBinaryMetric.h> +

+

Inheritance diagram for moeoHypervolumeBinaryMetric< ObjectiveVector >: +

+ +moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > +moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R > +moeoBinaryMetric< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoHypervolumeBinaryMetric (double _rho=1.1)
 Ctor.
double operator() (const ObjectiveVector &_o1, const ObjectiveVector &_o2)
 Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho.

Private Member Functions

double hypervolume (const ObjectiveVector &_o1, const ObjectiveVector &_o2, const unsigned int _obj, const bool _flag=false)
 Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho for the objective _obj.

Private Attributes

+double rho
 value used to compute the reference point from the worst values for each objective
+moeoParetoObjectiveVectorComparator<
+ ObjectiveVector
paretoComparator
 Functor to compare two objective vectors according to Pareto dominance relation.
+

Detailed Description

+

template<class ObjectiveVector>
+ class moeoHypervolumeBinaryMetric< ObjectiveVector >

+ +Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S. +

+: Indicator-Based Selection in Multiobjective Search. In Parallel Problem Solving from Nature (PPSN VIII). Lecture Notes in Computer Science 3242, Springer, Birmingham, UK pp.832–842 (2004). This indicator is based on the hypervolume concept introduced in Zitzler, E., Thiele, L.: Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study. Parallel Problem Solving from Nature (PPSN-V), pp.292-301 (1998). +

+ +

+Definition at line 54 of file moeoHypervolumeBinaryMetric.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + +
moeoHypervolumeBinaryMetric< ObjectiveVector >::moeoHypervolumeBinaryMetric (double  _rho = 1.1  )  [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_rho value used to compute the reference point from the worst values for each objective (default : 1.1)
+
+ +

+Definition at line 62 of file moeoHypervolumeBinaryMetric.h. +

+References moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(), and moeoHypervolumeBinaryMetric< ObjectiveVector >::rho. +

+

+


Member Function Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
double moeoHypervolumeBinaryMetric< ObjectiveVector >::operator() (const ObjectiveVector _o1,
const ObjectiveVector _o2 
) [inline]
+
+
+ +

+Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho. +

+

Warning:
don't forget to set the bounds for every objective before the call of this function
+
Parameters:
+ + + +
_o1 the first objective vector
_o2 the second objective vector
+
+ +

+Definition at line 88 of file moeoHypervolumeBinaryMetric.h. +

+References moeoHypervolumeBinaryMetric< ObjectiveVector >::hypervolume(), and moeoHypervolumeBinaryMetric< ObjectiveVector >::paretoComparator. +

+

+ +

+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
double moeoHypervolumeBinaryMetric< ObjectiveVector >::hypervolume (const ObjectiveVector _o1,
const ObjectiveVector _o2,
const unsigned int  _obj,
const bool  _flag = false 
) [inline, private]
+
+
+ +

+Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho for the objective _obj. +

+

Parameters:
+ + + + + +
_o1 the first objective vector
_o2 the second objective vector
_obj the objective index
_flag used for iteration, if _flag=true _o2 is not talen into account (default : false)
+
+ +

+Definition at line 121 of file moeoHypervolumeBinaryMetric.h. +

+References moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >::bounds, and moeoHypervolumeBinaryMetric< ObjectiveVector >::rho. +

+Referenced by moeoHypervolumeBinaryMetric< ObjectiveVector >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric.png new file mode 100644 index 000000000..4702dfdcb Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoHypervolumeBinaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA-members.html new file mode 100644 index 000000000..13bddf72a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA-members.html @@ -0,0 +1,57 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoIBEA< MOEOT > Member List

This is the complete list of members for moeoIBEA< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
breedmoeoIBEA< MOEOT > [protected]
continuatormoeoIBEA< MOEOT > [protected]
defaultGenContinuatormoeoIBEA< MOEOT > [protected]
defaultSGAGenOpmoeoIBEA< MOEOT > [protected]
dummyDiversityAssignmentmoeoIBEA< MOEOT > [protected]
fitnessAssignmentmoeoIBEA< MOEOT > [protected]
functor_category()eoUF< A1, R > [static]
genBreedmoeoIBEA< MOEOT > [protected]
moeoIBEA(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)moeoIBEA< MOEOT > [inline]
moeoIBEA(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)moeoIBEA< MOEOT > [inline]
moeoIBEA(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoQuadOp< MOEOT > &_crossover, double _pCross, eoMonOp< MOEOT > &_mutation, double _pMut, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)moeoIBEA< MOEOT > [inline]
moeoIBEA(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)moeoIBEA< MOEOT > [inline]
moeoIBEA(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)moeoIBEA< MOEOT > [inline]
ObjectiveVector typedefmoeoIBEA< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoIBEA< MOEOT > [inline, virtual]
moeoEA::operator()(A1)=0eoUF< A1, R > [pure virtual]
popEvalmoeoIBEA< MOEOT > [protected]
replacemoeoIBEA< MOEOT > [protected]
selectmoeoIBEA< MOEOT > [protected]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA.html new file mode 100644 index 000000000..534c2b4d8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA.html @@ -0,0 +1,498 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoIBEA< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoIBEA< MOEOT > Class Template Reference

IBEA (Indicator-Based Evolutionary Algorithm) as described in: E. +More... +

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEA< MOEOT >: +

+ +moeoEA< MOEOT > +moeoAlgo +eoAlgo< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type of objective vector.

Public Member Functions

 moeoIBEA (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)
 Simple ctor with a eoGenOp.
 moeoIBEA (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)
 Simple ctor with a eoTransform.
 moeoIBEA (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoQuadOp< MOEOT > &_crossover, double _pCross, eoMonOp< MOEOT > &_mutation, double _pMut, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)
 Ctor with a crossover, a mutation and their corresponding rates.
 moeoIBEA (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)
 Ctor with a continuator (instead of _maxGen) and a eoGenOp.
 moeoIBEA (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric, const double _kappa=0.05)
 Ctor with a continuator (instead of _maxGen) and a eoTransform.
virtual void operator() (eoPop< MOEOT > &_pop)
 Apply a few generation of evolution to the population _pop until the stopping criteria is verified.

Protected Attributes

+eoGenContinue< MOEOT > defaultGenContinuator
 a continuator based on the number of generations (used as default)
+eoContinue< MOEOT > & continuator
 stopping criteria
+eoPopLoopEval< MOEOT > popEval
 evaluation function used to evaluate the whole population
+moeoDetTournamentSelect< MOEOT > select
 binary tournament selection
+moeoExpBinaryIndicatorBasedFitnessAssignment<
+ MOEOT > 
fitnessAssignment
 fitness assignment used in IBEA
+moeoDummyDiversityAssignment<
+ MOEOT > 
dummyDiversityAssignment
 dummy diversity assignment
+moeoEnvironmentalReplacement<
+ MOEOT > 
replace
 elitist replacement
+eoSGAGenOp< MOEOT > defaultSGAGenOp
 an object for genetic operators (used as default)
+eoGeneralBreeder< MOEOT > genBreed
 general breeder
+eoBreed< MOEOT > & breed
 breeder
+

Detailed Description

+

template<class MOEOT>
+ class moeoIBEA< MOEOT >

+ +IBEA (Indicator-Based Evolutionary Algorithm) as described in: E. +

+Zitzler, S. Künzli, "Indicator-Based Selection in Multiobjective Search", Proc. 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 832-842, Birmingham, UK (2004). This class builds the IBEA algorithm only by using the fine-grained components of the ParadisEO-MOEO framework. +

+ +

+Definition at line 63 of file moeoIBEA.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoIBEA< MOEOT >::moeoIBEA (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoGenOp< MOEOT > &  _op,
moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &  _metric,
const double  _kappa = 0.05 
) [inline]
+
+
+ +

+Simple ctor with a eoGenOp. +

+

Parameters:
+ + + + + + +
_maxGen number of generations before stopping
_eval evaluation function
_op variation operator
_metric metric
_kappa scaling factor kappa
+
+ +

+Definition at line 79 of file moeoIBEA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoIBEA< MOEOT >::moeoIBEA (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoTransform< MOEOT > &  _op,
moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &  _metric,
const double  _kappa = 0.05 
) [inline]
+
+
+ +

+Simple ctor with a eoTransform. +

+

Parameters:
+ + + + + + +
_maxGen number of generations before stopping
_eval evaluation function
_op variation operator
_metric metric
_kappa scaling factor kappa
+
+ +

+Definition at line 93 of file moeoIBEA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoIBEA< MOEOT >::moeoIBEA (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoQuadOp< MOEOT > &  _crossover,
double  _pCross,
eoMonOp< MOEOT > &  _mutation,
double  _pMut,
moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &  _metric,
const double  _kappa = 0.05 
) [inline]
+
+
+ +

+Ctor with a crossover, a mutation and their corresponding rates. +

+

Parameters:
+ + + + + + + + + +
_maxGen number of generations before stopping
_eval evaluation function
_crossover crossover
_pCross crossover probability
_mutation mutation
_pMut mutation probability
_metric metric
_kappa scaling factor kappa
+
+ +

+Definition at line 110 of file moeoIBEA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoIBEA< MOEOT >::moeoIBEA (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoGenOp< MOEOT > &  _op,
moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &  _metric,
const double  _kappa = 0.05 
) [inline]
+
+
+ +

+Ctor with a continuator (instead of _maxGen) and a eoGenOp. +

+

Parameters:
+ + + + + + +
_continuator stopping criteria
_eval evaluation function
_op variation operator
_metric metric
_kappa scaling factor kappa
+
+ +

+Definition at line 125 of file moeoIBEA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoIBEA< MOEOT >::moeoIBEA (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoTransform< MOEOT > &  _op,
moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &  _metric,
const double  _kappa = 0.05 
) [inline]
+
+
+ +

+Ctor with a continuator (instead of _maxGen) and a eoTransform. +

+

Parameters:
+ + + + + + +
_continuator stopping criteria
_eval evaluation function
_op variation operator
_metric metric
_kappa scaling factor kappa
+
+ +

+Definition at line 139 of file moeoIBEA.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
virtual void moeoIBEA< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Apply a few generation of evolution to the population _pop until the stopping criteria is verified. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 149 of file moeoIBEA.h. +

+References moeoIBEA< MOEOT >::breed, moeoIBEA< MOEOT >::continuator, moeoIBEA< MOEOT >::dummyDiversityAssignment, moeoIBEA< MOEOT >::fitnessAssignment, moeoIBEA< MOEOT >::popEval, and moeoIBEA< MOEOT >::replace. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA.png new file mode 100644 index 000000000..0ba6b5a1b Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIBEA.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment-members.html new file mode 100644 index 000000000..779b6cd86 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoIndicatorBasedFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoIndicatorBasedFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &)=0eoUF< eoPop< MOEOT > &, void > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoFitnessAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment.html new file mode 100644 index 000000000..1433d75b8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference

moeoIndicatorBasedFitnessAssignment is a moeoFitnessAssignment for Indicator-based strategies. +More... +

+#include <moeoIndicatorBasedFitnessAssignment.h> +

+

Inheritance diagram for moeoIndicatorBasedFitnessAssignment< MOEOT >: +

+ +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase +moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > +moeoUnaryIndicatorBasedFitnessAssignment< MOEOT > +moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT > + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoIndicatorBasedFitnessAssignment< MOEOT >

+ +moeoIndicatorBasedFitnessAssignment is a moeoFitnessAssignment for Indicator-based strategies. +

+ +

+Definition at line 47 of file moeoIndicatorBasedFitnessAssignment.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment.png new file mode 100644 index 000000000..174829d60 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoIndicatorBasedFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS-members.html new file mode 100644 index 000000000..9fb3ac27e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoLS< MOEOT, Type > Member List

This is the complete list of members for moeoLS< MOEOT, Type >, including all inherited members.

+ + + + +
functor_category()eoBF< Type, moeoArchive< MOEOT > &, void > [static]
operator()(Type, moeoArchive< MOEOT > &)=0eoBF< Type, moeoArchive< MOEOT > &, void > [pure virtual]
~eoBF()eoBF< Type, moeoArchive< MOEOT > &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS.html new file mode 100644 index 000000000..67eab504d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoLS< MOEOT, Type > Class Template Reference + + + + +
+
+
+
+

moeoLS< MOEOT, Type > Class Template Reference

Abstract class for local searches applied to multi-objective optimization. +More... +

+#include <moeoLS.h> +

+

Inheritance diagram for moeoLS< MOEOT, Type >: +

+ +moeoAlgo +eoBF< Type, moeoArchive< MOEOT > &, void > +eoFunctorBase +moeoCombinedLS< MOEOT, Type > + +List of all members. + +
+

Detailed Description

+

template<class MOEOT, class Type>
+ class moeoLS< MOEOT, Type >

+ +Abstract class for local searches applied to multi-objective optimization. +

+Starting from a Type (i.e.: an individual, a pop, an archive...), it produces a set of new non-dominated solutions. +

+ +

+Definition at line 50 of file moeoLS.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS.png new file mode 100644 index 000000000..fffbbbd90 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoLS.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance-members.html new file mode 100644 index 000000000..7300c119d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoManhattanDistance< MOEOT > Member List

This is the complete list of members for moeoManhattanDistance< MOEOT >, including all inherited members.

+ + + + + + + + + + + + +
boundsmoeoNormalizedDistance< MOEOT > [protected]
functor_category()eoBF< A1, A2, R > [static]
moeoNormalizedDistance()moeoNormalizedDistance< MOEOT > [inline]
ObjectiveVector typedefmoeoManhattanDistance< MOEOT >
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoManhattanDistance< MOEOT > [inline]
moeoNormalizedDistance< MOEOT >::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
setup(const eoPop< MOEOT > &_pop)moeoNormalizedDistance< MOEOT > [inline, virtual]
setup(double _min, double _max, unsigned int _obj)moeoNormalizedDistance< MOEOT > [inline, virtual]
setup(eoRealInterval _realInterval, unsigned int _obj)moeoNormalizedDistance< MOEOT > [inline, virtual]
tiny()moeoNormalizedDistance< MOEOT > [inline, static]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance.html new file mode 100644 index 000000000..837e1aff2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance.html @@ -0,0 +1,116 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoManhattanDistance< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoManhattanDistance< MOEOT > Class Template Reference

A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e. +More... +

+#include <moeoManhattanDistance.h> +

+

Inheritance diagram for moeoManhattanDistance< MOEOT >: +

+ +moeoNormalizedDistance< MOEOT > +moeoDistance< MOEOT, double > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

const double operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns the Manhattan distance between _moeo1 and _moeo2 in the objective space.
+

Detailed Description

+

template<class MOEOT>
+ class moeoManhattanDistance< MOEOT >

+ +A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e. +

+between 0 and 1). A distance value then lies between 0 and nObjectives. +

+ +

+Definition at line 49 of file moeoManhattanDistance.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
const double moeoManhattanDistance< MOEOT >::operator() (const MOEOT &  _moeo1,
const MOEOT &  _moeo2 
) [inline]
+
+
+ +

+Returns the Manhattan distance between _moeo1 and _moeo2 in the objective space. +

+

Parameters:
+ + + +
_moeo1 the first solution
_moeo2 the second solution
+
+ +

+Definition at line 62 of file moeoManhattanDistance.h. +

+References moeoNormalizedDistance< MOEOT >::bounds, and moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance.png new file mode 100644 index 000000000..55fba6446 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoManhattanDistance.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric-members.html new file mode 100644 index 000000000..78d8cd946 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric-members.html @@ -0,0 +1,37 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoMetric Member List

This is the complete list of members for moeoMetric, including all inherited members.

+ +
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric.html new file mode 100644 index 000000000..0f9a90168 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoMetric Class Reference + + + + +
+
+
+
+

moeoMetric Class Reference

Base class for performance metrics (also known as quality indicators). +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoMetric: +

+ +eoFunctorBase +moeoBinaryMetric< A1, A2, R > +moeoBinaryMetric< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, double > +moeoBinaryMetric< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, R > +moeoBinaryMetric< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, double > +moeoBinaryMetric< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R > +moeoUnaryMetric< A, R > +moeoUnaryMetric< const moeoRealObjectiveVector< ObjectiveVectorTraits > &, R > +moeoUnaryMetric< const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R > + +List of all members. + +
+

Detailed Description

+Base class for performance metrics (also known as quality indicators). +

+ +

+Definition at line 47 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric.png new file mode 100644 index 000000000..196eb4c8d Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA-members.html new file mode 100644 index 000000000..27b6aa211 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA-members.html @@ -0,0 +1,56 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoNSGA< MOEOT > Member List

This is the complete list of members for moeoNSGA< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
breedmoeoNSGA< MOEOT > [protected]
continuatormoeoNSGA< MOEOT > [protected]
defaultGenContinuatormoeoNSGA< MOEOT > [protected]
defaultSGAGenOpmoeoNSGA< MOEOT > [protected]
diversityAssignmentmoeoNSGA< MOEOT > [protected]
fitnessAssignmentmoeoNSGA< MOEOT > [protected]
functor_category()eoUF< A1, R > [static]
genBreedmoeoNSGA< MOEOT > [protected]
moeoNSGA(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op, double _nicheSize=0.5)moeoNSGA< MOEOT > [inline]
moeoNSGA(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op, double _nicheSize=0.5)moeoNSGA< MOEOT > [inline]
moeoNSGA(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoQuadOp< MOEOT > &_crossover, double _pCross, eoMonOp< MOEOT > &_mutation, double _pMut, double _nicheSize=0.5)moeoNSGA< MOEOT > [inline]
moeoNSGA(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op, double _nicheSize=0.5)moeoNSGA< MOEOT > [inline]
moeoNSGA(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op, double _nicheSize=0.5)moeoNSGA< MOEOT > [inline]
operator()(eoPop< MOEOT > &_pop)moeoNSGA< MOEOT > [inline, virtual]
moeoEA::operator()(A1)=0eoUF< A1, R > [pure virtual]
popEvalmoeoNSGA< MOEOT > [protected]
replacemoeoNSGA< MOEOT > [protected]
selectmoeoNSGA< MOEOT > [protected]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA.html new file mode 100644 index 000000000..bd792f108 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA.html @@ -0,0 +1,457 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoNSGA< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoNSGA< MOEOT > Class Template Reference

NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N. +More... +

+#include <moeoNSGA.h> +

+

Inheritance diagram for moeoNSGA< MOEOT >: +

+ +moeoEA< MOEOT > +moeoAlgo +eoAlgo< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoNSGA (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op, double _nicheSize=0.5)
 Simple ctor with a eoGenOp.
 moeoNSGA (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op, double _nicheSize=0.5)
 Simple ctor with a eoTransform.
 moeoNSGA (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoQuadOp< MOEOT > &_crossover, double _pCross, eoMonOp< MOEOT > &_mutation, double _pMut, double _nicheSize=0.5)
 Ctor with a crossover, a mutation and their corresponding rates.
 moeoNSGA (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op, double _nicheSize=0.5)
 Ctor with a continuator (instead of _maxGen) and a eoGenOp.
 moeoNSGA (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op, double _nicheSize=0.5)
 Ctor with a continuator (instead of _maxGen) and a eoTransform.
virtual void operator() (eoPop< MOEOT > &_pop)
 Apply a few generation of evolution to the population _pop until the stopping criteria is verified.

Protected Attributes

+eoGenContinue< MOEOT > defaultGenContinuator
 a continuator based on the number of generations (used as default)
+eoContinue< MOEOT > & continuator
 stopping criteria
+eoPopLoopEval< MOEOT > popEval
 evaluation function used to evaluate the whole population
+moeoDetTournamentSelect< MOEOT > select
 binary tournament selection
+moeoFastNonDominatedSortingFitnessAssignment<
+ MOEOT > 
fitnessAssignment
 fitness assignment used in NSGA-II
+moeoFrontByFrontSharingDiversityAssignment<
+ MOEOT > 
diversityAssignment
 diversity assignment used in NSGA-II
+moeoElitistReplacement< MOEOT > replace
 elitist replacement
+eoSGAGenOp< MOEOT > defaultSGAGenOp
 an object for genetic operators (used as default)
+eoGeneralBreeder< MOEOT > genBreed
 general breeder
+eoBreed< MOEOT > & breed
 breeder
+

Detailed Description

+

template<class MOEOT>
+ class moeoNSGA< MOEOT >

+ +NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N. +

+Srinivas, K. Deb, "Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms". Evolutionary Computation, Vol. 2(3), No 2, pp. 221-248 (1994). This class builds the NSGA algorithm only by using the fine-grained components of the ParadisEO-MOEO framework. +

+ +

+Definition at line 62 of file moeoNSGA.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGA< MOEOT >::moeoNSGA (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoGenOp< MOEOT > &  _op,
double  _nicheSize = 0.5 
) [inline]
+
+
+ +

+Simple ctor with a eoGenOp. +

+

Parameters:
+ + + + + +
_maxGen number of generations before stopping
_eval evaluation function
_op variation operator
_nicheSize niche size
+
+ +

+Definition at line 73 of file moeoNSGA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGA< MOEOT >::moeoNSGA (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoTransform< MOEOT > &  _op,
double  _nicheSize = 0.5 
) [inline]
+
+
+ +

+Simple ctor with a eoTransform. +

+

Parameters:
+ + + + + +
_maxGen number of generations before stopping
_eval evaluation function
_op variation operator
_nicheSize niche size
+
+ +

+Definition at line 86 of file moeoNSGA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGA< MOEOT >::moeoNSGA (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoQuadOp< MOEOT > &  _crossover,
double  _pCross,
eoMonOp< MOEOT > &  _mutation,
double  _pMut,
double  _nicheSize = 0.5 
) [inline]
+
+
+ +

+Ctor with a crossover, a mutation and their corresponding rates. +

+

Parameters:
+ + + + + + + + +
_maxGen number of generations before stopping
_eval evaluation function
_crossover crossover
_pCross crossover probability
_mutation mutation
_pMut mutation probability
_nicheSize niche size
+
+ +

+Definition at line 102 of file moeoNSGA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGA< MOEOT >::moeoNSGA (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoGenOp< MOEOT > &  _op,
double  _nicheSize = 0.5 
) [inline]
+
+
+ +

+Ctor with a continuator (instead of _maxGen) and a eoGenOp. +

+

Parameters:
+ + + + + +
_continuator stopping criteria
_eval evaluation function
_op variation operator
_nicheSize niche size
+
+ +

+Definition at line 116 of file moeoNSGA.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGA< MOEOT >::moeoNSGA (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoTransform< MOEOT > &  _op,
double  _nicheSize = 0.5 
) [inline]
+
+
+ +

+Ctor with a continuator (instead of _maxGen) and a eoTransform. +

+

Parameters:
+ + + + + +
_continuator stopping criteria
_eval evaluation function
_op variation operator
_nicheSize niche size
+
+ +

+Definition at line 129 of file moeoNSGA.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
virtual void moeoNSGA< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Apply a few generation of evolution to the population _pop until the stopping criteria is verified. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 139 of file moeoNSGA.h. +

+References moeoNSGA< MOEOT >::breed, moeoNSGA< MOEOT >::continuator, moeoNSGA< MOEOT >::diversityAssignment, moeoNSGA< MOEOT >::fitnessAssignment, moeoNSGA< MOEOT >::popEval, and moeoNSGA< MOEOT >::replace. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA.png new file mode 100644 index 000000000..dd9cd8548 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGA.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII-members.html new file mode 100644 index 000000000..b0460eb3c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII-members.html @@ -0,0 +1,58 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoNSGAII< MOEOT > Member List

This is the complete list of members for moeoNSGAII< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
breedmoeoNSGAII< MOEOT > [protected]
continuatormoeoNSGAII< MOEOT > [protected]
defaultGenContinuatormoeoNSGAII< MOEOT > [protected]
defaultMonOpmoeoNSGAII< MOEOT > [protected]
defaultQuadOpmoeoNSGAII< MOEOT > [protected]
defaultSGAGenOpmoeoNSGAII< MOEOT > [protected]
diversityAssignmentmoeoNSGAII< MOEOT > [protected]
fitnessAssignmentmoeoNSGAII< MOEOT > [protected]
functor_category()eoUF< A1, R > [static]
genBreedmoeoNSGAII< MOEOT > [protected]
moeoNSGAII(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op)moeoNSGAII< MOEOT > [inline]
moeoNSGAII(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op)moeoNSGAII< MOEOT > [inline]
moeoNSGAII(unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoQuadOp< MOEOT > &_crossover, double _pCross, eoMonOp< MOEOT > &_mutation, double _pMut)moeoNSGAII< MOEOT > [inline]
moeoNSGAII(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op)moeoNSGAII< MOEOT > [inline]
moeoNSGAII(eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op)moeoNSGAII< MOEOT > [inline]
operator()(eoPop< MOEOT > &_pop)moeoNSGAII< MOEOT > [inline, virtual]
moeoEA::operator()(A1)=0eoUF< A1, R > [pure virtual]
popEvalmoeoNSGAII< MOEOT > [protected]
replacemoeoNSGAII< MOEOT > [protected]
selectmoeoNSGAII< MOEOT > [protected]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII.html new file mode 100644 index 000000000..61abc362c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII.html @@ -0,0 +1,430 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoNSGAII< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoNSGAII< MOEOT > Class Template Reference

NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S. +More... +

+#include <moeoNSGAII.h> +

+

Inheritance diagram for moeoNSGAII< MOEOT >: +

+ +moeoEA< MOEOT > +moeoAlgo +eoAlgo< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoNSGAII (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op)
 Simple ctor with a eoGenOp.
 moeoNSGAII (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op)
 Simple ctor with a eoTransform.
 moeoNSGAII (unsigned int _maxGen, eoEvalFunc< MOEOT > &_eval, eoQuadOp< MOEOT > &_crossover, double _pCross, eoMonOp< MOEOT > &_mutation, double _pMut)
 Ctor with a crossover, a mutation and their corresponding rates.
 moeoNSGAII (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoGenOp< MOEOT > &_op)
 Ctor with a continuator (instead of _maxGen) and a eoGenOp.
 moeoNSGAII (eoContinue< MOEOT > &_continuator, eoEvalFunc< MOEOT > &_eval, eoTransform< MOEOT > &_op)
 Ctor with a continuator (instead of _maxGen) and a eoTransform.
virtual void operator() (eoPop< MOEOT > &_pop)
 Apply a few generation of evolution to the population _pop until the stopping criteria is verified.

Protected Attributes

+eoGenContinue< MOEOT > defaultGenContinuator
 a continuator based on the number of generations (used as default)
+eoContinue< MOEOT > & continuator
 stopping criteria
+eoPopLoopEval< MOEOT > popEval
 evaluation function used to evaluate the whole population
+moeoDetTournamentSelect< MOEOT > select
 binary tournament selection
+moeoFastNonDominatedSortingFitnessAssignment<
+ MOEOT > 
fitnessAssignment
 fitness assignment used in NSGA-II
+moeoFrontByFrontCrowdingDiversityAssignment<
+ MOEOT > 
diversityAssignment
 diversity assignment used in NSGA-II
+moeoElitistReplacement< MOEOT > replace
 elitist replacement
+eoQuadCloneOp< MOEOT > defaultQuadOp
 a default crossover
+eoMonCloneOp< MOEOT > defaultMonOp
 a default mutation
+eoSGAGenOp< MOEOT > defaultSGAGenOp
 an object for genetic operators (used as default)
+eoGeneralBreeder< MOEOT > genBreed
 general breeder
+eoBreed< MOEOT > & breed
 breeder
+

Detailed Description

+

template<class MOEOT>
+ class moeoNSGAII< MOEOT >

+ +NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S. +

+Agrawal, A. Pratap, and T. Meyarivan : "A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II". In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197 (April 2002). This class builds the NSGA-II algorithm only by using the fine-grained components of the ParadisEO-MOEO framework. +

+ +

+Definition at line 65 of file moeoNSGAII.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGAII< MOEOT >::moeoNSGAII (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoGenOp< MOEOT > &  _op 
) [inline]
+
+
+ +

+Simple ctor with a eoGenOp. +

+

Parameters:
+ + + + +
_maxGen number of generations before stopping
_eval evaluation function
_op variation operator
+
+ +

+Definition at line 75 of file moeoNSGAII.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGAII< MOEOT >::moeoNSGAII (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoTransform< MOEOT > &  _op 
) [inline]
+
+
+ +

+Simple ctor with a eoTransform. +

+

Parameters:
+ + + + +
_maxGen number of generations before stopping
_eval evaluation function
_op variation operator
+
+ +

+Definition at line 88 of file moeoNSGAII.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGAII< MOEOT >::moeoNSGAII (unsigned int  _maxGen,
eoEvalFunc< MOEOT > &  _eval,
eoQuadOp< MOEOT > &  _crossover,
double  _pCross,
eoMonOp< MOEOT > &  _mutation,
double  _pMut 
) [inline]
+
+
+ +

+Ctor with a crossover, a mutation and their corresponding rates. +

+

Parameters:
+ + + + + + + +
_maxGen number of generations before stopping
_eval evaluation function
_crossover crossover
_pCross crossover probability
_mutation mutation
_pMut mutation probability
+
+ +

+Definition at line 104 of file moeoNSGAII.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGAII< MOEOT >::moeoNSGAII (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoGenOp< MOEOT > &  _op 
) [inline]
+
+
+ +

+Ctor with a continuator (instead of _maxGen) and a eoGenOp. +

+

Parameters:
+ + + + +
_continuator stopping criteria
_eval evaluation function
_op variation operator
+
+ +

+Definition at line 117 of file moeoNSGAII.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGAII< MOEOT >::moeoNSGAII (eoContinue< MOEOT > &  _continuator,
eoEvalFunc< MOEOT > &  _eval,
eoTransform< MOEOT > &  _op 
) [inline]
+
+
+ +

+Ctor with a continuator (instead of _maxGen) and a eoTransform. +

+

Parameters:
+ + + + +
_continuator stopping criteria
_eval evaluation function
_op variation operator
+
+ +

+Definition at line 130 of file moeoNSGAII.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
virtual void moeoNSGAII< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Apply a few generation of evolution to the population _pop until the stopping criteria is verified. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 141 of file moeoNSGAII.h. +

+References moeoNSGAII< MOEOT >::breed, moeoNSGAII< MOEOT >::continuator, moeoNSGAII< MOEOT >::diversityAssignment, moeoNSGAII< MOEOT >::fitnessAssignment, moeoNSGAII< MOEOT >::popEval, and moeoNSGAII< MOEOT >::replace. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII.png new file mode 100644 index 000000000..f5c5303ea Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNSGAII.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance-members.html new file mode 100644 index 000000000..bdeb1962f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoNormalizedDistance< MOEOT, Type > Member List

This is the complete list of members for moeoNormalizedDistance< MOEOT, Type >, including all inherited members.

+ + + + + + + + + + + +
boundsmoeoNormalizedDistance< MOEOT, Type > [protected]
functor_category()eoBF< A1, A2, R > [static]
moeoNormalizedDistance()moeoNormalizedDistance< MOEOT, Type > [inline]
ObjectiveVector typedefmoeoNormalizedDistance< MOEOT, Type >
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
setup(const eoPop< MOEOT > &_pop)moeoNormalizedDistance< MOEOT, Type > [inline, virtual]
setup(double _min, double _max, unsigned int _obj)moeoNormalizedDistance< MOEOT, Type > [inline, virtual]
setup(eoRealInterval _realInterval, unsigned int _obj)moeoNormalizedDistance< MOEOT, Type > [inline, virtual]
tiny()moeoNormalizedDistance< MOEOT, Type > [inline, static]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance.html new file mode 100644 index 000000000..eb067f85f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance.html @@ -0,0 +1,220 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoNormalizedDistance< MOEOT, Type > Class Template Reference + + + + +
+
+
+
+

moeoNormalizedDistance< MOEOT, Type > Class Template Reference

The base class for double distance computation with normalized objective values (i.e. +More... +

+#include <moeoNormalizedDistance.h> +

+

Inheritance diagram for moeoNormalizedDistance< MOEOT, Type >: +

+ +moeoDistance< MOEOT, Type > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

moeoNormalizedDistance ()
 Default ctr.
virtual void setup (const eoPop< MOEOT > &_pop)
 Sets the lower and the upper bounds for every objective using extremes values for solutions contained in the population _pop.
virtual void setup (double _min, double _max, unsigned int _obj)
 Sets the lower bound (_min) and the upper bound (_max) for the objective _obj.
virtual void setup (eoRealInterval _realInterval, unsigned int _obj)
 Sets the lower bound and the upper bound for the objective _obj using a eoRealInterval object.

Static Public Member Functions

+static double tiny ()
 Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound).

Protected Attributes

+std::vector< eoRealIntervalbounds
 the bounds for every objective (bounds[i] = bounds for the objective i)
+

Detailed Description

+

template<class MOEOT, class Type = double>
+ class moeoNormalizedDistance< MOEOT, Type >

+ +The base class for double distance computation with normalized objective values (i.e. +

+between 0 and 1). +

+ +

+Definition at line 49 of file moeoNormalizedDistance.h.


Member Function Documentation

+ +
+
+
+template<class MOEOT, class Type = double>
+ + + + + + + + + +
virtual void moeoNormalizedDistance< MOEOT, Type >::setup (const eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets the lower and the upper bounds for every objective using extremes values for solutions contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Reimplemented from moeoDistance< MOEOT, Type >. +

+Definition at line 84 of file moeoNormalizedDistance.h. +

+Referenced by moeoNormalizedDistance< MOEOT >::setup(). +

+

+ +

+
+
+template<class MOEOT, class Type = double>
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void moeoNormalizedDistance< MOEOT, Type >::setup (double  _min,
double  _max,
unsigned int  _obj 
) [inline, virtual]
+
+
+ +

+Sets the lower bound (_min) and the upper bound (_max) for the objective _obj. +

+

Parameters:
+ + + + +
_min lower bound
_max upper bound
_obj the objective index
+
+ +

+Reimplemented from moeoDistance< MOEOT, Type >. +

+Definition at line 108 of file moeoNormalizedDistance.h. +

+

+ +

+
+
+template<class MOEOT, class Type = double>
+ + + + + + + + + + + + + + + + + + +
virtual void moeoNormalizedDistance< MOEOT, Type >::setup (eoRealInterval  _realInterval,
unsigned int  _obj 
) [inline, virtual]
+
+
+ +

+Sets the lower bound and the upper bound for the objective _obj using a eoRealInterval object. +

+

Parameters:
+ + + +
_realInterval the eoRealInterval object
_obj the objective index
+
+ +

+Reimplemented from moeoDistance< MOEOT, Type >. +

+Definition at line 124 of file moeoNormalizedDistance.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance.png new file mode 100644 index 000000000..5fff51949 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedDistance.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric-members.html new file mode 100644 index 000000000..f41dea548 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric-members.html @@ -0,0 +1,45 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > Member List

This is the complete list of members for moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >, including all inherited members.

+ + + + + + + + + +
boundsmoeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [protected]
functor_category()eoBF< A1, A2, R > [static]
moeoNormalizedSolutionVsSolutionBinaryMetric()moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
setup(double _min, double _max, unsigned int _obj)moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline]
setup(eoRealInterval _realInterval, unsigned int _obj)moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline, virtual]
tiny()moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > [inline, static]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric.html new file mode 100644 index 000000000..2b72fffea --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric.html @@ -0,0 +1,178 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > Class Template Reference + + + + +
+
+
+
+

moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > Class Template Reference

Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values. +More... +

+#include <moeoNormalizedSolutionVsSolutionBinaryMetric.h> +

+

Inheritance diagram for moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >: +

+ +moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R > +moeoBinaryMetric< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase +moeoAdditiveEpsilonBinaryMetric< ObjectiveVector > +moeoHypervolumeBinaryMetric< ObjectiveVector > + +List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

moeoNormalizedSolutionVsSolutionBinaryMetric ()
 Default ctr for any moeoNormalizedSolutionVsSolutionBinaryMetric object.
void setup (double _min, double _max, unsigned int _obj)
 Sets the lower bound (_min) and the upper bound (_max) for the objective _obj.
virtual void setup (eoRealInterval _realInterval, unsigned int _obj)
 Sets the lower bound and the upper bound for the objective _obj using a eoRealInterval object.

Static Public Member Functions

+static double tiny ()
 Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound).

Protected Attributes

+std::vector< eoRealIntervalbounds
 the bounds for every objective (bounds[i] = bounds for the objective i)
+

Detailed Description

+

template<class ObjectiveVector, class R>
+ class moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >

+ +Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values. +

+Then, indicator values lie in the interval [-1,1]. Note that you have to set the bounds for every objective before using the operator(). +

+ +

+Definition at line 51 of file moeoNormalizedSolutionVsSolutionBinaryMetric.h.


Member Function Documentation

+ +
+
+
+template<class ObjectiveVector, class R>
+ + + + + + + + + + + + + + + + + + + + + + + + +
void moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >::setup (double  _min,
double  _max,
unsigned int  _obj 
) [inline]
+
+
+ +

+Sets the lower bound (_min) and the upper bound (_max) for the objective _obj. +

+

Parameters:
+ + + + +
_min lower bound
_max upper bound
_obj the objective index
+
+ +

+Definition at line 75 of file moeoNormalizedSolutionVsSolutionBinaryMetric.h. +

+

+ +

+
+
+template<class ObjectiveVector, class R>
+ + + + + + + + + + + + + + + + + + +
virtual void moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >::setup (eoRealInterval  _realInterval,
unsigned int  _obj 
) [inline, virtual]
+
+
+ +

+Sets the lower bound and the upper bound for the objective _obj using a eoRealInterval object. +

+

Parameters:
+ + + +
_realInterval the eoRealInterval object
_obj the objective index
+
+ +

+Definition at line 91 of file moeoNormalizedSolutionVsSolutionBinaryMetric.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric.png new file mode 100644 index 000000000..1fec7f2f8 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoNormalizedSolutionVsSolutionBinaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator-members.html new file mode 100644 index 000000000..146cec02c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoObjectiveObjectiveVectorComparator< ObjectiveVector > Member List

This is the complete list of members for moeoObjectiveObjectiveVectorComparator< ObjectiveVector >, including all inherited members.

+ + + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(const ObjectiveVector &_objectiveVector1, const ObjectiveVector &_objectiveVector2)moeoObjectiveObjectiveVectorComparator< ObjectiveVector > [inline]
moeoObjectiveVectorComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator.html new file mode 100644 index 000000000..67b3cf214 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator.html @@ -0,0 +1,106 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveObjectiveVectorComparator< ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoObjectiveObjectiveVectorComparator< ObjectiveVector > Class Template Reference

Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on. +More... +

+#include <moeoObjectiveObjectiveVectorComparator.h> +

+

Inheritance diagram for moeoObjectiveObjectiveVectorComparator< ObjectiveVector >: +

+ +moeoObjectiveVectorComparator< ObjectiveVector > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

const bool operator() (const ObjectiveVector &_objectiveVector1, const ObjectiveVector &_objectiveVector2)
 Returns true if _objectiveVector1 < _objectiveVector2 on the first objective, then on the second, and so on.
+

Detailed Description

+

template<class ObjectiveVector>
+ class moeoObjectiveObjectiveVectorComparator< ObjectiveVector >

+ +Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on. +

+ +

+Definition at line 47 of file moeoObjectiveObjectiveVectorComparator.h.


Member Function Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
const bool moeoObjectiveObjectiveVectorComparator< ObjectiveVector >::operator() (const ObjectiveVector _objectiveVector1,
const ObjectiveVector _objectiveVector2 
) [inline]
+
+
+ +

+Returns true if _objectiveVector1 < _objectiveVector2 on the first objective, then on the second, and so on. +

+

Parameters:
+ + + +
_objectiveVector1 the first objective vector
_objectiveVector2 the second objective vector
+
+ +

+Definition at line 56 of file moeoObjectiveObjectiveVectorComparator.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator.png new file mode 100644 index 000000000..4d94f5ab6 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveObjectiveVectorComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVector-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVector-members.html new file mode 100644 index 000000000..e68414f7b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVector-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > Member List

This is the complete list of members for moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >, including all inherited members.

+ + + + + + + + +
maximizing(unsigned int _i)moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > [inline, static]
minimizing(unsigned int _i)moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > [inline, static]
moeoObjectiveVector(Type _value=Type())moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > [inline]
moeoObjectiveVector(std::vector< Type > &_v)moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > [inline]
nObjectives()moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > [inline, static]
setup(unsigned int _nObjectives, std::vector< bool > &_bObjectives)moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > [inline, static]
Traits typedefmoeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >
Type typedefmoeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVector.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVector.html new file mode 100644 index 000000000..6e90d1269 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVector.html @@ -0,0 +1,222 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > Class Template Reference + + + + +
+
+
+
+

moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType > Class Template Reference

Abstract class allowing to represent a solution in the objective space (phenotypic representation). +More... +

+#include <moeoObjectiveVector.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef ObjectiveVectorTraits Traits
 The traits of objective vectors.
+typedef ObjectiveVectorType Type
 The type of an objective value.

Public Member Functions

moeoObjectiveVector (Type _value=Type())
 Ctor.
 moeoObjectiveVector (std::vector< Type > &_v)
 Ctor from a vector of Type.

Static Public Member Functions

static void setup (unsigned int _nObjectives, std::vector< bool > &_bObjectives)
 Parameters setting (for the objective vector of any solution).
+static unsigned int nObjectives ()
 Returns the number of objectives.
static bool minimizing (unsigned int _i)
 Returns true if the _ith objective have to be minimized.
static bool maximizing (unsigned int _i)
 Returns true if the _ith objective have to be maximized.
+


Detailed Description

+

template<class ObjectiveVectorTraits, class ObjectiveVectorType>
+ class moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >

+ +Abstract class allowing to represent a solution in the objective space (phenotypic representation). +

+The template argument ObjectiveVectorTraits defaults to moeoObjectiveVectorTraits, but it can be replaced at will by any other class that implements the static functions defined therein. Some static funtions to access to the traits characteristics are re-defined in order not to write a lot of typedef's. +

+ +

+Definition at line 50 of file moeoObjectiveVector.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class ObjectiveVectorTraits, class ObjectiveVectorType>
+ + + + + + + + + +
moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >::moeoObjectiveVector (std::vector< Type > &  _v  )  [inline]
+
+
+ +

+Ctor from a vector of Type. +

+

Parameters:
+ + +
_v the std::vector < Type >
+
+ +

+Definition at line 71 of file moeoObjectiveVector.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class ObjectiveVectorTraits, class ObjectiveVectorType>
+ + + + + + + + + + + + + + + + + + +
static void moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >::setup (unsigned int  _nObjectives,
std::vector< bool > &  _bObjectives 
) [inline, static]
+
+
+ +

+Parameters setting (for the objective vector of any solution). +

+

Parameters:
+ + + +
_nObjectives the number of objectives
_bObjectives the min/max vector (true = min / false = max)
+
+ +

+Definition at line 80 of file moeoObjectiveVector.h. +

+

+ +

+
+
+template<class ObjectiveVectorTraits, class ObjectiveVectorType>
+ + + + + + + + + +
static bool moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >::minimizing (unsigned int  _i  )  [inline, static]
+
+
+ +

+Returns true if the _ith objective have to be minimized. +

+

Parameters:
+ + +
_i the index
+
+ +

+Definition at line 99 of file moeoObjectiveVector.h. +

+

+ +

+
+
+template<class ObjectiveVectorTraits, class ObjectiveVectorType>
+ + + + + + + + + +
static bool moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >::maximizing (unsigned int  _i  )  [inline, static]
+
+
+ +

+Returns true if the _ith objective have to be maximized. +

+

Parameters:
+ + +
_i the index
+
+ +

+Definition at line 109 of file moeoObjectiveVector.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator-members.html new file mode 100644 index 000000000..6c0bba5bc --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoObjectiveVectorComparator< ObjectiveVector > Member List

This is the complete list of members for moeoObjectiveVectorComparator< ObjectiveVector >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator.html new file mode 100644 index 000000000..164473714 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator.html @@ -0,0 +1,64 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveVectorComparator< ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoObjectiveVectorComparator< ObjectiveVector > Class Template Reference

Abstract class allowing to compare 2 objective vectors. +More... +

+#include <moeoObjectiveVectorComparator.h> +

+

Inheritance diagram for moeoObjectiveVectorComparator< ObjectiveVector >: +

+ +eoBF< A1, A2, R > +eoFunctorBase +moeoGDominanceObjectiveVectorComparator< ObjectiveVector > +moeoObjectiveObjectiveVectorComparator< ObjectiveVector > +moeoParetoObjectiveVectorComparator< ObjectiveVector > + +List of all members. + +
+

Detailed Description

+

template<class ObjectiveVector>
+ class moeoObjectiveVectorComparator< ObjectiveVector >

+ +Abstract class allowing to compare 2 objective vectors. +

+The template argument ObjectiveVector have to be a moeoObjectiveVector. +

+ +

+Definition at line 49 of file moeoObjectiveVectorComparator.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator.png new file mode 100644 index 000000000..07d6ef1ec Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits-members.html new file mode 100644 index 000000000..d946633ed --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoObjectiveVectorTraits Member List

This is the complete list of members for moeoObjectiveVectorTraits, including all inherited members.

+ + + + + + + +
bObjmoeoObjectiveVectorTraits [private, static]
maximizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
minimizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
nObjmoeoObjectiveVectorTraits [private, static]
nObjectives()moeoObjectiveVectorTraits [inline, static]
setup(unsigned int _nObjectives, std::vector< bool > &_bObjectives)moeoObjectiveVectorTraits [inline, static]
tolerance()moeoObjectiveVectorTraits [inline, static]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits.html new file mode 100644 index 000000000..fcdbd3cb5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits.html @@ -0,0 +1,206 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveVectorTraits Class Reference + + + + +
+
+
+
+

moeoObjectiveVectorTraits Class Reference

A traits class for moeoObjectiveVector to specify the number of objectives and which ones have to be minimized or maximized. +More... +

+#include <moeoObjectiveVectorTraits.h> +

+

Inheritance diagram for moeoObjectiveVectorTraits: +

+ +FlowShopObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +ObjectiveVectorTraits +Sch1ObjectiveVectorTraits + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + +

Static Public Member Functions

static void setup (unsigned int _nObjectives, std::vector< bool > &_bObjectives)
 Parameters setting.
+static unsigned int nObjectives ()
 Returns the number of objectives.
static bool minimizing (unsigned int _i)
 Returns true if the _ith objective have to be minimized.
static bool maximizing (unsigned int _i)
 Returns true if the _ith objective have to be maximized.
+static double tolerance ()
 Returns the tolerance value (to compare solutions).

Static Private Attributes

+static unsigned int nObj
 The number of objectives.
+static std::vector< bool > bObj
 The min/max vector.
+

Detailed Description

+A traits class for moeoObjectiveVector to specify the number of objectives and which ones have to be minimized or maximized. +

+ +

+Definition at line 48 of file moeoObjectiveVectorTraits.h.


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
static void moeoObjectiveVectorTraits::setup (unsigned int  _nObjectives,
std::vector< bool > &  _bObjectives 
) [inline, static]
+
+
+ +

+Parameters setting. +

+

Parameters:
+ + + +
_nObjectives the number of objectives
_bObjectives the min/max vector (true = min / false = max)
+
+ +

+Definition at line 57 of file moeoObjectiveVectorTraits.h. +

+References bObj, and nObj. +

+Referenced by moeoObjectiveVector< ObjectiveVectorTraits, double >::setup(). +

+

+ +

+
+ + + + + + + + + +
static bool moeoObjectiveVectorTraits::minimizing (unsigned int  _i  )  [inline, static]
+
+
+ +

+Returns true if the _ith objective have to be minimized. +

+

Parameters:
+ + +
_i the index
+
+ +

+Definition at line 93 of file moeoObjectiveVectorTraits.h. +

+References bObj. +

+Referenced by maximizing(). +

+

+ +

+
+ + + + + + + + + +
static bool moeoObjectiveVectorTraits::maximizing (unsigned int  _i  )  [inline, static]
+
+
+ +

+Returns true if the _ith objective have to be maximized. +

+

Parameters:
+ + +
_i the index
+
+ +

+Definition at line 106 of file moeoObjectiveVectorTraits.h. +

+References minimizing(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits.png new file mode 100644 index 000000000..2f54120ed Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator-members.html new file mode 100644 index 000000000..934e655d9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoOneObjectiveComparator< MOEOT > Member List

This is the complete list of members for moeoOneObjectiveComparator< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoBF< A1, A2, R > [static]
moeoOneObjectiveComparator(unsigned int _obj)moeoOneObjectiveComparator< MOEOT > [inline]
objmoeoOneObjectiveComparator< MOEOT > [private]
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoOneObjectiveComparator< MOEOT > [inline]
moeoComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator.html new file mode 100644 index 000000000..8f918349c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator.html @@ -0,0 +1,150 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoOneObjectiveComparator< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoOneObjectiveComparator< MOEOT > Class Template Reference

Functor allowing to compare two solutions according to one objective. +More... +

+#include <moeoOneObjectiveComparator.h> +

+

Inheritance diagram for moeoOneObjectiveComparator< MOEOT >: +

+ +moeoComparator< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Member Functions

 moeoOneObjectiveComparator (unsigned int _obj)
 Ctor.
const bool operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)
 Returns true if _moeo1 < _moeo2 on the obj objective.

Private Attributes

+unsigned int obj
 the index of objective
+

Detailed Description

+

template<class MOEOT>
+ class moeoOneObjectiveComparator< MOEOT >

+ +Functor allowing to compare two solutions according to one objective. +

+ +

+Definition at line 47 of file moeoOneObjectiveComparator.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoOneObjectiveComparator< MOEOT >::moeoOneObjectiveComparator (unsigned int  _obj  )  [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_obj the index of objective
+
+ +

+Definition at line 55 of file moeoOneObjectiveComparator.h. +

+References moeoOneObjectiveComparator< MOEOT >::obj. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
const bool moeoOneObjectiveComparator< MOEOT >::operator() (const MOEOT &  _moeo1,
const MOEOT &  _moeo2 
) [inline]
+
+
+ +

+Returns true if _moeo1 < _moeo2 on the obj objective. +

+

Parameters:
+ + + +
_moeo1 the first solution
_moeo2 the second solution
+
+ +

+Definition at line 69 of file moeoOneObjectiveComparator.h. +

+References moeoOneObjectiveComparator< MOEOT >::obj. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator.png new file mode 100644 index 000000000..b07c06bb3 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoOneObjectiveComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment-members.html new file mode 100644 index 000000000..c0c8ca424 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoParetoBasedFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoParetoBasedFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &)=0eoUF< eoPop< MOEOT > &, void > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoFitnessAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment.html new file mode 100644 index 000000000..2c31cacbf --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoParetoBasedFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoParetoBasedFitnessAssignment< MOEOT > Class Template Reference

moeoParetoBasedFitnessAssignment is a moeoFitnessAssignment for Pareto-based strategies. +More... +

+#include <moeoParetoBasedFitnessAssignment.h> +

+

Inheritance diagram for moeoParetoBasedFitnessAssignment< MOEOT >: +

+ +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase +moeoFastNonDominatedSortingFitnessAssignment< MOEOT > + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoParetoBasedFitnessAssignment< MOEOT >

+ +moeoParetoBasedFitnessAssignment is a moeoFitnessAssignment for Pareto-based strategies. +

+ +

+Definition at line 47 of file moeoParetoBasedFitnessAssignment.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment.png new file mode 100644 index 000000000..2291d4e38 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoBasedFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator-members.html new file mode 100644 index 000000000..df520c046 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoParetoObjectiveVectorComparator< ObjectiveVector > Member List

This is the complete list of members for moeoParetoObjectiveVectorComparator< ObjectiveVector >, including all inherited members.

+ + + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(const ObjectiveVector &_objectiveVector1, const ObjectiveVector &_objectiveVector2)moeoParetoObjectiveVectorComparator< ObjectiveVector > [inline]
moeoObjectiveVectorComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator.html new file mode 100644 index 000000000..946192a74 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator.html @@ -0,0 +1,106 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoParetoObjectiveVectorComparator< ObjectiveVector > Class Template Reference + + + + +
+
+
+
+

moeoParetoObjectiveVectorComparator< ObjectiveVector > Class Template Reference

This functor class allows to compare 2 objective vectors according to Pareto dominance. +More... +

+#include <moeoParetoObjectiveVectorComparator.h> +

+

Inheritance diagram for moeoParetoObjectiveVectorComparator< ObjectiveVector >: +

+ +moeoObjectiveVectorComparator< ObjectiveVector > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + +

Public Member Functions

const bool operator() (const ObjectiveVector &_objectiveVector1, const ObjectiveVector &_objectiveVector2)
 Returns true if _objectiveVector1 is dominated by _objectiveVector2.
+

Detailed Description

+

template<class ObjectiveVector>
+ class moeoParetoObjectiveVectorComparator< ObjectiveVector >

+ +This functor class allows to compare 2 objective vectors according to Pareto dominance. +

+ +

+Definition at line 47 of file moeoParetoObjectiveVectorComparator.h.


Member Function Documentation

+ +
+
+
+template<class ObjectiveVector>
+ + + + + + + + + + + + + + + + + + +
const bool moeoParetoObjectiveVectorComparator< ObjectiveVector >::operator() (const ObjectiveVector _objectiveVector1,
const ObjectiveVector _objectiveVector2 
) [inline]
+
+
+ +

+Returns true if _objectiveVector1 is dominated by _objectiveVector2. +

+

Parameters:
+ + + +
_objectiveVector1 the first objective vector
_objectiveVector2 the second objective vector
+
+ +

+Definition at line 56 of file moeoParetoObjectiveVectorComparator.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator.png new file mode 100644 index 000000000..790ba77fa Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoParetoObjectiveVectorComparator.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect-members.html new file mode 100644 index 000000000..8bd6be03b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect-members.html @@ -0,0 +1,45 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoRandomSelect< MOEOT > Member List

This is the complete list of members for moeoRandomSelect< MOEOT >, including all inherited members.

+ + + + + + + + + +
moeoSelectOne::functor_category()eoUF< A1, R > [static]
eoRandomSelect< MOEOT >::functor_category()eoUF< A1, R > [static]
moeoRandomSelect()moeoRandomSelect< MOEOT > [inline]
operator()(const eoPop< MOEOT > &_pop)moeoRandomSelect< MOEOT > [inline, virtual]
moeoSelectOne::operator()(A1)=0eoUF< A1, R > [pure virtual]
moeoSelectOne::setup(const eoPop< MOEOT > &_pop)eoSelectOne< MOEOT > [virtual]
eoRandomSelect< MOEOT >::setup(const eoPop< EOT > &_pop)eoSelectOne< EOT, WorthT > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect.html new file mode 100644 index 000000000..905ac3e97 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect.html @@ -0,0 +1,74 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoRandomSelect< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoRandomSelect< MOEOT > Class Template Reference

Selection strategy that selects only one element randomly from a whole population. +More... +

+#include <moeoRandomSelect.h> +

+

Inheritance diagram for moeoRandomSelect< MOEOT >: +

+ +moeoSelectOne< MOEOT > +eoRandomSelect< MOEOT > +eoSelectOne< MOEOT > +eoSelectOne< EOT, WorthT > +eoUF< A1, R > +eoUF< A1, R > +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + + + + +

Public Member Functions

moeoRandomSelect ()
 Ctor.
+const MOEOT & operator() (const eoPop< MOEOT > &_pop)
 Return one individual at random by using an eoRandomSelect.
+

Detailed Description

+

template<class MOEOT>
+ class moeoRandomSelect< MOEOT >

+ +Selection strategy that selects only one element randomly from a whole population. +

+ +

+Definition at line 48 of file moeoRandomSelect.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect.png new file mode 100644 index 000000000..3347ccc9a Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRandomSelect.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector-members.html new file mode 100644 index 000000000..4200a84e8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector-members.html @@ -0,0 +1,53 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoRealObjectiveVector< ObjectiveVectorTraits > Member List

This is the complete list of members for moeoRealObjectiveVector< ObjectiveVectorTraits >, including all inherited members.

+ + + + + + + + + + + + + + + + + +
dominates(const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
maximizing(unsigned int _i)moeoObjectiveVector< ObjectiveVectorTraits, double > [inline, static]
minimizing(unsigned int _i)moeoObjectiveVector< ObjectiveVectorTraits, double > [inline, static]
moeoObjectiveVector(Type _value=Type())moeoObjectiveVector< ObjectiveVectorTraits, double > [inline]
moeoObjectiveVector(std::vector< Type > &_v)moeoObjectiveVector< ObjectiveVectorTraits, double > [inline]
moeoRealObjectiveVector(double _value=0.0)moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
moeoRealObjectiveVector(std::vector< double > &_v)moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
nObjectives()moeoObjectiveVector< ObjectiveVectorTraits, double > [inline, static]
operator!=(const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
operator<(const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
operator<=(const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
operator==(const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
operator>(const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
operator>=(const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const moeoRealObjectiveVector< ObjectiveVectorTraits > [inline]
setup(unsigned int _nObjectives, std::vector< bool > &_bObjectives)moeoObjectiveVector< ObjectiveVectorTraits, double > [inline, static]
Traits typedefmoeoObjectiveVector< ObjectiveVectorTraits, double >
Type typedefmoeoObjectiveVector< ObjectiveVectorTraits, double >


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector.html new file mode 100644 index 000000000..9c969474b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector.html @@ -0,0 +1,353 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoRealObjectiveVector< ObjectiveVectorTraits > Class Template Reference + + + + +
+
+
+
+

moeoRealObjectiveVector< ObjectiveVectorTraits > Class Template Reference

This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e. +More... +

+#include <moeoRealObjectiveVector.h> +

+

Inheritance diagram for moeoRealObjectiveVector< ObjectiveVectorTraits >: +

+ +moeoObjectiveVector< ObjectiveVectorTraits, double > + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

moeoRealObjectiveVector (double _value=0.0)
 Ctor.
 moeoRealObjectiveVector (std::vector< double > &_v)
 Ctor from a vector of doubles.
bool dominates (const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const
 Returns true if the current objective vector dominates _other according to the Pareto dominance relation (but it's better to use a moeoObjectiveVectorComparator object to compare solutions).
bool operator== (const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const
 Returns true if the current objective vector is equal to _other (according to a tolerance value).
bool operator!= (const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const
 Returns true if the current objective vector is different than _other (according to a tolerance value).
bool operator< (const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const
 Returns true if the current objective vector is smaller than _other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
bool operator> (const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const
 Returns true if the current objective vector is greater than _other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
bool operator<= (const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const
 Returns true if the current objective vector is smaller than or equal to _other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
bool operator>= (const moeoRealObjectiveVector< ObjectiveVectorTraits > &_other) const
 Returns true if the current objective vector is greater than or equal to _other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
+

Detailed Description

+

template<class ObjectiveVectorTraits>
+ class moeoRealObjectiveVector< ObjectiveVectorTraits >

+ +This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e. +

+that an objective value is represented using a double, and this for any objective. +

+ +

+Definition at line 52 of file moeoRealObjectiveVector.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class ObjectiveVectorTraits>
+ + + + + + + + + +
moeoRealObjectiveVector< ObjectiveVectorTraits >::moeoRealObjectiveVector (std::vector< double > &  _v  )  [inline]
+
+
+ +

+Ctor from a vector of doubles. +

+

Parameters:
+ + +
_v the std::vector < double >
+
+ +

+Definition at line 70 of file moeoRealObjectiveVector.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class ObjectiveVectorTraits>
+ + + + + + + + + +
bool moeoRealObjectiveVector< ObjectiveVectorTraits >::dominates (const moeoRealObjectiveVector< ObjectiveVectorTraits > &  _other  )  const [inline]
+
+
+ +

+Returns true if the current objective vector dominates _other according to the Pareto dominance relation (but it's better to use a moeoObjectiveVectorComparator object to compare solutions). +

+

Parameters:
+ + +
_other the other moeoRealObjectiveVector object to compare with
+
+ +

+Definition at line 79 of file moeoRealObjectiveVector.h. +

+

+ +

+
+
+template<class ObjectiveVectorTraits>
+ + + + + + + + + +
bool moeoRealObjectiveVector< ObjectiveVectorTraits >::operator== (const moeoRealObjectiveVector< ObjectiveVectorTraits > &  _other  )  const [inline]
+
+
+ +

+Returns true if the current objective vector is equal to _other (according to a tolerance value). +

+

Parameters:
+ + +
_other the other moeoRealObjectiveVector object to compare with
+
+ +

+Definition at line 90 of file moeoRealObjectiveVector.h. +

+References moeoObjectiveVectorTraits::tolerance(). +

+Referenced by moeoRealObjectiveVector< ObjectiveVectorTraits >::operator!=(), and moeoRealObjectiveVector< ObjectiveVectorTraits >::operator>=(). +

+

+ +

+
+
+template<class ObjectiveVectorTraits>
+ + + + + + + + + +
bool moeoRealObjectiveVector< ObjectiveVectorTraits >::operator!= (const moeoRealObjectiveVector< ObjectiveVectorTraits > &  _other  )  const [inline]
+
+
+ +

+Returns true if the current objective vector is different than _other (according to a tolerance value). +

+

Parameters:
+ + +
_other the other moeoRealObjectiveVector object to compare with
+
+ +

+Definition at line 107 of file moeoRealObjectiveVector.h. +

+References moeoRealObjectiveVector< ObjectiveVectorTraits >::operator==(). +

+

+ +

+
+
+template<class ObjectiveVectorTraits>
+ + + + + + + + + +
bool moeoRealObjectiveVector< ObjectiveVectorTraits >::operator< (const moeoRealObjectiveVector< ObjectiveVectorTraits > &  _other  )  const [inline]
+
+
+ +

+Returns true if the current objective vector is smaller than _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +

+

Parameters:
+ + +
_other the other moeoRealObjectiveVector object to compare with
+
+ +

+Definition at line 118 of file moeoRealObjectiveVector.h. +

+Referenced by moeoRealObjectiveVector< ObjectiveVectorTraits >::operator<=(). +

+

+ +

+
+
+template<class ObjectiveVectorTraits>
+ + + + + + + + + +
bool moeoRealObjectiveVector< ObjectiveVectorTraits >::operator> (const moeoRealObjectiveVector< ObjectiveVectorTraits > &  _other  )  const [inline]
+
+
+ +

+Returns true if the current objective vector is greater than _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +

+

Parameters:
+ + +
_other the other moeoRealObjectiveVector object to compare with
+
+ +

+Definition at line 130 of file moeoRealObjectiveVector.h. +

+Referenced by moeoRealObjectiveVector< ObjectiveVectorTraits >::operator>=(). +

+

+ +

+
+
+template<class ObjectiveVectorTraits>
+ + + + + + + + + +
bool moeoRealObjectiveVector< ObjectiveVectorTraits >::operator<= (const moeoRealObjectiveVector< ObjectiveVectorTraits > &  _other  )  const [inline]
+
+
+ +

+Returns true if the current objective vector is smaller than or equal to _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +

+

Parameters:
+ + +
_other the other moeoRealObjectiveVector object to compare with
+
+ +

+Definition at line 141 of file moeoRealObjectiveVector.h. +

+References moeoRealObjectiveVector< ObjectiveVectorTraits >::operator<(). +

+

+ +

+
+
+template<class ObjectiveVectorTraits>
+ + + + + + + + + +
bool moeoRealObjectiveVector< ObjectiveVectorTraits >::operator>= (const moeoRealObjectiveVector< ObjectiveVectorTraits > &  _other  )  const [inline]
+
+
+ +

+Returns true if the current objective vector is greater than or equal to _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +

+

Parameters:
+ + +
_other the other moeoRealObjectiveVector object to compare with
+
+ +

+Definition at line 152 of file moeoRealObjectiveVector.h. +

+References moeoRealObjectiveVector< ObjectiveVectorTraits >::operator==(), and moeoRealObjectiveVector< ObjectiveVectorTraits >::operator>(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector.png new file mode 100644 index 000000000..c5aa7381c Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealObjectiveVector.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector-members.html new file mode 100644 index 000000000..647d6dd18 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector-members.html @@ -0,0 +1,87 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Member List

This is the complete list of members for moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtomType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
className() const moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
ContainerType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoRealVector(unsigned int _size=0, double _value=0.0)moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoVector(unsigned int _size=0, double_value=double())moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > &_moeo) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
MOEO::operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline, virtual]
readFrom(std::istream &_is)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline, virtual]
storage_type typedefEO< MOEOObjectiveVector >
value(const std::vector< double > &_v)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector.html new file mode 100644 index 000000000..15a8e77f1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector.html @@ -0,0 +1,119 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Class Template Reference + + + + +
+
+
+
+

moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > Class Template Reference

This class is an implementation of a simple double-valued moeoVector. +More... +

+#include <moeoRealVector.h> +

+

Inheritance diagram for moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >: +

+ +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +EO< MOEOObjectiveVector > +eoObject +eoPersistent +eoPrintable +Sch1 +Solution +Solution +Solution +Solution +Solution + +List of all members. + + + + + + + + +

Public Member Functions

 moeoRealVector (unsigned int _size=0, double _value=0.0)
 Ctor.
+virtual std::string className () const
 Returns the class name as a std::string.
+

Detailed Description

+

template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ class moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >

+ +This class is an implementation of a simple double-valued moeoVector. +

+ +

+Definition at line 47 of file moeoRealVector.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity>
+ + + + + + + + + + + + + + + + + + +
moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::moeoRealVector (unsigned int  _size = 0,
double  _value = 0.0 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_size Length of vector (default is 0)
_value Initial value of all elements (default is default value of type GeneType)
+
+ +

+Definition at line 56 of file moeoRealVector.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector.png new file mode 100644 index 000000000..d45129a41 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRealVector.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement-members.html new file mode 100644 index 000000000..8121ade26 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoReplacement< MOEOT > Member List

This is the complete list of members for moeoReplacement< MOEOT >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement.html new file mode 100644 index 000000000..2429c14ab --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoReplacement< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoReplacement< MOEOT > Class Template Reference

Replacement strategy for multi-objective optimization. +More... +

+#include <moeoReplacement.h> +

+

Inheritance diagram for moeoReplacement< MOEOT >: +

+ +eoReplacement< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase +moeoElitistReplacement< MOEOT > +moeoEnvironmentalReplacement< MOEOT > +moeoGenerationalReplacement< MOEOT > + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoReplacement< MOEOT >

+ +Replacement strategy for multi-objective optimization. +

+ +

+Definition at line 47 of file moeoReplacement.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement.png new file mode 100644 index 000000000..81188d8ce Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoReplacement.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect-members.html new file mode 100644 index 000000000..011ad0d68 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoRouletteSelect< MOEOT > Member List

This is the complete list of members for moeoRouletteSelect< MOEOT >, including all inherited members.

+ + + + + + + + +
functor_category()eoUF< A1, R > [static]
moeoRouletteSelect(unsigned int _tSize=2)moeoRouletteSelect< MOEOT > [inline]
operator()(const eoPop< MOEOT > &_pop)moeoRouletteSelect< MOEOT > [inline]
moeoSelectOne::operator()(A1)=0eoUF< A1, R > [pure virtual]
setup(const eoPop< MOEOT > &_pop)eoSelectOne< MOEOT > [virtual]
tSizemoeoRouletteSelect< MOEOT > [protected]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect.html new file mode 100644 index 000000000..bdc10cbbc --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect.html @@ -0,0 +1,144 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoRouletteSelect< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoRouletteSelect< MOEOT > Class Template Reference

Selection strategy that selects ONE individual by using roulette wheel process. +More... +

+#include <moeoRouletteSelect.h> +

+

Inheritance diagram for moeoRouletteSelect< MOEOT >: +

+ +moeoSelectOne< MOEOT > +eoSelectOne< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Member Functions

 moeoRouletteSelect (unsigned int _tSize=2)
 Ctor.
const MOEOT & operator() (const eoPop< MOEOT > &_pop)
 Apply the tournament to the given population.

Protected Attributes

+double & tSize
 size
+

Detailed Description

+

template<class MOEOT>
+ class moeoRouletteSelect< MOEOT >

+ +Selection strategy that selects ONE individual by using roulette wheel process. +

+

Warning:
This selection only uses fitness values (and not diversity values).
+ +

+ +

+Definition at line 49 of file moeoRouletteSelect.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoRouletteSelect< MOEOT >::moeoRouletteSelect (unsigned int  _tSize = 2  )  [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_tSize the number of individuals in the tournament (default: 2)
+
+ +

+Definition at line 57 of file moeoRouletteSelect.h. +

+References moeoRouletteSelect< MOEOT >::tSize. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
const MOEOT& moeoRouletteSelect< MOEOT >::operator() (const eoPop< MOEOT > &  _pop  )  [inline]
+
+
+ +

+Apply the tournament to the given population. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 73 of file moeoRouletteSelect.h. +

+References moeoRouletteSelect< MOEOT >::tSize. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect.png new file mode 100644 index 000000000..5a9a8b943 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoRouletteSelect.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment-members.html new file mode 100644 index 000000000..9e97a020f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoScalarFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoScalarFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &)=0eoUF< eoPop< MOEOT > &, void > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoFitnessAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment.html new file mode 100644 index 000000000..14b705310 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoScalarFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoScalarFitnessAssignment< MOEOT > Class Template Reference

moeoScalarFitnessAssignment is a moeoFitnessAssignment for scalar strategies. +More... +

+#include <moeoScalarFitnessAssignment.h> +

+

Inheritance diagram for moeoScalarFitnessAssignment< MOEOT >: +

+ +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase +moeoAchievementFitnessAssignment< MOEOT > + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoScalarFitnessAssignment< MOEOT >

+ +moeoScalarFitnessAssignment is a moeoFitnessAssignment for scalar strategies. +

+ +

+Definition at line 47 of file moeoScalarFitnessAssignment.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment.png new file mode 100644 index 000000000..93cce3712 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoScalarFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch-members.html new file mode 100644 index 000000000..59c6166ae --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch-members.html @@ -0,0 +1,49 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoSelectFromPopAndArch< MOEOT > Member List

This is the complete list of members for moeoSelectFromPopAndArch< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + +
archmoeoSelectFromPopAndArch< MOEOT > [private]
archSelectOnemoeoSelectFromPopAndArch< MOEOT > [private]
functor_category()eoUF< A1, R > [static]
moeoSelectFromPopAndArch(moeoSelectOne< MOEOT > &_popSelectOne, moeoSelectOne< MOEOT > _archSelectOne, moeoArchive< MOEOT > &_arch, double _ratioFromPop=0.5)moeoSelectFromPopAndArch< MOEOT > [inline]
moeoSelectFromPopAndArch(moeoSelectOne< MOEOT > &_popSelectOne, moeoArchive< MOEOT > &_arch, double _ratioFromPop=0.5)moeoSelectFromPopAndArch< MOEOT > [inline]
operator()(const eoPop< MOEOT > &pop)moeoSelectFromPopAndArch< MOEOT > [inline, virtual]
moeoSelectOne::operator()(A1)=0eoUF< A1, R > [pure virtual]
popSelectOnemoeoSelectFromPopAndArch< MOEOT > [private]
randomSelectOnemoeoSelectFromPopAndArch< MOEOT > [private]
ratioFromPopmoeoSelectFromPopAndArch< MOEOT > [private]
setup(const eoPop< MOEOT > &_pop)moeoSelectFromPopAndArch< MOEOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch.html new file mode 100644 index 000000000..9ec5e2eb0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch.html @@ -0,0 +1,201 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSelectFromPopAndArch< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoSelectFromPopAndArch< MOEOT > Class Template Reference

Elitist selection process that consists in choosing individuals in the archive as well as in the current population. +More... +

+#include <moeoSelectFromPopAndArch.h> +

+

Inheritance diagram for moeoSelectFromPopAndArch< MOEOT >: +

+ +moeoSelectOne< MOEOT > +eoSelectOne< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoSelectFromPopAndArch (moeoSelectOne< MOEOT > &_popSelectOne, moeoSelectOne< MOEOT > _archSelectOne, moeoArchive< MOEOT > &_arch, double _ratioFromPop=0.5)
 Ctor.
 moeoSelectFromPopAndArch (moeoSelectOne< MOEOT > &_popSelectOne, moeoArchive< MOEOT > &_arch, double _ratioFromPop=0.5)
 Defaulr ctor - the archive's selection operator is a random selector.
+virtual const MOEOT & operator() (const eoPop< MOEOT > &pop)
 The selection process.
+virtual void setup (const eoPop< MOEOT > &_pop)
 Setups some population stats.

Private Attributes

+moeoSelectOne< MOEOT > & popSelectOne
 The population's selection operator.
+moeoSelectOne< MOEOT > & archSelectOne
 The archive's selection operator.
+moeoArchive< MOEOT > & arch
 The archive.
+double ratioFromPop
 The ratio of selected individuals from the population.
+moeoRandomSelect< MOEOT > randomSelectOne
 A random selection operator (used as default for archSelectOne).
+

Detailed Description

+

template<class MOEOT>
+ class moeoSelectFromPopAndArch< MOEOT >

+ +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. +

+ +

+Definition at line 51 of file moeoSelectFromPopAndArch.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoSelectFromPopAndArch< MOEOT >::moeoSelectFromPopAndArch (moeoSelectOne< MOEOT > &  _popSelectOne,
moeoSelectOne< MOEOT >  _archSelectOne,
moeoArchive< MOEOT > &  _arch,
double  _ratioFromPop = 0.5 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + +
_popSelectOne the population's selection operator
_archSelectOne the archive's selection operator
_arch the archive
_ratioFromPop the ratio of selected individuals from the population
+
+ +

+Definition at line 62 of file moeoSelectFromPopAndArch.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoSelectFromPopAndArch< MOEOT >::moeoSelectFromPopAndArch (moeoSelectOne< MOEOT > &  _popSelectOne,
moeoArchive< MOEOT > &  _arch,
double  _ratioFromPop = 0.5 
) [inline]
+
+
+ +

+Defaulr ctor - the archive's selection operator is a random selector. +

+

Parameters:
+ + + + +
_popSelectOne the population's selection operator
_arch the archive
_ratioFromPop the ratio of selected individuals from the population
+
+ +

+Definition at line 73 of file moeoSelectFromPopAndArch.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch.png new file mode 100644 index 000000000..64ad01a6c Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectFromPopAndArch.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne-members.html new file mode 100644 index 000000000..3d5adeafb --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoSelectOne< MOEOT > Member List

This is the complete list of members for moeoSelectOne< MOEOT >, including all inherited members.

+ + + + + +
functor_category()eoUF< A1, R > [static]
operator()(A1)=0eoUF< A1, R > [pure virtual]
setup(const eoPop< MOEOT > &_pop)eoSelectOne< MOEOT > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne.html new file mode 100644 index 000000000..6893c83a2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne.html @@ -0,0 +1,65 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSelectOne< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoSelectOne< MOEOT > Class Template Reference

Selection strategy for multi-objective optimization that selects only one element from a whole population. +More... +

+#include <moeoSelectOne.h> +

+

Inheritance diagram for moeoSelectOne< MOEOT >: +

+ +eoSelectOne< MOEOT > +eoUF< A1, R > +eoFunctorBase +moeoDetTournamentSelect< MOEOT > +moeoRandomSelect< MOEOT > +moeoRouletteSelect< MOEOT > +moeoSelectFromPopAndArch< MOEOT > +moeoStochTournamentSelect< MOEOT > + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoSelectOne< MOEOT >

+ +Selection strategy for multi-objective optimization that selects only one element from a whole population. +

+ +

+Definition at line 47 of file moeoSelectOne.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne.png new file mode 100644 index 000000000..c3d4939f9 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSelectOne.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment-members.html new file mode 100644 index 000000000..a44ce2772 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoSharingDiversityAssignment< MOEOT > Member List

This is the complete list of members for moeoSharingDiversityAssignment< MOEOT >, including all inherited members.

+ + + + + + + + + + + + + + + +
alphamoeoSharingDiversityAssignment< MOEOT > [protected]
defaultDistancemoeoSharingDiversityAssignment< MOEOT > [protected]
distancemoeoSharingDiversityAssignment< MOEOT > [protected]
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
moeoSharingDiversityAssignment(moeoDistance< MOEOT, double > &_distance, double _nicheSize=0.5, double _alpha=1.0)moeoSharingDiversityAssignment< MOEOT > [inline]
moeoSharingDiversityAssignment(double _nicheSize=0.5, double _alpha=1.0)moeoSharingDiversityAssignment< MOEOT > [inline]
nicheSizemoeoSharingDiversityAssignment< MOEOT > [protected]
ObjectiveVector typedefmoeoSharingDiversityAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoSharingDiversityAssignment< MOEOT > [inline, virtual]
setSimilarities(eoPop< MOEOT > &_pop)moeoSharingDiversityAssignment< MOEOT > [inline, protected, virtual]
sh(double _dist)moeoSharingDiversityAssignment< MOEOT > [inline, protected]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoSharingDiversityAssignment< MOEOT > [inline, virtual]
moeoDiversityAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoDiversityAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment.html new file mode 100644 index 000000000..fe399e176 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment.html @@ -0,0 +1,347 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSharingDiversityAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoSharingDiversityAssignment< MOEOT > Class Template Reference

Sharing assignment scheme originally porposed by: D. +More... +

+#include <moeoSharingDiversityAssignment.h> +

+

Inheritance diagram for moeoSharingDiversityAssignment< MOEOT >: +

+ +moeoDiversityAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase +moeoFrontByFrontSharingDiversityAssignment< MOEOT > + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 the objective vector type of the solutions

Public Member Functions

 moeoSharingDiversityAssignment (moeoDistance< MOEOT, double > &_distance, double _nicheSize=0.5, double _alpha=1.0)
 Ctor.
 moeoSharingDiversityAssignment (double _nicheSize=0.5, double _alpha=1.0)
 Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default.
void operator() (eoPop< MOEOT > &_pop)
 Sets diversity values for every solution contained in the population _pop.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)

Protected Member Functions

virtual void setSimilarities (eoPop< MOEOT > &_pop)
 Sets similarities for every solution contained in the population _pop.
double sh (double _dist)
 Sharing function.

Protected Attributes

+moeoDistance< MOEOT, double > & distance
 the distance used to compute the neighborhood of solutions
+moeoEuclideanDistance< MOEOT > defaultDistance
 euclidean distancein the objective space (can be used as default)
+double nicheSize
 neighborhood size in terms of radius distance
+double alpha
 parameter used to regulate the shape of the sharing function
+

Detailed Description

+

template<class MOEOT>
+ class moeoSharingDiversityAssignment< MOEOT >

+ +Sharing assignment scheme originally porposed by: D. +

+E. Goldberg, "Genetic Algorithms in Search, Optimization and Machine Learning", Addision-Wesley, MA, USA (1989). +

+ +

+Definition at line 53 of file moeoSharingDiversityAssignment.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoSharingDiversityAssignment< MOEOT >::moeoSharingDiversityAssignment (moeoDistance< MOEOT, double > &  _distance,
double  _nicheSize = 0.5,
double  _alpha = 1.0 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + +
_distance the distance used to compute the neighborhood of solutions (can be related to the decision space or the objective space)
_nicheSize neighborhood size in terms of radius distance (closely related to the way the distances are computed)
_alpha parameter used to regulate the shape of the sharing function
+
+ +

+Definition at line 67 of file moeoSharingDiversityAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoSharingDiversityAssignment< MOEOT >::moeoSharingDiversityAssignment (double  _nicheSize = 0.5,
double  _alpha = 1.0 
) [inline]
+
+
+ +

+Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default. +

+

Parameters:
+ + + +
_nicheSize neighborhood size in terms of radius distance (closely related to the way the distances are computed)
_alpha parameter used to regulate the shape of the sharing function
+
+ +

+Definition at line 76 of file moeoSharingDiversityAssignment.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoSharingDiversityAssignment< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets diversity values for every solution contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< eoPop< MOEOT > &, void >. +

+Definition at line 84 of file moeoSharingDiversityAssignment.h. +

+References moeoSharingDiversityAssignment< MOEOT >::setSimilarities(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoSharingDiversityAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+

Warning:
NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account.
+
Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+
Warning:
NOT IMPLEMENTED, DO NOTHING !
+ +

+Implements moeoDiversityAssignment< MOEOT >. +

+Reimplemented in moeoFrontByFrontSharingDiversityAssignment< MOEOT >. +

+Definition at line 105 of file moeoSharingDiversityAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
virtual void moeoSharingDiversityAssignment< MOEOT >::setSimilarities (eoPop< MOEOT > &  _pop  )  [inline, protected, virtual]
+
+
+ +

+Sets similarities for every solution contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Reimplemented in moeoFrontByFrontSharingDiversityAssignment< MOEOT >. +

+Definition at line 127 of file moeoSharingDiversityAssignment.h. +

+References moeoSharingDiversityAssignment< MOEOT >::distance, and moeoSharingDiversityAssignment< MOEOT >::sh(). +

+Referenced by moeoSharingDiversityAssignment< MOEOT >::operator()(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
double moeoSharingDiversityAssignment< MOEOT >::sh (double  _dist  )  [inline, protected]
+
+
+ +

+Sharing function. +

+

Parameters:
+ + +
_dist the distance value
+
+ +

+Definition at line 150 of file moeoSharingDiversityAssignment.h. +

+References moeoSharingDiversityAssignment< MOEOT >::alpha, and moeoSharingDiversityAssignment< MOEOT >::nicheSize. +

+Referenced by moeoSharingDiversityAssignment< MOEOT >::setSimilarities(), and moeoFrontByFrontSharingDiversityAssignment< MOEOT >::setSimilarities(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment.png new file mode 100644 index 000000000..4bb9a13c2 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSharingDiversityAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric-members.html new file mode 100644 index 000000000..dae86fcfe --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoSolutionUnaryMetric< ObjectiveVector, R > Member List

This is the complete list of members for moeoSolutionUnaryMetric< ObjectiveVector, R >, including all inherited members.

+ + + + +
functor_category()eoUF< A, R > [static]
operator()(A)=0eoUF< A, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric.html new file mode 100644 index 000000000..fad4c0814 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSolutionUnaryMetric< ObjectiveVector, R > Class Template Reference + + + + +
+
+
+
+

moeoSolutionUnaryMetric< ObjectiveVector, R > Class Template Reference

Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoSolutionUnaryMetric< ObjectiveVector, R >: +

+ +moeoUnaryMetric< A, R > +eoUF< A, R > +moeoMetric +eoFunctorBase +eoFunctorBase + +List of all members. + +
+

Detailed Description

+

template<class ObjectiveVector, class R>
+ class moeoSolutionUnaryMetric< ObjectiveVector, R >

+ +Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector. +

+ +

+Definition at line 71 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric.png new file mode 100644 index 000000000..a2f17817b Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionUnaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric-members.html new file mode 100644 index 000000000..429916c1f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R > Member List

This is the complete list of members for moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric.html new file mode 100644 index 000000000..3c045a4de --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric.html @@ -0,0 +1,65 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R > Class Template Reference + + + + +
+
+
+
+

moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R > Class Template Reference

Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >: +

+ +moeoBinaryMetric< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase +moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R > +moeoAdditiveEpsilonBinaryMetric< ObjectiveVector > +moeoHypervolumeBinaryMetric< ObjectiveVector > + +List of all members. + +
+

Detailed Description

+

template<class ObjectiveVector, class R>
+ class moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >

+ +Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors. +

+ +

+Definition at line 87 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric.png new file mode 100644 index 000000000..127fc6209 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBinaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect-members.html new file mode 100644 index 000000000..437291a5a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoStochTournamentSelect< MOEOT > Member List

This is the complete list of members for moeoStochTournamentSelect< MOEOT >, including all inherited members.

+ + + + + + + + + + + +
comparatormoeoStochTournamentSelect< MOEOT > [protected]
defaultComparatormoeoStochTournamentSelect< MOEOT > [protected]
functor_category()eoUF< A1, R > [static]
moeoStochTournamentSelect(moeoComparator< MOEOT > &_comparator, double _tRate=1.0)moeoStochTournamentSelect< MOEOT > [inline]
moeoStochTournamentSelect(double _tRate=1.0)moeoStochTournamentSelect< MOEOT > [inline]
operator()(const eoPop< MOEOT > &_pop)moeoStochTournamentSelect< MOEOT > [inline]
moeoSelectOne::operator()(A1)=0eoUF< A1, R > [pure virtual]
setup(const eoPop< MOEOT > &_pop)eoSelectOne< MOEOT > [virtual]
tRatemoeoStochTournamentSelect< MOEOT > [protected]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect.html new file mode 100644 index 000000000..0d28af6f3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect.html @@ -0,0 +1,196 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoStochTournamentSelect< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoStochTournamentSelect< MOEOT > Class Template Reference

Selection strategy that selects ONE individual by stochastic tournament. +More... +

+#include <moeoStochTournamentSelect.h> +

+

Inheritance diagram for moeoStochTournamentSelect< MOEOT >: +

+ +moeoSelectOne< MOEOT > +eoSelectOne< MOEOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoStochTournamentSelect (moeoComparator< MOEOT > &_comparator, double _tRate=1.0)
 Full Ctor.
 moeoStochTournamentSelect (double _tRate=1.0)
 Ctor without comparator.
const MOEOT & operator() (const eoPop< MOEOT > &_pop)
 Apply the tournament to the given population.

Protected Attributes

+moeoComparator< MOEOT > & comparator
 the comparator (used to compare 2 individuals)
+moeoFitnessThenDiversityComparator<
+ MOEOT > 
defaultComparator
 a fitness then diversity comparator can be used as default
+double tRate
 the tournament rate
+

Detailed Description

+

template<class MOEOT>
+ class moeoStochTournamentSelect< MOEOT >

+ +Selection strategy that selects ONE individual by stochastic tournament. +

+ +

+Definition at line 49 of file moeoStochTournamentSelect.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoStochTournamentSelect< MOEOT >::moeoStochTournamentSelect (moeoComparator< MOEOT > &  _comparator,
double  _tRate = 1.0 
) [inline]
+
+
+ +

+Full Ctor. +

+

Parameters:
+ + + +
_comparator the comparator (used to compare 2 individuals)
_tRate the tournament rate
+
+ +

+Definition at line 58 of file moeoStochTournamentSelect.h. +

+References moeoStochTournamentSelect< MOEOT >::tRate. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
moeoStochTournamentSelect< MOEOT >::moeoStochTournamentSelect (double  _tRate = 1.0  )  [inline]
+
+
+ +

+Ctor without comparator. +

+A moeoFitnessThenDiversityComparator is used as default.

Parameters:
+ + +
_tRate the tournament rate
+
+ +

+Definition at line 78 of file moeoStochTournamentSelect.h. +

+References moeoStochTournamentSelect< MOEOT >::tRate. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
const MOEOT& moeoStochTournamentSelect< MOEOT >::operator() (const eoPop< MOEOT > &  _pop  )  [inline]
+
+
+ +

+Apply the tournament to the given population. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 98 of file moeoStochTournamentSelect.h. +

+References moeoStochTournamentSelect< MOEOT >::comparator, and moeoStochTournamentSelect< MOEOT >::tRate. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect.png new file mode 100644 index 000000000..640878725 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoStochTournamentSelect.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment-members.html new file mode 100644 index 000000000..dd0831f50 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoUnaryIndicatorBasedFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
ObjectiveVector typedefmoeoFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &)=0eoUF< eoPop< MOEOT > &, void > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)=0moeoFitnessAssignment< MOEOT > [pure virtual]
updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment.html new file mode 100644 index 000000000..c64aea2ef --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoUnaryIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+
+
+

moeoUnaryIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference

moeoIndicatorBasedFitnessAssignment for unary indicators. +More... +

+#include <moeoUnaryIndicatorBasedFitnessAssignment.h> +

+

Inheritance diagram for moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >: +

+ +moeoIndicatorBasedFitnessAssignment< MOEOT > +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + +
+

Detailed Description

+

template<class MOEOT>
+ class moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >

+ +moeoIndicatorBasedFitnessAssignment for unary indicators. +

+ +

+Definition at line 47 of file moeoUnaryIndicatorBasedFitnessAssignment.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment.png new file mode 100644 index 000000000..0f96bc66f Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryIndicatorBasedFitnessAssignment.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric-members.html new file mode 100644 index 000000000..1583dcc46 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoUnaryMetric< A, R > Member List

This is the complete list of members for moeoUnaryMetric< A, R >, including all inherited members.

+ + + + +
functor_category()eoUF< A, R > [static]
operator()(A)=0eoUF< A, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A, R > [virtual]


Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric.html new file mode 100644 index 000000000..75f998944 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoUnaryMetric< A, R > Class Template Reference + + + + +
+
+
+
+

moeoUnaryMetric< A, R > Class Template Reference

Base class for unary metrics. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoUnaryMetric< A, R >: +

+ +eoUF< A, R > +moeoMetric +eoFunctorBase +eoFunctorBase +moeoSolutionUnaryMetric< ObjectiveVector, R > +moeoVectorUnaryMetric< ObjectiveVector, R > + +List of all members. + +
+

Detailed Description

+

template<class A, class R>
+ class moeoUnaryMetric< A, R >

+ +Base class for unary metrics. +

+ +

+Definition at line 55 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric.png new file mode 100644 index 000000000..242a50228 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoUnaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector-members.html new file mode 100644 index 000000000..a579729c8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector-members.html @@ -0,0 +1,86 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > Member List

This is the complete list of members for moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtomType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >
className() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
ContainerType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoVector(unsigned int _size=0, GeneType _value=GeneType())moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > &_moeo) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
MOEO::operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline, virtual]
readFrom(std::istream &_is)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline, virtual]
storage_type typedefEO< MOEOObjectiveVector >
value(const std::vector< GeneType > &_v)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector.html new file mode 100644 index 000000000..dae8dbe53 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector.html @@ -0,0 +1,267 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > Class Template Reference + + + + +
+
+
+
+

moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > Class Template Reference

Base class for fixed length chromosomes, just derives from MOEO and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison). +More... +

+#include <moeoVector.h> +

+

Inheritance diagram for moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >: +

+ +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +EO< MOEOObjectiveVector > +eoObject +eoPersistent +eoPrintable +FlowShop + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef GeneType AtomType
 the atomic type
+typedef std::vector< GeneType > ContainerType
 the container type

Public Member Functions

 moeoVector (unsigned int _size=0, GeneType _value=GeneType())
 Default ctor.
void value (const std::vector< GeneType > &_v)
 We can't have a Ctor from a std::vector as it would create ambiguity with the copy Ctor.
bool operator< (const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > &_moeo) const
 To avoid conflicts between MOEO::operator< and std::vector<GeneType>::operator<.
virtual void printOn (std::ostream &_os) const
 Writing object.
virtual void readFrom (std::istream &_is)
 Reading object.
+

Detailed Description

+

template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType>
+ class moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >

+ +Base class for fixed length chromosomes, just derives from MOEO and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison). +

+GeneType must have the following methods: void ctor (needed for the std::vector<>), copy ctor. +

+ +

+Definition at line 50 of file moeoVector.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType>
+ + + + + + + + + + + + + + + + + + +
moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::moeoVector (unsigned int  _size = 0,
GeneType  _value = GeneType() 
) [inline]
+
+
+ +

+Default ctor. +

+

Parameters:
+ + + +
_size Length of vector (default is 0)
_value Initial value of all elements (default is default value of type GeneType)
+
+ +

+Definition at line 72 of file moeoVector.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType>
+ + + + + + + + + +
void moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value (const std::vector< GeneType > &  _v  )  [inline]
+
+
+ +

+We can't have a Ctor from a std::vector as it would create ambiguity with the copy Ctor. +

+

Parameters:
+ + +
_v a vector of GeneType
+
+ +

+Definition at line 81 of file moeoVector.h. +

+Referenced by FlowShopOpCrossoverQuad::operator()(). +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType>
+ + + + + + + + + +
bool moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::operator< (const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > &  _moeo  )  const [inline]
+
+
+ +

+To avoid conflicts between MOEO::operator< and std::vector<GeneType>::operator<. +

+

Parameters:
+ + +
_moeo the object to compare with
+
+ +

+Definition at line 104 of file moeoVector.h. +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType>
+ + + + + + + + + +
virtual void moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::printOn (std::ostream &  _os  )  const [inline, virtual]
+
+
+ +

+Writing object. +

+

Parameters:
+ + +
_os output stream
+
+ +

+Reimplemented from MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >. +

+Reimplemented in moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >. +

+Definition at line 114 of file moeoVector.h. +

+

+ +

+
+
+template<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType>
+ + + + + + + + + +
virtual void moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::readFrom (std::istream &  _is  )  [inline, virtual]
+
+
+ +

+Reading object. +

+

Parameters:
+ + +
_is input stream
+
+ +

+Reimplemented from MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >. +

+Reimplemented in moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >. +

+Definition at line 127 of file moeoVector.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector.png new file mode 100644 index 000000000..80606bd50 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVector.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric-members.html new file mode 100644 index 000000000..dee8631d4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoVectorUnaryMetric< ObjectiveVector, R > Member List

This is the complete list of members for moeoVectorUnaryMetric< ObjectiveVector, R >, including all inherited members.

+ + + + +
functor_category()eoUF< A, R > [static]
operator()(A)=0eoUF< A, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A, R > [virtual]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric.html new file mode 100644 index 000000000..043e93337 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoVectorUnaryMetric< ObjectiveVector, R > Class Template Reference + + + + +
+
+
+
+

moeoVectorUnaryMetric< ObjectiveVector, R > Class Template Reference

Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors). +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoVectorUnaryMetric< ObjectiveVector, R >: +

+ +moeoUnaryMetric< A, R > +eoUF< A, R > +moeoMetric +eoFunctorBase +eoFunctorBase + +List of all members. + +
+

Detailed Description

+

template<class ObjectiveVector, class R>
+ class moeoVectorUnaryMetric< ObjectiveVector, R >

+ +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors). +

+ +

+Definition at line 79 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric.png new file mode 100644 index 000000000..adf420b98 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorUnaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric-members.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric-members.html new file mode 100644 index 000000000..37c5b1bdb --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Member List + + + + +
+
+
+
+

moeoVectorVsVectorBinaryMetric< ObjectiveVector, R > Member List

This is the complete list of members for moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric.html new file mode 100644 index 000000000..0f3707f4e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric.html @@ -0,0 +1,64 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoVectorVsVectorBinaryMetric< ObjectiveVector, R > Class Template Reference + + + + +
+
+
+
+

moeoVectorVsVectorBinaryMetric< ObjectiveVector, R > Class Template Reference

Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors). +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >: +

+ +moeoBinaryMetric< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase +moeoContributionMetric< ObjectiveVector > +moeoEntropyMetric< ObjectiveVector > + +List of all members. + +
+

Detailed Description

+

template<class ObjectiveVector, class R>
+ class moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >

+ +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors). +

+ +

+Definition at line 95 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric.png new file mode 100644 index 000000000..39357ff0f Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBinaryMetric.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/doxygen.css b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/doxygen.css new file mode 100644 index 000000000..5d583694e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/doxygen.css @@ -0,0 +1,358 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; +} +H2 { + font-size: 120%; +} +H3 { + font-size: 100%; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navtab { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: monospace, fixed; + font-size: 95%; +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } + +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #e8eef2; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { background: #e8eef2; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} + +/* Style for detailed member documentation */ +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; +} +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +.memitem { + padding: 4px; + background-color: #eef3f5; + border-width: 1px; + border-style: solid; + border-color: #dedeee; + -moz-border-radius: 8px 8px 8px 8px; +} +.memname { + white-space: nowrap; + font-weight: bold; +} +.memdoc{ + padding-left: 10px; +} +.memproto { + background-color: #d5e1e8; + width: 100%; + border-width: 1px; + border-style: solid; + border-color: #84b0c7; + font-weight: bold; + -moz-border-radius: 8px 8px 8px 8px; +} +.paramkey { + text-align: right; +} +.paramtype { + white-space: nowrap; +} +.paramname { + color: #602020; + font-style: italic; +} +/* End Styling for detailed member documentation */ + +/* for the tree view */ +.ftvtree { + font-family: sans-serif; + margin:0.5em; +} +.directory { font-size: 9pt; font-weight: bold; } +.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } +.directory > h3 { margin-top: 0; } +.directory p { margin: 0px; white-space: nowrap; } +.directory div { display: none; margin: 0px; } +.directory img { vertical-align: -30%; } + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/doxygen.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/doxygen.png new file mode 100644 index 000000000..f0a274bba Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/doxygen.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/files.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/files.html new file mode 100644 index 000000000..c55a6d9a4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/files.html @@ -0,0 +1,146 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: File Index + + + + +
+
+

ParadisEO-MOEO-MultiObjectiveEvolvingObjects File List

Here is a list of all documented files with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FlowShop.cpp [code]
FlowShop.h [code]
FlowShopBenchmarkParser.cpp [code]
FlowShopBenchmarkParser.h [code]
Lesson2/FlowShopEA.cpp [code]
Lesson3/FlowShopEA.cpp [code]
FlowShopEval.cpp [code]
FlowShopEval.h [code]
FlowShopInit.cpp [code]
FlowShopInit.h [code]
FlowShopObjectiveVector.h [code]
FlowShopObjectiveVectorTraits.cpp [code]
FlowShopObjectiveVectorTraits.h [code]
FlowShopOpCrossoverQuad.cpp [code]
FlowShopOpCrossoverQuad.h [code]
FlowShopOpMutationExchange.h [code]
FlowShopOpMutationShift.h [code]
index.h [code]
make_checkpoint_moeo.h [code]
make_continue_moeo.h [code]
make_ea_moeo.h [code]
make_eval_FlowShop.h [code]
make_genotype_FlowShop.h [code]
make_op_FlowShop.h [code]
MOEO.h [code]
moeoAchievementFitnessAssignment.h [code]
moeoAdditiveEpsilonBinaryMetric.h [code]
moeoAggregativeComparator.h [code]
moeoAlgo.h [code]
moeoArchive.h [code]
moeoArchiveObjectiveVectorSavingUpdater.h [code]
moeoArchiveUpdater.h [code]
moeoBinaryIndicatorBasedFitnessAssignment.h [code]
moeoBinaryMetricSavingUpdater.h [code]
moeoBitVector.h [code]
moeoCombinedLS.h [code]
moeoComparator.h [code]
moeoContributionMetric.h [code]
moeoConvertPopToObjectiveVectors.h [code]
moeoCriterionBasedFitnessAssignment.h [code]
moeoCrowdingDiversityAssignment.h [code]
moeoDetTournamentSelect.h [code]
moeoDistance.h [code]
moeoDistanceMatrix.h [code]
moeoDiversityAssignment.h [code]
moeoDiversityThenFitnessComparator.h [code]
moeoDummyDiversityAssignment.h [code]
moeoDummyFitnessAssignment.h [code]
moeoEA.h [code]
moeoEasyEA.h [code]
moeoElitistReplacement.h [code]
moeoEntropyMetric.h [code]
moeoEnvironmentalReplacement.h [code]
moeoEuclideanDistance.h [code]
moeoEvalFunc.h [code]
moeoExpBinaryIndicatorBasedFitnessAssignment.h [code]
moeoFastNonDominatedSortingFitnessAssignment.h [code]
moeoFitnessAssignment.h [code]
moeoFitnessThenDiversityComparator.h [code]
moeoFrontByFrontCrowdingDiversityAssignment.h [code]
moeoFrontByFrontSharingDiversityAssignment.h [code]
moeoGDominanceObjectiveVectorComparator.h [code]
moeoGenerationalReplacement.h [code]
moeoHybridLS.h [code]
moeoHypervolumeBinaryMetric.h [code]
moeoIBEA.h [code]
moeoIndicatorBasedFitnessAssignment.h [code]
moeoLS.h [code]
moeoManhattanDistance.h [code]
moeoMetric.h [code]
moeoNormalizedDistance.h [code]
moeoNormalizedSolutionVsSolutionBinaryMetric.h [code]
moeoNSGA.h [code]
moeoNSGAII.h [code]
moeoObjectiveObjectiveVectorComparator.h [code]
moeoObjectiveVector.h [code]
moeoObjectiveVectorComparator.h [code]
moeoObjectiveVectorTraits.cpp [code]
moeoObjectiveVectorTraits.h [code]
moeoOneObjectiveComparator.h [code]
moeoParetoBasedFitnessAssignment.h [code]
moeoParetoObjectiveVectorComparator.h [code]
moeoRandomSelect.h [code]
moeoRealObjectiveVector.h [code]
moeoRealVector.h [code]
moeoReplacement.h [code]
moeoRouletteSelect.h [code]
moeoScalarFitnessAssignment.h [code]
moeoSelectFromPopAndArch.h [code]
moeoSelectOne.h [code]
moeoSelectors.h [code]
moeoSharingDiversityAssignment.h [code]
moeoStochTournamentSelect.h [code]
moeoUnaryIndicatorBasedFitnessAssignment.h [code]
moeoVector.h [code]
README [code]
tutorial/examples/flowshop/benchs/README [code]
Sch1.cpp [code]
t-moeo.cpp [code]
t-moeoAchievementFitnessAssignment.cpp [code]
t-moeoAggregativeComparator.cpp [code]
t-moeoArchive.cpp [code]
t-moeoBitVector.cpp [code]
t-moeoCrowdingDiversityAssignment.cpp [code]
t-moeoDiversityThenFitnessComparator.cpp [code]
t-moeoEasyEA.cpp [code]
t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp [code]
t-moeoFastNonDominatedSortingFitnessAssignment.cpp [code]
t-moeoFitnessThenDiversityComparator.cpp [code]
t-moeoIBEA.cpp [code]
t-moeoMax3Obj.cpp [code]
t-moeoNSGA.cpp [code]
t-moeoNSGAII.cpp [code]
t-moeoParetoObjectiveVectorComparator.cpp [code]
t-moeoRealVector.cpp [code]
t-moeoSharingDiversityAssignment.cpp [code]
+
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2blank.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2blank.png new file mode 100644 index 000000000..493c3c0b6 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2blank.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2doc.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2doc.png new file mode 100644 index 000000000..f72999f92 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2doc.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2folderclosed.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2folderclosed.png new file mode 100644 index 000000000..d6d063440 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2folderclosed.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2folderopen.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2folderopen.png new file mode 100644 index 000000000..bbe2c913c Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2folderopen.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2lastnode.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2lastnode.png new file mode 100644 index 000000000..e7b9ba90c Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2lastnode.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2link.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2link.png new file mode 100644 index 000000000..14f3fed00 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2link.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2mlastnode.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2mlastnode.png new file mode 100644 index 000000000..09ceb6adb Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2mlastnode.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2mnode.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2mnode.png new file mode 100644 index 000000000..3254c0511 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2mnode.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2node.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2node.png new file mode 100644 index 000000000..c9f06a57f Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2node.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2plastnode.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2plastnode.png new file mode 100644 index 000000000..0b07e0091 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2plastnode.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2pnode.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2pnode.png new file mode 100644 index 000000000..2001b797b Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2pnode.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2vertline.png b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2vertline.png new file mode 100644 index 000000000..b330f3a33 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/ftv2vertline.png differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions.html new file mode 100644 index 000000000..a08616864 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions.html @@ -0,0 +1,313 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all documented class members with links to the class documentation for each member: +

+

- a -

+

- b -

+

- c -

+

- d -

+

- e -

+

- f -

+

- g -

+

- h -

+

- i -

+

- k -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- t -

+

- u -

+

- v -

+

- w -

+

- ~ -

+
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_func.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_func.html new file mode 100644 index 000000000..e0a98b76f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_func.html @@ -0,0 +1,218 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- a -

+

- c -

+

- d -

+

- e -

+

- f -

+

- g -

+

- h -

+

- i -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- t -

+

- u -

+

- v -

+

- ~ -

+
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_type.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_type.html new file mode 100644 index 000000000..5ac0542df --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_type.html @@ -0,0 +1,54 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Class Members - Typedefs + + + + +
+
+
+
+
+ +
+  +

+

+
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_vars.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_vars.html new file mode 100644 index 000000000..7285bf809 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/functions_vars.html @@ -0,0 +1,187 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- a -

+

- b -

+

- c -

+

- d -

+

- e -

+

- f -

+

- g -

+

- i -

+

- k -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- t -

+

- v -

+

- w -

+
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/hierarchy.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/hierarchy.html new file mode 100644 index 000000000..1ad07d2ef --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/hierarchy.html @@ -0,0 +1,394 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Hierarchical Index + + + + +
+
+
+
+

ParadisEO-MOEO-MultiObjectiveEvolvingObjects Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: +
Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/index.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/index.html new file mode 100644 index 000000000..591340a6c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/index.html @@ -0,0 +1,8 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects + + + + + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/index_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/index_8h-source.html new file mode 100644 index 000000000..a393298d6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/index_8h-source.html @@ -0,0 +1,29 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: index.h Source File + + + + +
+
+

index.h

00001 
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/installdox b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/installdox new file mode 100755 index 000000000..1628445b3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/installdox @@ -0,0 +1,117 @@ +#!/usr/bin/perl + +%subst = ( "eo.doxytag", ""); +$quiet = 0; + +if (open(F,"search.cfg")) +{ + $_= ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_; + $_= ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_; +} + +while ( @ARGV ) { + $_ = shift @ARGV; + if ( s/^-// ) { + if ( /^l(.*)/ ) { + $v = ($1 eq "") ? shift @ARGV : $1; + ($v =~ /\/$/) || ($v .= "/"); + $_ = $v; + if ( /(.+)\@(.+)/ ) { + if ( exists $subst{$1} ) { + $subst{$1} = $2; + } else { + print STDERR "Unknown tag file $1 given with option -l\n"; + &usage(); + } + } else { + print STDERR "Argument $_ is invalid for option -l\n"; + &usage(); + } + } + elsif ( /^q/ ) { + $quiet = 1; + } + elsif ( /^\?|^h/ ) { + &usage(); + } + else { + print STDERR "Illegal option -$_\n"; + &usage(); + } + } + else { + push (@files, $_ ); + } +} + +foreach $sub (keys %subst) +{ + if ( $subst{$sub} eq "" ) + { + print STDERR "No substitute given for tag file `$sub'\n"; + &usage(); + } + elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" ) + { + print "Substituting $subst{$sub} for each occurence of tag file $sub\n"; + } +} + +if ( ! @files ) { + if (opendir(D,".")) { + foreach $file ( readdir(D) ) { + $match = ".html"; + next if ( $file =~ /^\.\.?$/ ); + ($file =~ /$match/) && (push @files, $file); + ($file =~ "tree.js") && (push @files, $file); + } + closedir(D); + } +} + +if ( ! @files ) { + print STDERR "Warning: No input files given and none found!\n"; +} + +foreach $f (@files) +{ + if ( ! $quiet ) { + print "Editing: $f...\n"; + } + $oldf = $f; + $f .= ".bak"; + unless (rename $oldf,$f) { + print STDERR "Error: cannot rename file $oldf\n"; + exit 1; + } + if (open(F,"<$f")) { + unless (open(G,">$oldf")) { + print STDERR "Error: opening file $oldf for writing\n"; + exit 1; + } + if ($oldf ne "tree.js") { + while () { + s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g; + print G "$_"; + } + } + else { + while () { + s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g; + print G "$_"; + } + } + } + else { + print STDERR "Warning file $f does not exist\n"; + } + unlink $f; +} + +sub usage { + print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n"; + print STDERR "Options:\n"; + print STDERR " -l tagfile\@linkName tag file + URL or directory \n"; + print STDERR " -q Quiet mode\n\n"; + exit 1; +} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/main.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/main.html new file mode 100644 index 000000000..4859e35f3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/main.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: Welcome to ParadisEO-MOEO + + + + +
+
+

Welcome to ParadisEO-MOEO

+

+

1.1

+Introduction

+ParadisEO-MOEO is a white-box object-oriented generic framework dedicated to the flexible design of evolutionary multi-objective algorithms. This paradigm-free software embeds some features and techniques for Pareto-based resolution and aims to provide a set of classes allowing to ease and speed up the development of computationally efficient programs. It is based on a clear conceptual distinction between the solution methods and the multi-objective problems they are intended to solve. This separation confers a maximum design and code reuse. ParadisEO-MOEO provides a broad range of archive-related features (such as elitism or performance metrics) and the most common Pareto-based fitness assignment strategies (MOGA, NSGA, SPEA, IBEA and more). Furthermore, parallel and distributed models as well as hybridization mechanisms can be applied to an algorithm designed within ParadisEO-MOEO using the whole version of ParadisEO.

+Tutorials

+Tutorials for ParadisEO-MOEO are available here.

+Installation

+The installation procedure of the package is detailed in the README file in the top-directory of the source-tree.

+Design

+For an introduction to the design of ParadisEO-MOEO, you can look at the ParadisEO website.

+LICENSE

+This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".

+As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.

+In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms.

+ParadisEO WebSite : http://paradiseo.gforge.inria.fr Contact: paradiseo-help@lists.gforge.inria.fr


Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__checkpoint__moeo_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__checkpoint__moeo_8h-source.html new file mode 100644 index 000000000..60ef4fd5e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__checkpoint__moeo_8h-source.html @@ -0,0 +1,214 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: make_checkpoint_moeo.h Source File + + + + +
+
+

make_checkpoint_moeo.h

00001 /*
+00002 * <make_checkpoint_moeo.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MAKE_CHECKPOINT_MOEO_H_
+00039 #define MAKE_CHECKPOINT_MOEO_H_
+00040 
+00041 #include <stdlib.h>
+00042 #include <sstream>
+00043 #include <eoContinue.h>
+00044 #include <eoEvalFuncCounter.h>
+00045 #include <utils/checkpointing>
+00046 #include <utils/selectors.h>
+00047 #include <utils/eoParser.h>
+00048 #include <utils/eoState.h>
+00049 #include <metric/moeoContributionMetric.h>
+00050 #include <metric/moeoEntropyMetric.h>
+00051 #include <utils/moeoArchiveUpdater.h>
+00052 #include <utils/moeoArchiveObjectiveVectorSavingUpdater.h>
+00053 #include <utils/moeoBinaryMetricSavingUpdater.h>
+00054 
+00055 bool testDirRes(std::string _dirName, bool _erase);
+00056 
+00066 template < class MOEOT >
+00067 eoCheckPoint < MOEOT > & do_make_checkpoint_moeo (eoParser & _parser, eoState & _state, eoEvalFuncCounter < MOEOT > & _eval, eoContinue < MOEOT > & _continue, eoPop < MOEOT > & _pop, moeoArchive < MOEOT > & _archive)
+00068 {
+00069   eoCheckPoint < MOEOT > & checkpoint = _state.storeFunctor(new eoCheckPoint < MOEOT > (_continue));
+00070   /* the objective vector type */
+00071   typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00072 
+00074   // Counters
+00076   // is nb Eval to be used as counter?
+00077   //bool useEval = _parser.getORcreateParam(true, "useEval", "Use nb of eval. as counter (vs nb of gen.)", '\0', "Output").value();
+00078   // Create anyway a generation-counter parameter
+00079   eoValueParam<unsigned int> *generationCounter = new eoValueParam<unsigned int>(0, "Gen.");
+00080   // Create an incrementor (sub-class of eoUpdater).
+00081   eoIncrementor<unsigned int> & increment = _state.storeFunctor( new eoIncrementor<unsigned int>(generationCounter->value()) );
+00082   // Add it to the checkpoint
+00083   checkpoint.add(increment);
+00084   // dir for DISK output
+00085   std::string & dirName =  _parser.getORcreateParam(std::string("Res"), "resDir", "Directory to store DISK outputs", '\0', "Output").value();
+00086   // shoudl we empty it if exists
+00087   eoValueParam<bool>& eraseParam = _parser.getORcreateParam(true, "eraseDir", "erase files in dirName if any", '\0', "Output");
+00088   bool dirOK = false;              // not tested yet
+00089 
+00090   // Dump of the whole population
+00091   //-----------------------------
+00092   bool printPop = _parser.getORcreateParam(false, "printPop", "Print sorted pop. every gen.", '\0', "Output").value();
+00093   eoSortedPopStat<MOEOT> * popStat;
+00094   if ( printPop ) // we do want pop dump
+00095     {
+00096       popStat = & _state.storeFunctor(new eoSortedPopStat<MOEOT>);
+00097       checkpoint.add(*popStat);
+00098     }
+00099 
+00101   // State savers
+00103   // feed the state to state savers
+00104   // save state every N  generation
+00105   eoValueParam<unsigned int>& saveFrequencyParam = _parser.createParam((unsigned int)(0), "saveFrequency", "Save every F generation (0 = only final state, absent = never)", '\0', "Persistence" );
+00106   if (_parser.isItThere(saveFrequencyParam))
+00107     {
+00108       // first make sure dirName is OK
+00109       if (! dirOK )
+00110         dirOK = testDirRes(dirName, eraseParam.value()); // TRUE
+00111       unsigned int freq = (saveFrequencyParam.value()>0 ? saveFrequencyParam.value() : UINT_MAX );
+00112 #ifdef _MSVC
+00113       std::string stmp = dirName + "\generations";
+00114 #else
+00115       std::string stmp = dirName + "/generations";
+00116 #endif
+00117       eoCountedStateSaver *stateSaver1 = new eoCountedStateSaver(freq, _state, stmp);
+00118       _state.storeFunctor(stateSaver1);
+00119       checkpoint.add(*stateSaver1);
+00120     }
+00121   // save state every T seconds
+00122   eoValueParam<unsigned int>& saveTimeIntervalParam = _parser.getORcreateParam((unsigned int)(0), "saveTimeInterval", "Save every T seconds (0 or absent = never)", '\0',"Persistence" );
+00123   if (_parser.isItThere(saveTimeIntervalParam) && saveTimeIntervalParam.value()>0)
+00124     {
+00125       // first make sure dirName is OK
+00126       if (! dirOK )
+00127         dirOK = testDirRes(dirName, eraseParam.value()); // TRUE
+00128 #ifdef _MSVC
+00129       std::string stmp = dirName + "\time";
+00130 #else
+00131       std::string stmp = dirName + "/time";
+00132 #endif
+00133       eoTimedStateSaver *stateSaver2 = new eoTimedStateSaver(saveTimeIntervalParam.value(), _state, stmp);
+00134       _state.storeFunctor(stateSaver2);
+00135       checkpoint.add(*stateSaver2);
+00136     }
+00137 
+00139   // Archive
+00141   // update the archive every generation
+00142   bool updateArch = _parser.getORcreateParam(true, "updateArch", "Update the archive at each gen.", '\0', "Evolution Engine").value();
+00143   if (updateArch)
+00144     {
+00145       moeoArchiveUpdater < MOEOT > * updater = new moeoArchiveUpdater < MOEOT > (_archive, _pop);
+00146       _state.storeFunctor(updater);
+00147       checkpoint.add(*updater);
+00148     }
+00149   // store the objective vectors contained in the archive every generation
+00150   bool storeArch = _parser.getORcreateParam(false, "storeArch", "Store the archive's objective vectors at each gen.", '\0', "Output").value();
+00151   if (storeArch)
+00152     {
+00153       if (! dirOK )
+00154         dirOK = testDirRes(dirName, eraseParam.value()); // TRUE
+00155 #ifdef _MSVC
+00156       std::string stmp = dirName + "\arch";
+00157 #else
+00158       std::string stmp = dirName + "/arch";
+00159 #endif
+00160       moeoArchiveObjectiveVectorSavingUpdater < MOEOT > * save_updater = new moeoArchiveObjectiveVectorSavingUpdater < MOEOT > (_archive, stmp);
+00161       _state.storeFunctor(save_updater);
+00162       checkpoint.add(*save_updater);
+00163     }
+00164   // store the contribution of the non-dominated solutions
+00165   bool cont = _parser.getORcreateParam(false, "contribution", "Store the contribution of the archive at each gen.", '\0', "Output").value();
+00166   if (cont)
+00167     {
+00168       if (! dirOK )
+00169         dirOK = testDirRes(dirName, eraseParam.value()); // TRUE
+00170 #ifdef _MSVC
+00171       std::string stmp = dirName + "\contribution";
+00172 #else
+00173       std::string stmp = dirName + "/contribution";
+00174 #endif
+00175       moeoContributionMetric < ObjectiveVector > * contribution = new moeoContributionMetric < ObjectiveVector >;
+00176       moeoBinaryMetricSavingUpdater < MOEOT > * contribution_updater = new moeoBinaryMetricSavingUpdater < MOEOT > (*contribution, _archive, stmp);
+00177       _state.storeFunctor(contribution_updater);
+00178       checkpoint.add(*contribution_updater);
+00179     }
+00180   // store the entropy of the non-dominated solutions
+00181   bool ent = _parser.getORcreateParam(false, "entropy", "Store the entropy of the archive at each gen.", '\0', "Output").value();
+00182   if (ent)
+00183     {
+00184       if (! dirOK )
+00185         dirOK = testDirRes(dirName, eraseParam.value()); // TRUE
+00186 #ifdef _MSVC
+00187       std::string stmp = dirName + "\entropy";
+00188 #else
+00189       std::string stmp = dirName + "/entropy";
+00190 #endif
+00191       moeoEntropyMetric < ObjectiveVector > * entropy = new moeoEntropyMetric < ObjectiveVector >;
+00192       moeoBinaryMetricSavingUpdater < MOEOT > * entropy_updater = new moeoBinaryMetricSavingUpdater < MOEOT > (*entropy, _archive, stmp);
+00193       _state.storeFunctor(entropy_updater);
+00194       checkpoint.add(*entropy_updater);
+00195     }
+00196 
+00197   // and that's it for the (control and) output
+00198   return checkpoint;
+00199 }
+00200 
+00201 #endif /*MAKE_CHECKPOINT_MOEO_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__continue__moeo_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__continue__moeo_8h-source.html new file mode 100644 index 000000000..4dd9eb0ca --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__continue__moeo_8h-source.html @@ -0,0 +1,148 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: make_continue_moeo.h Source File + + + + +
+
+

make_continue_moeo.h

00001 /*
+00002 * <make_continue_moeo.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MAKE_CONTINUE_MOEO_H_
+00039 #define MAKE_CONTINUE_MOEO_H_
+00040 
+00041 #include <eoCombinedContinue.h>
+00042 #include <eoGenContinue.h>
+00043 #include <eoEvalContinue.h>
+00044 #include <eoFitContinue.h>
+00045 #include <eoTimeContinue.h>
+00046 #ifndef _MSC_VER
+00047 #include <eoCtrlCContinue.h>
+00048 #endif
+00049 #include <utils/eoParser.h>
+00050 #include <utils/eoState.h>
+00051 
+00052 
+00058 template <class MOEOT>
+00059 eoCombinedContinue<MOEOT> * make_combinedContinue(eoCombinedContinue<MOEOT> *_combined, eoContinue<MOEOT> *_cont)
+00060 {
+00061   if (_combined)                   // already exists
+00062     _combined->add(*_cont);
+00063   else
+00064     _combined = new eoCombinedContinue<MOEOT>(*_cont);
+00065   return _combined;
+00066 }
+00067 
+00068 
+00075 template <class MOEOT>
+00076 eoContinue<MOEOT> & do_make_continue_moeo(eoParser& _parser, eoState& _state, eoEvalFuncCounter<MOEOT> & _eval)
+00077 {
+00078   // the combined continue - to be filled
+00079   eoCombinedContinue<MOEOT> *continuator = NULL;
+00080   // First the eoGenContinue - need a default value so you can run blind
+00081   // but we also need to be able to avoid it <--> 0
+00082   eoValueParam<unsigned int>& maxGenParam = _parser.createParam((unsigned int)(100), "maxGen", "Maximum number of generations (0 = none)",'G',"Stopping criterion");
+00083   if (maxGenParam.value()) // positive: -> define and store
+00084     {
+00085       eoGenContinue<MOEOT> *genCont = new eoGenContinue<MOEOT>(maxGenParam.value());
+00086       _state.storeFunctor(genCont);
+00087       // and "add" to combined
+00088       continuator = make_combinedContinue<MOEOT>(continuator, genCont);
+00089     }
+00090   // maxEval
+00091   eoValueParam<unsigned long>& maxEvalParam = _parser.getORcreateParam((unsigned long)(0), "maxEval", "Maximum number of evaluations (0 = none)", 'E', "Stopping criterion");
+00092   if (maxEvalParam.value())
+00093     {
+00094       eoEvalContinue<MOEOT> *evalCont = new eoEvalContinue<MOEOT>(_eval, maxEvalParam.value());
+00095       _state.storeFunctor(evalCont);
+00096       // and "add" to combined
+00097       continuator = make_combinedContinue<MOEOT>(continuator, evalCont);
+00098     }
+00099   // maxTime
+00100   eoValueParam<unsigned long>& maxTimeParam = _parser.getORcreateParam((unsigned long)(0), "maxTime", "Maximum running time in seconds (0 = none)", 'T', "Stopping criterion");
+00101   if (maxTimeParam.value()) // positive: -> define and store
+00102     {
+00103       eoTimeContinue<MOEOT> *timeCont = new eoTimeContinue<MOEOT>(maxTimeParam.value());
+00104       _state.storeFunctor(timeCont);
+00105       // and "add" to combined
+00106       continuator = make_combinedContinue<MOEOT>(continuator, timeCont);
+00107     }
+00108   // CtrlC
+00109 #ifndef _MSC_VER
+00110   // the CtrlC interception (Linux only I'm afraid)
+00111   eoCtrlCContinue<MOEOT> *ctrlCCont;
+00112   eoValueParam<bool>& ctrlCParam = _parser.createParam(true, "CtrlC", "Terminate current generation upon Ctrl C",'C', "Stopping criterion");
+00113   if (ctrlCParam.value())
+00114     {
+00115       ctrlCCont = new eoCtrlCContinue<MOEOT>;
+00116       // store
+00117       _state.storeFunctor(ctrlCCont);
+00118       // add to combinedContinue
+00119       continuator = make_combinedContinue<MOEOT>(continuator, ctrlCCont);
+00120     }
+00121 #endif
+00122   // now check that there is at least one!
+00123   if (!continuator)
+00124     throw std::runtime_error("You MUST provide a stopping criterion");
+00125   // OK, it's there: store in the eoState
+00126   _state.storeFunctor(continuator);
+00127   // and return
+00128   return *continuator;
+00129 }
+00130 
+00131 #endif /*MAKE_CONTINUE_MOEO_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__ea__moeo_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__ea__moeo_8h-source.html new file mode 100644 index 000000000..3e6853222 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__ea__moeo_8h-source.html @@ -0,0 +1,316 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: make_ea_moeo.h Source File + + + + +
+
+

make_ea_moeo.h

00001 /*
+00002 * <make_ea_moeo.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MAKE_EA_MOEO_H_
+00039 #define MAKE_EA_MOEO_H_
+00040 
+00041 #include <stdlib.h>
+00042 #include <eoContinue.h>
+00043 #include <eoEvalFunc.h>
+00044 #include <eoGeneralBreeder.h>
+00045 #include <eoGenOp.h>
+00046 #include <utils/eoParser.h>
+00047 #include <utils/eoState.h>
+00048 
+00049 #include <algo/moeoEA.h>
+00050 #include <algo/moeoEasyEA.h>
+00051 #include <archive/moeoArchive.h>
+00052 #include <comparator/moeoAggregativeComparator.h>
+00053 #include <comparator/moeoComparator.h>
+00054 #include <comparator/moeoDiversityThenFitnessComparator.h>
+00055 #include <comparator/moeoFitnessThenDiversityComparator.h>
+00056 #include <diversity/moeoDiversityAssignment.h>
+00057 #include <diversity/moeoDummyDiversityAssignment.h>
+00058 #include <diversity/moeoFrontByFrontCrowdingDiversityAssignment.h>
+00059 #include <diversity/moeoFrontByFrontSharingDiversityAssignment.h>
+00060 #include <fitness/moeoDummyFitnessAssignment.h>
+00061 #include <fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h>
+00062 #include <fitness/moeoFastNonDominatedSortingFitnessAssignment.h>
+00063 #include <fitness/moeoFitnessAssignment.h>
+00064 #include <metric/moeoAdditiveEpsilonBinaryMetric.h>
+00065 #include <metric/moeoHypervolumeBinaryMetric.h>
+00066 #include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
+00067 #include <replacement/moeoElitistReplacement.h>
+00068 #include <replacement/moeoEnvironmentalReplacement.h>
+00069 #include <replacement/moeoGenerationalReplacement.h>
+00070 #include <replacement/moeoReplacement.h>
+00071 #include <selection/moeoDetTournamentSelect.h>
+00072 #include <selection/moeoRandomSelect.h>
+00073 #include <selection/moeoStochTournamentSelect.h>
+00074 #include <selection/moeoSelectOne.h>
+00075 #include <selection/moeoSelectors.h>
+00076 
+00077 
+00087 template < class MOEOT >
+00088 moeoEA < MOEOT > & do_make_ea_moeo(eoParser & _parser, eoState & _state, eoEvalFunc < MOEOT > & _eval, eoContinue < MOEOT > & _continue, eoGenOp < MOEOT > & _op, moeoArchive < MOEOT > & _archive)
+00089 {
+00090 
+00091   /* the objective vector type */
+00092   typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00093 
+00094 
+00095   /* the fitness assignment strategy */
+00096   std::string & fitnessParam = _parser.createParam(std::string("FastNonDominatedSorting"), "fitness",
+00097                                "Fitness assignment scheme: Dummy, FastNonDominatedSorting or IndicatorBased", 'F',
+00098                                "Evolution Engine").value();
+00099   std::string & indicatorParam = _parser.createParam(std::string("Epsilon"), "indicator",
+00100                                  "Binary indicator for IndicatorBased: Epsilon, Hypervolume", 'i',
+00101                                  "Evolution Engine").value();
+00102   double rho = _parser.createParam(1.1, "rho", "reference point for the hypervolume indicator", '\0',
+00103                                    "Evolution Engine").value();
+00104   double kappa = _parser.createParam(0.05, "kappa", "Scaling factor kappa for IndicatorBased", 'k',
+00105                                      "Evolution Engine").value();
+00106   moeoFitnessAssignment < MOEOT > * fitnessAssignment;
+00107   if (fitnessParam == std::string("Dummy"))
+00108     {
+00109       fitnessAssignment = new moeoDummyFitnessAssignment < MOEOT> ();
+00110     }
+00111   else if (fitnessParam == std::string("FastNonDominatedSorting"))
+00112     {
+00113       fitnessAssignment = new moeoFastNonDominatedSortingFitnessAssignment < MOEOT> ();
+00114     }
+00115   else if (fitnessParam == std::string("IndicatorBased"))
+00116     {
+00117       // metric
+00118       moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > *metric;
+00119       if (indicatorParam == std::string("Epsilon"))
+00120         {
+00121           metric = new moeoAdditiveEpsilonBinaryMetric < ObjectiveVector >;
+00122         }
+00123       else if (indicatorParam == std::string("Hypervolume"))
+00124         {
+00125           metric = new moeoHypervolumeBinaryMetric < ObjectiveVector > (rho);
+00126         }
+00127       else
+00128         {
+00129           std::string stmp = std::string("Invalid binary quality indicator: ") + indicatorParam;
+00130           throw std::runtime_error(stmp.c_str());
+00131         }
+00132       fitnessAssignment = new moeoExpBinaryIndicatorBasedFitnessAssignment < MOEOT > (*metric, kappa);
+00133     }
+00134   else
+00135     {
+00136       std::string stmp = std::string("Invalid fitness assignment strategy: ") + fitnessParam;
+00137       throw std::runtime_error(stmp.c_str());
+00138     }
+00139   _state.storeFunctor(fitnessAssignment);
+00140 
+00141 
+00142   /* the diversity assignment strategy */
+00143   eoValueParam<eoParamParamType> & diversityParam = _parser.createParam(eoParamParamType("Dummy"), "diversity",
+00144       "Diversity assignment scheme: Dummy, Sharing(nicheSize) or Crowding", 'D', "Evolution Engine");
+00145   eoParamParamType & diversityParamValue = diversityParam.value();
+00146   moeoDiversityAssignment < MOEOT > * diversityAssignment;
+00147   if (diversityParamValue.first == std::string("Dummy"))
+00148     {
+00149       diversityAssignment = new moeoDummyDiversityAssignment < MOEOT> ();
+00150     }
+00151   else if (diversityParamValue.first == std::string("Sharing"))
+00152     {
+00153       double nicheSize;
+00154       if (!diversityParamValue.second.size())   // no parameter added
+00155         {
+00156           std::cerr << "WARNING, no niche size given for Sharing, using 0.5" << std::endl;
+00157           nicheSize = 0.5;
+00158           diversityParamValue.second.push_back(std::string("0.5"));
+00159         }
+00160       else
+00161         {
+00162           nicheSize = atoi(diversityParamValue.second[0].c_str());
+00163         }
+00164       diversityAssignment = new moeoFrontByFrontSharingDiversityAssignment < MOEOT> (nicheSize);
+00165     }
+00166   else if (diversityParamValue.first == std::string("Crowding"))
+00167     {
+00168       diversityAssignment = new moeoFrontByFrontCrowdingDiversityAssignment < MOEOT> ();
+00169     }
+00170   else
+00171     {
+00172       std::string stmp = std::string("Invalid diversity assignment strategy: ") + diversityParamValue.first;
+00173       throw std::runtime_error(stmp.c_str());
+00174     }
+00175   _state.storeFunctor(diversityAssignment);
+00176 
+00177 
+00178   /* the comparator strategy */
+00179   std::string & comparatorParam = _parser.createParam(std::string("FitnessThenDiversity"), "comparator",
+00180                                   "Comparator scheme: FitnessThenDiversity, DiversityThenFitness or Aggregative", 'c', "Evolution Engine").value();
+00181   moeoComparator < MOEOT > * comparator;
+00182   if (comparatorParam == std::string("FitnessThenDiversity"))
+00183     {
+00184       comparator = new moeoFitnessThenDiversityComparator < MOEOT> ();
+00185     }
+00186   else if (comparatorParam == std::string("DiversityThenFitness"))
+00187     {
+00188       comparator = new moeoDiversityThenFitnessComparator < MOEOT> ();
+00189     }
+00190   else if (comparatorParam == std::string("Aggregative"))
+00191     {
+00192       comparator = new moeoAggregativeComparator < MOEOT> ();
+00193     }
+00194   else
+00195     {
+00196       std::string stmp = std::string("Invalid comparator strategy: ") + comparatorParam;
+00197       throw std::runtime_error(stmp.c_str());
+00198     }
+00199   _state.storeFunctor(comparator);
+00200 
+00201 
+00202   /* the selection strategy */
+00203   eoValueParam < eoParamParamType > & selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection",
+00204       "Selection scheme: DetTour(T), StochTour(t) or Random", 'S', "Evolution Engine");
+00205   eoParamParamType & ppSelect = selectionParam.value();
+00206   moeoSelectOne < MOEOT > * select;
+00207   if (ppSelect.first == std::string("DetTour"))
+00208     {
+00209       unsigned int tSize;
+00210       if (!ppSelect.second.size()) // no parameter added
+00211         {
+00212           std::cerr << "WARNING, no parameter passed to DetTour, using 2" << std::endl;
+00213           tSize = 2;
+00214           // put back 2 in parameter for consistency (and status file)
+00215           ppSelect.second.push_back(std::string("2"));
+00216         }
+00217       else // parameter passed by user as DetTour(T)
+00218         {
+00219           tSize = atoi(ppSelect.second[0].c_str());
+00220         }
+00221       select = new moeoDetTournamentSelect < MOEOT > (*comparator, tSize);
+00222     }
+00223   else if (ppSelect.first == std::string("StochTour"))
+00224     {
+00225       double tRate;
+00226       if (!ppSelect.second.size()) // no parameter added
+00227         {
+00228           std::cerr << "WARNING, no parameter passed to StochTour, using 1" << std::endl;
+00229           tRate = 1;
+00230           // put back 1 in parameter for consistency (and status file)
+00231           ppSelect.second.push_back(std::string("1"));
+00232         }
+00233       else // parameter passed by user as StochTour(T)
+00234         {
+00235           tRate = atof(ppSelect.second[0].c_str());
+00236         }
+00237       select = new moeoStochTournamentSelect < MOEOT > (*comparator, tRate);
+00238     }
+00239   /*
+00240   else if (ppSelect.first == string("Roulette"))
+00241   {
+00242       // TO DO !
+00243       // ...
+00244   }
+00245   */
+00246   else if (ppSelect.first == std::string("Random"))
+00247     {
+00248       select = new moeoRandomSelect <MOEOT > ();
+00249     }
+00250   else
+00251     {
+00252       std::string stmp = std::string("Invalid selection strategy: ") + ppSelect.first;
+00253       throw std::runtime_error(stmp.c_str());
+00254     }
+00255   _state.storeFunctor(select);
+00256 
+00257 
+00258   /* the replacement strategy */
+00259   std::string & replacementParam = _parser.createParam(std::string("Elitist"), "replacement",
+00260                                    "Replacement scheme: Elitist, Environmental or Generational", 'R', "Evolution Engine").value();
+00261   moeoReplacement < MOEOT > * replace;
+00262   if (replacementParam == std::string("Elitist"))
+00263     {
+00264       replace = new moeoElitistReplacement < MOEOT> (*fitnessAssignment, *diversityAssignment, *comparator);
+00265     }
+00266   else if (replacementParam == std::string("Environmental"))
+00267     {
+00268       replace = new moeoEnvironmentalReplacement < MOEOT> (*fitnessAssignment, *diversityAssignment, *comparator);
+00269     }
+00270   else if (replacementParam == std::string("Generational"))
+00271     {
+00272       replace = new moeoGenerationalReplacement < MOEOT> ();
+00273     }
+00274   else
+00275     {
+00276       std::string stmp = std::string("Invalid replacement strategy: ") + replacementParam;
+00277       throw std::runtime_error(stmp.c_str());
+00278     }
+00279   _state.storeFunctor(replace);
+00280 
+00281 
+00282   /* the number of offspring  */
+00283   eoValueParam < eoHowMany > & offspringRateParam = _parser.createParam(eoHowMany(1.0), "nbOffspring",
+00284       "Number of offspring (percentage or absolute)", 'O', "Evolution Engine");
+00285 
+00286 
+00287   // the general breeder
+00288   eoGeneralBreeder < MOEOT > * breed = new eoGeneralBreeder < MOEOT > (*select, _op, offspringRateParam.value());
+00289   _state.storeFunctor(breed);
+00290   // the eoEasyEA
+00291   moeoEA < MOEOT > * algo = new moeoEasyEA < MOEOT > (_continue, _eval, *breed, *replace, *fitnessAssignment, *diversityAssignment);
+00292   _state.storeFunctor(algo);
+00293   return *algo;
+00294 
+00295 }
+00296 
+00297 #endif /*MAKE_EA_MOEO_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__eval__FlowShop_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__eval__FlowShop_8h-source.html new file mode 100644 index 000000000..d6677eb59 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__eval__FlowShop_8h-source.html @@ -0,0 +1,109 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: make_eval_FlowShop.h Source File + + + + +
+
+

make_eval_FlowShop.h

00001 /*
+00002 * <make_eval_FlowShop.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MAKE_EVAL_FLOWSHOP_H_
+00039 #define MAKE_EVAL_FLOWSHOP_H_
+00040 
+00041 
+00042 #include <utils/eoParser.h>
+00043 #include <utils/eoState.h>
+00044 #include <eoEvalFuncCounter.h>
+00045 #include <FlowShop.h>
+00046 #include <FlowShopBenchmarkParser.h>
+00047 #include <FlowShopEval.h>
+00048 
+00049 /*
+00050  * This function creates an eoEvalFuncCounter<eoFlowShop> that can later be used to evaluate an individual.
+00051  * @param eoParser& _parser  to get user parameters
+00052  * @param eoState& _state  to store the memory
+00053  */
+00054 eoEvalFuncCounter<FlowShop> & do_make_eval(eoParser& _parser, eoState& _state)
+00055 {
+00056   // benchmark file name
+00057   std::string benchmarkFileName = _parser.getORcreateParam(std::string(), "BenchmarkFile", "Benchmark file name (benchmarks are available at www.lifl.fr/~liefooga/benchmarks)", 'B',"Representation", true).value();
+00058   if (benchmarkFileName == "")
+00059     {
+00060       std::string stmp = "*** Missing name of the benchmark file\n";
+00061       stmp += "    Type '-B=the_benchmark_file_name' or '--BenchmarkFile=the_benchmark_file_name'\n";
+00062       stmp += "    Benchmarks files are available at www.lifl.fr/~liefooga/benchmarks";
+00063       throw std::runtime_error(stmp.c_str());
+00064     }
+00065   // reading of the parameters contained in the benchmark file
+00066   FlowShopBenchmarkParser fParser(benchmarkFileName);
+00067   unsigned int M = fParser.getM();
+00068   unsigned int N = fParser.getN();
+00069   std::vector< std::vector<unsigned int> > p = fParser.getP();
+00070   std::vector<unsigned int> d = fParser.getD();
+00071   // build of the initializer (a pointer, stored in the eoState)
+00072   FlowShopEval* plainEval = new FlowShopEval(M, N, p, d);
+00073   // turn that object into an evaluation counter
+00074   eoEvalFuncCounter<FlowShop>* eval = new eoEvalFuncCounter<FlowShop> (* plainEval);
+00075   // store in state
+00076   _state.storeFunctor(eval);
+00077   // and return a reference
+00078   return *eval;
+00079 }
+00080 
+00081 #endif /*MAKE_EVAL_FLOWSHOP_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__genotype__FlowShop_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__genotype__FlowShop_8h-source.html new file mode 100644 index 000000000..2044ff510 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__genotype__FlowShop_8h-source.html @@ -0,0 +1,102 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: make_genotype_FlowShop.h Source File + + + + +
+
+

make_genotype_FlowShop.h

00001 /*
+00002 * <make_genotype_FlowShop.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MAKE_GENOTYPE_FLOWSHOP_H_
+00039 #define MAKE_GENOTYPE_FLOWSHOP_H_
+00040 
+00041 #include <utils/eoParser.h>
+00042 #include <utils/eoState.h>
+00043 #include <FlowShop.h>
+00044 #include <FlowShopInit.h>
+00045 #include <FlowShopBenchmarkParser.h>
+00046 
+00047 /*
+00048  * This function creates an eoInit<eoFlowShop> that can later be used to initialize the population (see make_pop.h).
+00049  * @param eoParser& _parser  to get user parameters
+00050  * @param eoState& _state  to store the memory
+00051  */
+00052 eoInit<FlowShop> & do_make_genotype(eoParser& _parser, eoState& _state)
+00053 {
+00054   // benchmark file name
+00055   std::string benchmarkFileName = _parser.getORcreateParam(std::string(), "BenchmarkFile", "Benchmark file name (benchmarks are available at www.lifl.fr/~liefooga/benchmarks/)", 'B',"Representation", true).value();
+00056   if (benchmarkFileName == "")
+00057     {
+00058       std::string stmp = "*** Missing name of the benchmark file\n";
+00059       stmp += "   Type '-B=the_benchmark_file_name' or '--BenchmarkFile=the_benchmark_file_name'\n";
+00060       stmp += "   Benchmarks files are available at www.lifl.fr/~liefooga/benchmarks";
+00061       throw std::runtime_error(stmp.c_str());
+00062     }
+00063   // reading of number of jobs to schedule contained in the benchmark file
+00064   FlowShopBenchmarkParser fParser(benchmarkFileName);
+00065   unsigned int N = fParser.getN();
+00066   // build of the initializer (a pointer, stored in the eoState)
+00067   eoInit<FlowShop>* init = new FlowShopInit(N);
+00068   // store in state
+00069   _state.storeFunctor(init);
+00070   // and return a reference
+00071   return *init;
+00072 }
+00073 
+00074 #endif /*MAKE_GENOTYPE_FLOWSHOP_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__op__FlowShop_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__op__FlowShop_8h-source.html new file mode 100644 index 000000000..589812cad --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/make__op__FlowShop_8h-source.html @@ -0,0 +1,155 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: make_op_FlowShop.h Source File + + + + +
+
+

make_op_FlowShop.h

00001 /*
+00002 * <make_op_FlowShop.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MAKE_OP_FLOWSHOP_H_
+00039 #define MAKE_OP_FLOWSHOP_H_
+00040 
+00041 #include <utils/eoParser.h>
+00042 #include <utils/eoState.h>
+00043 #include <eoOp.h>
+00044 #include <eoGenOp.h>
+00045 #include <eoCloneOps.h>
+00046 #include <eoOpContainer.h>
+00047 #include <eoProportionalCombinedOp.h>
+00048 #include <FlowShopOpCrossoverQuad.h>
+00049 #include <FlowShopOpMutationShift.h>
+00050 #include <FlowShopOpMutationExchange.h>
+00051 
+00052 /*
+00053  * This function builds the operators that will be applied to the eoFlowShop
+00054  * @param eoParameterLoader& _parser to get user parameters
+00055  * @param eoState& _state to store the memory
+00056  */
+00057 eoGenOp<FlowShop> & do_make_op(eoParameterLoader& _parser, eoState& _state)
+00058 {
+00059 
+00061   // Variation operators
+00063 
+00064   // the crossover
+00066 
+00067   // a first crossover
+00068   eoQuadOp<FlowShop> *cross = new FlowShopOpCrossoverQuad;
+00069   // store in the state
+00070   _state.storeFunctor(cross);
+00071 
+00072   // relative rate in the combination
+00073   double cross1Rate = _parser.createParam(1.0, "crossRate", "Relative rate for the only crossover", 0, "Variation Operators").value();
+00074   // creation of the combined operator with this one
+00075   eoPropCombinedQuadOp<FlowShop> *propXover = new eoPropCombinedQuadOp<FlowShop>(*cross, cross1Rate);
+00076   // store in the state
+00077   _state.storeFunctor(propXover);
+00078 
+00079 
+00080   // the mutation
+00082 
+00083   // a first mutation : the shift mutation
+00084   eoMonOp<FlowShop> *mut = new FlowShopOpMutationShift;
+00085   _state.storeFunctor(mut);
+00086   // its relative rate in the combination
+00087   double mut1Rate = _parser.createParam(0.5, "shiftMutRate", "Relative rate for shift mutation", 0, "Variation Operators").value();
+00088   // creation of the combined operator with this one
+00089   eoPropCombinedMonOp<FlowShop> *propMutation = new eoPropCombinedMonOp<FlowShop>(*mut, mut1Rate);
+00090   _state.storeFunctor(propMutation);
+00091 
+00092   // a second mutation : the exchange mutation
+00093   mut = new FlowShopOpMutationExchange;
+00094   _state.storeFunctor(mut);
+00095   // its relative rate in the combination
+00096   double mut2Rate = _parser.createParam(0.5, "exchangeMutRate", "Relative rate for exchange mutation", 0, "Variation Operators").value();
+00097   // addition of this one to the combined operator
+00098   propMutation -> add(*mut, mut2Rate);
+00099 
+00100   // end of crossover and mutation definitions
+00102 
+00103   // First read the individual level parameters
+00104   eoValueParam<double>& pCrossParam = _parser.createParam(0.25, "pCross", "Probability of Crossover", 'c', "Variation Operators" );
+00105   // minimum check
+00106   if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) )
+00107     throw std::runtime_error("Invalid pCross");
+00108 
+00109   eoValueParam<double>& pMutParam = _parser.createParam(0.35, "pMut", "Probability of Mutation", 'm', "Variation Operators" );
+00110   // minimum check
+00111   if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) )
+00112     throw std::runtime_error("Invalid pMut");
+00113 
+00114   // the crossover - with probability pCross
+00115   eoProportionalOp<FlowShop> * propOp = new eoProportionalOp<FlowShop> ;
+00116   _state.storeFunctor(propOp);
+00117   eoQuadOp<FlowShop> *ptQuad = new eoQuadCloneOp<FlowShop>;
+00118   _state.storeFunctor(ptQuad);
+00119   propOp -> add(*propXover, pCrossParam.value()); // crossover, with proba pcross
+00120   propOp -> add(*ptQuad, 1-pCrossParam.value()); // nothing, with proba 1-pcross
+00121 
+00122   // now the sequential
+00123   eoSequentialOp<FlowShop> *op = new eoSequentialOp<FlowShop>;
+00124   _state.storeFunctor(op);
+00125   op -> add(*propOp, 1.0);       // always do combined crossover
+00126   op -> add(*propMutation, pMutParam.value()); // then mutation, with proba pmut
+00127 
+00128   // return a reference
+00129   return *op;
+00130 }
+00131 
+00132 #endif /*MAKE_OP_FLOWSHOP_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAchievementFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAchievementFitnessAssignment_8h-source.html new file mode 100644 index 000000000..576fd7c59 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAchievementFitnessAssignment_8h-source.html @@ -0,0 +1,160 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoAchievementFitnessAssignment.h Source File + + + + +
+
+

moeoAchievementFitnessAssignment.h

00001 /*
+00002 * <moeoAchievementFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOACHIEVEMENTFITNESSASSIGNMENT_H_
+00039 #define MOEOACHIEVEMENTFITNESSASSIGNMENT_H_
+00040 
+00041 #include <vector>
+00042 #include <eoPop.h>
+00043 #include <fitness/moeoScalarFitnessAssignment.h>
+00044 
+00048 template < class MOEOT >
+00049 class moeoAchievementFitnessAssignment : public moeoScalarFitnessAssignment < MOEOT >
+00050   {
+00051   public:
+00052 
+00054     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00055 
+00056 
+00063     moeoAchievementFitnessAssignment(ObjectiveVector & _reference, std::vector < double > & _lambdas, double _spn=0.0001) : reference(_reference), lambdas(_lambdas), spn(_spn)
+00064     {
+00065       // consistency check
+00066       if ((spn < 0.0) || (spn > 1.0))
+00067         {
+00068           std::cout << "Warning, the arbitrary small positive number should be > 0 and <<1, adjusted to 0.0001\n";
+00069           spn = 0.0001;
+00070         }
+00071     }
+00072 
+00073 
+00079     moeoAchievementFitnessAssignment(ObjectiveVector & _reference, double _spn=0.0001) : reference(_reference), spn(_spn)
+00080     {
+00081       // compute the default values for lambdas
+00082       lambdas  = std::vector < double > (ObjectiveVector::nObjectives());
+00083       for (unsigned int i=0 ; i<lambdas.size(); i++)
+00084         {
+00085           lambdas[i] = 1.0 / ObjectiveVector::nObjectives();
+00086         }
+00087       // consistency check
+00088       if ((spn < 0.0) || (spn > 1.0))
+00089         {
+00090           std::cout << "Warning, the arbitrary small positive number should be > 0 and <<1, adjusted to 0.0001\n";
+00091           spn = 0.0001;
+00092         }
+00093     }
+00094 
+00095 
+00100     virtual void operator()(eoPop < MOEOT > & _pop)
+00101     {
+00102       for (unsigned int i=0; i<_pop.size() ; i++)
+00103         {
+00104           compute(_pop[i]);
+00105         }
+00106     }
+00107 
+00108 
+00114     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00115     {
+00116       // nothing to do ;-)
+00117     }
+00118 
+00119 
+00124     void setReference(const ObjectiveVector & _reference)
+00125     {
+00126       reference = _reference;
+00127     }
+00128 
+00129 
+00130   private:
+00131 
+00133     ObjectiveVector reference;
+00135     std::vector < double > lambdas;
+00137     double spn;
+00138 
+00139 
+00143     double inf() const
+00144       {
+00145         return std::numeric_limits<double>::max();
+00146       }
+00147 
+00148 
+00153     void compute(MOEOT & _moeo)
+00154     {
+00155       unsigned int nobj = MOEOT::ObjectiveVector::nObjectives();
+00156       double temp;
+00157       double min = inf();
+00158       double sum = 0;
+00159       for (unsigned int obj=0; obj<nobj; obj++)
+00160         {
+00161           temp = lambdas[obj] * (reference[obj] - _moeo.objectiveVector()[obj]);
+00162           min = std::min(min, temp);
+00163           sum += temp;
+00164         }
+00165       _moeo.fitness(min + spn*sum);
+00166     }
+00167 
+00168   };
+00169 
+00170 #endif /*MOEOACHIEVEMENTFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAdditiveEpsilonBinaryMetric_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAdditiveEpsilonBinaryMetric_8h-source.html new file mode 100644 index 000000000..f24c7a75c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAdditiveEpsilonBinaryMetric_8h-source.html @@ -0,0 +1,117 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoAdditiveEpsilonBinaryMetric.h Source File + + + + +
+
+

moeoAdditiveEpsilonBinaryMetric.h

00001 /*
+00002 * <moeoAdditiveEpsilonBinaryMetric.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOADDITIVEEPSILONBINARYMETRIC_H_
+00039 #define MOEOADDITIVEEPSILONBINARYMETRIC_H_
+00040 
+00041 #include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
+00042 
+00048 template < class ObjectiveVector >
+00049 class moeoAdditiveEpsilonBinaryMetric : public moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double >
+00050   {
+00051   public:
+00052 
+00060     double operator()(const ObjectiveVector & _o1, const ObjectiveVector & _o2)
+00061     {
+00062       // computation of the epsilon value for the first objective
+00063       double result = epsilon(_o1, _o2, 0);
+00064       // computation of the epsilon value for the other objectives
+00065       double tmp;
+00066       for (unsigned int i=1; i<ObjectiveVector::Traits::nObjectives(); i++)
+00067         {
+00068           tmp = epsilon(_o1, _o2, i);
+00069           result = std::max(result, tmp);
+00070         }
+00071       // returns the maximum epsilon value
+00072       return result;
+00073     }
+00074 
+00075 
+00076   private:
+00077 
+00079     using moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > :: bounds;
+00080 
+00081 
+00089     double epsilon(const ObjectiveVector & _o1, const ObjectiveVector & _o2, const unsigned int _obj)
+00090     {
+00091       double result;
+00092       // if the objective _obj have to be minimized
+00093       if (ObjectiveVector::Traits::minimizing(_obj))
+00094         {
+00095           // _o1[_obj] - _o2[_obj]
+00096           result = ( (_o1[_obj] - bounds[_obj].minimum()) / bounds[_obj].range() ) - ( (_o2[_obj] - bounds[_obj].minimum()) / bounds[_obj].range() );
+00097         }
+00098       // if the objective _obj have to be maximized
+00099       else
+00100         {
+00101           // _o2[_obj] - _o1[_obj]
+00102           result = ( (_o2[_obj] - bounds[_obj].minimum()) / bounds[_obj].range() ) - ( (_o1[_obj] - bounds[_obj].minimum()) / bounds[_obj].range() );
+00103         }
+00104       return result;
+00105     }
+00106 
+00107   };
+00108 
+00109 #endif /*MOEOADDITIVEEPSILONBINARYMETRIC_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAggregativeComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAggregativeComparator_8h-source.html new file mode 100644 index 000000000..8e4ffe478 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAggregativeComparator_8h-source.html @@ -0,0 +1,93 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoAggregativeComparator.h Source File + + + + +
+
+

moeoAggregativeComparator.h

00001 /*
+00002 * <moeoAggregativeComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOAGGREGATIVECOMPARATOR_H_
+00039 #define MOEOAGGREGATIVECOMPARATOR_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoAggregativeComparator : public moeoComparator < MOEOT >
+00048   {
+00049   public:
+00050 
+00056     moeoAggregativeComparator(double _weightFitness = 1.0, double _weightDiversity = 1.0) : weightFitness(_weightFitness), weightDiversity(_weightDiversity)
+00057     {}
+00058 
+00059 
+00065     const bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00066     {
+00067       return ( weightFitness * _moeo1.fitness() + weightDiversity * _moeo1.diversity() ) < ( weightFitness * _moeo2.fitness() + weightDiversity * _moeo2.diversity() );
+00068     }
+00069 
+00070 
+00071   private:
+00072 
+00074     double weightFitness;
+00076     double weightDiversity;
+00077 
+00078   };
+00079 
+00080 #endif /*MOEOAGGREGATIVECOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAlgo_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAlgo_8h-source.html new file mode 100644 index 000000000..325755440 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoAlgo_8h-source.html @@ -0,0 +1,72 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoAlgo.h Source File + + + + +
+
+

moeoAlgo.h

00001 /*
+00002 * <moeoAlgo.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOALGO_H_
+00039 #define MOEOALGO_H_
+00040 
+00044 class moeoAlgo
+00045   {};
+00046 
+00047 #endif /*MOEOALGO_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchiveObjectiveVectorSavingUpdater_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchiveObjectiveVectorSavingUpdater_8h-source.html new file mode 100644 index 000000000..8680c4b66 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchiveObjectiveVectorSavingUpdater_8h-source.html @@ -0,0 +1,130 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoArchiveObjectiveVectorSavingUpdater.h Source File + + + + +
+
+

moeoArchiveObjectiveVectorSavingUpdater.h

00001 /*
+00002 * <moeoArchiveObjectiveVectorSavingUpdater.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOARCHIVEOBJECTIVEVECTORSAVINGUPDATER_H_
+00039 #define MOEOARCHIVEOBJECTIVEVECTORSAVINGUPDATER_H_
+00040 
+00041 #include <fstream>
+00042 #include <string>
+00043 #include <eoPop.h>
+00044 #include <utils/eoUpdater.h>
+00045 #include <archive/moeoArchive.h>
+00046 
+00047 #define MAX_BUFFER_SIZE 1000
+00048 
+00052 template < class MOEOT >
+00053 class moeoArchiveObjectiveVectorSavingUpdater : public eoUpdater
+00054   {
+00055   public:
+00056 
+00064     moeoArchiveObjectiveVectorSavingUpdater (moeoArchive<MOEOT> & _arch, const std::string & _filename, bool _count = false, int _id = -1) :
+00065         arch(_arch), filename(_filename), count(_count), counter(0), id(_id)
+00066     {}
+00067 
+00068 
+00072     void operator()()
+00073     {
+00074       char buff[MAX_BUFFER_SIZE];
+00075       if (count)
+00076         {
+00077           if (id == -1)
+00078             {
+00079               sprintf (buff, "%s.%u", filename.c_str(), counter ++);
+00080             }
+00081           else
+00082             {
+00083               sprintf (buff, "%s.%u.%u", filename.c_str(), id, counter ++);
+00084             }
+00085         }
+00086       else
+00087         {
+00088           if (id == -1)
+00089             {
+00090               sprintf (buff, "%s", filename.c_str());
+00091             }
+00092           else
+00093             {
+00094               sprintf (buff, "%s.%u", filename.c_str(), id);
+00095             }
+00096           counter ++;
+00097         }
+00098       std::ofstream f(buff);
+00099       for (unsigned int i = 0; i < arch.size (); i++)
+00100         f << arch[i].objectiveVector() << std::endl;
+00101       f.close ();
+00102     }
+00103 
+00104 
+00105   private:
+00106 
+00108     moeoArchive<MOEOT> & arch;
+00110     std::string filename;
+00112     bool count;
+00114     unsigned int counter;
+00116     int id;
+00117 
+00118   };
+00119 
+00120 #endif /*MOEOARCHIVEOBJECTIVEVECTORSAVINGUPDATER_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchiveUpdater_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchiveUpdater_8h-source.html new file mode 100644 index 000000000..b0f5a269e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchiveUpdater_8h-source.html @@ -0,0 +1,95 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoArchiveUpdater.h Source File + + + + +
+
+

moeoArchiveUpdater.h

00001 /*
+00002 * <moeoArchiveUpdater.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOARCHIVEUPDATER_H_
+00039 #define MOEOARCHIVEUPDATER_H_
+00040 
+00041 #include <eoPop.h>
+00042 #include <utils/eoUpdater.h>
+00043 #include <archive/moeoArchive.h>
+00044 
+00048 template < class MOEOT >
+00049 class moeoArchiveUpdater : public eoUpdater
+00050   {
+00051   public:
+00052 
+00058     moeoArchiveUpdater(moeoArchive < MOEOT > & _arch, const eoPop < MOEOT > & _pop) : arch(_arch), pop(_pop)
+00059     {}
+00060 
+00061 
+00065     void operator()()
+00066     {
+00067       arch.update(pop);
+00068     }
+00069 
+00070 
+00071   private:
+00072 
+00074     moeoArchive < MOEOT > & arch;
+00076     const eoPop < MOEOT > & pop;
+00077 
+00078   };
+00079 
+00080 #endif /*MOEOARCHIVEUPDATER_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchive_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchive_8h-source.html new file mode 100644 index 000000000..7fa48cbb5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoArchive_8h-source.html @@ -0,0 +1,198 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoArchive.h Source File + + + + +
+
+

moeoArchive.h

00001 /*
+00002 * <moeoArchive.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOARCHIVE_H_
+00039 #define MOEOARCHIVE_H_
+00040 
+00041 #include <eoPop.h>
+00042 #include <comparator/moeoObjectiveVectorComparator.h>
+00043 #include <comparator/moeoParetoObjectiveVectorComparator.h>
+00044 
+00048 template < class MOEOT >
+00049 class moeoArchive : public eoPop < MOEOT >
+00050   {
+00051   public:
+00052 
+00053     using eoPop < MOEOT > :: size;
+00054     using eoPop < MOEOT > :: resize;
+00055     using eoPop < MOEOT > :: operator[];
+00056     using eoPop < MOEOT > :: back;
+00057     using eoPop < MOEOT > :: pop_back;
+00058 
+00059 
+00063     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00064 
+00065 
+00070     moeoArchive() : eoPop < MOEOT >(), comparator(paretoComparator)
+00071     {}
+00072 
+00073 
+00078     moeoArchive(moeoObjectiveVectorComparator < ObjectiveVector > & _comparator) : eoPop < MOEOT >(), comparator(_comparator)
+00079     {}
+00080 
+00081 
+00086     bool dominates (const ObjectiveVector & _objectiveVector) const
+00087       {
+00088         for (unsigned int i = 0; i<size(); i++)
+00089           {
+00090             // if _objectiveVector is dominated by the ith individual of the archive...
+00091             if ( comparator(_objectiveVector, operator[](i).objectiveVector()) )
+00092               {
+00093                 return true;
+00094               }
+00095           }
+00096         return false;
+00097       }
+00098 
+00099 
+00104     bool contains (const ObjectiveVector & _objectiveVector) const
+00105       {
+00106         for (unsigned int i = 0; i<size(); i++)
+00107           {
+00108             if (operator[](i).objectiveVector() == _objectiveVector)
+00109               {
+00110                 return true;
+00111               }
+00112           }
+00113         return false;
+00114       }
+00115 
+00116 
+00121     void update (const MOEOT & _moeo)
+00122     {
+00123       // first step: removing the dominated solutions from the archive
+00124       for (unsigned int j=0; j<size();)
+00125         {
+00126           // if the jth solution contained in the archive is dominated by _moeo
+00127           if ( comparator(operator[](j).objectiveVector(), _moeo.objectiveVector()) )
+00128             {
+00129               operator[](j) = back();
+00130               pop_back();
+00131             }
+00132           else if (_moeo.objectiveVector() == operator[](j).objectiveVector())
+00133             {
+00134               operator[](j) = back();
+00135               pop_back();
+00136             }
+00137           else
+00138             {
+00139               j++;
+00140             }
+00141         }
+00142       // second step: is _moeo dominated?
+00143       bool dom = false;
+00144       for (unsigned int j=0; j<size(); j++)
+00145         {
+00146           // if _moeo is dominated by the jth solution contained in the archive
+00147           if ( comparator(_moeo.objectiveVector(), operator[](j).objectiveVector()) )
+00148             {
+00149               dom = true;
+00150               break;
+00151             }
+00152         }
+00153       if (!dom)
+00154         {
+00155           push_back(_moeo);
+00156         }
+00157     }
+00158 
+00159 
+00164     void update (const eoPop < MOEOT > & _pop)
+00165     {
+00166       for (unsigned int i=0; i<_pop.size(); i++)
+00167         {
+00168           update(_pop[i]);
+00169         }
+00170     }
+00171 
+00172 
+00177     bool equals (const moeoArchive < MOEOT > & _arch)
+00178     {
+00179       for (unsigned int i=0; i<size(); i++)
+00180         {
+00181           if (! _arch.contains(operator[](i).objectiveVector()))
+00182             {
+00183               return false;
+00184             }
+00185         }
+00186       for (unsigned int i=0; i<_arch.size() ; i++)
+00187         {
+00188           if (! contains(_arch[i].objectiveVector()))
+00189             {
+00190               return false;
+00191             }
+00192         }
+00193       return true;
+00194     }
+00195 
+00196 
+00197   private:
+00198 
+00200     moeoObjectiveVectorComparator < ObjectiveVector > & comparator;
+00202     moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
+00203 
+00204   };
+00205 
+00206 #endif /*MOEOARCHIVE_H_ */
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBinaryIndicatorBasedFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBinaryIndicatorBasedFitnessAssignment_8h-source.html new file mode 100644 index 000000000..c74bcd618 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBinaryIndicatorBasedFitnessAssignment_8h-source.html @@ -0,0 +1,83 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoBinaryIndicatorBasedFitnessAssignment.h Source File + + + + +
+
+

moeoBinaryIndicatorBasedFitnessAssignment.h

00001 /*
+00002 * <moeoBinaryIndicatorBasedFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOBINARYINDICATORBASEDFITNESSASSIGNMENT_H_
+00039 #define MOEOBINARYINDICATORBASEDFITNESSASSIGNMENT_H_
+00040 
+00041 #include <fitness/moeoIndicatorBasedFitnessAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoBinaryIndicatorBasedFitnessAssignment : public moeoIndicatorBasedFitnessAssignment < MOEOT >
+00048   {
+00049   public:
+00050 
+00052     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00053 
+00054 
+00061     virtual double updateByAdding(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec) = 0;
+00062 
+00063   };
+00064 
+00065 #endif /*MOEOINDICATORBASEDFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBinaryMetricSavingUpdater_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBinaryMetricSavingUpdater_8h-source.html new file mode 100644 index 000000000..44687214e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBinaryMetricSavingUpdater_8h-source.html @@ -0,0 +1,127 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoBinaryMetricSavingUpdater.h Source File + + + + +
+
+

moeoBinaryMetricSavingUpdater.h

00001 /*
+00002 * <moeoBinaryMetricSavingUpdater.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOBINARYMETRICSAVINGUPDATER_H_
+00039 #define MOEOBINARYMETRICSAVINGUPDATER_H_
+00040 
+00041 #include <fstream>
+00042 #include <string>
+00043 #include <vector>
+00044 #include <eoPop.h>
+00045 #include <utils/eoUpdater.h>
+00046 #include <metric/moeoMetric.h>
+00047 
+00052 template < class MOEOT >
+00053 class moeoBinaryMetricSavingUpdater : public eoUpdater
+00054   {
+00055   public:
+00056 
+00058     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00059 
+00060 
+00067     moeoBinaryMetricSavingUpdater (moeoVectorVsVectorBinaryMetric < ObjectiveVector, double > & _metric, const eoPop < MOEOT > & _pop, std::string _filename) :
+00068         metric(_metric), pop(_pop), filename(_filename), counter(1)
+00069     {}
+00070 
+00071 
+00075     void operator()()
+00076     {
+00077       if (pop.size())
+00078         {
+00079           if (firstGen)
+00080             {
+00081               firstGen = false;
+00082             }
+00083           else
+00084             {
+00085               // creation of the two Pareto sets
+00086               std::vector < ObjectiveVector > from;
+00087               std::vector < ObjectiveVector > to;
+00088               for (unsigned int i=0; i<pop.size(); i++)
+00089                 from.push_back(pop[i].objectiveVector());
+00090               for (unsigned int i=0 ; i<oldPop.size(); i++)
+00091                 to.push_back(oldPop[i].objectiveVector());
+00092               // writing the result into the file
+00093               std::ofstream f (filename.c_str(), std::ios::app);
+00094               f << counter++ << ' ' << metric(from,to) << std::endl;
+00095               f.close();
+00096             }
+00097           oldPop = pop;
+00098         }
+00099     }
+00100 
+00101 
+00102   private:
+00103 
+00105     moeoVectorVsVectorBinaryMetric < ObjectiveVector, double > & metric;
+00107     const eoPop < MOEOT > & pop;
+00109     eoPop< MOEOT > oldPop;
+00111     std::string filename;
+00113     bool firstGen;
+00115     unsigned int counter;
+00116 
+00117   };
+00118 
+00119 #endif /*MOEOBINARYMETRICSAVINGUPDATER_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBitVector_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBitVector_8h-source.html new file mode 100644 index 000000000..a1156ae87 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoBitVector_8h-source.html @@ -0,0 +1,117 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoBitVector.h Source File + + + + +
+
+

moeoBitVector.h

00001 /*
+00002 * <moeoBitVector.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOBITVECTOR_H_
+00039 #define MOEOBITVECTOR_H_
+00040 
+00041 #include <core/moeoVector.h>
+00042 
+00046 template < class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity >
+00047 class moeoBitVector : public moeoVector < MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >
+00048   {
+00049   public:
+00050 
+00051     using moeoVector < MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > :: begin;
+00052     using moeoVector < MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > :: end;
+00053     using moeoVector < MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > :: resize;
+00054     using moeoVector < MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool > :: size;
+00055 
+00056 
+00062     moeoBitVector(unsigned int _size = 0, bool _value = false) : moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >(_size, _value)
+00063     {}
+00064 
+00065 
+00069     virtual std::string className() const
+00070       {
+00071         return "moeoBitVector";
+00072       }
+00073 
+00074 
+00079     virtual void printOn(std::ostream & _os) const
+00080       {
+00081         MOEO < MOEOObjectiveVector, MOEOFitness, MOEODiversity >::printOn(_os);
+00082         _os << ' ';
+00083         _os << size() << ' ';
+00084         std::copy(begin(), end(), std::ostream_iterator<bool>(_os));
+00085       }
+00086 
+00087 
+00092     virtual void readFrom(std::istream & _is)
+00093     {
+00094       MOEO < MOEOObjectiveVector, MOEOFitness, MOEODiversity >::readFrom(_is);
+00095       unsigned int s;
+00096       _is >> s;
+00097       std::string bits;
+00098       _is >> bits;
+00099       if (_is)
+00100         {
+00101           resize(bits.size());
+00102           std::transform(bits.begin(), bits.end(), begin(), std::bind2nd(std::equal_to<char>(), '1'));
+00103         }
+00104     }
+00105 
+00106   };
+00107 
+00108 #endif /*MOEOBITVECTOR_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCombinedLS_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCombinedLS_8h-source.html new file mode 100644 index 000000000..db755474e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCombinedLS_8h-source.html @@ -0,0 +1,101 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoCombinedLS.h Source File + + + + +
+
+

moeoCombinedLS.h

00001 /*
+00002 * <moeoCombinedLS.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOCOMBINEDLS_H_
+00039 #define MOEOCOMBINEDLS_H_
+00040 
+00041 #include <vector>
+00042 #include <algo/moeoLS.h>
+00043 #include <archive/moeoArchive.h>
+00044 
+00049 template < class MOEOT, class Type >
+00050 class moeoCombinedLS : public moeoLS < MOEOT, Type >
+00051   {
+00052   public:
+00053 
+00058     moeoCombinedLS(moeoLS < MOEOT, Type > & _first_mols)
+00059     {
+00060       combinedLS.push_back (& _first_mols);
+00061     }
+00062 
+00067     void add(moeoLS < MOEOT, Type > & _mols)
+00068       {
+00069         combinedLS.push_back(& _mols);
+00070       }
+00071 
+00078     void operator () (Type _type, moeoArchive < MOEOT > & _arch)
+00079     {
+00080       for (unsigned int i=0; i<combinedLS.size(); i++)
+00081         combinedLS[i] -> operator()(_type, _arch);
+00082     }
+00083 
+00084 
+00085   private:
+00086 
+00088     std::vector< moeoLS < MOEOT, Type > * >  combinedLS;
+00089 
+00090   };
+00091 
+00092 #endif /*MOEOCOMBINEDLS_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoComparator_8h-source.html new file mode 100644 index 000000000..01f9a32f9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoComparator_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoComparator.h Source File + + + + +
+
+

moeoComparator.h

00001 /*
+00002 * <moeoComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOCOMPARATOR_H_
+00039 #define MOEOCOMPARATOR_H_
+00040 
+00041 #include <eoFunctor.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoComparator : public eoBF < const MOEOT &, const MOEOT &, const bool >
+00048   {};
+00049 
+00050 #endif /*MOEOCOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoContributionMetric_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoContributionMetric_8h-source.html new file mode 100644 index 000000000..a0f096817 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoContributionMetric_8h-source.html @@ -0,0 +1,141 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoContributionMetric.h Source File + + + + +
+
+

moeoContributionMetric.h

00001 /*
+00002 * <moeoContributionMetric.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOCONTRIBUTIONMETRIC_H_
+00039 #define MOEOCONTRIBUTIONMETRIC_H_
+00040 
+00041 #include <comparator/moeoParetoObjectiveVectorComparator.h>
+00042 #include <metric/moeoMetric.h>
+00043 
+00048 template < class ObjectiveVector >
+00049 class moeoContributionMetric : public moeoVectorVsVectorBinaryMetric < ObjectiveVector, double >
+00050   {
+00051   public:
+00052 
+00058     double operator()(const std::vector < ObjectiveVector > & _set1, const std::vector < ObjectiveVector > & _set2)
+00059     {
+00060       unsigned int c  = card_C(_set1, _set2);
+00061       unsigned int w1 = card_W(_set1, _set2);
+00062       unsigned int n1 = card_N(_set1, _set2);
+00063       unsigned int w2 = card_W(_set2, _set1);
+00064       unsigned int n2 = card_N(_set2, _set1);
+00065       return (double) (c / 2.0 + w1 + n1) / (c + w1 + n1 + w2 + n2);
+00066     }
+00067 
+00068 
+00069   private:
+00070 
+00072     moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
+00073 
+00074 
+00080     unsigned int card_C (const std::vector < ObjectiveVector > & _set1, const std::vector < ObjectiveVector > & _set2)
+00081     {
+00082       unsigned int c=0;
+00083       for (unsigned int i=0; i<_set1.size(); i++)
+00084         for (unsigned int j=0; j<_set2.size(); j++)
+00085           if (_set1[i] == _set2[j])
+00086             {
+00087               c++;
+00088               break;
+00089             }
+00090       return c;
+00091     }
+00092 
+00093 
+00099     unsigned int card_W (const std::vector < ObjectiveVector > & _set1, const std::vector < ObjectiveVector > & _set2)
+00100     {
+00101       unsigned int w=0;
+00102       for (unsigned int i=0; i<_set1.size(); i++)
+00103         for (unsigned int j=0; j<_set2.size(); j++)
+00104           if (paretoComparator(_set2[j], _set1[i]))
+00105             {
+00106               w++;
+00107               break;
+00108             }
+00109       return w;
+00110     }
+00111 
+00112 
+00118     unsigned int card_N (const std::vector < ObjectiveVector > & _set1, const std::vector < ObjectiveVector > & _set2)
+00119     {
+00120       unsigned int n=0;
+00121       for (unsigned int i=0; i<_set1.size(); i++)
+00122         {
+00123           bool domin_rel = false;
+00124           for (unsigned int j=0; j<_set2.size(); j++)
+00125             if ( (paretoComparator(_set2[j], _set1[i])) || (paretoComparator(_set1[i], _set2[j])) )
+00126               {
+00127                 domin_rel = true;
+00128                 break;
+00129               }
+00130           if (! domin_rel)
+00131             n++;
+00132         }
+00133       return n;
+00134     }
+00135 
+00136   };
+00137 
+00138 #endif /*MOEOCONTRIBUTIONMETRIC_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoConvertPopToObjectiveVectors_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoConvertPopToObjectiveVectors_8h-source.html new file mode 100644 index 000000000..adb5a97ea --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoConvertPopToObjectiveVectors_8h-source.html @@ -0,0 +1,90 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoConvertPopToObjectiveVectors.h Source File + + + + +
+
+

moeoConvertPopToObjectiveVectors.h

00001 /*
+00002 * <moeoConvertPopToObjectiveVectors.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOPOPTOOBJECTIVEVECTORS_H_
+00039 #define MOEOPOPTOOBJECTIVEVECTORS_H_
+00040 
+00041 #include <vector>
+00042 #include <eoFunctor.h>
+00043 
+00047 template < class MOEOT, class ObjectiveVector = typename MOEOT::ObjectiveVector >
+00048 class moeoConvertPopToObjectiveVectors : public eoUF < const eoPop < MOEOT >, const std::vector < ObjectiveVector > >
+00049   {
+00050   public:
+00051 
+00056     const std::vector < ObjectiveVector > operator()(const eoPop < MOEOT > _pop)
+00057     {
+00058       std::vector < ObjectiveVector > result;
+00059       result.resize(_pop.size());
+00060       for (unsigned int i=0; i<_pop.size(); i++)
+00061         {
+00062           result.push_back(_pop[i].objectiveVector());
+00063         }
+00064       return result;
+00065     }
+00066 
+00067   };
+00068 
+00069 #endif /*MOEOPOPTOOBJECTIVEVECTORS_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCriterionBasedFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCriterionBasedFitnessAssignment_8h-source.html new file mode 100644 index 000000000..19320911d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCriterionBasedFitnessAssignment_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoCriterionBasedFitnessAssignment.h Source File + + + + +
+
+

moeoCriterionBasedFitnessAssignment.h

00001 /*
+00002 * <moeoCriterionBasedFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOCRITERIONBASEDFITNESSASSIGNMENT_H_
+00039 #define MOEOCRITERIONBASEDFITNESSASSIGNMENT_H_
+00040 
+00041 #include <fitness/moeoFitnessAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoCriterionBasedFitnessAssignment : public moeoFitnessAssignment < MOEOT >
+00048   {};
+00049 
+00050 #endif /*MOEOCRITERIONBASEDFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCrowdingDiversityAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCrowdingDiversityAssignment_8h-source.html new file mode 100644 index 000000000..1c9b189f4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoCrowdingDiversityAssignment_8h-source.html @@ -0,0 +1,149 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoCrowdingDiversityAssignment.h Source File + + + + +
+
+

moeoCrowdingDiversityAssignment.h

00001 /*
+00002 * <moeoCrowdingDiversityAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOCROWDINGDIVERSITYASSIGNMENT_H_
+00039 #define MOEOCROWDINGDIVERSITYASSIGNMENT_H_
+00040 
+00041 #include <eoPop.h>
+00042 #include <comparator/moeoOneObjectiveComparator.h>
+00043 #include <diversity/moeoDiversityAssignment.h>
+00044 
+00049 template < class MOEOT >
+00050 class moeoCrowdingDiversityAssignment : public moeoDiversityAssignment < MOEOT >
+00051   {
+00052   public:
+00053 
+00055     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00056 
+00057 
+00061     double inf() const
+00062       {
+00063         return std::numeric_limits<double>::max();
+00064       }
+00065 
+00066 
+00070     double tiny() const
+00071       {
+00072         return 1e-6;
+00073       }
+00074 
+00075 
+00080     void operator()(eoPop < MOEOT > & _pop)
+00081     {
+00082       if (_pop.size() <= 2)
+00083         {
+00084           for (unsigned int i=0; i<_pop.size(); i++)
+00085             {
+00086               _pop[i].diversity(inf());
+00087             }
+00088         }
+00089       else
+00090         {
+00091           setDistances(_pop);
+00092         }
+00093     }
+00094 
+00095 
+00103     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00104     {
+00105       std::cout << "WARNING : updateByDeleting not implemented in moeoCrowdingDiversityAssignment" << std::endl;
+00106     }
+00107 
+00108 
+00109   protected:
+00110 
+00115     virtual void setDistances (eoPop < MOEOT > & _pop)
+00116     {
+00117       double min, max, distance;
+00118       unsigned int nObjectives = MOEOT::ObjectiveVector::nObjectives();
+00119       // set diversity to 0
+00120       for (unsigned int i=0; i<_pop.size(); i++)
+00121         {
+00122           _pop[i].diversity(0);
+00123         }
+00124       // for each objective
+00125       for (unsigned int obj=0; obj<nObjectives; obj++)
+00126         {
+00127           // comparator
+00128           moeoOneObjectiveComparator < MOEOT > objComp(obj);
+00129           // sort
+00130           std::sort(_pop.begin(), _pop.end(), objComp);
+00131           // min & max
+00132           min = _pop[0].objectiveVector()[obj];
+00133           max = _pop[_pop.size()-1].objectiveVector()[obj];
+00134           // set the diversity value to infiny for min and max
+00135           _pop[0].diversity(inf());
+00136           _pop[_pop.size()-1].diversity(inf());
+00137           for (unsigned int i=1; i<_pop.size()-1; i++)
+00138             {
+00139               distance = (_pop[i+1].objectiveVector()[obj] - _pop[i-1].objectiveVector()[obj]) / (max-min);
+00140               _pop[i].diversity(_pop[i].diversity() + distance);
+00141             }
+00142         }
+00143     }
+00144 
+00145   };
+00146 
+00147 #endif /*MOEOCROWDINGDIVERSITYASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDetTournamentSelect_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDetTournamentSelect_8h-source.html new file mode 100644 index 000000000..ce88e7b50 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDetTournamentSelect_8h-source.html @@ -0,0 +1,117 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDetTournamentSelect.h Source File + + + + +
+
+

moeoDetTournamentSelect.h

00001 /*
+00002 * <moeoDetTournamentSelect.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEODETTOURNAMENTSELECT_H_
+00039 #define MOEODETTOURNAMENTSELECT_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 #include <comparator/moeoFitnessThenDiversityComparator.h>
+00043 #include <selection/moeoSelectOne.h>
+00044 #include <selection/moeoSelectors.h>
+00045 
+00049 template < class MOEOT > class moeoDetTournamentSelect:public moeoSelectOne < MOEOT >
+00050   {
+00051   public:
+00052 
+00058     moeoDetTournamentSelect (moeoComparator < MOEOT > & _comparator, unsigned int _tSize = 2) : comparator (_comparator), tSize (_tSize)
+00059     {
+00060       // consistency check
+00061       if (tSize < 2)
+00062         {
+00063           std::
+00064           cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n";
+00065           tSize = 2;
+00066         }
+00067     }
+00068 
+00069 
+00074     moeoDetTournamentSelect (unsigned int _tSize = 2) : comparator (defaultComparator), tSize (_tSize)
+00075     {
+00076       // consistency check
+00077       if (tSize < 2)
+00078         {
+00079           std::
+00080           cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n";
+00081           tSize = 2;
+00082         }
+00083     }
+00084 
+00085 
+00090     const MOEOT & operator() (const eoPop < MOEOT > &_pop)
+00091     {
+00092       // use the selector
+00093       return mo_deterministic_tournament (_pop, tSize, comparator);
+00094     }
+00095 
+00096 
+00097   protected:
+00098 
+00100     moeoComparator < MOEOT > & comparator;
+00102     moeoFitnessThenDiversityComparator < MOEOT > defaultComparator;
+00104     unsigned int tSize;
+00105 
+00106   };
+00107 
+00108 #endif /*MOEODETTOURNAMENTSELECT_H_ */
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDistanceMatrix_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDistanceMatrix_8h-source.html new file mode 100644 index 000000000..6b7381a81 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDistanceMatrix_8h-source.html @@ -0,0 +1,116 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDistanceMatrix.h Source File + + + + +
+
+

moeoDistanceMatrix.h

00001 /*
+00002 * <moeoDistanceMatrix.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEODISTANCEMATRIX_H_
+00039 #define MOEODISTANCEMATRIX_H_
+00040 
+00041 #include <vector>
+00042 #include <eoFunctor.h>
+00043 #include <distance/moeoDistance.h>
+00044 
+00048 template < class MOEOT , class Type >
+00049 class moeoDistanceMatrix : public eoUF < const eoPop < MOEOT > &, void > , public std::vector< std::vector < Type > >
+00050   {
+00051   public:
+00052 
+00053     using std::vector< std::vector < Type > > :: size;
+00054     using std::vector< std::vector < Type > > :: operator[];
+00055 
+00056 
+00062     moeoDistanceMatrix (unsigned int _size, moeoDistance < MOEOT , Type > & _distance) : distance(_distance)
+00063     {
+00064       this->resize(_size);
+00065       for (unsigned int i=0; i<_size; i++)
+00066         {
+00067           this->operator[](i).resize(_size);
+00068         }
+00069     }
+00070 
+00071 
+00076     void operator()(const eoPop < MOEOT > & _pop)
+00077     {
+00078       // 1 - setup the bounds (if necessary)
+00079       distance.setup(_pop);
+00080       // 2 - compute distances
+00081       this->operator[](0).operator[](0) = Type();
+00082       for (unsigned int i=0; i<size(); i++)
+00083         {
+00084           this->operator[](i).operator[](i) = Type();
+00085           for (unsigned int j=0; j<i; j++)
+00086             {
+00087               this->operator[](i).operator[](j) = distance(_pop[i], _pop[j]);
+00088               this->operator[](j).operator[](i) = this->operator[](i).operator[](j);
+00089             }
+00090         }
+00091     }
+00092 
+00093 
+00094   private:
+00095 
+00097     moeoDistance < MOEOT , Type > & distance;
+00098 
+00099   };
+00100 
+00101 #endif /*MOEODISTANCEMATRIX_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDistance_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDistance_8h-source.html new file mode 100644 index 000000000..880678ef0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDistance_8h-source.html @@ -0,0 +1,89 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDistance.h Source File + + + + +
+
+

moeoDistance.h

00001 /*
+00002 * <moeoDistance.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEODISTANCE_H_
+00039 #define MOEODISTANCE_H_
+00040 
+00041 #include <eoFunctor.h>
+00042 
+00046 template < class MOEOT , class Type >
+00047 class moeoDistance : public eoBF < const MOEOT &, const MOEOT &, const Type >
+00048   {
+00049   public:
+00050 
+00055     virtual void setup(const eoPop < MOEOT > & _pop)
+00056     {}
+00057 
+00058 
+00065     virtual void setup(double _min, double _max, unsigned int _obj)
+00066     {}
+00067 
+00068 
+00074     virtual void setup(eoRealInterval _realInterval, unsigned int _obj)
+00075     {}
+00076 
+00077   };
+00078 
+00079 #endif /*MOEODISTANCE_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDiversityAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDiversityAssignment_8h-source.html new file mode 100644 index 000000000..4c1583164 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDiversityAssignment_8h-source.html @@ -0,0 +1,90 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDiversityAssignment.h Source File + + + + +
+
+

moeoDiversityAssignment.h

00001 /*
+00002 * <moeoDiversityAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEODIVERSITYASSIGNMENT_H_
+00039 #define MOEODIVERSITYASSIGNMENT_H_
+00040 
+00041 #include <eoFunctor.h>
+00042 #include <eoPop.h>
+00043 
+00047 template < class MOEOT >
+00048 class moeoDiversityAssignment : public eoUF < eoPop < MOEOT > &, void >
+00049   {
+00050   public:
+00051 
+00053     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00054 
+00055 
+00061     virtual void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec) = 0;
+00062 
+00063 
+00069     void updateByDeleting(eoPop < MOEOT > & _pop, MOEOT & _moeo)
+00070     {
+00071       updateByDeleting(_pop, _moeo.objectiveVector());
+00072     }
+00073 
+00074   };
+00075 
+00076 #endif /*MOEODIVERSITYASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDiversityThenFitnessComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDiversityThenFitnessComparator_8h-source.html new file mode 100644 index 000000000..7fd861da0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDiversityThenFitnessComparator_8h-source.html @@ -0,0 +1,90 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDiversityThenFitnessComparator.h Source File + + + + +
+
+

moeoDiversityThenFitnessComparator.h

00001 /*
+00002 * <moeoDiversityThenFitnessComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEODIVERSITYTHENFITNESSCOMPARATOR_H_
+00039 #define MOEODIVERSITYTHENFITNESSCOMPARATOR_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoDiversityThenFitnessComparator : public moeoComparator < MOEOT >
+00048   {
+00049   public:
+00050 
+00056     const bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00057     {
+00058       if (_moeo1.diversity() == _moeo2.diversity())
+00059         {
+00060           return _moeo1.fitness() < _moeo2.fitness();
+00061         }
+00062       else
+00063         {
+00064           return _moeo1.diversity() < _moeo2.diversity();
+00065         }
+00066     }
+00067 
+00068   };
+00069 
+00070 #endif /*MOEODIVERSITYTHENFITNESSCOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDummyDiversityAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDummyDiversityAssignment_8h-source.html new file mode 100644 index 000000000..869a033da --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDummyDiversityAssignment_8h-source.html @@ -0,0 +1,99 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDummyDiversityAssignment.h Source File + + + + +
+
+

moeoDummyDiversityAssignment.h

00001 /*
+00002 * <moeoDummyDiversityAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEODUMMYDIVERSITYASSIGNMENT_H_
+00039 #define MOEODUMMYDIVERSITYASSIGNMENT_H_
+00040 
+00041 #include<diversity/moeoDiversityAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoDummyDiversityAssignment : public moeoDiversityAssignment < MOEOT >
+00048   {
+00049   public:
+00050 
+00052     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00053 
+00054 
+00059     void operator () (eoPop < MOEOT > & _pop)
+00060     {
+00061       for (unsigned int idx = 0; idx<_pop.size (); idx++)
+00062         {
+00063           if (_pop[idx].invalidDiversity())
+00064             {
+00065               // set the diversity to 0
+00066               _pop[idx].diversity(0.0);
+00067             }
+00068         }
+00069     }
+00070 
+00071 
+00077     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00078     {
+00079       // nothing to do...  ;-)
+00080     }
+00081 
+00082   };
+00083 
+00084 #endif /*MOEODUMMYDIVERSITYASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDummyFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDummyFitnessAssignment_8h-source.html new file mode 100644 index 000000000..7df6eb883 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoDummyFitnessAssignment_8h-source.html @@ -0,0 +1,99 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoDummyFitnessAssignment.h Source File + + + + +
+
+

moeoDummyFitnessAssignment.h

00001 /*
+00002 * <moeoDummyFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEODUMMYFITNESSASSIGNMENT_H_
+00039 #define MOEODUMMYFITNESSASSIGNMENT_H_
+00040 
+00041 #include <fitness/moeoFitnessAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoDummyFitnessAssignment : public moeoFitnessAssignment < MOEOT >
+00048   {
+00049   public:
+00050 
+00052     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00053 
+00054 
+00059     void operator () (eoPop < MOEOT > & _pop)
+00060     {
+00061       for (unsigned int idx = 0; idx<_pop.size (); idx++)
+00062         {
+00063           if (_pop[idx].invalidFitness())
+00064             {
+00065               // set the diversity to 0
+00066               _pop[idx].fitness(0.0);
+00067             }
+00068         }
+00069     }
+00070 
+00071 
+00077     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00078     {
+00079       // nothing to do...  ;-)
+00080     }
+00081 
+00082   };
+00083 
+00084 #endif /*MOEODUMMYFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEA_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEA_8h-source.html new file mode 100644 index 000000000..949319e3f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEA_8h-source.html @@ -0,0 +1,76 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEA.h Source File + + + + +
+
+

moeoEA.h

00001 /*
+00002 * <moeoEA.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOEA_H_
+00039 #define MOEOEA_H_
+00040 
+00041 #include <eoAlgo.h>
+00042 #include <algo/moeoAlgo.h>
+00043 
+00047 template < class MOEOT >
+00048 class moeoEA : public moeoAlgo, public eoAlgo < MOEOT >
+00049   {};
+00050 
+00051 #endif /*MOEOEA_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEasyEA_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEasyEA_8h-source.html new file mode 100644 index 000000000..fabf7f10d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEasyEA_8h-source.html @@ -0,0 +1,207 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEasyEA.h Source File + + + + +
+
+

moeoEasyEA.h

00001 /*
+00002 * <moeoEasyEA.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef _MOEOEASYEA_H
+00039 #define _MOEOEASYEA_H
+00040 
+00041 #include <apply.h>
+00042 #include <eoBreed.h>
+00043 #include <eoContinue.h>
+00044 #include <eoMergeReduce.h>
+00045 #include <eoPopEvalFunc.h>
+00046 #include <eoSelect.h>
+00047 #include <eoTransform.h>
+00048 #include <algo/moeoEA.h>
+00049 #include <diversity/moeoDiversityAssignment.h>
+00050 #include <diversity/moeoDummyDiversityAssignment.h>
+00051 #include <fitness/moeoFitnessAssignment.h>
+00052 #include <replacement/moeoReplacement.h>
+00053 
+00057 template < class MOEOT >
+00058 class moeoEasyEA: public moeoEA < MOEOT >
+00059   {
+00060   public:
+00061 
+00072     moeoEasyEA(eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoBreed < MOEOT > & _breed, moeoReplacement < MOEOT > & _replace,
+00073                moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = false)
+00074         :
+00075         continuator(_continuator), eval (_eval), loopEval(_eval), popEval(loopEval), selectTransform(dummySelect, dummyTransform), breed(_breed), mergeReduce(dummyMerge, dummyReduce), replace(_replace),
+00076         fitnessEval(_fitnessEval), diversityEval(_diversityEval), evalFitAndDivBeforeSelection(_evalFitAndDivBeforeSelection)
+00077     {}
+00078 
+00079 
+00090     moeoEasyEA(eoContinue < MOEOT > & _continuator, eoPopEvalFunc < MOEOT > & _popEval, eoBreed < MOEOT > & _breed, moeoReplacement < MOEOT > & _replace,
+00091                moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = false)
+00092         :
+00093         continuator(_continuator), eval (dummyEval), loopEval(dummyEval), popEval(_popEval), selectTransform(dummySelect, dummyTransform), breed(_breed), mergeReduce(dummyMerge, dummyReduce), replace(_replace),
+00094         fitnessEval(_fitnessEval), diversityEval(_diversityEval), evalFitAndDivBeforeSelection(_evalFitAndDivBeforeSelection)
+00095     {}
+00096 
+00097 
+00109     moeoEasyEA(eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoBreed < MOEOT > & _breed, eoMerge < MOEOT > & _merge, eoReduce< MOEOT > & _reduce,
+00110                moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = false)
+00111         :
+00112         continuator(_continuator), eval(_eval), loopEval(_eval), popEval(loopEval), selectTransform(dummySelect, dummyTransform), breed(_breed), mergeReduce(_merge,_reduce), replace(mergeReduce),
+00113         fitnessEval(_fitnessEval), diversityEval(_diversityEval), evalFitAndDivBeforeSelection(_evalFitAndDivBeforeSelection)
+00114     {}
+00115 
+00116 
+00128     moeoEasyEA(eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoSelect < MOEOT > & _select, eoTransform < MOEOT > & _transform, moeoReplacement < MOEOT > & _replace,
+00129                moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = false)
+00130         :
+00131         continuator(_continuator), eval(_eval), loopEval(_eval), popEval(loopEval), selectTransform(_select, _transform), breed(selectTransform), mergeReduce(dummyMerge, dummyReduce), replace(_replace),
+00132         fitnessEval(_fitnessEval), diversityEval(_diversityEval), evalFitAndDivBeforeSelection(_evalFitAndDivBeforeSelection)
+00133     {}
+00134 
+00135 
+00148     moeoEasyEA(eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoSelect < MOEOT > & _select, eoTransform < MOEOT > & _transform, eoMerge < MOEOT > & _merge, eoReduce< MOEOT > & _reduce,
+00149                moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = false)
+00150         :
+00151         continuator(_continuator), eval(_eval), loopEval(_eval), popEval(loopEval), selectTransform(_select, _transform), breed(selectTransform), mergeReduce(_merge,_reduce), replace(mergeReduce),
+00152         fitnessEval(_fitnessEval), diversityEval(_diversityEval), evalFitAndDivBeforeSelection(_evalFitAndDivBeforeSelection)
+00153     {}
+00154 
+00155 
+00160     virtual void operator()(eoPop < MOEOT > & _pop)
+00161     {
+00162       eoPop < MOEOT > offspring, empty_pop;
+00163       popEval(empty_pop, _pop); // A first eval of pop.
+00164       bool firstTime = true;
+00165       do
+00166         {
+00167           try
+00168             {
+00169               unsigned int pSize = _pop.size();
+00170               offspring.clear(); // new offspring
+00171               // fitness and diversity assignment (if you want to or if it is the first generation)
+00172               if (evalFitAndDivBeforeSelection || firstTime)
+00173                 {
+00174                   firstTime = false;
+00175                   fitnessEval(_pop);
+00176                   diversityEval(_pop);
+00177                 }
+00178               breed(_pop, offspring);
+00179               popEval(_pop, offspring); // eval of parents + offspring if necessary
+00180               replace(_pop, offspring); // after replace, the new pop. is in _pop
+00181               if (pSize > _pop.size())
+00182                 {
+00183                   throw std::runtime_error("Population shrinking!");
+00184                 }
+00185               else if (pSize < _pop.size())
+00186                 {
+00187                   throw std::runtime_error("Population growing!");
+00188                 }
+00189             }
+00190           catch (std::exception& e)
+00191             {
+00192               std::string s = e.what();
+00193               s.append( " in moeoEasyEA");
+00194               throw std::runtime_error( s );
+00195             }
+00196         }
+00197       while (continuator(_pop));
+00198     }
+00199 
+00200 
+00201   protected:
+00202 
+00204     eoContinue < MOEOT > & continuator;
+00206     eoEvalFunc < MOEOT > & eval;
+00208     eoPopLoopEval < MOEOT > loopEval;
+00210     eoPopEvalFunc < MOEOT > & popEval;
+00212     eoSelectTransform < MOEOT > selectTransform;
+00214     eoBreed < MOEOT > & breed;
+00216     eoMergeReduce < MOEOT > mergeReduce;
+00218     moeoReplacement < MOEOT > & replace;
+00220     moeoFitnessAssignment < MOEOT > & fitnessEval;
+00222     moeoDiversityAssignment < MOEOT > & diversityEval;
+00224     bool evalFitAndDivBeforeSelection;
+00226   class eoDummyEval : public eoEvalFunc < MOEOT >
+00227       {
+00228       public: 
+00229         void operator()(MOEOT &)
+00230         {}
+00231       }
+00232     dummyEval;
+00234   class eoDummySelect : public eoSelect < MOEOT >
+00235       {
+00236       public: 
+00237         void operator()(const eoPop < MOEOT > &, eoPop < MOEOT > &)
+00238         {}
+00239       }
+00240     dummySelect;
+00242   class eoDummyTransform : public eoTransform < MOEOT >
+00243       {
+00244       public: 
+00245         void operator()(eoPop < MOEOT > &)
+00246         {}
+00247       }
+00248     dummyTransform;
+00250     eoNoElitism < MOEOT > dummyMerge;
+00252     eoTruncate < MOEOT > dummyReduce;
+00253 
+00254   };
+00255 
+00256 #endif /*MOEOEASYEA_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoElitistReplacement_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoElitistReplacement_8h-source.html new file mode 100644 index 000000000..ac2a99abc --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoElitistReplacement_8h-source.html @@ -0,0 +1,140 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoElitistReplacement.h Source File + + + + +
+
+

moeoElitistReplacement.h

00001 /*
+00002 * <moeoElitistReplacement.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOELITISTREPLACEMENT_H_
+00039 #define MOEOELITISTREPLACEMENT_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 #include <comparator/moeoFitnessThenDiversityComparator.h>
+00043 #include <diversity/moeoDiversityAssignment.h>
+00044 #include <diversity/moeoDummyDiversityAssignment.h>
+00045 #include <fitness/moeoFitnessAssignment.h>
+00046 #include <replacement/moeoReplacement.h>
+00047 
+00051 template < class MOEOT > class moeoElitistReplacement:public moeoReplacement < MOEOT >
+00052   {
+00053   public:
+00054 
+00061     moeoElitistReplacement (moeoFitnessAssignment < MOEOT > & _fitnessAssignment, moeoDiversityAssignment < MOEOT > & _diversityAssignment, moeoComparator < MOEOT > & _comparator) :
+00062         fitnessAssignment (_fitnessAssignment), diversityAssignment (_diversityAssignment), comparator (_comparator)
+00063     {}
+00064 
+00065 
+00071     moeoElitistReplacement (moeoFitnessAssignment < MOEOT > & _fitnessAssignment, moeoDiversityAssignment < MOEOT > & _diversityAssignment) :
+00072         fitnessAssignment (_fitnessAssignment), diversityAssignment (_diversityAssignment), comparator (defaultComparator)
+00073     {}
+00074 
+00075 
+00081     moeoElitistReplacement (moeoFitnessAssignment < MOEOT > & _fitnessAssignment, moeoComparator < MOEOT > & _comparator) :
+00082         fitnessAssignment (_fitnessAssignment), diversityAssignment (defaultDiversity), comparator (_comparator)
+00083     {}
+00084 
+00085 
+00091     moeoElitistReplacement (moeoFitnessAssignment < MOEOT > & _fitnessAssignment) :
+00092         fitnessAssignment (_fitnessAssignment), diversityAssignment (defaultDiversity), comparator (defaultComparator)
+00093     {}
+00094 
+00095 
+00101     void operator () (eoPop < MOEOT > &_parents, eoPop < MOEOT > &_offspring)
+00102     {
+00103       unsigned int sz = _parents.size ();
+00104       // merges offspring and parents into a global population
+00105       _parents.reserve (_parents.size () + _offspring.size ());
+00106       std::copy (_offspring.begin (), _offspring.end (), back_inserter (_parents));
+00107       // evaluates the fitness and the diversity of this global population
+00108       fitnessAssignment (_parents);
+00109       diversityAssignment (_parents);
+00110       // sorts the whole population according to the comparator
+00111       std::sort(_parents.begin(), _parents.end(), comparator);
+00112       // finally, resize this global population
+00113       _parents.resize (sz);
+00114       // and clear the offspring population
+00115       _offspring.clear ();
+00116     }
+00117 
+00118 
+00119   protected:
+00120 
+00122     moeoFitnessAssignment < MOEOT > & fitnessAssignment;
+00124     moeoDiversityAssignment < MOEOT > & diversityAssignment;
+00126     moeoDummyDiversityAssignment < MOEOT > defaultDiversity;
+00128     moeoFitnessThenDiversityComparator < MOEOT > defaultComparator;
+00130     class Cmp
+00131       {
+00132       public:
+00137         Cmp(moeoComparator < MOEOT > & _comp) : comp(_comp)
+00138         {}
+00144         bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00145         {
+00146           return comp(_moeo2,_moeo1);
+00147         }
+00148       private:
+00150         moeoComparator < MOEOT > & comp;
+00151       }
+00152     comparator;
+00153 
+00154   };
+00155 
+00156 #endif /*MOEOELITISTREPLACEMENT_H_ */
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEntropyMetric_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEntropyMetric_8h-source.html new file mode 100644 index 000000000..7a2e64695 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEntropyMetric_8h-source.html @@ -0,0 +1,215 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEntropyMetric.h Source File + + + + +
+
+

moeoEntropyMetric.h

00001 /*
+00002 * <moeoEntropyMetric.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOENTROPYMETRIC_H_
+00039 #define MOEOENTROPYMETRIC_H_
+00040 
+00041 #include <vector>
+00042 #include <comparator/moeoParetoObjectiveVectorComparator.h>
+00043 #include <metric/moeoMetric.h>
+00044 
+00049 template < class ObjectiveVector >
+00050 class moeoEntropyMetric : public moeoVectorVsVectorBinaryMetric < ObjectiveVector, double >
+00051   {
+00052   public:
+00053 
+00059     double operator()(const std::vector < ObjectiveVector > & _set1, const std::vector < ObjectiveVector > & _set2)
+00060     {
+00061       // normalization
+00062       std::vector< ObjectiveVector > set1 = _set1;
+00063       std::vector< ObjectiveVector > set2= _set2;
+00064       removeDominated (set1);
+00065       removeDominated (set2);
+00066       prenormalize (set1);
+00067       normalize (set1);
+00068       normalize (set2);
+00069 
+00070       // making of PO*
+00071       std::vector< ObjectiveVector > star; // rotf :-)
+00072       computeUnion (set1, set2, star);
+00073       removeDominated (star);
+00074 
+00075       // making of PO1 U PO*
+00076       std::vector< ObjectiveVector > union_set1_star; // rotf again ...
+00077       computeUnion (set1, star, union_set1_star);
+00078 
+00079       unsigned int C = union_set1_star.size();
+00080       float omega=0;
+00081       float entropy=0;
+00082 
+00083       for (unsigned int i=0 ; i<C ; i++)
+00084         {
+00085           unsigned int N_i = howManyInNicheOf (union_set1_star, union_set1_star[i], star.size());
+00086           unsigned int n_i = howManyInNicheOf (set1, union_set1_star[i], star.size());
+00087           if (n_i > 0)
+00088             {
+00089               omega += 1.0 / N_i;
+00090               entropy += (float) n_i / (N_i * C) * log (((float) n_i / C) / log (2.0));
+00091             }
+00092         }
+00093       entropy /= - log (omega);
+00094       entropy *= log (2.0);
+00095       return entropy;
+00096     }
+00097 
+00098 
+00099   private:
+00100 
+00102     std::vector<double> vect_min_val;
+00104     std::vector<double> vect_max_val;
+00106     moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
+00107 
+00108 
+00113     void removeDominated(std::vector < ObjectiveVector > & _f)
+00114     {
+00115       for (unsigned int i=0 ; i<_f.size(); i++)
+00116         {
+00117           bool dom = false;
+00118           for (unsigned int j=0; j<_f.size(); j++)
+00119             if (i != j && paretoComparator(_f[i],_f[j]))
+00120               {
+00121                 dom = true;
+00122                 break;
+00123               }
+00124           if (dom)
+00125             {
+00126               _f[i] = _f.back();
+00127               _f.pop_back();
+00128               i--;
+00129             }
+00130         }
+00131     }
+00132 
+00133 
+00138     void prenormalize (const std::vector< ObjectiveVector > & _f)
+00139     {
+00140       vect_min_val.clear();
+00141       vect_max_val.clear();
+00142 
+00143       for (unsigned int i=0 ; i<ObjectiveVector::nObjectives(); i++)
+00144         {
+00145           float min_val = _f.front()[i], max_val = min_val;
+00146           for (unsigned int j=1 ; j<_f.size(); j++)
+00147             {
+00148               if (_f[j][i] < min_val)
+00149                 min_val = _f[j][i];
+00150               if (_f[j][i]>max_val)
+00151                 max_val = _f[j][i];
+00152             }
+00153           vect_min_val.push_back(min_val);
+00154           vect_max_val.push_back (max_val);
+00155         }
+00156     }
+00157 
+00158 
+00163     void normalize (std::vector< ObjectiveVector > & _f)
+00164     {
+00165       for (unsigned int i=0 ; i<ObjectiveVector::nObjectives(); i++)
+00166         for (unsigned int j=0; j<_f.size(); j++)
+00167           _f[j][i] = (_f[j][i] - vect_min_val[i]) / (vect_max_val[i] - vect_min_val[i]);
+00168     }
+00169 
+00170 
+00177     void computeUnion(const std::vector< ObjectiveVector > & _f1, const std::vector< ObjectiveVector > & _f2, std::vector< ObjectiveVector > & _f)
+00178     {
+00179       _f = _f1 ;
+00180       for (unsigned int i=0; i<_f2.size(); i++)
+00181         {
+00182           bool b = false;
+00183           for (unsigned int j=0; j<_f1.size(); j ++)
+00184             if (_f1[j] == _f2[i])
+00185               {
+00186                 b = true;
+00187                 break;
+00188               }
+00189           if (! b)
+00190             _f.push_back(_f2[i]);
+00191         }
+00192     }
+00193 
+00194 
+00198     unsigned int howManyInNicheOf (const std::vector< ObjectiveVector > & _f, const ObjectiveVector & _s, unsigned int _size)
+00199     {
+00200       unsigned int n=0;
+00201       for (unsigned int i=0 ; i<_f.size(); i++)
+00202         {
+00203           if (euclidianDistance(_f[i], _s) < (_s.size() / (double) _size))
+00204             n++;
+00205         }
+00206       return n;
+00207     }
+00208 
+00209 
+00213     double euclidianDistance (const ObjectiveVector & _set1, const ObjectiveVector & _to, unsigned int _deg = 2)
+00214     {
+00215       double dist=0;
+00216       for (unsigned int i=0; i<_set1.size(); i++)
+00217         dist += pow(fabs(_set1[i] - _to[i]), (int)_deg);
+00218       return pow(dist, 1.0 / _deg);
+00219     }
+00220 
+00221   };
+00222 
+00223 #endif /*MOEOENTROPYMETRIC_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEnvironmentalReplacement_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEnvironmentalReplacement_8h-source.html new file mode 100644 index 000000000..817ad7e93 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEnvironmentalReplacement_8h-source.html @@ -0,0 +1,154 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEnvironmentalReplacement.h Source File + + + + +
+
+

moeoEnvironmentalReplacement.h

00001 /*
+00002 * <moeoEnvironmentalReplacement.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOENVIRONMENTALREPLACEMENT_H_
+00039 #define MOEOENVIRONMENTALREPLACEMENT_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 #include <comparator/moeoFitnessThenDiversityComparator.h>
+00043 #include <diversity/moeoDiversityAssignment.h>
+00044 #include <fitness/moeoFitnessAssignment.h>
+00045 #include <replacement/moeoReplacement.h>
+00046 
+00051 template < class MOEOT > class moeoEnvironmentalReplacement:public moeoReplacement < MOEOT >
+00052   {
+00053   public:
+00054 
+00056     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00057 
+00058 
+00065     moeoEnvironmentalReplacement (moeoFitnessAssignment < MOEOT > & _fitnessAssignment, moeoDiversityAssignment < MOEOT > & _diversityAssignment, moeoComparator < MOEOT > & _comparator) :
+00066         fitnessAssignment (_fitnessAssignment), diversityAssignment (_diversityAssignment), comparator (_comparator)
+00067     {}
+00068 
+00069 
+00075     moeoEnvironmentalReplacement (moeoFitnessAssignment < MOEOT > & _fitnessAssignment, moeoDiversityAssignment < MOEOT > & _diversityAssignment) :
+00076         fitnessAssignment (_fitnessAssignment), diversityAssignment (_diversityAssignment), comparator (defaultComparator)
+00077     {}
+00078 
+00079 
+00085     moeoEnvironmentalReplacement (moeoFitnessAssignment < MOEOT > & _fitnessAssignment, moeoComparator < MOEOT > & _comparator) :
+00086         fitnessAssignment (_fitnessAssignment), diversityAssignment (defaultDiversity), comparator (_comparator)
+00087     {}
+00088 
+00089 
+00095     moeoEnvironmentalReplacement (moeoFitnessAssignment < MOEOT > & _fitnessAssignment) :
+00096         fitnessAssignment (_fitnessAssignment), diversityAssignment (defaultDiversity), comparator (defaultComparator)
+00097     {}
+00098 
+00099 
+00105     void operator () (eoPop < MOEOT > &_parents, eoPop < MOEOT > &_offspring)
+00106     {
+00107       unsigned int sz = _parents.size();
+00108       // merges offspring and parents into a global population
+00109       _parents.reserve (_parents.size() + _offspring.size());
+00110       std::copy (_offspring.begin(), _offspring.end(), back_inserter(_parents));
+00111       // evaluates the fitness and the diversity of this global population
+00112       fitnessAssignment (_parents);
+00113       diversityAssignment (_parents);
+00114       // remove individuals 1 by 1 and update the fitness values
+00115       unsigned int worstIdx;
+00116       ObjectiveVector worstObjVec;
+00117       while (_parents.size() > sz)
+00118         {
+00119           // the individual to delete
+00120           worstIdx = std::min_element(_parents.begin(), _parents.end(), comparator) - _parents.begin();
+00121           worstObjVec = _parents[worstIdx].objectiveVector();
+00122           // remove the woorst individual
+00123           _parents[worstIdx] = _parents.back();
+00124           _parents.pop_back();
+00125           // update of the fitness and diversity values
+00126           fitnessAssignment.updateByDeleting(_parents, worstObjVec);
+00127           diversityAssignment.updateByDeleting(_parents, worstObjVec);
+00128 
+00129         }
+00130       // clear the offspring population
+00131       _offspring.clear ();
+00132     }
+00133 
+00134 
+00135   protected:
+00136 
+00138     moeoFitnessAssignment < MOEOT > & fitnessAssignment;
+00140     moeoDiversityAssignment < MOEOT > & diversityAssignment;
+00142     moeoDummyDiversityAssignment < MOEOT > defaultDiversity;
+00144     moeoFitnessThenDiversityComparator < MOEOT > defaultComparator;
+00146     class Cmp
+00147       {
+00148       public:
+00153         Cmp(moeoComparator < MOEOT > & _comp) : comp(_comp)
+00154         {}
+00160         bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00161         {
+00162           return comp(_moeo1,_moeo2);
+00163         }
+00164       private:
+00166         moeoComparator < MOEOT > & comp;
+00167       }
+00168     comparator;
+00169 
+00170   };
+00171 
+00172 #endif /*MOEOENVIRONMENTALREPLACEMENT_H_ */
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEuclideanDistance_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEuclideanDistance_8h-source.html new file mode 100644 index 000000000..41db8de52 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEuclideanDistance_8h-source.html @@ -0,0 +1,100 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEuclideanDistance.h Source File + + + + +
+
+

moeoEuclideanDistance.h

00001 /*
+00002 * <moeoEuclideanDistance.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOEUCLIDEANDISTANCE_H_
+00039 #define MOEOEUCLIDEANDISTANCE_H_
+00040 
+00041 #include <math.h>
+00042 #include <distance/moeoNormalizedDistance.h>
+00043 
+00048 template < class MOEOT >
+00049 class moeoEuclideanDistance : public moeoNormalizedDistance < MOEOT >
+00050   {
+00051   public:
+00052 
+00054     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00055 
+00056 
+00062     const double operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00063     {
+00064       double result = 0.0;
+00065       double tmp1, tmp2;
+00066       for (unsigned int i=0; i<ObjectiveVector::nObjectives(); i++)
+00067         {
+00068           tmp1 = (_moeo1.objectiveVector()[i] - bounds[i].minimum()) / bounds[i].range();
+00069           tmp2 = (_moeo2.objectiveVector()[i] - bounds[i].minimum()) / bounds[i].range();
+00070           result += (tmp1-tmp2) * (tmp1-tmp2);
+00071         }
+00072       return sqrt(result);
+00073     }
+00074 
+00075 
+00076   private:
+00077 
+00079     using moeoNormalizedDistance < MOEOT > :: bounds;
+00080 
+00081   };
+00082 
+00083 #endif /*MOEOEUCLIDEANDISTANCE_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEvalFunc_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEvalFunc_8h-source.html new file mode 100644 index 000000000..e44b3d7eb --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoEvalFunc_8h-source.html @@ -0,0 +1,78 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoEvalFunc.h Source File + + + + +
+
+

moeoEvalFunc.h

00001 /*
+00002 * <moeoEvalFunc.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOEVALFUNC_H_
+00039 #define MOEOEVALFUNC_H_
+00040 
+00041 #include <eoEvalFunc.h>
+00042 
+00043 /*
+00044  * Functor that evaluates one MOEO by setting all its objective values.
+00045  */
+00046 template < class MOEOT >
+00047 class moeoEvalFunc : public eoEvalFunc< MOEOT >
+00048   {};
+00049 
+00050 #endif /*MOEOEVALFUNC_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoExpBinaryIndicatorBasedFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoExpBinaryIndicatorBasedFitnessAssignment_8h-source.html new file mode 100644 index 000000000..2f4db5ce9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoExpBinaryIndicatorBasedFitnessAssignment_8h-source.html @@ -0,0 +1,210 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoExpBinaryIndicatorBasedFitnessAssignment.h Source File + + + + +
+
+

moeoExpBinaryIndicatorBasedFitnessAssignment.h

00001 /*
+00002 * <moeoExpBinaryIndicatorBasedFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOEXPBINARYINDICATORBASEDFITNESSASSIGNMENT_H_
+00039 #define MOEOEXPBINARYINDICATORBASEDFITNESSASSIGNMENT_H_
+00040 
+00041 #include <math.h>
+00042 #include <vector>
+00043 #include <eoPop.h>
+00044 #include <fitness/moeoBinaryIndicatorBasedFitnessAssignment.h>
+00045 #include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
+00046 #include <utils/moeoConvertPopToObjectiveVectors.h>
+00047 
+00053 template < class MOEOT >
+00054 class moeoExpBinaryIndicatorBasedFitnessAssignment : public moeoBinaryIndicatorBasedFitnessAssignment < MOEOT >
+00055   {
+00056   public:
+00057 
+00059     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00060 
+00061 
+00067     moeoExpBinaryIndicatorBasedFitnessAssignment(moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & _metric, const double _kappa = 0.05) : metric(_metric), kappa(_kappa)
+00068     {}
+00069 
+00070 
+00075     void operator()(eoPop < MOEOT > & _pop)
+00076     {
+00077       // 1 - setting of the bounds
+00078       setup(_pop);
+00079       // 2 - computing every indicator values
+00080       computeValues(_pop);
+00081       // 3 - setting fitnesses
+00082       setFitnesses(_pop);
+00083     }
+00084 
+00085 
+00091     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00092     {
+00093       std::vector < double > v;
+00094       v.resize(_pop.size());
+00095       for (unsigned int i=0; i<_pop.size(); i++)
+00096         {
+00097           v[i] = metric(_objVec, _pop[i].objectiveVector());
+00098         }
+00099       for (unsigned int i=0; i<_pop.size(); i++)
+00100         {
+00101           _pop[i].fitness( _pop[i].fitness() + exp(-v[i]/kappa) );
+00102         }
+00103     }
+00104 
+00105 
+00112     double updateByAdding(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00113     {
+00114       std::vector < double > v;
+00115       // update every fitness values to take the new individual into account
+00116       v.resize(_pop.size());
+00117       for (unsigned int i=0; i<_pop.size(); i++)
+00118         {
+00119           v[i] = metric(_objVec, _pop[i].objectiveVector());
+00120         }
+00121       for (unsigned int i=0; i<_pop.size(); i++)
+00122         {
+00123           _pop[i].fitness( _pop[i].fitness() - exp(-v[i]/kappa) );
+00124         }
+00125       // compute the fitness of the new individual
+00126       v.clear();
+00127       v.resize(_pop.size());
+00128       for (unsigned int i=0; i<_pop.size(); i++)
+00129         {
+00130           v[i] = metric(_pop[i].objectiveVector(), _objVec);
+00131         }
+00132       double result = 0;
+00133       for (unsigned int i=0; i<v.size(); i++)
+00134         {
+00135           result -= exp(-v[i]/kappa);
+00136         }
+00137       return result;
+00138     }
+00139 
+00140 
+00141   protected:
+00142 
+00144     moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & metric;
+00146     double kappa;
+00148     std::vector < std::vector<double> > values;
+00149 
+00150 
+00155     void setup(const eoPop < MOEOT > & _pop)
+00156     {
+00157       double min, max;
+00158       for (unsigned int i=0; i<ObjectiveVector::Traits::nObjectives(); i++)
+00159         {
+00160           min = _pop[0].objectiveVector()[i];
+00161           max = _pop[0].objectiveVector()[i];
+00162           for (unsigned int j=1; j<_pop.size(); j++)
+00163             {
+00164               min = std::min(min, _pop[j].objectiveVector()[i]);
+00165               max = std::max(max, _pop[j].objectiveVector()[i]);
+00166             }
+00167           // setting of the bounds for the objective i
+00168           metric.setup(min, max, i);
+00169         }
+00170     }
+00171 
+00172 
+00177     void computeValues(const eoPop < MOEOT > & _pop)
+00178     {
+00179       values.clear();
+00180       values.resize(_pop.size());
+00181       for (unsigned int i=0; i<_pop.size(); i++)
+00182         {
+00183           values[i].resize(_pop.size());
+00184           for (unsigned int j=0; j<_pop.size(); j++)
+00185             {
+00186               if (i != j)
+00187                 {
+00188                   values[i][j] = metric(_pop[i].objectiveVector(), _pop[j].objectiveVector());
+00189                 }
+00190             }
+00191         }
+00192     }
+00193 
+00194 
+00199     void setFitnesses(eoPop < MOEOT > & _pop)
+00200     {
+00201       for (unsigned int i=0; i<_pop.size(); i++)
+00202         {
+00203           _pop[i].fitness(computeFitness(i));
+00204         }
+00205     }
+00206 
+00207 
+00212     double computeFitness(const unsigned int _idx)
+00213     {
+00214       double result = 0;
+00215       for (unsigned int i=0; i<values.size(); i++)
+00216         {
+00217           if (i != _idx)
+00218             {
+00219               result -= exp(-values[i][_idx]/kappa);
+00220             }
+00221         }
+00222       return result;
+00223     }
+00224 
+00225   };
+00226 
+00227 #endif /*MOEOEXPBINARYINDICATORBASEDFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFastNonDominatedSortingFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFastNonDominatedSortingFitnessAssignment_8h-source.html new file mode 100644 index 000000000..58e6f1dde --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFastNonDominatedSortingFitnessAssignment_8h-source.html @@ -0,0 +1,248 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFastNonDominatedSortingFitnessAssignment.h Source File + + + + +
+
+

moeoFastNonDominatedSortingFitnessAssignment.h

00001 /*
+00002 * <moeoFastNonDominatedSortingFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOFASTNONDOMINATEDSORTINGFITNESSASSIGNMENT_H_
+00039 #define MOEOFASTNONDOMINATEDSORTINGFITNESSASSIGNMENT_H_
+00040 
+00041 #include <vector>
+00042 #include <eoPop.h>
+00043 #include <comparator/moeoObjectiveObjectiveVectorComparator.h>
+00044 #include <comparator/moeoObjectiveVectorComparator.h>
+00045 #include <comparator/moeoParetoObjectiveVectorComparator.h>
+00046 #include <fitness/moeoParetoBasedFitnessAssignment.h>
+00047 
+00048 
+00056 template < class MOEOT >
+00057 class moeoFastNonDominatedSortingFitnessAssignment : public moeoParetoBasedFitnessAssignment < MOEOT >
+00058   {
+00059   public:
+00060 
+00062     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00063 
+00064 
+00068     moeoFastNonDominatedSortingFitnessAssignment() : comparator(paretoComparator)
+00069     {}
+00070 
+00071 
+00076     moeoFastNonDominatedSortingFitnessAssignment(moeoObjectiveVectorComparator < ObjectiveVector > & _comparator) : comparator(_comparator)
+00077     {}
+00078 
+00079 
+00084     void operator()(eoPop < MOEOT > & _pop)
+00085     {
+00086       // number of objectives for the problem under consideration
+00087       unsigned int nObjectives = MOEOT::ObjectiveVector::nObjectives();
+00088       if (nObjectives == 1)
+00089         {
+00090           // one objective
+00091           oneObjective(_pop);
+00092         }
+00093       else if (nObjectives == 2)
+00094         {
+00095           // two objectives (the two objectives function is still to implement)
+00096           mObjectives(_pop);
+00097         }
+00098       else if (nObjectives > 2)
+00099         {
+00100           // more than two objectives
+00101           mObjectives(_pop);
+00102         }
+00103       else
+00104         {
+00105           // problem with the number of objectives
+00106           throw std::runtime_error("Problem with the number of objectives in moeoNonDominatedSortingFitnessAssignment");
+00107         }
+00108       // a higher fitness is better, so the values need to be inverted
+00109       double max = _pop[0].fitness();
+00110       for (unsigned int i=1 ; i<_pop.size() ; i++)
+00111         {
+00112           max = std::max(max, _pop[i].fitness());
+00113         }
+00114       for (unsigned int i=0 ; i<_pop.size() ; i++)
+00115         {
+00116           _pop[i].fitness(max - _pop[i].fitness());
+00117         }
+00118     }
+00119 
+00120 
+00126     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00127     {
+00128       for (unsigned int i=0; i<_pop.size(); i++)
+00129         {
+00130           // if _pop[i] is dominated by _objVec
+00131           if ( comparator(_pop[i].objectiveVector(), _objVec) )
+00132             {
+00133               _pop[i].fitness(_pop[i].fitness()+1);
+00134             }
+00135         }
+00136     }
+00137 
+00138 
+00139   private:
+00140 
+00142     moeoObjectiveVectorComparator < ObjectiveVector > & comparator;
+00144     moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
+00146   class ObjectiveComparator : public moeoComparator < MOEOT >
+00147       {
+00148       public:
+00154         const bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00155         {
+00156           return cmp(_moeo1.objectiveVector(), _moeo2.objectiveVector());
+00157         }
+00158       private:
+00160         moeoObjectiveObjectiveVectorComparator < ObjectiveVector > cmp;
+00161       }
+00162     objComparator;
+00163 
+00164 
+00169     void oneObjective (eoPop < MOEOT > & _pop)
+00170     {
+00171       // sorts the population in the ascending order
+00172       std::sort(_pop.begin(), _pop.end(), objComparator);
+00173       // assign fitness values
+00174       unsigned int rank = 1;
+00175       _pop[_pop.size()-1].fitness(rank);
+00176       for (unsigned int i=_pop.size()-2; i>=0; i--)
+00177         {
+00178           if (_pop[i].objectiveVector() != _pop[i+1].objectiveVector())
+00179             {
+00180               rank++;
+00181             }
+00182           _pop[i].fitness(rank);
+00183         }
+00184     }
+00185 
+00186 
+00191     void twoObjectives (eoPop < MOEOT > & _pop)
+00192     {
+00193       //... TO DO !
+00194     }
+00195 
+00196 
+00201     void mObjectives (eoPop < MOEOT > & _pop)
+00202     {
+00203       // S[i] = indexes of the individuals dominated by _pop[i]
+00204       std::vector < std::vector<unsigned int> > S(_pop.size());
+00205       // n[i] = number of individuals that dominate the individual _pop[i]
+00206       std::vector < unsigned int > n(_pop.size(), 0);
+00207       // fronts: F[i] = indexes of the individuals contained in the ith front
+00208       std::vector < std::vector<unsigned int> > F(_pop.size()+2);
+00209       // used to store the number of the first front
+00210       F[1].reserve(_pop.size());
+00211       for (unsigned int p=0; p<_pop.size(); p++)
+00212         {
+00213           for (unsigned int q=0; q<_pop.size(); q++)
+00214             {
+00215               // if q is dominated by p
+00216               if ( comparator(_pop[q].objectiveVector(), _pop[p].objectiveVector()) )
+00217                 {
+00218                   // add q to the set of solutions dominated by p
+00219                   S[p].push_back(q);
+00220                 }
+00221               // if p is dominated by q
+00222               else if  ( comparator(_pop[p].objectiveVector(), _pop[q].objectiveVector()) )
+00223                 {
+00224                   // increment the domination counter of p
+00225                   n[p]++;
+00226                 }
+00227             }
+00228           // if no individual dominates p
+00229           if (n[p] == 0)
+00230             {
+00231               // p belongs to the first front
+00232               _pop[p].fitness(1);
+00233               F[1].push_back(p);
+00234             }
+00235         }
+00236       // front counter
+00237       unsigned int counter=1;
+00238       unsigned int p,q;
+00239       while (! F[counter].empty())
+00240         {
+00241           // used to store the number of the next front
+00242           F[counter+1].reserve(_pop.size());
+00243           for (unsigned int i=0; i<F[counter].size(); i++)
+00244             {
+00245               p = F[counter][i];
+00246               for (unsigned int j=0; j<S[p].size(); j++)
+00247                 {
+00248                   q = S[p][j];
+00249                   n[q]--;
+00250                   // if no individual dominates q anymore
+00251                   if (n[q] == 0)
+00252                     {
+00253                       // q belongs to the next front
+00254                       _pop[q].fitness(counter+1);
+00255                       F[counter+1].push_back(q);
+00256                     }
+00257                 }
+00258             }
+00259           counter++;
+00260         }
+00261     }
+00262 
+00263   };
+00264 
+00265 #endif /*MOEOFASTNONDOMINATEDSORTINGFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFitnessAssignment_8h-source.html new file mode 100644 index 000000000..06de899d7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFitnessAssignment_8h-source.html @@ -0,0 +1,90 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFitnessAssignment.h Source File + + + + +
+
+

moeoFitnessAssignment.h

00001 /*
+00002 * <moeoFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOFITNESSASSIGNMENT_H_
+00039 #define MOEOFITNESSASSIGNMENT_H_
+00040 
+00041 #include <eoFunctor.h>
+00042 #include <eoPop.h>
+00043 
+00047 template < class MOEOT >
+00048 class moeoFitnessAssignment : public eoUF < eoPop < MOEOT > &, void >
+00049   {
+00050   public:
+00051 
+00053     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00054 
+00055 
+00061     virtual void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec) = 0;
+00062 
+00063 
+00069     void updateByDeleting(eoPop < MOEOT > & _pop, MOEOT & _moeo)
+00070     {
+00071       updateByDeleting(_pop, _moeo.objectiveVector());
+00072     }
+00073 
+00074   };
+00075 
+00076 #endif /*MOEOFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFitnessThenDiversityComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFitnessThenDiversityComparator_8h-source.html new file mode 100644 index 000000000..9485ec1de --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFitnessThenDiversityComparator_8h-source.html @@ -0,0 +1,90 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFitnessThenDiversityComparator.h Source File + + + + +
+
+

moeoFitnessThenDiversityComparator.h

00001 /*
+00002 * <moeoFitnessThenDiversityComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOFITNESSTHENDIVERSITYCOMPARATOR_H_
+00039 #define MOEOFITNESSTHENDIVERSITYCOMPARATOR_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoFitnessThenDiversityComparator : public moeoComparator < MOEOT >
+00048   {
+00049   public:
+00050 
+00056     const bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00057     {
+00058       if (_moeo1.fitness() == _moeo2.fitness())
+00059         {
+00060           return _moeo1.diversity() < _moeo2.diversity();
+00061         }
+00062       else
+00063         {
+00064           return _moeo1.fitness() < _moeo2.fitness();
+00065         }
+00066     }
+00067 
+00068   };
+00069 
+00070 #endif /*MOEOFITNESSTHENDIVERSITYCOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFrontByFrontCrowdingDiversityAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFrontByFrontCrowdingDiversityAssignment_8h-source.html new file mode 100644 index 000000000..6c78dfb3a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFrontByFrontCrowdingDiversityAssignment_8h-source.html @@ -0,0 +1,164 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFrontByFrontCrowdingDiversityAssignment.h Source File + + + + +
+
+

moeoFrontByFrontCrowdingDiversityAssignment.h

00001 /*
+00002 * <moeoFrontByFrontCrowdingDiversityAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOFRONTBYFRONTCROWDINGDIVERSITYASSIGNMENT_H_
+00039 #define MOEOFRONTBYFRONTCROWDINGDIVERSITYASSIGNMENT_H_
+00040 
+00041 #include <diversity/moeoCrowdingDiversityAssignment.h>
+00042 #include <comparator/moeoFitnessThenDiversityComparator.h>
+00043 
+00049 template < class MOEOT >
+00050 class moeoFrontByFrontCrowdingDiversityAssignment : public moeoCrowdingDiversityAssignment < MOEOT >
+00051   {
+00052   public:
+00053 
+00055     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00056 
+00057 
+00065     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00066     {
+00067       std::cout << "WARNING : updateByDeleting not implemented in moeoFrontByFrontCrowdingDistanceDiversityAssignment" << std::endl;
+00068     }
+00069 
+00070 
+00071   private:
+00072 
+00073     using moeoCrowdingDiversityAssignment < MOEOT >::inf;
+00074     using moeoCrowdingDiversityAssignment < MOEOT >::tiny;
+00075 
+00080     void setDistances (eoPop < MOEOT > & _pop)
+00081     {
+00082       unsigned int a,b;
+00083       double min, max, distance;
+00084       unsigned int nObjectives = MOEOT::ObjectiveVector::nObjectives();
+00085       // set diversity to 0 for every individual
+00086       for (unsigned int i=0; i<_pop.size(); i++)
+00087         {
+00088           _pop[i].diversity(0.0);
+00089         }
+00090       // sort the whole pop according to fitness values
+00091       moeoFitnessThenDiversityComparator < MOEOT > fitnessComparator;
+00092       std::sort(_pop.begin(), _pop.end(), fitnessComparator);
+00093       // compute the crowding distance values for every individual "front" by "front" (front : from a to b)
+00094       a = 0;                                    // the front starts at a
+00095       while (a < _pop.size())
+00096         {
+00097           b = lastIndex(_pop,a);        // the front ends at b
+00098           // if there is less than 2 individuals in the front...
+00099           if ((b-a) < 2)
+00100             {
+00101               for (unsigned int i=a; i<=b; i++)
+00102                 {
+00103                   _pop[i].diversity(inf());
+00104                 }
+00105             }
+00106           // else...
+00107           else
+00108             {
+00109               // for each objective
+00110               for (unsigned int obj=0; obj<nObjectives; obj++)
+00111                 {
+00112                   // sort in the descending order using the values of the objective 'obj'
+00113                   moeoOneObjectiveComparator < MOEOT > objComp(obj);
+00114                   std::sort(_pop.begin()+a, _pop.begin()+b+1, objComp);
+00115                   // min & max
+00116                   min = _pop[b].objectiveVector()[obj];
+00117                   max = _pop[a].objectiveVector()[obj];
+00118                   // avoid extreme case
+00119                   if (min == max)
+00120                     {
+00121                       min -= tiny();
+00122                       max += tiny();
+00123                     }
+00124                   // set the diversity value to infiny for min and max
+00125                   _pop[a].diversity(inf());
+00126                   _pop[b].diversity(inf());
+00127                   // set the diversity values for the other individuals
+00128                   for (unsigned int i=a+1; i<b; i++)
+00129                     {
+00130                       distance = (_pop[i-1].objectiveVector()[obj] - _pop[i+1].objectiveVector()[obj]) / (max-min);
+00131                       _pop[i].diversity(_pop[i].diversity() + distance);
+00132                     }
+00133                 }
+00134             }
+00135           // go to the next front
+00136           a = b+1;
+00137         }
+00138     }
+00139 
+00140 
+00146     unsigned int lastIndex (eoPop < MOEOT > & _pop, unsigned int _start)
+00147     {
+00148       unsigned int i=_start;
+00149       while ( (i<_pop.size()-1) && (_pop[i].fitness()==_pop[i+1].fitness()) )
+00150         {
+00151           i++;
+00152         }
+00153       return i;
+00154     }
+00155 
+00156   };
+00157 
+00158 #endif /*MOEOFRONTBYFRONTCROWDINGDIVERSITYASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFrontByFrontSharingDiversityAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFrontByFrontSharingDiversityAssignment_8h-source.html new file mode 100644 index 000000000..58e5c836b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoFrontByFrontSharingDiversityAssignment_8h-source.html @@ -0,0 +1,132 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoFrontByFrontSharingDiversityAssignment.h Source File + + + + +
+
+

moeoFrontByFrontSharingDiversityAssignment.h

00001 /*
+00002 * <moeoFrontByFrontSharingDiversityAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOFRONTBYFRONTSHARINGDIVERSITYASSIGNMENT_H_
+00039 #define MOEOFRONTBYFRONTSHARINGDIVERSITYASSIGNMENT_H_
+00040 
+00041 #include <diversity/moeoSharingDiversityAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoFrontByFrontSharingDiversityAssignment : public moeoSharingDiversityAssignment < MOEOT >
+00048   {
+00049   public:
+00050 
+00052     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00053 
+00054 
+00061     moeoFrontByFrontSharingDiversityAssignment(moeoDistance<MOEOT,double> & _distance, double _nicheSize = 0.5, double _alpha = 2.0) : moeoSharingDiversityAssignment < MOEOT >(_distance, _nicheSize, _alpha)
+00062     {}
+00063 
+00064 
+00070     moeoFrontByFrontSharingDiversityAssignment(double _nicheSize = 0.5, double _alpha = 2.0) : moeoSharingDiversityAssignment < MOEOT >(_nicheSize, _alpha)
+00071     {}
+00072 
+00073 
+00081     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00082     {
+00083       std::cout << "WARNING : updateByDeleting not implemented in moeoSharingDiversityAssignment" << std::endl;
+00084     }
+00085 
+00086 
+00087   private:
+00088 
+00089     using moeoSharingDiversityAssignment < MOEOT >::distance;
+00090     using moeoSharingDiversityAssignment < MOEOT >::nicheSize;
+00091     using moeoSharingDiversityAssignment < MOEOT >::sh;
+00092 
+00093 
+00098     void setSimilarities(eoPop < MOEOT > & _pop)
+00099     {
+00100       // compute distances between every individuals
+00101       moeoDistanceMatrix < MOEOT , double > dMatrix (_pop.size(), distance);
+00102       dMatrix(_pop);
+00103       // sets the distance to bigger than the niche size for every couple of solutions that do not belong to the same front
+00104       for (unsigned int i=0; i<_pop.size(); i++)
+00105         {
+00106           for (unsigned int j=0; j<i; j++)
+00107             {
+00108               if (_pop[i].fitness() != _pop[j].fitness())
+00109                 {
+00110                   dMatrix[i][j] = nicheSize;
+00111                   dMatrix[j][i] = nicheSize;
+00112                 }
+00113             }
+00114         }
+00115       // compute similarities
+00116       double sum;
+00117       for (unsigned int i=0; i<_pop.size(); i++)
+00118         {
+00119           sum = 0.0;
+00120           for (unsigned int j=0; j<_pop.size(); j++)
+00121             {
+00122               sum += sh(dMatrix[i][j]);
+00123             }
+00124           _pop[i].diversity(sum);
+00125         }
+00126     }
+00127 
+00128   };
+00129 
+00130 #endif /*MOEOFRONTBYFRONTSHARINGDIVERSITYASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoGDominanceObjectiveVectorComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoGDominanceObjectiveVectorComparator_8h-source.html new file mode 100644 index 000000000..21aaa51ba --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoGDominanceObjectiveVectorComparator_8h-source.html @@ -0,0 +1,134 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoGDominanceObjectiveVectorComparator.h Source File + + + + +
+
+

moeoGDominanceObjectiveVectorComparator.h

00001 /*
+00002 * <moeoGDominanceObjectiveVectorComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOGDOMINANCEOBJECTIVEVECTORCOMPARATOR_H_
+00039 #define MOEOGDOMINANCEOBJECTIVEVECTORCOMPARATOR_H_
+00040 
+00041 #include <comparator/moeoObjectiveVectorComparator.h>
+00042 
+00049 template < class ObjectiveVector >
+00050 class moeoGDominanceObjectiveVectorComparator : public moeoObjectiveVectorComparator < ObjectiveVector >
+00051   {
+00052   public:
+00053 
+00058     moeoGDominanceObjectiveVectorComparator(ObjectiveVector & _ref) : ref(_ref)
+00059     {}
+00060 
+00061 
+00067     const bool operator()(const ObjectiveVector & _objectiveVector1, const ObjectiveVector & _objectiveVector2)
+00068     {
+00069       unsigned int flag1 = flag(_objectiveVector1);
+00070       unsigned int flag2 = flag(_objectiveVector2);
+00071       if (flag2==0)
+00072         {
+00073           // cannot dominate
+00074           return false;
+00075         }
+00076       else if ( (flag2==1) && (flag1==0) )
+00077         {
+00078           // is dominated
+00079           return true;
+00080         }
+00081       else // (flag1==1) && (flag2==1)
+00082         {
+00083           // both are on the good region, so let's use the classical Pareto dominance
+00084           return paretoComparator(_objectiveVector1, _objectiveVector2);
+00085         }
+00086     }
+00087 
+00088 
+00089   private:
+00090 
+00092     ObjectiveVector & ref;
+00094     moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
+00095 
+00096 
+00101     unsigned int flag(const ObjectiveVector & _objectiveVector)
+00102     {
+00103       unsigned int result=1;
+00104       for (unsigned int i=0; i<ref.nObjectives(); i++)
+00105         {
+00106           if (_objectiveVector[i] > ref[i])
+00107             {
+00108               result=0;
+00109             }
+00110         }
+00111       if (result==0)
+00112         {
+00113           result=1;
+00114           for (unsigned int i=0; i<ref.nObjectives(); i++)
+00115             {
+00116               if (_objectiveVector[i] < ref[i])
+00117                 {
+00118                   result=0;
+00119                 }
+00120             }
+00121         }
+00122       return result;
+00123     }
+00124 
+00125   };
+00126 
+00127 #endif /*MOEOGDOMINANCEOBJECTIVEVECTORCOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoGenerationalReplacement_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoGenerationalReplacement_8h-source.html new file mode 100644 index 000000000..9b2e7c894 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoGenerationalReplacement_8h-source.html @@ -0,0 +1,84 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoGenerationalReplacement.h Source File + + + + +
+
+

moeoGenerationalReplacement.h

00001 /*
+00002 * <moeoGenerationalReplacement.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOGENERATIONALREPLACEMENT_H_
+00039 #define MOEOGENERATIONALREPLACEMENT_H_
+00040 
+00041 #include <eoReplacement.h>
+00042 #include <replacement/moeoReplacement.h>
+00043 
+00047 template < class MOEOT >
+00048 class moeoGenerationalReplacement : public moeoReplacement < MOEOT >, public eoGenerationalReplacement < MOEOT >
+00049   {
+00050   public:
+00051 
+00057     void operator()(eoPop < MOEOT > & _parents, eoPop < MOEOT > & _offspring)
+00058     {
+00059       eoGenerationalReplacement < MOEOT >::operator ()(_parents, _offspring);
+00060     }
+00061 
+00062   };
+00063 
+00064 #endif /*MOEOGENERATIONALREPLACEMENT_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoHybridLS_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoHybridLS_8h-source.html new file mode 100644 index 000000000..b0ea03420 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoHybridLS_8h-source.html @@ -0,0 +1,111 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoHybridLS.h Source File + + + + +
+
+

moeoHybridLS.h

00001 /*
+00002 * <moeoHybridLS.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOHYBRIDLS_H_
+00039 #define MOEOHYBRIDLS_H_
+00040 
+00041 #include <eoContinue.h>
+00042 #include <eoPop.h>
+00043 #include <eoSelect.h>
+00044 #include <utils/eoUpdater.h>
+00045 #include <algo/moeoLS.h>
+00046 #include <archive/moeoArchive.h>
+00047 
+00052 template < class MOEOT >
+00053 class moeoHybridLS : public eoUpdater
+00054   {
+00055   public:
+00056 
+00064     moeoHybridLS (eoContinue < MOEOT > & _term, eoSelect < MOEOT > & _select, moeoLS < MOEOT, MOEOT > & _mols, moeoArchive < MOEOT > & _arch) :
+00065         term(_term), select(_select), mols(_mols), arch(_arch)
+00066     {}
+00067 
+00068 
+00072     void operator () ()
+00073     {
+00074       if (! term (arch))
+00075         {
+00076           // selection of solutions
+00077           eoPop < MOEOT > selectedSolutions;
+00078           select(arch, selectedSolutions);
+00079           // apply the local search to every selected solution
+00080           for (unsigned int i=0; i<selectedSolutions.size(); i++)
+00081             {
+00082               mols(selectedSolutions[i], arch);
+00083             }
+00084         }
+00085     }
+00086 
+00087 
+00088   private:
+00089 
+00091     eoContinue < MOEOT > & term;
+00093     eoSelect < MOEOT > & select;
+00095     moeoLS < MOEOT, MOEOT > & mols;
+00097     moeoArchive < MOEOT > & arch;
+00098 
+00099   };
+00100 
+00101 #endif /*MOEOHYBRIDLS_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoHypervolumeBinaryMetric_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoHypervolumeBinaryMetric_8h-source.html new file mode 100644 index 000000000..ec5537a9d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoHypervolumeBinaryMetric_8h-source.html @@ -0,0 +1,166 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoHypervolumeBinaryMetric.h Source File + + + + +
+
+

moeoHypervolumeBinaryMetric.h

00001 /*
+00002 * <moeoHypervolumeBinaryMetric.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOHYPERVOLUMEBINARYMETRIC_H_
+00039 #define MOEOHYPERVOLUMEBINARYMETRIC_H_
+00040 
+00041 #include <stdexcept>
+00042 #include <comparator/moeoParetoObjectiveVectorComparator.h>
+00043 #include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
+00044 
+00053 template < class ObjectiveVector >
+00054 class moeoHypervolumeBinaryMetric : public moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double >
+00055   {
+00056   public:
+00057 
+00062     moeoHypervolumeBinaryMetric(double _rho = 1.1) : rho(_rho)
+00063     {
+00064       // not-a-maximization problem check
+00065       for (unsigned int i=0; i<ObjectiveVector::Traits::nObjectives(); i++)
+00066         {
+00067           if (ObjectiveVector::Traits::maximizing(i))
+00068             {
+00069               throw std::runtime_error("Hypervolume binary metric not yet implemented for a maximization problem in moeoHypervolumeBinaryMetric");
+00070             }
+00071         }
+00072       // consistency check
+00073       if (rho < 1)
+00074         {
+00075           std::cout << "Warning, value used to compute the reference point rho for the hypervolume calculation must not be smaller than 1" << std::endl;
+00076           std::cout << "Adjusted to 1" << std::endl;
+00077           rho = 1;
+00078         }
+00079     }
+00080 
+00081 
+00088     double operator()(const ObjectiveVector & _o1, const ObjectiveVector & _o2)
+00089     {
+00090       double result;
+00091       // if _o2 is dominated by _o1
+00092       if ( paretoComparator(_o2,_o1) )
+00093         {
+00094           result = - hypervolume(_o1, _o2, ObjectiveVector::Traits::nObjectives()-1);
+00095         }
+00096       else
+00097         {
+00098           result = hypervolume(_o2, _o1, ObjectiveVector::Traits::nObjectives()-1);
+00099         }
+00100       return result;
+00101     }
+00102 
+00103 
+00104   private:
+00105 
+00107     double rho;
+00109     using moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > :: bounds;
+00111     moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
+00112 
+00113 
+00121     double hypervolume(const ObjectiveVector & _o1, const ObjectiveVector & _o2, const unsigned int _obj, const bool _flag = false)
+00122     {
+00123       double result;
+00124       double range = rho * bounds[_obj].range();
+00125       double max = bounds[_obj].minimum() + range;
+00126       // value of _1 for the objective _obj
+00127       double v1 = _o1[_obj];
+00128       // value of _2 for the objective _obj (if _flag=true, v2=max)
+00129       double v2;
+00130       if (_flag)
+00131         {
+00132           v2 = max;
+00133         }
+00134       else
+00135         {
+00136           v2 = _o2[_obj];
+00137         }
+00138       // computation of the volume
+00139       if (_obj == 0)
+00140         {
+00141           if (v1 < v2)
+00142             {
+00143               result = (v2 - v1) / range;
+00144             }
+00145           else
+00146             {
+00147               result = 0;
+00148             }
+00149         }
+00150       else
+00151         {
+00152           if (v1 < v2)
+00153             {
+00154               result = ( hypervolume(_o1, _o2, _obj-1, true) * (v2 - v1) / range ) + ( hypervolume(_o1, _o2, _obj-1) * (max - v2) / range );
+00155             }
+00156           else
+00157             {
+00158               result = hypervolume(_o1, _o2, _obj-1) * (max - v2) / range;
+00159             }
+00160         }
+00161       return result;
+00162     }
+00163 
+00164   };
+00165 
+00166 #endif /*MOEOHYPERVOLUMEBINARYMETRIC_H_*/
+

Generated on Thu Mar 13 09:42:19 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoIBEA_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoIBEA_8h-source.html new file mode 100644 index 000000000..c27b43cc0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoIBEA_8h-source.html @@ -0,0 +1,159 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoIBEA.h Source File + + + + +
+
+

moeoIBEA.h

00001 /*
+00002 * <moeoIBEA.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOIBEA_H_
+00039 #define MOEOIBEA_H_
+00040 
+00041 
+00042 #include <eoBreed.h>
+00043 #include <eoContinue.h>
+00044 #include <eoEvalFunc.h>
+00045 #include <eoGenContinue.h>
+00046 #include <eoGeneralBreeder.h>
+00047 #include <eoGenOp.h>
+00048 #include <eoPopEvalFunc.h>
+00049 #include <eoSGAGenOp.h>
+00050 #include <algo/moeoEA.h>
+00051 #include <diversity/moeoDummyDiversityAssignment.h>
+00052 #include <fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h>
+00053 #include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
+00054 #include <replacement/moeoEnvironmentalReplacement.h>
+00055 #include <selection/moeoDetTournamentSelect.h>
+00056 
+00062 template < class MOEOT >
+00063 class moeoIBEA : public moeoEA < MOEOT >
+00064   {
+00065   public:
+00066 
+00068     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00069 
+00070 
+00079     moeoIBEA (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoGenOp < MOEOT > & _op, moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & _metric, const double _kappa=0.05) :
+00080         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select(2),
+00081         fitnessAssignment(_metric, _kappa), replace(fitnessAssignment, dummyDiversityAssignment), genBreed(select, _op), breed(genBreed)
+00082     {}
+00083 
+00084 
+00093     moeoIBEA (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoTransform < MOEOT > & _op, moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & _metric, const double _kappa=0.05) :
+00094         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select(2),
+00095         fitnessAssignment(_metric, _kappa), replace(fitnessAssignment, dummyDiversityAssignment), genBreed(select, _op), breed(genBreed)
+00096     {}
+00097 
+00098 
+00110     moeoIBEA (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoQuadOp < MOEOT > & _crossover, double _pCross, eoMonOp < MOEOT > & _mutation, double _pMut, moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & _metric, const double _kappa=0.05) :
+00111         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select (2),
+00112         fitnessAssignment(_metric, _kappa), replace (fitnessAssignment, dummyDiversityAssignment), defaultSGAGenOp(_crossover, _pCross, _mutation, _pMut),
+00113         genBreed (select, defaultSGAGenOp), breed (genBreed)
+00114     {}
+00115 
+00116 
+00125     moeoIBEA (eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoGenOp < MOEOT > & _op, moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & _metric, const double _kappa=0.05) :
+00126         continuator(_continuator), popEval(_eval), select(2),
+00127         fitnessAssignment(_metric, _kappa), replace(fitnessAssignment, dummyDiversityAssignment), genBreed(select, _op), breed(genBreed)
+00128     {}
+00129 
+00130 
+00139     moeoIBEA (eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoTransform < MOEOT > & _op, moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & _metric, const double _kappa=0.05) :
+00140         continuator(_continuator), popEval(_eval), select(2),
+00141         fitnessAssignment(_metric, _kappa), replace(fitnessAssignment, dummyDiversityAssignment), genBreed(select, _op), breed(genBreed)
+00142     {}
+00143 
+00144 
+00149     virtual void operator () (eoPop < MOEOT > &_pop)
+00150     {
+00151       eoPop < MOEOT > offspring, empty_pop;
+00152       popEval (empty_pop, _pop);        // a first eval of _pop
+00153       // evaluate fitness and diversity
+00154       fitnessAssignment(_pop);
+00155       dummyDiversityAssignment(_pop);
+00156       do
+00157         {
+00158           // generate offspring, worths are recalculated if necessary
+00159           breed (_pop, offspring);
+00160           // eval of offspring
+00161           popEval (_pop, offspring);
+00162           // after replace, the new pop is in _pop. Worths are recalculated if necessary
+00163           replace (_pop, offspring);
+00164         }
+00165       while (continuator (_pop));
+00166     }
+00167 
+00168 
+00169   protected:
+00170 
+00172     eoGenContinue < MOEOT > defaultGenContinuator;
+00174     eoContinue < MOEOT > & continuator;
+00176     eoPopLoopEval < MOEOT > popEval;
+00178     moeoDetTournamentSelect < MOEOT > select;
+00180     moeoExpBinaryIndicatorBasedFitnessAssignment < MOEOT > fitnessAssignment;
+00182     moeoDummyDiversityAssignment < MOEOT > dummyDiversityAssignment;
+00184     moeoEnvironmentalReplacement < MOEOT > replace;
+00186     eoSGAGenOp < MOEOT > defaultSGAGenOp;
+00188     eoGeneralBreeder < MOEOT > genBreed;
+00190     eoBreed < MOEOT > & breed;
+00191 
+00192   };
+00193 
+00194 #endif /*MOEOIBEA_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoIndicatorBasedFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoIndicatorBasedFitnessAssignment_8h-source.html new file mode 100644 index 000000000..a850d2fa1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoIndicatorBasedFitnessAssignment_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoIndicatorBasedFitnessAssignment.h Source File + + + + +
+
+

moeoIndicatorBasedFitnessAssignment.h

00001 /*
+00002 * <moeoIndicatorBasedFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOINDICATORBASEDFITNESSASSIGNMENT_H_
+00039 #define MOEOINDICATORBASEDFITNESSASSIGNMENT_H_
+00040 
+00041 #include <fitness/moeoFitnessAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoIndicatorBasedFitnessAssignment : public moeoFitnessAssignment < MOEOT >
+00048   {};
+00049 
+00050 #endif /*MOEOINDICATORBASEDFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoLS_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoLS_8h-source.html new file mode 100644 index 000000000..d2032d7a5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoLS_8h-source.html @@ -0,0 +1,77 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoLS.h Source File + + + + +
+
+

moeoLS.h

00001 /*
+00002 * <moeoLS.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOLS_H_
+00039 #define MOEOLS_H_
+00040 
+00041 #include <eoFunctor.h>
+00042 #include <algo/moeoAlgo.h>
+00043 #include <archive/moeoArchive.h>
+00044 
+00049 template < class MOEOT, class Type >
+00050 class moeoLS: public moeoAlgo, public eoBF < Type, moeoArchive < MOEOT > &, void >
+00051   {};
+00052 
+00053 #endif /*MOEOLS_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoManhattanDistance_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoManhattanDistance_8h-source.html new file mode 100644 index 000000000..3ca83ea1c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoManhattanDistance_8h-source.html @@ -0,0 +1,100 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoManhattanDistance.h Source File + + + + +
+
+

moeoManhattanDistance.h

00001 /*
+00002 * <moeoManhattanDistance.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOMANHATTANDISTANCE_H_
+00039 #define MOEOMANHATTANDISTANCE_H_
+00040 
+00041 #include <math.h>
+00042 #include <distance/moeoNormalizedDistance.h>
+00043 
+00048 template < class MOEOT >
+00049 class moeoManhattanDistance : public moeoNormalizedDistance < MOEOT >
+00050   {
+00051   public:
+00052 
+00054     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00055 
+00056 
+00062     const double operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00063     {
+00064       double result = 0.0;
+00065       double tmp1, tmp2;
+00066       for (unsigned int i=0; i<ObjectiveVector::nObjectives(); i++)
+00067         {
+00068           tmp1 = (_moeo1.objectiveVector()[i] - bounds[i].minimum()) / bounds[i].range();
+00069           tmp2 = (_moeo2.objectiveVector()[i] - bounds[i].minimum()) / bounds[i].range();
+00070           result += fabs(tmp1-tmp2);
+00071         }
+00072       return result;
+00073     }
+00074 
+00075 
+00076   private:
+00077 
+00079     using moeoNormalizedDistance < MOEOT > :: bounds;
+00080 
+00081   };
+00082 
+00083 #endif /*MOEOMANHATTANDISTANCE_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoMetric_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoMetric_8h-source.html new file mode 100644 index 000000000..a6be901af --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoMetric_8h-source.html @@ -0,0 +1,106 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoMetric.h Source File + + + + +
+
+

moeoMetric.h

00001 /*
+00002 * <moeoMetric.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOMETRIC_H_
+00039 #define MOEOMETRIC_H_
+00040 
+00041 #include <vector>
+00042 #include <eoFunctor.h>
+00043 
+00047 class moeoMetric : public eoFunctorBase
+00048   {};
+00049 
+00050 
+00054 template < class A, class R >
+00055 class moeoUnaryMetric : public eoUF < A, R >, public moeoMetric
+00056   {};
+00057 
+00058 
+00062 template < class A1, class A2, class R >
+00063 class moeoBinaryMetric : public eoBF < A1, A2, R >, public moeoMetric
+00064   {};
+00065 
+00066 
+00070 template < class ObjectiveVector, class R >
+00071 class moeoSolutionUnaryMetric : public moeoUnaryMetric < const ObjectiveVector &, R >
+00072   {};
+00073 
+00074 
+00078 template < class ObjectiveVector, class R >
+00079 class moeoVectorUnaryMetric : public moeoUnaryMetric < const std::vector < ObjectiveVector > &, R >
+00080   {};
+00081 
+00082 
+00086 template < class ObjectiveVector, class R >
+00087 class moeoSolutionVsSolutionBinaryMetric : public moeoBinaryMetric < const ObjectiveVector &, const ObjectiveVector &, R >
+00088   {};
+00089 
+00090 
+00094 template < class ObjectiveVector, class R >
+00095 class moeoVectorVsVectorBinaryMetric : public moeoBinaryMetric < const std::vector < ObjectiveVector > &, const std::vector < ObjectiveVector > &, R >
+00096   {};
+00097 
+00098 
+00099 #endif /*MOEOMETRIC_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNSGAII_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNSGAII_8h-source.html new file mode 100644 index 000000000..9cc853600 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNSGAII_8h-source.html @@ -0,0 +1,163 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoNSGAII.h Source File + + + + +
+
+

moeoNSGAII.h

00001 /*
+00002 * <moeoNSGAII.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEONSGAII_H_
+00039 #define MOEONSGAII_H_
+00040 
+00041 #include <eoBreed.h>
+00042 #include <eoContinue.h>
+00043 #include <eoEvalFunc.h>
+00044 #include <eoGenContinue.h>
+00045 #include <eoGeneralBreeder.h>
+00046 #include <eoGenOp.h>
+00047 #include <eoPopEvalFunc.h>
+00048 #include <eoSGAGenOp.h>
+00049 #include <algo/moeoEA.h>
+00050 #include <diversity/moeoFrontByFrontCrowdingDiversityAssignment.h>
+00051 #include <fitness/moeoFastNonDominatedSortingFitnessAssignment.h>
+00052 #include <replacement/moeoElitistReplacement.h>
+00053 #include <selection/moeoDetTournamentSelect.h>
+00054 
+00055 
+00056 #include <eoCloneOps.h>
+00057 
+00064 template < class MOEOT >
+00065 class moeoNSGAII: public moeoEA < MOEOT >
+00066   {
+00067   public:
+00068 
+00075     moeoNSGAII (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoGenOp < MOEOT > & _op) :
+00076         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select(2),
+00077         replace(fitnessAssignment, diversityAssignment), defaultSGAGenOp(defaultQuadOp, 0.0, defaultMonOp, 0.0),
+00078         genBreed(select, _op), breed(genBreed)
+00079     {}
+00080 
+00081 
+00088     moeoNSGAII (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoTransform < MOEOT > & _op) :
+00089         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select(2),
+00090         replace(fitnessAssignment, diversityAssignment), defaultSGAGenOp(defaultQuadOp, 0.0, defaultMonOp, 0.0),
+00091         genBreed(select, _op), breed(genBreed)
+00092     {}
+00093 
+00094 
+00104     moeoNSGAII (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoQuadOp < MOEOT > & _crossover, double _pCross, eoMonOp < MOEOT > & _mutation, double _pMut) :
+00105         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select (2),
+00106         replace (fitnessAssignment, diversityAssignment), defaultSGAGenOp(_crossover, _pCross, _mutation, _pMut),
+00107         genBreed (select, defaultSGAGenOp), breed (genBreed)
+00108     {}
+00109 
+00110 
+00117     moeoNSGAII (eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoGenOp < MOEOT > & _op) :
+00118         defaultGenContinuator(0), continuator(_continuator), popEval(_eval), select(2),
+00119         replace(fitnessAssignment, diversityAssignment), defaultSGAGenOp(defaultQuadOp, 1.0, defaultMonOp, 1.0),
+00120         genBreed(select, _op), breed(genBreed)
+00121     {}
+00122 
+00123 
+00130     moeoNSGAII (eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoTransform < MOEOT > & _op) :
+00131         continuator(_continuator), popEval(_eval), select(2),
+00132         replace(fitnessAssignment, diversityAssignment), defaultSGAGenOp(defaultQuadOp, 0.0, defaultMonOp, 0.0),
+00133         genBreed(select, _op), breed(genBreed)
+00134     {}
+00135 
+00136 
+00141     virtual void operator () (eoPop < MOEOT > &_pop)
+00142     {
+00143       eoPop < MOEOT > offspring, empty_pop;
+00144       popEval (empty_pop, _pop);        // a first eval of _pop
+00145       // evaluate fitness and diversity
+00146       fitnessAssignment(_pop);
+00147       diversityAssignment(_pop);
+00148       do
+00149         {
+00150           // generate offspring, worths are recalculated if necessary
+00151           breed (_pop, offspring);
+00152           // eval of offspring
+00153           popEval (_pop, offspring);
+00154           // after replace, the new pop is in _pop. Worths are recalculated if necessary
+00155           replace (_pop, offspring);
+00156         }
+00157       while (continuator (_pop));
+00158     }
+00159 
+00160 
+00161   protected:
+00162 
+00164     eoGenContinue < MOEOT > defaultGenContinuator;
+00166     eoContinue < MOEOT > & continuator;
+00168     eoPopLoopEval < MOEOT > popEval;
+00170     moeoDetTournamentSelect < MOEOT > select;
+00172     moeoFastNonDominatedSortingFitnessAssignment < MOEOT > fitnessAssignment;
+00174     moeoFrontByFrontCrowdingDiversityAssignment  < MOEOT > diversityAssignment;
+00176     moeoElitistReplacement < MOEOT > replace;
+00178     eoQuadCloneOp < MOEOT > defaultQuadOp;
+00180     eoMonCloneOp < MOEOT > defaultMonOp;
+00182     eoSGAGenOp < MOEOT > defaultSGAGenOp;
+00184     eoGeneralBreeder < MOEOT > genBreed;
+00186     eoBreed < MOEOT > & breed;
+00187 
+00188   };
+00189 
+00190 #endif /*MOEONSGAII_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNSGA_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNSGA_8h-source.html new file mode 100644 index 000000000..6ada6231c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNSGA_8h-source.html @@ -0,0 +1,154 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoNSGA.h Source File + + + + +
+
+

moeoNSGA.h

00001 /*
+00002 * <moeoNSGA.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEONSGA_H_
+00039 #define MOEONSGA_H_
+00040 
+00041 #include <eoBreed.h>
+00042 #include <eoContinue.h>
+00043 #include <eoEvalFunc.h>
+00044 #include <eoGenContinue.h>
+00045 #include <eoGeneralBreeder.h>
+00046 #include <eoGenOp.h>
+00047 #include <eoPopEvalFunc.h>
+00048 #include <eoSGAGenOp.h>
+00049 #include <algo/moeoEA.h>
+00050 #include <diversity/moeoFrontByFrontSharingDiversityAssignment.h>
+00051 #include <fitness/moeoFastNonDominatedSortingFitnessAssignment.h>
+00052 #include <replacement/moeoElitistReplacement.h>
+00053 #include <selection/moeoDetTournamentSelect.h>
+00054 
+00061 template < class MOEOT >
+00062 class moeoNSGA: public moeoEA < MOEOT >
+00063   {
+00064   public:
+00065 
+00073     moeoNSGA (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoGenOp < MOEOT > & _op, double _nicheSize = 0.5) :
+00074         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select(2),
+00075         diversityAssignment(_nicheSize), replace(fitnessAssignment, diversityAssignment), genBreed(select, _op), breed(genBreed)
+00076     {}
+00077 
+00078 
+00086     moeoNSGA (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoTransform < MOEOT > & _op, double _nicheSize = 0.5) :
+00087         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select(2),
+00088         diversityAssignment(_nicheSize), replace(fitnessAssignment, diversityAssignment), genBreed(select, _op), breed(genBreed)
+00089     {}
+00090 
+00091 
+00102     moeoNSGA (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoQuadOp < MOEOT > & _crossover, double _pCross, eoMonOp < MOEOT > & _mutation, double _pMut, double _nicheSize = 0.5) :
+00103         defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select (2),
+00104         diversityAssignment(_nicheSize), replace (fitnessAssignment, diversityAssignment),
+00105         defaultSGAGenOp(_crossover, _pCross, _mutation, _pMut), genBreed (select, defaultSGAGenOp), breed (genBreed)
+00106     {}
+00107 
+00108 
+00116     moeoNSGA (eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoGenOp < MOEOT > & _op, double _nicheSize = 0.5) :
+00117         continuator(_continuator), popEval(_eval), select(2),
+00118         diversityAssignment(_nicheSize), replace(fitnessAssignment, diversityAssignment), genBreed(select, _op), breed(genBreed)
+00119     {}
+00120 
+00121 
+00129     moeoNSGA (eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoTransform < MOEOT > & _op, double _nicheSize = 0.5) :
+00130         continuator(_continuator), popEval(_eval), select(2),
+00131         diversityAssignment(_nicheSize), replace(fitnessAssignment, diversityAssignment), genBreed(select, _op), breed(genBreed)
+00132     {}
+00133 
+00134 
+00139     virtual void operator () (eoPop < MOEOT > &_pop)
+00140     {
+00141       eoPop < MOEOT > offspring, empty_pop;
+00142       popEval (empty_pop, _pop);        // a first eval of _pop
+00143       // evaluate fitness and diversity
+00144       fitnessAssignment(_pop);
+00145       diversityAssignment(_pop);
+00146       do
+00147         {
+00148           // generate offspring, worths are recalculated if necessary
+00149           breed (_pop, offspring);
+00150           // eval of offspring
+00151           popEval (_pop, offspring);
+00152           // after replace, the new pop is in _pop. Worths are recalculated if necessary
+00153           replace (_pop, offspring);
+00154         }
+00155       while (continuator (_pop));
+00156     }
+00157 
+00158 
+00159   protected:
+00160 
+00162     eoGenContinue < MOEOT > defaultGenContinuator;
+00164     eoContinue < MOEOT > & continuator;
+00166     eoPopLoopEval < MOEOT > popEval;
+00168     moeoDetTournamentSelect < MOEOT > select;
+00170     moeoFastNonDominatedSortingFitnessAssignment < MOEOT > fitnessAssignment;
+00172     moeoFrontByFrontSharingDiversityAssignment  < MOEOT > diversityAssignment;
+00174     moeoElitistReplacement < MOEOT > replace;
+00176     eoSGAGenOp < MOEOT > defaultSGAGenOp;
+00178     eoGeneralBreeder < MOEOT > genBreed;
+00180     eoBreed < MOEOT > & breed;
+00181 
+00182   };
+00183 
+00184 #endif /*MOEONSGAII_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNormalizedDistance_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNormalizedDistance_8h-source.html new file mode 100644 index 000000000..54c10ebaf --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNormalizedDistance_8h-source.html @@ -0,0 +1,139 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoNormalizedDistance.h Source File + + + + +
+
+

moeoNormalizedDistance.h

00001 /*
+00002 * <moeoNormalizedDistance.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEONORMALIZEDDISTANCE_H_
+00039 #define MOEONORMALIZEDDISTANCE_H_
+00040 
+00041 #include <vector>
+00042 #include <utils/eoRealBounds.h>
+00043 #include <distance/moeoDistance.h>
+00044 
+00048 template < class MOEOT , class Type = double >
+00049 class moeoNormalizedDistance : public moeoDistance < MOEOT , Type >
+00050   {
+00051   public:
+00052 
+00054     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00055 
+00056 
+00060     moeoNormalizedDistance()
+00061     {
+00062       bounds.resize(ObjectiveVector::Traits::nObjectives());
+00063       // initialize bounds in case someone does not want to use them
+00064       for (unsigned int i=0; i<ObjectiveVector::Traits::nObjectives(); i++)
+00065         {
+00066           bounds[i] = eoRealInterval(0,1);
+00067         }
+00068     }
+00069 
+00070 
+00074     static double tiny()
+00075     {
+00076       return 1e-6;
+00077     }
+00078 
+00079 
+00084     virtual void setup(const eoPop < MOEOT > & _pop)
+00085     {
+00086       double min, max;
+00087       for (unsigned int i=0; i<ObjectiveVector::Traits::nObjectives(); i++)
+00088         {
+00089           min = _pop[0].objectiveVector()[i];
+00090           max = _pop[0].objectiveVector()[i];
+00091           for (unsigned int j=1; j<_pop.size(); j++)
+00092             {
+00093               min = std::min(min, _pop[j].objectiveVector()[i]);
+00094               max = std::max(max, _pop[j].objectiveVector()[i]);
+00095             }
+00096           // setting of the bounds for the objective i
+00097           setup(min, max, i);
+00098         }
+00099     }
+00100 
+00101 
+00108     virtual void setup(double _min, double _max, unsigned int _obj)
+00109     {
+00110       if (_min == _max)
+00111         {
+00112           _min -= tiny();
+00113           _max += tiny();
+00114         }
+00115       bounds[_obj] = eoRealInterval(_min, _max);
+00116     }
+00117 
+00118 
+00124     virtual void setup(eoRealInterval _realInterval, unsigned int _obj)
+00125     {
+00126       bounds[_obj] = _realInterval;
+00127     }
+00128 
+00129 
+00130   protected:
+00131 
+00133     std::vector < eoRealInterval > bounds;
+00134 
+00135   };
+00136 
+00137 #endif /*MOEONORMALIZEDDISTANCE_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html new file mode 100644 index 000000000..82c2b7909 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html @@ -0,0 +1,118 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoNormalizedSolutionVsSolutionBinaryMetric.h Source File + + + + +
+
+

moeoNormalizedSolutionVsSolutionBinaryMetric.h

00001 /*
+00002 * <moeoNormalizedSolutionVsSolutionBinaryMetric.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEONORMALIZEDSOLUTIONVSSOLUTIONBINARYMETRIC_H_
+00039 #define MOEONORMALIZEDSOLUTIONVSSOLUTIONBINARYMETRIC_H_
+00040 
+00041 #include <vector>
+00042 #include <utils/eoRealBounds.h>
+00043 #include <metric/moeoMetric.h>
+00044 
+00050 template < class ObjectiveVector, class R >
+00051 class moeoNormalizedSolutionVsSolutionBinaryMetric : public moeoSolutionVsSolutionBinaryMetric < ObjectiveVector, R >
+00052   {
+00053   public:
+00054 
+00058     moeoNormalizedSolutionVsSolutionBinaryMetric()
+00059     {
+00060       bounds.resize(ObjectiveVector::Traits::nObjectives());
+00061       // initialize bounds in case someone does not want to use them
+00062       for (unsigned int i=0; i<ObjectiveVector::Traits::nObjectives(); i++)
+00063         {
+00064           bounds[i] = eoRealInterval(0,1);
+00065         }
+00066     }
+00067 
+00068 
+00075     void setup(double _min, double _max, unsigned int _obj)
+00076     {
+00077       if (_min == _max)
+00078         {
+00079           _min -= tiny();
+00080           _max += tiny();
+00081         }
+00082       bounds[_obj] = eoRealInterval(_min, _max);
+00083     }
+00084 
+00085 
+00091     virtual void setup(eoRealInterval _realInterval, unsigned int _obj)
+00092     {
+00093       bounds[_obj] = _realInterval;
+00094     }
+00095 
+00096 
+00100     static double tiny()
+00101     {
+00102       return 1e-6;
+00103     }
+00104 
+00105 
+00106   protected:
+00107 
+00109     std::vector < eoRealInterval > bounds;
+00110 
+00111   };
+00112 
+00113 #endif /*MOEONORMALIZEDSOLUTIONVSSOLUTIONBINARYMETRIC_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveObjectiveVectorComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveObjectiveVectorComparator_8h-source.html new file mode 100644 index 000000000..d1d219940 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveObjectiveVectorComparator_8h-source.html @@ -0,0 +1,97 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveObjectiveVectorComparator.h Source File + + + + +
+
+

moeoObjectiveObjectiveVectorComparator.h

00001 /*
+00002 * <moeoObjectiveObjectiveVectorComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOOBJECTIVEOBJECTIVEVECTORCOMPARATOR_H_
+00039 #define MOEOOBJECTIVEOBJECTIVEVECTORCOMPARATOR_H_
+00040 
+00041 #include <comparator/moeoObjectiveVectorComparator.h>
+00042 
+00046 template < class ObjectiveVector >
+00047 class moeoObjectiveObjectiveVectorComparator : public moeoObjectiveVectorComparator < ObjectiveVector >
+00048   {
+00049   public:
+00050 
+00056     const bool operator()(const ObjectiveVector & _objectiveVector1, const ObjectiveVector & _objectiveVector2)
+00057     {
+00058       for (unsigned int i=0; i<ObjectiveVector::nObjectives(); i++)
+00059         {
+00060           if ( fabs(_objectiveVector1[i] - _objectiveVector2[i]) > ObjectiveVector::Traits::tolerance() )
+00061             {
+00062               if (_objectiveVector1[i] < _objectiveVector2[i])
+00063                 {
+00064                   return true;
+00065                 }
+00066               else
+00067                 {
+00068                   return false;
+00069                 }
+00070             }
+00071         }
+00072       return false;
+00073     }
+00074 
+00075   };
+00076 
+00077 #endif /*MOEOOBJECTIVEOBJECTIVEVECTORCOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorComparator_8h-source.html new file mode 100644 index 000000000..80795b640 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorComparator_8h-source.html @@ -0,0 +1,76 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveVectorComparator.h Source File + + + + +
+
+

moeoObjectiveVectorComparator.h

00001 /*
+00002 * <moeoObjectiveVectorComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOOBJECTIVEVECTORCOMPARATOR_H_
+00039 #define MOEOOBJECTIVEVECTORCOMPARATOR_H_
+00040 
+00041 #include <math.h>
+00042 #include <eoFunctor.h>
+00043 
+00048 template < class ObjectiveVector >
+00049 class moeoObjectiveVectorComparator : public eoBF < const ObjectiveVector &, const ObjectiveVector &, const bool >
+00050   {};
+00051 
+00052 #endif /*MOEOOBJECTIVEVECTORCOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorTraits_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorTraits_8cpp-source.html new file mode 100644 index 000000000..3fa097077 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorTraits_8cpp-source.html @@ -0,0 +1,70 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveVectorTraits.cpp Source File + + + + +
+
+

moeoObjectiveVectorTraits.cpp

00001 /*
+00002 * <moeoObjectiveVectorTraits.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #include <core/moeoObjectiveVectorTraits.h>
+00039 
+00040 // The static variables of the moeoObjectiveVectorTraits class need to be allocated
+00041 unsigned int moeoObjectiveVectorTraits::nObj;
+00042 std::vector < bool > moeoObjectiveVectorTraits::bObj;
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorTraits_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorTraits_8h-source.html new file mode 100644 index 000000000..f1bc4800f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVectorTraits_8h-source.html @@ -0,0 +1,134 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveVectorTraits.h Source File + + + + +
+
+

moeoObjectiveVectorTraits.h

00001 /*
+00002 * <moeoObjectiveVectorTraits.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOOBJECTIVEVECTORTRAITS_H_
+00039 #define MOEOOBJECTIVEVECTORTRAITS_H_
+00040 
+00041 #include <iostream>
+00042 #include <stdexcept>
+00043 #include <vector>
+00044 
+00048 class moeoObjectiveVectorTraits
+00049   {
+00050   public:
+00051 
+00057     static void setup(unsigned int _nObjectives, std::vector < bool > & _bObjectives)
+00058     {
+00059       // in case the number of objectives was already set to a different value
+00060       if ( nObj && (nObj != _nObjectives) )
+00061         {
+00062           std::cout << "WARNING\n";
+00063           std::cout << "WARNING : the number of objectives are changing\n";
+00064           std::cout << "WARNING : Make sure all existing objects are destroyed\n";
+00065           std::cout << "WARNING\n";
+00066         }
+00067       // number of objectives
+00068       nObj = _nObjectives;
+00069       // min/max vector
+00070       bObj = _bObjectives;
+00071       // in case the number of objectives and the min/max vector size don't match
+00072       if (nObj != bObj.size())
+00073         throw std::runtime_error("Number of objectives and min/max size don't match in moeoObjectiveVectorTraits::setup");
+00074     }
+00075 
+00076 
+00080     static unsigned int nObjectives()
+00081     {
+00082       // in case the number of objectives would not be assigned yet
+00083       if (! nObj)
+00084         throw std::runtime_error("Number of objectives not assigned in moeoObjectiveVectorTraits");
+00085       return nObj;
+00086     }
+00087 
+00088 
+00093     static bool minimizing(unsigned int _i)
+00094     {
+00095       // in case there would be a wrong index
+00096       if (_i >= bObj.size())
+00097         throw std::runtime_error("Wrong index in moeoObjectiveVectorTraits");
+00098       return bObj[_i];
+00099     }
+00100 
+00101 
+00106     static bool maximizing(unsigned int _i)
+00107     {
+00108       return (! minimizing(_i));
+00109     }
+00110 
+00111 
+00115     static double tolerance()
+00116     {
+00117       return 1e-6;
+00118     }
+00119 
+00120 
+00121   private:
+00122 
+00124     static unsigned int nObj;
+00126     static std::vector < bool > bObj;
+00127 
+00128   };
+00129 
+00130 #endif /*MOEOOBJECTIVEVECTORTRAITS_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVector_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVector_8h-source.html new file mode 100644 index 000000000..85e49a846 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoObjectiveVector_8h-source.html @@ -0,0 +1,113 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoObjectiveVector.h Source File + + + + +
+
+

moeoObjectiveVector.h

00001 /*
+00002 * <moeoObjectiveVector.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOOBJECTIVEVECTOR_H_
+00039 #define MOEOOBJECTIVEVECTOR_H_
+00040 
+00041 #include <vector>
+00042 
+00049 template < class ObjectiveVectorTraits, class ObjectiveVectorType >
+00050 class moeoObjectiveVector : public std::vector < ObjectiveVectorType >
+00051   {
+00052   public:
+00053 
+00055     typedef ObjectiveVectorTraits Traits;
+00057     typedef ObjectiveVectorType Type;
+00058 
+00059 
+00063     moeoObjectiveVector(Type _value = Type()) : std::vector < Type > (ObjectiveVectorTraits::nObjectives(), _value)
+00064     {}
+00065 
+00066 
+00071     moeoObjectiveVector(std::vector < Type > & _v) : std::vector < Type > (_v)
+00072     {}
+00073 
+00074 
+00080     static void setup(unsigned int _nObjectives, std::vector < bool > & _bObjectives)
+00081     {
+00082       ObjectiveVectorTraits::setup(_nObjectives, _bObjectives);
+00083     }
+00084 
+00085 
+00089     static unsigned int nObjectives()
+00090     {
+00091       return ObjectiveVectorTraits::nObjectives();
+00092     }
+00093 
+00094 
+00099     static bool minimizing(unsigned int _i)
+00100     {
+00101       return ObjectiveVectorTraits::minimizing(_i);
+00102     }
+00103 
+00104 
+00109     static bool maximizing(unsigned int _i)
+00110     {
+00111       return ObjectiveVectorTraits::maximizing(_i);
+00112     }
+00113 
+00114   };
+00115 
+00116 #endif /*MOEOOBJECTIVEVECTOR_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoOneObjectiveComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoOneObjectiveComparator_8h-source.html new file mode 100644 index 000000000..c7f142753 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoOneObjectiveComparator_8h-source.html @@ -0,0 +1,97 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoOneObjectiveComparator.h Source File + + + + +
+
+

moeoOneObjectiveComparator.h

00001 /*
+00002 * <moeoOneObjectiveComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOONEOBJECTIVECOMPARATOR_H_
+00039 #define MOEOONEOBJECTIVECOMPARATOR_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoOneObjectiveComparator : public moeoComparator < MOEOT >
+00048   {
+00049   public:
+00050 
+00055     moeoOneObjectiveComparator(unsigned int _obj) : obj(_obj)
+00056     {
+00057       if (obj > MOEOT::ObjectiveVector::nObjectives())
+00058         {
+00059           throw std::runtime_error("Problem with the index of objective in moeoOneObjectiveComparator");
+00060         }
+00061     }
+00062 
+00063 
+00069     const bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00070     {
+00071       return _moeo1.objectiveVector()[obj] < _moeo2.objectiveVector()[obj];
+00072     }
+00073 
+00074 
+00075   private:
+00076 
+00078     unsigned int obj;
+00079 
+00080   };
+00081 
+00082 #endif /*MOEOONEOBJECTIVECOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoParetoBasedFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoParetoBasedFitnessAssignment_8h-source.html new file mode 100644 index 000000000..de0caa117 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoParetoBasedFitnessAssignment_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoParetoBasedFitnessAssignment.h Source File + + + + +
+
+

moeoParetoBasedFitnessAssignment.h

00001 /*
+00002 * <moeoParetoBasedFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOPARETOBASEDFITNESSASSIGNMENT_H_
+00039 #define MOEOPARETOBASEDFITNESSASSIGNMENT_H_
+00040 
+00041 #include <fitness/moeoFitnessAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoParetoBasedFitnessAssignment : public moeoFitnessAssignment < MOEOT >
+00048   {};
+00049 
+00050 #endif /*MOEOPARETOBASEDFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoParetoObjectiveVectorComparator_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoParetoObjectiveVectorComparator_8h-source.html new file mode 100644 index 000000000..045ada5d9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoParetoObjectiveVectorComparator_8h-source.html @@ -0,0 +1,115 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoParetoObjectiveVectorComparator.h Source File + + + + +
+
+

moeoParetoObjectiveVectorComparator.h

00001 /*
+00002 * <moeoParetoObjectiveVectorComparator.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOPARETOOBJECTIVEVECTORCOMPARATOR_H_
+00039 #define MOEOPARETOOBJECTIVEVECTORCOMPARATOR_H_
+00040 
+00041 #include <comparator/moeoObjectiveVectorComparator.h>
+00042 
+00046 template < class ObjectiveVector >
+00047 class moeoParetoObjectiveVectorComparator : public moeoObjectiveVectorComparator < ObjectiveVector >
+00048   {
+00049   public:
+00050 
+00056     const bool operator()(const ObjectiveVector & _objectiveVector1, const ObjectiveVector & _objectiveVector2)
+00057     {
+00058       bool dom = false;
+00059       for (unsigned int i=0; i<ObjectiveVector::nObjectives(); i++)
+00060         {
+00061           // first, we have to check if the 2 objective values are not equal for the ith objective
+00062           if ( fabs(_objectiveVector1[i] - _objectiveVector2[i]) > ObjectiveVector::Traits::tolerance() )
+00063             {
+00064               // if the ith objective have to be minimized...
+00065               if (ObjectiveVector::minimizing(i))
+00066                 {
+00067                   if (_objectiveVector1[i] > _objectiveVector2[i])
+00068                     {
+00069                       dom = true;               //_objectiveVector1[i] is not better than _objectiveVector2[i]
+00070                     }
+00071                   else
+00072                     {
+00073                       return false;     //_objectiveVector2 cannot dominate _objectiveVector1
+00074                     }
+00075                 }
+00076               // if the ith objective have to be maximized...
+00077               else if (ObjectiveVector::maximizing(i))
+00078                 {
+00079                   if (_objectiveVector1[i] < _objectiveVector2[i])
+00080                     {
+00081                       dom = true;               //_objectiveVector1[i] is not better than _objectiveVector2[i]
+00082                     }
+00083                   else
+00084                     {
+00085                       return false;     //_objectiveVector2 cannot dominate _objectiveVector1
+00086                     }
+00087                 }
+00088             }
+00089         }
+00090       return dom;
+00091     }
+00092 
+00093   };
+00094 
+00095 #endif /*MOEOPARETOOBJECTIVEVECTORCOMPARATOR_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRandomSelect_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRandomSelect_8h-source.html new file mode 100644 index 000000000..03f8efc1d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRandomSelect_8h-source.html @@ -0,0 +1,88 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoRandomSelect.h Source File + + + + +
+
+

moeoRandomSelect.h

00001 /*
+00002 * <moeoRandomSelect.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEORANDOMSELECT_H_
+00039 #define MOEORANDOMSELECT_H_
+00040 
+00041 #include <eoRandomSelect.h>
+00042 #include <selection/moeoSelectOne.h>
+00043 
+00044 
+00048 template < class MOEOT > class moeoRandomSelect:public moeoSelectOne < MOEOT >, public eoRandomSelect <MOEOT >
+00049   {
+00050   public:
+00051 
+00055     moeoRandomSelect()
+00056     {}
+00057 
+00058 
+00062     const MOEOT & operator () (const eoPop < MOEOT > &_pop)
+00063     {
+00064       return eoRandomSelect < MOEOT >::operator ()(_pop);
+00065     }
+00066 
+00067   };
+00068 
+00069 #endif /*MOEORANDOMSELECT_H_ */
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRealObjectiveVector_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRealObjectiveVector_8h-source.html new file mode 100644 index 000000000..9dafcb941 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRealObjectiveVector_8h-source.html @@ -0,0 +1,165 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoRealObjectiveVector.h Source File + + + + +
+
+

moeoRealObjectiveVector.h

00001 /*
+00002 * <moeoRealObjectiveVector.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOREALOBJECTIVEVECTOR_H_
+00039 #define MOEOREALOBJECTIVEVECTOR_H_
+00040 
+00041 #include <iostream>
+00042 #include <math.h>
+00043 #include <comparator/moeoObjectiveObjectiveVectorComparator.h>
+00044 #include <comparator/moeoParetoObjectiveVectorComparator.h>
+00045 #include <core/moeoObjectiveVector.h>
+00046 
+00051 template < class ObjectiveVectorTraits >
+00052 class moeoRealObjectiveVector : public moeoObjectiveVector < ObjectiveVectorTraits, double >
+00053   {
+00054   public:
+00055 
+00056     using moeoObjectiveVector < ObjectiveVectorTraits, double >::size;
+00057     using moeoObjectiveVector < ObjectiveVectorTraits, double >::operator[];
+00058 
+00062     moeoRealObjectiveVector(double _value = 0.0) : moeoObjectiveVector < ObjectiveVectorTraits, double > (_value)
+00063     {}
+00064 
+00065 
+00070     moeoRealObjectiveVector(std::vector < double > & _v) : moeoObjectiveVector < ObjectiveVectorTraits, double > (_v)
+00071     {}
+00072 
+00073 
+00079     bool dominates(const moeoRealObjectiveVector < ObjectiveVectorTraits > & _other) const
+00080       {
+00081         moeoParetoObjectiveVectorComparator < moeoRealObjectiveVector<ObjectiveVectorTraits> > comparator;
+00082         return comparator(_other, *this);
+00083       }
+00084 
+00085 
+00090     bool operator==(const moeoRealObjectiveVector < ObjectiveVectorTraits > & _other) const
+00091       {
+00092         for (unsigned int i=0; i < size(); i++)
+00093           {
+00094             if ( fabs(operator[](i) - _other[i]) > ObjectiveVectorTraits::tolerance() )
+00095               {
+00096                 return false;
+00097               }
+00098           }
+00099         return true;
+00100       }
+00101 
+00102 
+00107     bool operator!=(const moeoRealObjectiveVector < ObjectiveVectorTraits > & _other) const
+00108       {
+00109         return ! operator==(_other);
+00110       }
+00111 
+00112 
+00118     bool operator<(const moeoRealObjectiveVector < ObjectiveVectorTraits > & _other) const
+00119       {
+00120         moeoObjectiveObjectiveVectorComparator < moeoRealObjectiveVector < ObjectiveVectorTraits > > cmp;
+00121         return cmp(*this, _other);
+00122       }
+00123 
+00124 
+00130     bool operator>(const moeoRealObjectiveVector < ObjectiveVectorTraits > & _other) const
+00131       {
+00132         return _other < *this;
+00133       }
+00134 
+00135 
+00141     bool operator<=(const moeoRealObjectiveVector < ObjectiveVectorTraits > & _other) const
+00142       {
+00143         return operator==(_other) || operator<(_other);
+00144       }
+00145 
+00146 
+00152     bool operator>=(const moeoRealObjectiveVector < ObjectiveVectorTraits > & _other) const
+00153       {
+00154         return operator==(_other) || operator>(_other);
+00155       }
+00156 
+00157   };
+00158 
+00159 
+00165 template < class ObjectiveVectorTraits >
+00166 std::ostream & operator<<(std::ostream & _os, const moeoRealObjectiveVector < ObjectiveVectorTraits > & _objectiveVector)
+00167 {
+00168   for (unsigned int i=0; i<_objectiveVector.size(); i++)
+00169     {
+00170       _os << _objectiveVector[i] << '\t';
+00171     }
+00172   return _os;
+00173 }
+00174 
+00180 template < class ObjectiveVectorTraits >
+00181 std::istream & operator>>(std::istream & _is, moeoRealObjectiveVector < ObjectiveVectorTraits > & _objectiveVector)
+00182 {
+00183   _objectiveVector = moeoRealObjectiveVector < ObjectiveVectorTraits > ();
+00184   for (unsigned int i=0; i<_objectiveVector.size(); i++)
+00185     {
+00186       _is >> _objectiveVector[i];
+00187     }
+00188   return _is;
+00189 }
+00190 
+00191 #endif /*MOEOREALOBJECTIVEVECTOR_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRealVector_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRealVector_8h-source.html new file mode 100644 index 000000000..c3d91a6e3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRealVector_8h-source.html @@ -0,0 +1,87 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoRealVector.h Source File + + + + +
+
+

moeoRealVector.h

00001 /*
+00002 * <moeoRealVector.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOREALVECTOR_H_
+00039 #define MOEOREALVECTOR_H_
+00040 
+00041 #include <core/moeoVector.h>
+00042 
+00046 template < class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity >
+00047 class moeoRealVector : public moeoVector < MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
+00048   {
+00049   public:
+00050 
+00056     moeoRealVector(unsigned int _size = 0, double _value = 0.0) : moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >(_size, _value)
+00057     {}
+00058 
+00059 
+00063     virtual std::string className() const
+00064       {
+00065         return "moeoRealVector";
+00066       }
+00067 
+00068   };
+00069 
+00070 #endif /*MOEOREALVECTOR_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoReplacement_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoReplacement_8h-source.html new file mode 100644 index 000000000..78daf08e3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoReplacement_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoReplacement.h Source File + + + + +
+
+

moeoReplacement.h

00001 /*
+00002 * <moeoReplacement.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOREPLACEMENT_H_
+00039 #define MOEOREPLACEMENT_H_
+00040 
+00041 #include <eoReplacement.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoReplacement : public eoReplacement < MOEOT >
+00048   {};
+00049 
+00050 #endif /*MOEOREPLACEMENT_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRouletteSelect_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRouletteSelect_8h-source.html new file mode 100644 index 000000000..39859cc7d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoRouletteSelect_8h-source.html @@ -0,0 +1,102 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoRouletteSelect.h Source File + + + + +
+
+

moeoRouletteSelect.h

00001 /*
+00002 * <moeoRouletteSelect.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOROULETTESELECT_H_
+00039 #define MOEOROULETTESELECT_H_
+00040 
+00041 #include <selection/moeoSelectOne.h>
+00042 #include <selection/moeoSelectors.h>
+00043 
+00048 template < class MOEOT >
+00049 class moeoRouletteSelect:public moeoSelectOne < MOEOT >
+00050   {
+00051   public:
+00052 
+00057     moeoRouletteSelect (unsigned int _tSize = 2) : tSize (_tSize)
+00058     {
+00059       // consistency check
+00060       if (tSize < 2)
+00061         {
+00062           std::
+00063           cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n";
+00064           tSize = 2;
+00065         }
+00066     }
+00067 
+00068 
+00073     const MOEOT & operator  () (const eoPop < MOEOT > & _pop)
+00074     {
+00075       // use the selector
+00076       return mo_roulette_wheel(_pop,tSize);
+00077     }
+00078 
+00079 
+00080   protected:
+00081 
+00083     double & tSize;
+00084 
+00085   };
+00086 
+00087 #endif /*MOEOROULETTESELECT_H_ */
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoScalarFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoScalarFitnessAssignment_8h-source.html new file mode 100644 index 000000000..616ed86bf --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoScalarFitnessAssignment_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoScalarFitnessAssignment.h Source File + + + + +
+
+

moeoScalarFitnessAssignment.h

00001 /*
+00002 * <moeoScalarFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOSCALARFITNESSASSIGNMENT_H_
+00039 #define MOEOSCALARFITNESSASSIGNMENT_H_
+00040 
+00041 #include <fitness/moeoFitnessAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoScalarFitnessAssignment : public moeoFitnessAssignment < MOEOT >
+00048   {};
+00049 
+00050 #endif /*MOEOSCALARFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectFromPopAndArch_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectFromPopAndArch_8h-source.html new file mode 100644 index 000000000..8ab6084ba --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectFromPopAndArch_8h-source.html @@ -0,0 +1,118 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSelectFromPopAndArch.h Source File + + + + +
+
+

moeoSelectFromPopAndArch.h

00001 /*
+00002 * <moeoSelectFromPopAndArch.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOSELECTONEFROMPOPANDARCH_H_
+00039 #define MOEOSELECTONEFROMPOPANDARCH_H_
+00040 
+00041 #include <eoPop.h>
+00042 #include <utils/eoRNG.h>
+00043 #include <archive/moeoArchive.h>
+00044 #include <selection/moeoSelectOne.h>
+00045 #include <selection/moeoRandomSelect.h>
+00046 
+00050 template < class MOEOT >
+00051 class moeoSelectFromPopAndArch : public moeoSelectOne < MOEOT >
+00052   {
+00053   public:
+00054 
+00062     moeoSelectFromPopAndArch (moeoSelectOne < MOEOT > & _popSelectOne, moeoSelectOne < MOEOT > _archSelectOne, moeoArchive < MOEOT > & _arch, double _ratioFromPop=0.5)
+00063         : popSelectOne(_popSelectOne), archSelectOne(_archSelectOne), arch(_arch), ratioFromPop(_ratioFromPop)
+00064     {}
+00065 
+00066 
+00073     moeoSelectFromPopAndArch (moeoSelectOne < MOEOT > & _popSelectOne, moeoArchive < MOEOT > & _arch, double _ratioFromPop=0.5)
+00074         : popSelectOne(_popSelectOne), archSelectOne(randomSelectOne), arch(_arch), ratioFromPop(_ratioFromPop)
+00075     {}
+00076 
+00077 
+00081     virtual const MOEOT & operator () (const eoPop < MOEOT > & pop)
+00082     {
+00083       if (arch.size() > 0)
+00084         if (rng.flip(ratioFromPop))
+00085           return popSelectOne(pop);
+00086         else
+00087           return archSelectOne(arch);
+00088       else
+00089         return popSelectOne(pop);
+00090     }
+00091 
+00092 
+00096     virtual void setup (const eoPop < MOEOT > & _pop)
+00097     {
+00098       popSelectOne.setup(_pop);
+00099     }
+00100 
+00101 
+00102   private:
+00103 
+00105     moeoSelectOne < MOEOT > & popSelectOne;
+00107     moeoSelectOne < MOEOT > & archSelectOne;
+00109     moeoArchive < MOEOT > & arch;
+00111     double ratioFromPop;
+00113     moeoRandomSelect < MOEOT > randomSelectOne;
+00114 
+00115   };
+00116 
+00117 #endif /*MOEOSELECTONEFROMPOPANDARCH_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectOne_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectOne_8h-source.html new file mode 100644 index 000000000..c3396582f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectOne_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSelectOne.h Source File + + + + +
+
+

moeoSelectOne.h

00001 /*
+00002 * <moeoSelectOne.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOSELECTONE_H_
+00039 #define MOEOSELECTONE_H_
+00040 
+00041 #include <eoSelectOne.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoSelectOne : public eoSelectOne < MOEOT >
+00048   {};
+00049 
+00050 #endif /*MOEOSELECTONE_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectors_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectors_8h-source.html new file mode 100644 index 000000000..8e3f9f69b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSelectors_8h-source.html @@ -0,0 +1,211 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSelectors.h Source File + + + + +
+
+

moeoSelectors.h

00001 /*
+00002 * <moeoSelectors.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOSELECTORS_H_
+00039 #define MOEOSELECTORS_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 
+00043 
+00044 template <class It,class MOEOT>
+00045 It mo_deterministic_tournament(It _begin, It _end, unsigned int _t_size,moeoComparator<MOEOT>& _comparator ,eoRng& _gen = rng)
+00046 {
+00047   It best = _begin + _gen.random(_end - _begin);
+00048 
+00049   for (unsigned int i = 0; i < _t_size - 1; ++i)
+00050     {
+00051       It competitor = _begin + _gen.random(_end - _begin);
+00052       // compare the two individuals by using the comparator
+00053       if (_comparator(*best, *competitor))
+00054         // best "better" than competitor
+00055         best=competitor;
+00056     }
+00057   return best;
+00058 }
+00059 
+00060 
+00061 template <class MOEOT>
+00062 const MOEOT& mo_deterministic_tournament(const eoPop<MOEOT>& _pop, unsigned int _t_size,moeoComparator<MOEOT>& _comparator, eoRng& _gen = rng)
+00063 {
+00064   return *mo_deterministic_tournament(_pop.begin(), _pop.end(),_t_size,_comparator, _gen);
+00065 }
+00066 
+00067 
+00068 template <class MOEOT>
+00069 MOEOT& mo_deterministic_tournament(eoPop<MOEOT>& _pop, unsigned int _t_size,moeoComparator<MOEOT>& _comparator,eoRng& _gen = rng)
+00070 {
+00071   return *mo_deterministic_tournament(_pop.begin(), _pop.end(), _t_size,_comparator, _gen);
+00072 }
+00073 
+00074 
+00075 template <class It,class MOEOT>
+00076 It mo_stochastic_tournament(It _begin, It _end, double _t_rate,moeoComparator<MOEOT>& _comparator ,eoRng& _gen = rng)
+00077 {
+00078   It i1 = _begin + _gen.random(_end - _begin);
+00079   It i2 = _begin + _gen.random(_end - _begin);
+00080 
+00081   bool return_better = _gen.flip(_t_rate);
+00082 
+00083   if (_comparator(*i1, *i2))
+00084     {
+00085       if (return_better) return i2;
+00086       // else
+00087 
+00088       return i1;
+00089     }
+00090   else
+00091     {
+00092       if (return_better) return i1;
+00093       // else
+00094     }
+00095   // else
+00096 
+00097   return i2;
+00098 }
+00099 
+00100 
+00101 template <class MOEOT>
+00102 const MOEOT& mo_stochastic_tournament(const eoPop<MOEOT>& _pop, double _t_rate,moeoComparator<MOEOT>& _comparator, eoRng& _gen = rng)
+00103 {
+00104   return *mo_stochastic_tournament(_pop.begin(), _pop.end(), _t_rate,_comparator, _gen);
+00105 }
+00106 
+00107 
+00108 template <class MOEOT>
+00109 MOEOT& mo_stochastic_tournament(eoPop<MOEOT>& _pop, double _t_rate, eoRng& _gen = rng)
+00110 {
+00111   return *mo_stochastic_tournament(_pop.begin(), _pop.end(), _t_rate, _gen);
+00112 }
+00113 
+00114 
+00115 template <class It>
+00116 It mo_roulette_wheel(It _begin, It _end, double total, eoRng& _gen = rng)
+00117 {
+00118 
+00119   float roulette = _gen.uniform(total);
+00120 
+00121   if (roulette == 0.0)     // covers the case where total==0.0
+00122     return _begin + _gen.random(_end - _begin); // uniform choice
+00123 
+00124   It i = _begin;
+00125 
+00126   while (roulette > 0.0)
+00127     {
+00128       roulette -= static_cast<double>(*(i++));
+00129     }
+00130 
+00131   return --i;
+00132 }
+00133 
+00134 
+00135 template <class MOEOT>
+00136 const MOEOT& mo_roulette_wheel(const eoPop<MOEOT>& _pop, double total, eoRng& _gen = rng)
+00137 {
+00138   float roulette = _gen.uniform(total);
+00139 
+00140   if (roulette == 0.0)     // covers the case where total==0.0
+00141     return _pop[_gen.random(_pop.size())]; // uniform choice
+00142 
+00143   typename eoPop<MOEOT>::const_iterator i = _pop.begin();
+00144 
+00145   while (roulette > 0.0)
+00146     {
+00147       roulette -= static_cast<double>((i++)->fitness());
+00148     }
+00149 
+00150   return *--i;
+00151 }
+00152 
+00153 
+00154 template <class MOEOT>
+00155 MOEOT& mo_roulette_wheel(eoPop<MOEOT>& _pop, double total, eoRng& _gen = rng)
+00156 {
+00157   float roulette = _gen.uniform(total);
+00158 
+00159   if (roulette == 0.0)     // covers the case where total==0.0
+00160     return _pop[_gen.random(_pop.size())]; // uniform choice
+00161 
+00162   typename eoPop<MOEOT>::iterator i = _pop.begin();
+00163 
+00164   while (roulette > 0.0)
+00165     {
+00166       // fitness only
+00167       roulette -= static_cast<double>((i++)->fitness());
+00168     }
+00169 
+00170   return *--i;
+00171 }
+00172 
+00173 
+00174 #endif /*MOEOSELECTORS_H_*/
+00175 
+00176 
+00177 
+00178 
+00179 
+00180 
+00181 
+00182 
+00183 
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSharingDiversityAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSharingDiversityAssignment_8h-source.html new file mode 100644 index 000000000..35dfb2c8b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoSharingDiversityAssignment_8h-source.html @@ -0,0 +1,156 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoSharingDiversityAssignment.h Source File + + + + +
+
+

moeoSharingDiversityAssignment.h

00001 /*
+00002 * <moeoSharingDiversityAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOSHARINGDIVERSITYASSIGNMENT_H_
+00039 #define MOEOSHARINGDIVERSITYASSIGNMENT_H_
+00040 
+00041 #include <eoPop.h>
+00042 #include <comparator/moeoDiversityThenFitnessComparator.h>
+00043 #include <distance/moeoDistance.h>
+00044 #include <distance/moeoDistanceMatrix.h>
+00045 #include <distance/moeoEuclideanDistance.h>
+00046 #include <diversity/moeoDiversityAssignment.h>
+00047 
+00052 template < class MOEOT >
+00053 class moeoSharingDiversityAssignment : public moeoDiversityAssignment < MOEOT >
+00054   {
+00055   public:
+00056 
+00058     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00059 
+00060 
+00067     moeoSharingDiversityAssignment(moeoDistance<MOEOT,double> & _distance, double _nicheSize = 0.5, double _alpha = 1.0) : distance(_distance), nicheSize(_nicheSize), alpha(_alpha)
+00068     {}
+00069 
+00070 
+00076     moeoSharingDiversityAssignment(double _nicheSize = 0.5, double _alpha = 1.0) : distance(defaultDistance), nicheSize(_nicheSize), alpha(_alpha)
+00077     {}
+00078 
+00079 
+00084     void operator()(eoPop < MOEOT > & _pop)
+00085     {
+00086       // 1 - set simuilarities
+00087       setSimilarities(_pop);
+00088       // 2 - a higher diversity is better, so the values need to be inverted
+00089       moeoDiversityThenFitnessComparator < MOEOT > divComparator;
+00090       double max = std::max_element(_pop.begin(), _pop.end(), divComparator)->diversity();
+00091       for (unsigned int i=0 ; i<_pop.size() ; i++)
+00092         {
+00093           _pop[i].diversity(max - _pop[i].diversity());
+00094         }
+00095     }
+00096 
+00097 
+00105     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00106     {
+00107       std::cout << "WARNING : updateByDeleting not implemented in moeoSharingDiversityAssignment" << std::endl;
+00108     }
+00109 
+00110 
+00111   protected:
+00112 
+00114     moeoDistance < MOEOT , double > & distance;
+00116     moeoEuclideanDistance < MOEOT > defaultDistance;
+00118     double nicheSize;
+00120     double alpha;
+00121 
+00122 
+00127     virtual void setSimilarities(eoPop < MOEOT > & _pop)
+00128     {
+00129       // compute distances between every individuals
+00130       moeoDistanceMatrix < MOEOT , double > dMatrix (_pop.size(), distance);
+00131       dMatrix(_pop);
+00132       // compute similarities
+00133       double sum;
+00134       for (unsigned int i=0; i<_pop.size(); i++)
+00135         {
+00136           sum = 0.0;
+00137           for (unsigned int j=0; j<_pop.size(); j++)
+00138             {
+00139               sum += sh(dMatrix[i][j]);
+00140             }
+00141           _pop[i].diversity(sum);
+00142         }
+00143     }
+00144 
+00145 
+00150     double sh(double _dist)
+00151     {
+00152       double result;
+00153       if (_dist < nicheSize)
+00154         {
+00155           result = 1.0 - pow(_dist / nicheSize, alpha);
+00156         }
+00157       else
+00158         {
+00159           result = 0.0;
+00160         }
+00161       return result;
+00162     }
+00163 
+00164   };
+00165 
+00166 
+00167 #endif /*MOEOSHARINGDIVERSITYASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoStochTournamentSelect_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoStochTournamentSelect_8h-source.html new file mode 100644 index 000000000..b233d0324 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoStochTournamentSelect_8h-source.html @@ -0,0 +1,125 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoStochTournamentSelect.h Source File + + + + +
+
+

moeoStochTournamentSelect.h

00001 /*
+00002 * <moeoStochTournamentSelect.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOSTOCHTOURNAMENTSELECT_H_
+00039 #define MOEOSTOCHTOURNAMENTSELECT_H_
+00040 
+00041 #include <comparator/moeoComparator.h>
+00042 #include <comparator/moeoFitnessThenDiversityComparator.h>
+00043 #include <selection/moeoSelectOne.h>
+00044 #include <selection/moeoSelectors.h>
+00045 
+00049 template < class MOEOT > class moeoStochTournamentSelect:public moeoSelectOne <MOEOT>
+00050   {
+00051   public:
+00052 
+00058     moeoStochTournamentSelect (moeoComparator < MOEOT > & _comparator, double _tRate = 1.0) : comparator (_comparator), tRate (_tRate)
+00059     {
+00060       // consistency checks
+00061       if (tRate < 0.5)
+00062         {
+00063           std::cerr << "Warning, Tournament rate should be > 0.5\nAdjusted to 0.55\n";
+00064           tRate = 0.55;
+00065         }
+00066       if (tRate > 1)
+00067         {
+00068           std::cerr << "Warning, Tournament rate should be < 1\nAdjusted to 1\n";
+00069           tRate = 1;
+00070         }
+00071     }
+00072 
+00073 
+00078     moeoStochTournamentSelect (double _tRate = 1.0) : comparator (defaultComparator), tRate (_tRate)
+00079     {
+00080       // consistency checks
+00081       if (tRate < 0.5)
+00082         {
+00083           std::cerr << "Warning, Tournament rate should be > 0.5\nAdjusted to 0.55\n";
+00084           tRate = 0.55;
+00085         }
+00086       if (tRate > 1)
+00087         {
+00088           std::cerr << "Warning, Tournament rate should be < 1\nAdjusted to 1\n";
+00089           tRate = 1;
+00090         }
+00091     }
+00092 
+00093 
+00098     const MOEOT & operator() (const eoPop < MOEOT > &_pop)
+00099     {
+00100       // use the selector
+00101       return mo_stochastic_tournament(_pop,tRate,comparator);
+00102     }
+00103 
+00104 
+00105   protected:
+00106 
+00108     moeoComparator < MOEOT > & comparator;
+00110     moeoFitnessThenDiversityComparator < MOEOT > defaultComparator;
+00112     double tRate;
+00113 
+00114   };
+00115 
+00116 #endif /*MOEOSTOCHTOURNAMENTSELECT_H_ */
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoUnaryIndicatorBasedFitnessAssignment_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoUnaryIndicatorBasedFitnessAssignment_8h-source.html new file mode 100644 index 000000000..fb61a4a3e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoUnaryIndicatorBasedFitnessAssignment_8h-source.html @@ -0,0 +1,75 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoUnaryIndicatorBasedFitnessAssignment.h Source File + + + + +
+
+

moeoUnaryIndicatorBasedFitnessAssignment.h

00001 /*
+00002 * <moeoUnaryIndicatorBasedFitnessAssignment.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOUNARYINDICATORBASEDFITNESSASSIGNMENT_H_
+00039 #define MOEOUNARYINDICATORBASEDFITNESSASSIGNMENT_H_
+00040 
+00041 #include <fitness/moeoIndicatorBasedFitnessAssignment.h>
+00042 
+00046 template < class MOEOT >
+00047 class moeoUnaryIndicatorBasedFitnessAssignment : public moeoIndicatorBasedFitnessAssignment < MOEOT >
+00048   {};
+00049 
+00050 #endif /*MOEOINDICATORBASEDFITNESSASSIGNMENT_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoVector_8h-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoVector_8h-source.html new file mode 100644 index 000000000..a199b656c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/moeoVector_8h-source.html @@ -0,0 +1,159 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: moeoVector.h Source File + + + + +
+
+

moeoVector.h

00001 /*
+00002 * <moeoVector.h>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 
+00038 #ifndef MOEOVECTOR_H_
+00039 #define MOEOVECTOR_H_
+00040 
+00041 #include <iterator>
+00042 #include <vector>
+00043 #include <core/MOEO.h>
+00044 
+00049 template < class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType >
+00050 class moeoVector : public MOEO < MOEOObjectiveVector, MOEOFitness, MOEODiversity >, public std::vector < GeneType >
+00051   {
+00052   public:
+00053 
+00054     using MOEO < MOEOObjectiveVector, MOEOFitness, MOEODiversity > :: invalidate;
+00055     using std::vector < GeneType > :: operator[];
+00056     using std::vector < GeneType > :: begin;
+00057     using std::vector < GeneType > :: end;
+00058     using std::vector < GeneType > :: resize;
+00059     using std::vector < GeneType > :: size;
+00060 
+00062     typedef GeneType AtomType;
+00064     typedef std::vector < GeneType > ContainerType;
+00065 
+00066 
+00072     moeoVector(unsigned int _size = 0, GeneType _value = GeneType()) :
+00073         MOEO < MOEOObjectiveVector, MOEOFitness, MOEODiversity >(), std::vector<GeneType>(_size, _value)
+00074     {}
+00075 
+00076 
+00081     void value(const std::vector < GeneType > & _v)
+00082     {
+00083       if (_v.size() != size())     // safety check
+00084         {
+00085           if (size())              // NOT an initial empty std::vector
+00086             {
+00087               std::cout << "Warning: Changing size in moeoVector assignation"<<std::endl;
+00088               resize(_v.size());
+00089             }
+00090           else
+00091             {
+00092               throw std::runtime_error("Size not initialized in moeoVector");
+00093             }
+00094         }
+00095       std::copy(_v.begin(), _v.end(), begin());
+00096       invalidate();
+00097     }
+00098 
+00099 
+00104     bool operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType> & _moeo) const
+00105       {
+00106         return MOEO < MOEOObjectiveVector, MOEOFitness, MOEODiversity >::operator<(_moeo);
+00107       }
+00108 
+00109 
+00114     virtual void printOn(std::ostream & _os) const
+00115       {
+00116         MOEO < MOEOObjectiveVector, MOEOFitness, MOEODiversity >::printOn(_os);
+00117         _os << ' ';
+00118         _os << size() << ' ';
+00119         std::copy(begin(), end(), std::ostream_iterator<AtomType>(_os, " "));
+00120       }
+00121 
+00122 
+00127     virtual void readFrom(std::istream & _is)
+00128     {
+00129       MOEO < MOEOObjectiveVector, MOEOFitness, MOEODiversity >::readFrom(_is);
+00130       unsigned int sz;
+00131       _is >> sz;
+00132       resize(sz);
+00133       unsigned int i;
+00134       for (i = 0; i < sz; ++i)
+00135         {
+00136           AtomType atom;
+00137           _is >> atom;
+00138           operator[](i) = atom;
+00139         }
+00140     }
+00141 
+00142   };
+00143 
+00144 
+00150 template < class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType >
+00151 bool operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType> & _moeo1, const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType> & _moeo2)
+00152 {
+00153   return _moeo1.operator<(_moeo2);
+00154 }
+00155 
+00156 
+00162 template < class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity, class GeneType >
+00163 bool operator>(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType> & _moeo1, const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType> & _moeo2)
+00164 {
+00165   return _moeo1.operator>(_moeo2);
+00166 }
+00167 
+00168 #endif /*MOEOVECTOR_H_*/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/search.idx b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/search.idx new file mode 100644 index 000000000..1a34d7465 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/search.idx differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/search.php b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/search.php new file mode 100644 index 000000000..6378c4f39 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/search.php @@ -0,0 +1,381 @@ + + +Search + + + + +
+
    +
  • Main Page
  • +
  • Classes
  • +
  • Files
  • +
  • +
    + + + + +1 document matching your query."; + } + else // $num>1 + { + return "Found $num documents matching your query. Showing best matches first."; + } +} + +function report_matches() +{ + return "Matches: "; +} +function end_form($value) +{ + echo " \n \n
    \n
    \n
  • \n
\n
\n"; +} + +function readInt($file) +{ + $b1 = ord(fgetc($file)); $b2 = ord(fgetc($file)); + $b3 = ord(fgetc($file)); $b4 = ord(fgetc($file)); + return ($b1<<24)|($b2<<16)|($b3<<8)|$b4; +} + +function readString($file) +{ + $result=""; + while (ord($c=fgetc($file))) $result.=$c; + return $result; +} + +function readHeader($file) +{ + $header =fgetc($file); $header.=fgetc($file); + $header.=fgetc($file); $header.=fgetc($file); + return $header; +} + +function computeIndex($word) +{ + // Fast string hashing + //$lword = strtolower($word); + //$l = strlen($lword); + //for ($i=0;$i<$l;$i++) + //{ + // $c = ord($lword{$i}); + // $v = (($v & 0xfc00) ^ ($v << 6) ^ $c) & 0xffff; + //} + //return $v; + + // Simple hashing that allows for substring search + if (strlen($word)<2) return -1; + // high char of the index + $hi = ord($word{0}); + if ($hi==0) return -1; + // low char of the index + $lo = ord($word{1}); + if ($lo==0) return -1; + // return index + return $hi*256+$lo; +} + +function search($file,$word,&$statsList) +{ + $index = computeIndex($word); + if ($index!=-1) // found a valid index + { + fseek($file,$index*4+4); // 4 bytes per entry, skip header + $index = readInt($file); + if ($index) // found words matching the hash key + { + $start=sizeof($statsList); + $count=$start; + fseek($file,$index); + $w = readString($file); + while ($w) + { + $statIdx = readInt($file); + if ($word==substr($w,0,strlen($word))) + { // found word that matches (as substring) + $statsList[$count++]=array( + "word"=>$word, + "match"=>$w, + "index"=>$statIdx, + "full"=>strlen($w)==strlen($word), + "docs"=>array() + ); + } + $w = readString($file); + } + $totalHi=0; + $totalFreqHi=0; + $totalFreqLo=0; + for ($count=$start;$count $idx, + "freq" => $freq>>1, + "rank" => 0.0, + "hi" => $freq&1 + ); + if ($freq&1) // word occurs in high priority doc + { + $totalHi++; + $totalFreqHi+=$freq*$multiplier; + } + else // word occurs in low priority doc + { + $totalFreqLo+=$freq*$multiplier; + } + } + // read name and url info for the doc + for ($i=0;$i<$numDocs;$i++) + { + fseek($file,$docInfo[$i]["idx"]); + $docInfo[$i]["name"]=readString($file); + $docInfo[$i]["url"]=readString($file); + } + $statInfo["docs"]=$docInfo; + } + $totalFreq=($totalHi+1)*$totalFreqLo + $totalFreqHi; + for ($count=$start;$count$key, + "name"=>$di["name"], + "rank"=>$rank + ); + } + $docs[$key]["words"][] = array( + "word"=>$wordInfo["word"], + "match"=>$wordInfo["match"], + "freq"=>$di["freq"] + ); + } + } + return $docs; +} + +function filter_results($docs,&$requiredWords,&$forbiddenWords) +{ + $filteredDocs=array(); + while (list ($key, $val) = each ($docs)) + { + $words = &$docs[$key]["words"]; + $copy=1; // copy entry by default + if (sizeof($requiredWords)>0) + { + foreach ($requiredWords as $reqWord) + { + $found=0; + foreach ($words as $wordInfo) + { + $found = $wordInfo["word"]==$reqWord; + if ($found) break; + } + if (!$found) + { + $copy=0; // document contains none of the required words + break; + } + } + } + if (sizeof($forbiddenWords)>0) + { + foreach ($words as $wordInfo) + { + if (in_array($wordInfo["word"],$forbiddenWords)) + { + $copy=0; // document contains a forbidden word + break; + } + } + } + if ($copy) $filteredDocs[$key]=$docs[$key]; + } + return $filteredDocs; +} + +function compare_rank($a,$b) +{ + if ($a["rank"] == $b["rank"]) + { + return 0; + } + return ($a["rank"]>$b["rank"]) ? -1 : 1; +} + +function sort_results($docs,&$sorted) +{ + $sorted = $docs; + usort($sorted,"compare_rank"); + return $sorted; +} + +function report_results(&$docs) +{ + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + $numDocs = sizeof($docs); + if ($numDocs==0) + { + echo " \n"; + echo " \n"; + echo " \n"; + } + else + { + echo " \n"; + echo " \n"; + echo " \n"; + $num=1; + foreach ($docs as $doc) + { + echo " \n"; + echo " "; + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + $num++; + } + } + echo "

".search_results()."

".matches_text(0)."
".matches_text($numDocs); + echo "\n"; + echo "
$num.".$doc["name"]."
".report_matches()." "; + foreach ($doc["words"] as $wordInfo) + { + $word = $wordInfo["word"]; + $matchRight = substr($wordInfo["match"],strlen($word)); + echo "$word$matchRight(".$wordInfo["freq"].") "; + } + echo "
\n"; +} + +function main() +{ + if(strcmp('4.1.0', phpversion()) > 0) + { + die("Error: PHP version 4.1.0 or above required!"); + } + if (!($file=fopen("search.idx","rb"))) + { + die("Error: Search index file could NOT be opened!"); + } + if (readHeader($file)!="DOXS") + { + die("Error: Header of index file is invalid!"); + } + $query=""; + if (array_key_exists("query", $_GET)) + { + $query=$_GET["query"]; + } + end_form($query); + echo " \n
\n"; + $results = array(); + $requiredWords = array(); + $forbiddenWords = array(); + $foundWords = array(); + $word=strtok($query," "); + while ($word) // for each word in the search query + { + if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; } + if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; } + if (!in_array($word,$foundWords)) + { + $foundWords[]=$word; + search($file,strtolower($word),$results); + } + $word=strtok(" "); + } + $docs = array(); + combine_results($results,$docs); + // filter out documents with forbidden word or that do not contain + // required words + $filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords); + // sort the results based on rank + $sorted = array(); + sort_results($filteredDocs,$sorted); + // report results to the user + report_results($sorted); + echo "
\n"; + fclose($file); +} + +main(); + + +?> +
Generated on Thu Mar 13 09:42:21 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoAchievementFitnessAssignment_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoAchievementFitnessAssignment_8cpp-source.html new file mode 100644 index 000000000..bae9a2227 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoAchievementFitnessAssignment_8cpp-source.html @@ -0,0 +1,175 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoAchievementFitnessAssignment.cpp Source File + + + + +
+
+

t-moeoAchievementFitnessAssignment.cpp

00001 /*
+00002 * <t-moeoAchievementFitnessAssignment.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoAchievementFitnessAssignment.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef MOEO < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070     std::cout << "[moeoAchievementFitnessAssignment]\t=>\t";
+00071 
+00072     // objective vectors
+00073     ObjectiveVector obj0, obj1, obj2, obj3, obj4, obj5;
+00074     obj0[0] = 2;
+00075     obj0[1] = 5;
+00076     obj1[0] = 3;
+00077     obj1[1] = 3;
+00078     obj2[0] = 4;
+00079     obj2[1] = 1;
+00080     obj3[0] = 5;
+00081     obj3[1] = 5;
+00082     obj4[0] = 5;
+00083     obj4[1] = 1;
+00084     obj5[0] = 3;
+00085     obj5[1] = 3;
+00086 
+00087     // population
+00088     eoPop < Solution > pop;
+00089     pop.resize(6);
+00090     pop[0].objectiveVector(obj0);
+00091     pop[1].objectiveVector(obj1);
+00092     pop[2].objectiveVector(obj2);
+00093     pop[3].objectiveVector(obj3);
+00094     pop[4].objectiveVector(obj4);
+00095     pop[5].objectiveVector(obj5);
+00096 
+00097     // reference point
+00098     ObjectiveVector ref;
+00099     ref[0] = 3;
+00100     ref[1] = 2;
+00101 
+00102     // fitness assignment
+00103     moeoAchievementFitnessAssignment< Solution > fitnessAssignment(ref, 0.0);
+00104     fitnessAssignment(pop);
+00105 
+00106     // pop[0]
+00107     if (pop[0].fitness() != -1.5)
+00108     {
+00109         std::cout << "ERROR (bad fitness for pop[0])" << std::endl;
+00110         return EXIT_FAILURE;
+00111     }
+00112     // pop[1]
+00113     if (pop[1].fitness() != -0.5)
+00114     {
+00115         std::cout << "ERROR (bad fitness for pop[1])" << std::endl;
+00116         return EXIT_FAILURE;
+00117     }
+00118     // pop[2]
+00119     if (pop[2].fitness() != -0.5)
+00120     {
+00121         std::cout << "ERROR (bad fitness for pop[2])" << std::endl;
+00122         return EXIT_FAILURE;
+00123     }
+00124     // pop[3]
+00125     if (pop[3].fitness() != -1.5)
+00126     {
+00127         std::cout << "ERROR (bad fitness for pop[3]) " << std::endl;
+00128         return EXIT_FAILURE;
+00129     }
+00130     // pop[4]
+00131     if (pop[4].fitness() != -1.0)
+00132     {
+00133         std::cout << "ERROR (bad fitness for pop[4])" << std::endl;
+00134         return EXIT_FAILURE;
+00135     }
+00136     // pop[5]
+00137     if (pop[5].fitness() != -0.5)
+00138     {
+00139         std::cout << "ERROR (bad fitness for pop[5])" << std::endl;
+00140         return EXIT_FAILURE;
+00141     }
+00142 
+00143     std::cout << "OK" << std::endl;
+00144     return EXIT_SUCCESS;
+00145 }
+00146 
+00147 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoAggregativeComparator_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoAggregativeComparator_8cpp-source.html new file mode 100644 index 000000000..5d678a727 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoAggregativeComparator_8cpp-source.html @@ -0,0 +1,109 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoAggregativeComparator.cpp Source File + + + + +
+
+

t-moeoAggregativeComparator.cpp

00001 /*
+00002 * <t-moeoAggregativeComparator.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoAggregativeComparator.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 typedef MOEO < double, double, double > Solution;
+00046 
+00047 //-----------------------------------------------------------------------------
+00048 
+00049 int main()
+00050 {
+00051     std::cout << "[moeoAggregativeComparator]\t=>\t";
+00052 
+00053     // fitness & diversity
+00054     double fit1 = 1.0;
+00055     double div1 = 2.0;
+00056     double fit2 = 3.0;
+00057     double div2 = 1.0;
+00058 
+00059     // solutions
+00060     Solution sol1;
+00061     sol1.fitness(fit1);
+00062     sol1.diversity(div1);
+00063     Solution sol2;
+00064     sol2.fitness(fit2);
+00065     sol2.diversity(div2);
+00066 
+00067     // comparator
+00068     moeoAggregativeComparator < Solution > comparator;
+00069 
+00070     // sol1 not better than sol2?
+00071     if (! comparator(sol1, sol2))
+00072     {
+00073         std::cout << "ERROR (sol1 must be better)" << std::endl;
+00074         return EXIT_FAILURE;
+00075     }
+00076 
+00077     std::cout << "OK" << std::endl;
+00078     return EXIT_SUCCESS;
+00079 }
+00080 
+00081 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoArchive_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoArchive_8cpp-source.html new file mode 100644 index 000000000..878b398ff --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoArchive_8cpp-source.html @@ -0,0 +1,176 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoArchive.cpp Source File + + + + +
+
+

t-moeoArchive.cpp

00001 /*
+00002 * <t-moeoArchive.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoArchive.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef MOEO < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070     std::cout << "[moeoArchive]\t=>\t";
+00071 
+00072     // objective vectors
+00073     ObjectiveVector obj0, obj1, obj2, obj3, obj4, obj5;
+00074     obj0[0] = 2;
+00075     obj0[1] = 5;
+00076     obj1[0] = 3;
+00077     obj1[1] = 3;
+00078     obj2[0] = 4;
+00079     obj2[1] = 1;
+00080     obj3[0] = 5;
+00081     obj3[1] = 5;
+00082     obj4[0] = 5;
+00083     obj4[1] = 1;
+00084     obj5[0] = 3;
+00085     obj5[1] = 3;
+00086 
+00087     // population
+00088     eoPop < Solution > pop;
+00089     pop.resize(6);
+00090     pop[0].objectiveVector(obj0);
+00091     pop[1].objectiveVector(obj1);
+00092     pop[2].objectiveVector(obj2);
+00093     pop[3].objectiveVector(obj3);
+00094     pop[4].objectiveVector(obj4);
+00095     pop[5].objectiveVector(obj5);
+00096 
+00097     // archive
+00098     moeoArchive< Solution > arch;
+00099     arch.update(pop);
+00100 
+00101     // size
+00102     if (arch.size() != 3)
+00103     {
+00104         std::cout << "ERROR (too much solutions)" << std::endl;
+00105         return EXIT_FAILURE;
+00106     }
+00107     // obj0 must be in
+00108     if (! arch.contains(obj0))
+00109     {
+00110         std::cout << "ERROR (obj0 not in)" << std::endl;
+00111         return EXIT_FAILURE;
+00112     }
+00113     // obj1 must be in
+00114     if (! arch.contains(obj1))
+00115     {
+00116         std::cout << "ERROR (obj1 not in)" << std::endl;
+00117         return EXIT_FAILURE;
+00118     }
+00119     // obj2 must be in
+00120     if (! arch.contains(obj2))
+00121     {
+00122         std::cout << "ERROR (obj2 not in)" << std::endl;
+00123         return EXIT_FAILURE;
+00124     }
+00125     // obj3 must be out
+00126     if (arch.contains(obj3))
+00127     {
+00128         std::cout << "ERROR (obj3 in)" << std::endl;
+00129         return EXIT_FAILURE;
+00130     }
+00131     // obj4 must be out
+00132     if (arch.contains(obj4))
+00133     {
+00134         std::cout << "ERROR (obj4 in)" << std::endl;
+00135         return EXIT_FAILURE;
+00136     }
+00137     // obj5 must be in
+00138     if (! arch.contains(obj5))
+00139     {
+00140         std::cout << "ERROR (obj5 not in)" << std::endl;
+00141         return EXIT_FAILURE;
+00142     }
+00143 
+00144     std::cout << "OK" << std::endl;
+00145     return EXIT_SUCCESS;
+00146 }
+00147 
+00148 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoBitVector_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoBitVector_8cpp-source.html new file mode 100644 index 000000000..2b6f3586c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoBitVector_8cpp-source.html @@ -0,0 +1,109 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoBitVector.cpp Source File + + + + +
+
+

t-moeoBitVector.cpp

00001 /*
+00002 * <t-moeoBitVector.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoBitVector.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef moeoBitVector < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070 
+00071     std::cout << "[moeoBitVector]\t=>\t";
+00072 
+00073     // solutions
+00074     Solution sol1, sol2;
+00075 
+00076     std::cout << "OK" << std::endl;
+00077     return EXIT_SUCCESS;
+00078 
+00079 }
+00080 
+00081 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoCrowdingDiversityAssignment_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoCrowdingDiversityAssignment_8cpp-source.html new file mode 100644 index 000000000..5062be636 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoCrowdingDiversityAssignment_8cpp-source.html @@ -0,0 +1,152 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoCrowdingDiversityAssignment.cpp Source File + + + + +
+
+

t-moeoCrowdingDiversityAssignment.cpp

00001 /*
+00002 * <t-moeoCrowdingDiversityAssignment.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoCrowdingDiversityAssignment.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef MOEO < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070     std::cout << "[moeoCrowdingDiversityAssignment]\t=>\t";
+00071 
+00072     // objective vectors
+00073     ObjectiveVector obj0, obj1, obj2, obj3;
+00074     obj0[0] = 1;
+00075     obj0[1] = 5;
+00076     obj1[0] = 3;
+00077     obj1[1] = 3;
+00078     obj2[0] = 3;
+00079     obj2[1] = 3;
+00080     obj3[0] = 5;
+00081     obj3[1] = 1;
+00082 
+00083     // population
+00084     eoPop < Solution > pop;
+00085     pop.resize(4);
+00086     pop[0].objectiveVector(obj0);
+00087     pop[1].objectiveVector(obj1);
+00088     pop[2].objectiveVector(obj2);
+00089     pop[3].objectiveVector(obj3);
+00090 
+00091     // diversity assignment
+00092     moeoCrowdingDiversityAssignment< Solution > diversityAssignment;
+00093     diversityAssignment(pop);
+00094 
+00095     // pop[0]
+00096     if (pop[0].diversity() != diversityAssignment.inf())
+00097     {
+00098         std::cout << "ERROR (bad diversity for pop[0])" << std::endl;
+00099         return EXIT_FAILURE;
+00100     }
+00101     // pop[1]
+00102     if (pop[1].diversity() != 1.0)
+00103     {
+00104         std::cout << "ERROR (bad diversity for pop[1])" << std::endl;
+00105         return EXIT_FAILURE;
+00106     }
+00107     // pop[2]
+00108     if (pop[2].diversity() != 1.0)
+00109     {
+00110         std::cout << "ERROR (bad diversity for pop[2])" << std::endl;
+00111         return EXIT_FAILURE;
+00112     }
+00113     // pop[3]
+00114     if (pop[3].diversity() != diversityAssignment.inf())
+00115     {
+00116         std::cout << "ERROR (bad diversity for pop[3]) " << std::endl;
+00117         return EXIT_FAILURE;
+00118     }
+00119 
+00120     std::cout << "OK" << std::endl;
+00121     return EXIT_SUCCESS;
+00122 }
+00123 
+00124 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoDiversityThenFitnessComparator_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoDiversityThenFitnessComparator_8cpp-source.html new file mode 100644 index 000000000..f9bac4e60 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoDiversityThenFitnessComparator_8cpp-source.html @@ -0,0 +1,109 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoDiversityThenFitnessComparator.cpp Source File + + + + +
+
+

t-moeoDiversityThenFitnessComparator.cpp

00001 /*
+00002 * <t-moeoDiversityThenFitnessComparator.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoDiversityThenFitnessComparator.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 typedef MOEO < double, double, double > Solution;
+00046 
+00047 //-----------------------------------------------------------------------------
+00048 
+00049 int main()
+00050 {
+00051     std::cout << "[moeoDiversityThenFitnessComparator]\t=>\t";
+00052 
+00053     // fitness & diversity
+00054     double fit1 = 1.0;
+00055     double div1 = 2.0;
+00056     double fit2 = 3.0;
+00057     double div2 = 1.0;
+00058 
+00059     // solutions
+00060     Solution sol1;
+00061     sol1.fitness(fit1);
+00062     sol1.diversity(div1);
+00063     Solution sol2;
+00064     sol2.fitness(fit2);
+00065     sol2.diversity(div2);
+00066 
+00067     // comparator
+00068     moeoDiversityThenFitnessComparator < Solution > comparator;
+00069 
+00070     // sol1 better than sol2?
+00071     if (comparator(sol1, sol2))
+00072     {
+00073         std::cout << "ERROR (sol2 must be better)" << std::endl;
+00074         return EXIT_FAILURE;
+00075     }
+00076 
+00077     std::cout << "OK" << std::endl;
+00078     return EXIT_SUCCESS;
+00079 }
+00080 
+00081 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoEasyEA_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoEasyEA_8cpp-source.html new file mode 100644 index 000000000..d488b7ff2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoEasyEA_8cpp-source.html @@ -0,0 +1,149 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoEasyEA.cpp Source File + + + + +
+
+

t-moeoEasyEA.cpp

00001 /*
+00002 * <t-moeoEasyEA.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoEasyEA.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <es/eoRealInitBounded.h>
+00042 #include <es/eoRealOp.h>
+00043 #include <moeo>
+00044 
+00045 //-----------------------------------------------------------------------------
+00046 
+00047 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00048 {
+00049 public:
+00050     static bool minimizing (int i)
+00051     {
+00052         return true;
+00053     }
+00054     static bool maximizing (int i)
+00055     {
+00056         return false;
+00057     }
+00058     static unsigned int nObjectives ()
+00059     {
+00060         return 2;
+00061     }
+00062 };
+00063 
+00064 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00065 
+00066 class Solution : public moeoRealVector < ObjectiveVector, double, double >
+00067 {
+00068 public:
+00069     Solution() : moeoRealVector < ObjectiveVector, double, double > (1) {}
+00070 };
+00071 
+00072 class TestEval : public moeoEvalFunc < Solution >
+00073 {
+00074 public:
+00075     void operator () (Solution & _sol)
+00076     {
+00077         ObjectiveVector objVec;
+00078         objVec[0] = _sol[0];
+00079         objVec[1] = _sol[0] * _sol[0];
+00080         _sol.objectiveVector(objVec);
+00081     }
+00082 };
+00083 
+00084 //-----------------------------------------------------------------------------
+00085 
+00086 int main()
+00087 {
+00088     std::cout << "[moeoEasyEA]" << std::endl;
+00089 
+00090     TestEval eval;
+00091     eoQuadCloneOp < Solution > xover;
+00092     eoUniformMutation < Solution > mutation(0.05);
+00093     eoSequentialOp < Solution > op;
+00094     op.add(xover, 1.0);
+00095     op.add(mutation, 1.0);
+00096     eoRealVectorBounds bounds(1, 1.0, 2.0);
+00097     eoRealInitBounded < Solution > init(bounds);
+00098     eoPop < Solution > pop(20, init);
+00099     eoGenContinue < Solution > term(20);
+00100     moeoFastNonDominatedSortingFitnessAssignment < Solution > fitnessAssignment;
+00101     moeoFrontByFrontCrowdingDiversityAssignment < Solution > diversityAssignment;
+00102     moeoFitnessThenDiversityComparator < Solution > comparator;
+00103     moeoDetTournamentSelect < Solution > select(comparator, 2);
+00104     moeoElitistReplacement < Solution > replace(fitnessAssignment, diversityAssignment, comparator);
+00105     eoGeneralBreeder < Solution > breed(select, op);
+00106 
+00107     // build EA
+00108     moeoEasyEA < Solution > algo (term, eval, breed, replace, fitnessAssignment, diversityAssignment);
+00109 
+00110     // run the algo
+00111     algo(pop);
+00112 
+00113     // final pop
+00114     std::cout << "Final population" << std::endl;
+00115     std::cout << pop << std::endl;
+00116 
+00117     std::cout << "[moeoEasyEA] OK" << std::endl;
+00118     return EXIT_SUCCESS;
+00119 }
+00120 
+00121 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoExpBinaryIndicatorBasedFitnessAssignment_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoExpBinaryIndicatorBasedFitnessAssignment_8cpp-source.html new file mode 100644 index 000000000..ff402e4c7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoExpBinaryIndicatorBasedFitnessAssignment_8cpp-source.html @@ -0,0 +1,173 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp Source File + + + + +
+
+

t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp

00001 /*
+00002 * <t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef MOEO < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070     std::cout << "[moeoExpBinaryIndicatorBasedFitnessAssignment]\t=>\t";
+00071 
+00072     // objective vectors
+00073     ObjectiveVector obj0, obj1, obj2, obj3, obj4, obj5;
+00074     obj0[0] = 2;
+00075     obj0[1] = 5;
+00076     obj1[0] = 3;
+00077     obj1[1] = 3;
+00078     obj2[0] = 4;
+00079     obj2[1] = 1;
+00080     obj3[0] = 5;
+00081     obj3[1] = 5;
+00082     obj4[0] = 5;
+00083     obj4[1] = 1;
+00084     obj5[0] = 3;
+00085     obj5[1] = 3;
+00086 
+00087     // population
+00088     eoPop < Solution > pop;
+00089     pop.resize(6);
+00090     pop[0].objectiveVector(obj0);
+00091     pop[1].objectiveVector(obj1);
+00092     pop[2].objectiveVector(obj2);
+00093     pop[3].objectiveVector(obj3);
+00094     pop[4].objectiveVector(obj4);
+00095     pop[5].objectiveVector(obj5);
+00096 
+00097     // indicator
+00098     moeoAdditiveEpsilonBinaryMetric < ObjectiveVector > indicator;
+00099 
+00100     // fitness assignment
+00101     moeoExpBinaryIndicatorBasedFitnessAssignment< Solution > fitnessAssignment(indicator, 0.5);
+00102     fitnessAssignment(pop);
+00103 
+00104     // pop[0]
+00105     if ( (pop[0].fitness() > -1.56) || (pop[0].fitness() < -1.57) )
+00106     {
+00107         std::cout << "ERROR (bad fitness for pop[0])" << std::endl;
+00108         return EXIT_FAILURE;
+00109     }
+00110     // pop[1]
+00111     if ( (pop[1].fitness() > -2.40) || (pop[1].fitness() < -2.41) )
+00112     {
+00113         std::cout << "ERROR (bad fitness for pop[1])" << std::endl;
+00114         return EXIT_FAILURE;
+00115     }
+00116     // pop[2]
+00117     if ( (pop[2].fitness() > -1.51) || (pop[2].fitness() < -1.52) )
+00118     {
+00119         std::cout << "ERROR (bad fitness for pop[2])" << std::endl;
+00120         return EXIT_FAILURE;
+00121     }
+00122     // pop[3]
+00123     if ( (pop[3].fitness() > -9.38) || (pop[3].fitness() < -9.39) )
+00124     {
+00125         std::cout << "ERROR (bad fitness for pop[3]) " << std::endl;
+00126         return EXIT_FAILURE;
+00127     }
+00128     // pop[4]
+00129     if ( (pop[4].fitness() > -2.00) || (pop[4].fitness() < -2.01) )
+00130     {
+00131         std::cout << "ERROR (bad fitness for pop[4])" << std::endl;
+00132         return EXIT_FAILURE;
+00133     }
+00134     // pop[5]
+00135     if ( (pop[5].fitness() > -2.40) || (pop[5].fitness() < -2.41) )
+00136     {
+00137         std::cout << "ERROR (bad fitness for pop[5])" << std::endl;
+00138         return EXIT_FAILURE;
+00139     }
+00140 
+00141     std::cout << "OK" << std::endl;
+00142     return EXIT_SUCCESS;
+00143 }
+00144 
+00145 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoFastNonDominatedSortingFitnessAssignment_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoFastNonDominatedSortingFitnessAssignment_8cpp-source.html new file mode 100644 index 000000000..8878edd24 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoFastNonDominatedSortingFitnessAssignment_8cpp-source.html @@ -0,0 +1,170 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoFastNonDominatedSortingFitnessAssignment.cpp Source File + + + + +
+
+

t-moeoFastNonDominatedSortingFitnessAssignment.cpp

00001 /*
+00002 * <t-moeoFastNonDominatedSortingFitnessAssignment.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoFastNonDominatedSortingFitnessAssignment.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef MOEO < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070     std::cout << "[moeoFastNonDominatedSortingFitnessAssignment]\t=>\t";
+00071 
+00072     // objective vectors
+00073     ObjectiveVector obj0, obj1, obj2, obj3, obj4, obj5;
+00074     obj0[0] = 2;
+00075     obj0[1] = 5;
+00076     obj1[0] = 3;
+00077     obj1[1] = 3;
+00078     obj2[0] = 4;
+00079     obj2[1] = 1;
+00080     obj3[0] = 5;
+00081     obj3[1] = 5;
+00082     obj4[0] = 5;
+00083     obj4[1] = 1;
+00084     obj5[0] = 3;
+00085     obj5[1] = 3;
+00086 
+00087     // population
+00088     eoPop < Solution > pop;
+00089     pop.resize(6);
+00090     pop[0].objectiveVector(obj0);    // class 1
+00091     pop[1].objectiveVector(obj1);    // class 1
+00092     pop[2].objectiveVector(obj2);    // class 1
+00093     pop[3].objectiveVector(obj3);    // class 3
+00094     pop[4].objectiveVector(obj4);    // class 2
+00095     pop[5].objectiveVector(obj5);    // class 1
+00096 
+00097     // fitness assignment
+00098     moeoFastNonDominatedSortingFitnessAssignment< Solution > fitnessAssignment;
+00099     fitnessAssignment(pop);
+00100 
+00101     // pop[0]
+00102     if (pop[0].fitness() != 2.0)
+00103     {
+00104         std::cout << "ERROR (bad fitness for pop[0])" << std::endl;
+00105         return EXIT_FAILURE;
+00106     }
+00107     // pop[1]
+00108     if (pop[1].fitness() != 2.0)
+00109     {
+00110         std::cout << "ERROR (bad fitness for pop[1])" << std::endl;
+00111         return EXIT_FAILURE;
+00112     }
+00113     // pop[2]
+00114     if (pop[2].fitness() != 2.0)
+00115     {
+00116         std::cout << "ERROR (bad fitness for pop[2])" << std::endl;
+00117         return EXIT_FAILURE;
+00118     }
+00119     // pop[3]
+00120     if (pop[3].fitness() != 0.0)
+00121     {
+00122         std::cout << "ERROR (bad fitness for pop[3]) " << std::endl;
+00123         return EXIT_FAILURE;
+00124     }
+00125     // pop[4]
+00126     if (pop[4].fitness() != 1.0)
+00127     {
+00128         std::cout << "ERROR (bad fitness for pop[4])" << std::endl;
+00129         return EXIT_FAILURE;
+00130     }
+00131     // pop[5]
+00132     if (pop[5].fitness() != 2.0)
+00133     {
+00134         std::cout << "ERROR (bad fitness for pop[5])" << std::endl;
+00135         return EXIT_FAILURE;
+00136     }
+00137 
+00138     std::cout << "OK" << std::endl;
+00139     return EXIT_SUCCESS;
+00140 }
+00141 
+00142 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoFitnessThenDiversityComparator_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoFitnessThenDiversityComparator_8cpp-source.html new file mode 100644 index 000000000..1c2341c44 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoFitnessThenDiversityComparator_8cpp-source.html @@ -0,0 +1,109 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoFitnessThenDiversityComparator.cpp Source File + + + + +
+
+

t-moeoFitnessThenDiversityComparator.cpp

00001 /*
+00002 * <t-moeoFitnessThenDiversityComparator.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoFitnessThenDiversityComparator.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 typedef MOEO < double, double, double > Solution;
+00046 
+00047 //-----------------------------------------------------------------------------
+00048 
+00049 int main()
+00050 {
+00051     std::cout << "[moeoFitnessThenDiversityComparator]\t=>\t";
+00052 
+00053     // fitness & diversity
+00054     double fit1 = 1.0;
+00055     double div1 = 2.0;
+00056     double fit2 = 3.0;
+00057     double div2 = 1.0;
+00058 
+00059     // solutions
+00060     Solution sol1;
+00061     sol1.fitness(fit1);
+00062     sol1.diversity(div1);
+00063     Solution sol2;
+00064     sol2.fitness(fit2);
+00065     sol2.diversity(div2);
+00066 
+00067     // comparator
+00068     moeoFitnessThenDiversityComparator < Solution > comparator;
+00069 
+00070     // sol1 not better than sol2?
+00071     if (! comparator(sol1, sol2))
+00072     {
+00073         std::cout << "ERROR (sol1 must be better)" << std::endl;
+00074         return EXIT_FAILURE;
+00075     }
+00076 
+00077     std::cout << "OK" << std::endl;
+00078     return EXIT_SUCCESS;
+00079 }
+00080 
+00081 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoIBEA_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoIBEA_8cpp-source.html new file mode 100644 index 000000000..61c754499 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoIBEA_8cpp-source.html @@ -0,0 +1,143 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoIBEA.cpp Source File + + + + +
+
+

t-moeoIBEA.cpp

00001 /*
+00002 * <t-moeoIBEA.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoIBEA.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <es/eoRealInitBounded.h>
+00042 #include <es/eoRealOp.h>
+00043 #include <moeo>
+00044 
+00045 //-----------------------------------------------------------------------------
+00046 
+00047 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00048 {
+00049 public:
+00050     static bool minimizing (int i)
+00051     {
+00052         return true;
+00053     }
+00054     static bool maximizing (int i)
+00055     {
+00056         return false;
+00057     }
+00058     static unsigned int nObjectives ()
+00059     {
+00060         return 2;
+00061     }
+00062 };
+00063 
+00064 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00065 
+00066 class Solution : public moeoRealVector < ObjectiveVector, double, double >
+00067 {
+00068 public:
+00069     Solution() : moeoRealVector < ObjectiveVector, double, double > (1) {}
+00070 };
+00071 
+00072 class TestEval : public moeoEvalFunc < Solution >
+00073 {
+00074 public:
+00075     void operator () (Solution & _sol)
+00076     {
+00077         ObjectiveVector objVec;
+00078         objVec[0] = _sol[0];
+00079         objVec[1] = _sol[0] * _sol[0];
+00080         _sol.objectiveVector(objVec);
+00081     }
+00082 };
+00083 
+00084 //-----------------------------------------------------------------------------
+00085 
+00086 int main()
+00087 {
+00088     std::cout << "[moeoIBEA]" << std::endl;
+00089 
+00090     TestEval eval;
+00091     eoQuadCloneOp < Solution > xover;
+00092     eoUniformMutation < Solution > mutation(0.05);
+00093 
+00094     eoRealVectorBounds bounds(1, 1.0, 2.0);
+00095     eoRealInitBounded < Solution > init(bounds);
+00096     eoPop < Solution > pop(20, init);
+00097 
+00098     // indicator
+00099     moeoAdditiveEpsilonBinaryMetric < ObjectiveVector > indicator;
+00100 
+00101     // build IBEA
+00102     moeoIBEA < Solution > nsgaII(20, eval, xover, 1.0, mutation, 1.0, indicator);
+00103 
+00104     // run the algo
+00105     nsgaII(pop);
+00106 
+00107     // final pop
+00108     std::cout << "Final population" << std::endl;
+00109     std::cout << pop << std::endl;
+00110 
+00111     std::cout << "[moeoIBEA] OK" << std::endl;
+00112     return EXIT_SUCCESS;
+00113 }
+00114 
+00115 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoMax3Obj_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoMax3Obj_8cpp-source.html new file mode 100644 index 000000000..c750dced0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoMax3Obj_8cpp-source.html @@ -0,0 +1,141 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoMax3Obj.cpp Source File + + + + +
+
+

t-moeoMax3Obj.cpp

00001 /*
+00002 * <t-moeoNSGAII.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoNSGAII.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <es/eoRealInitBounded.h>
+00042 #include <es/eoRealOp.h>
+00043 #include <moeo>
+00044 
+00045 //-----------------------------------------------------------------------------
+00046 
+00047 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00048 {
+00049 public:
+00050     static bool minimizing (int i)
+00051     {
+00052         return false;
+00053     }
+00054     static bool maximizing (int i)
+00055     {
+00056         return true;
+00057     }
+00058     static unsigned int nObjectives ()
+00059     {
+00060         return 3;
+00061     }
+00062 };
+00063 
+00064 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00065 
+00066 class Solution : public moeoRealVector < ObjectiveVector, double, double >
+00067 {
+00068 public:
+00069     Solution() : moeoRealVector < ObjectiveVector, double, double > (1) {}
+00070 };
+00071 
+00072 class TestEval : public moeoEvalFunc < Solution >
+00073 {
+00074 public:
+00075     void operator () (Solution & _sol)
+00076     {
+00077         ObjectiveVector objVec;
+00078         objVec[0] = _sol[0];
+00079         objVec[1] = _sol[0] * _sol[0];
+00080         objVec[2] = _sol[0] + (_sol[0] * _sol[0]);
+00081         _sol.objectiveVector(objVec);
+00082     }
+00083 };
+00084 
+00085 //-----------------------------------------------------------------------------
+00086 
+00087 int main()
+00088 {
+00089     std::cout << "[moeoNSGAII]" << std::endl;
+00090 
+00091     TestEval eval;
+00092     eoQuadCloneOp < Solution > xover;
+00093     eoUniformMutation < Solution > mutation(0.05);
+00094 
+00095     eoRealVectorBounds bounds(1, 1.0, 2.0);
+00096     eoRealInitBounded < Solution > init(bounds);
+00097     eoPop < Solution > pop(20, init);
+00098 
+00099     // build NSGA-II
+00100     moeoNSGAII < Solution > algo(20, eval, xover, 1.0, mutation, 1.0);
+00101 
+00102     // run the algo
+00103     algo(pop);
+00104 
+00105     // final pop
+00106     std::cout << "Final population" << std::endl;
+00107     std::cout << pop << std::endl;
+00108 
+00109     std::cout << "[moeoNSGAII] OK" << std::endl;
+00110     return EXIT_SUCCESS;
+00111 }
+00112 
+00113 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoNSGAII_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoNSGAII_8cpp-source.html new file mode 100644 index 000000000..5f0290b05 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoNSGAII_8cpp-source.html @@ -0,0 +1,140 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoNSGAII.cpp Source File + + + + +
+
+

t-moeoNSGAII.cpp

00001 /*
+00002 * <t-moeoNSGAII.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoNSGAII.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <es/eoRealInitBounded.h>
+00042 #include <es/eoRealOp.h>
+00043 #include <moeo>
+00044 
+00045 //-----------------------------------------------------------------------------
+00046 
+00047 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00048 {
+00049 public:
+00050     static bool minimizing (int i)
+00051     {
+00052         return true;
+00053     }
+00054     static bool maximizing (int i)
+00055     {
+00056         return false;
+00057     }
+00058     static unsigned int nObjectives ()
+00059     {
+00060         return 2;
+00061     }
+00062 };
+00063 
+00064 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00065 
+00066 class Solution : public moeoRealVector < ObjectiveVector, double, double >
+00067 {
+00068 public:
+00069     Solution() : moeoRealVector < ObjectiveVector, double, double > (1) {}
+00070 };
+00071 
+00072 class TestEval : public moeoEvalFunc < Solution >
+00073 {
+00074 public:
+00075     void operator () (Solution & _sol)
+00076     {
+00077         ObjectiveVector objVec;
+00078         objVec[0] = _sol[0];
+00079         objVec[1] = _sol[0] * _sol[0];
+00080         _sol.objectiveVector(objVec);
+00081     }
+00082 };
+00083 
+00084 //-----------------------------------------------------------------------------
+00085 
+00086 int main()
+00087 {
+00088     std::cout << "[moeoNSGAII]" << std::endl;
+00089 
+00090     TestEval eval;
+00091     eoQuadCloneOp < Solution > xover;
+00092     eoUniformMutation < Solution > mutation(0.05);
+00093 
+00094     eoRealVectorBounds bounds(1, 1.0, 2.0);
+00095     eoRealInitBounded < Solution > init(bounds);
+00096     eoPop < Solution > pop(20, init);
+00097 
+00098     // build NSGA-II
+00099     moeoNSGAII < Solution > algo(20, eval, xover, 1.0, mutation, 1.0);
+00100 
+00101     // run the algo
+00102     algo(pop);
+00103 
+00104     // final pop
+00105     std::cout << "Final population" << std::endl;
+00106     std::cout << pop << std::endl;
+00107 
+00108     std::cout << "[moeoNSGAII] OK" << std::endl;
+00109     return EXIT_SUCCESS;
+00110 }
+00111 
+00112 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoNSGA_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoNSGA_8cpp-source.html new file mode 100644 index 000000000..6377e2228 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoNSGA_8cpp-source.html @@ -0,0 +1,140 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoNSGA.cpp Source File + + + + +
+
+

t-moeoNSGA.cpp

00001 /*
+00002 * <t-moeoNSGA.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoNSGA.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <es/eoRealInitBounded.h>
+00042 #include <es/eoRealOp.h>
+00043 #include <moeo>
+00044 
+00045 //-----------------------------------------------------------------------------
+00046 
+00047 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00048 {
+00049 public:
+00050     static bool minimizing (int i)
+00051     {
+00052         return true;
+00053     }
+00054     static bool maximizing (int i)
+00055     {
+00056         return false;
+00057     }
+00058     static unsigned int nObjectives ()
+00059     {
+00060         return 2;
+00061     }
+00062 };
+00063 
+00064 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00065 
+00066 class Solution : public moeoRealVector < ObjectiveVector, double, double >
+00067 {
+00068 public:
+00069     Solution() : moeoRealVector < ObjectiveVector, double, double > (1) {}
+00070 };
+00071 
+00072 class TestEval : public moeoEvalFunc < Solution >
+00073 {
+00074 public:
+00075     void operator () (Solution & _sol)
+00076     {
+00077         ObjectiveVector objVec;
+00078         objVec[0] = _sol[0];
+00079         objVec[1] = _sol[0] * _sol[0];
+00080         _sol.objectiveVector(objVec);
+00081     }
+00082 };
+00083 
+00084 //-----------------------------------------------------------------------------
+00085 
+00086 int main()
+00087 {
+00088     std::cout << "[moeoNSGA]" << std::endl;
+00089 
+00090     TestEval eval;
+00091     eoQuadCloneOp < Solution > xover;
+00092     eoUniformMutation < Solution > mutation(0.05);
+00093 
+00094     eoRealVectorBounds bounds(1, 1.0, 2.0);
+00095     eoRealInitBounded < Solution > init(bounds);
+00096     eoPop < Solution > pop(20, init);
+00097 
+00098     // build NSGA
+00099     moeoNSGA < Solution > algo(20, eval, xover, 1.0, mutation, 1.0);
+00100 
+00101     // run the algo
+00102     algo(pop);
+00103 
+00104     // final pop
+00105     std::cout << "Final population" << std::endl;
+00106     std::cout << pop << std::endl;
+00107 
+00108     std::cout << "[moeoNSGA] OK" << std::endl;
+00109     return EXIT_SUCCESS;
+00110 }
+00111 
+00112 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoParetoObjectiveVectorComparator_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoParetoObjectiveVectorComparator_8cpp-source.html new file mode 100644 index 000000000..6465372b2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoParetoObjectiveVectorComparator_8cpp-source.html @@ -0,0 +1,123 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoParetoObjectiveVectorComparator.cpp Source File + + + + +
+
+

t-moeoParetoObjectiveVectorComparator.cpp

00001 /*
+00002 * <t-moeoParetoObjectiveVectorComparator.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoParetoObjectiveVectorComparator.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef MOEO < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070     std::cout << "[moeoParetoObjectiveVectorComparator]\t=>\t";
+00071 
+00072     // objective vectors
+00073     ObjectiveVector obj1;
+00074     obj1[0] = 2;
+00075     obj1[1] = 5;
+00076     ObjectiveVector obj2;
+00077     obj2[0] = 3;
+00078     obj2[1] = 5;
+00079 
+00080     // comparator
+00081     moeoParetoObjectiveVectorComparator< ObjectiveVector > comparator;
+00082 
+00083 
+00084     // obj1 dominated by obj2?
+00085     if (comparator(obj1, obj2))
+00086     {
+00087         std::cout << "ERROR (obj1 must be better)" << std::endl;
+00088         return EXIT_FAILURE;
+00089     }
+00090 
+00091     std::cout << "OK" << std::endl;
+00092     return EXIT_SUCCESS;
+00093 }
+00094 
+00095 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoRealVector_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoRealVector_8cpp-source.html new file mode 100644 index 000000000..849b59790 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoRealVector_8cpp-source.html @@ -0,0 +1,109 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoRealVector.cpp Source File + + + + +
+
+

t-moeoRealVector.cpp

00001 /*
+00002 * <t-moeoRealVector.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoRealVector.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef moeoRealVector < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070 
+00071     std::cout << "[moeoRealVector]\t=>\t";
+00072 
+00073     // solutions
+00074     Solution sol1, sol2;
+00075 
+00076     std::cout << "OK" << std::endl;
+00077     return EXIT_SUCCESS;
+00078 
+00079 }
+00080 
+00081 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoSharingDiversityAssignment_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoSharingDiversityAssignment_8cpp-source.html new file mode 100644 index 000000000..b37c2af78 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeoSharingDiversityAssignment_8cpp-source.html @@ -0,0 +1,154 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeoSharingDiversityAssignment.cpp Source File + + + + +
+
+

t-moeoSharingDiversityAssignment.cpp

00001 /*
+00002 * <t-moeoSharingDiversityAssignment.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeoSharingDiversityAssignment.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef MOEO < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070     std::cout << "[moeoSharingDiversityAssignment]\t=>\t";
+00071 
+00072     // objective vectors
+00073     ObjectiveVector obj0, obj1, obj2, obj3;
+00074     obj0[0] = 1;
+00075     obj0[1] = 5;
+00076     obj1[0] = 3;
+00077     obj1[1] = 3;
+00078     obj2[0] = 3;
+00079     obj2[1] = 3;
+00080     obj3[0] = 5;
+00081     obj3[1] = 1;
+00082 
+00083     // population
+00084     eoPop < Solution > pop;
+00085     pop.resize(4);
+00086     pop[0].objectiveVector(obj0);
+00087     pop[1].objectiveVector(obj1);
+00088     pop[2].objectiveVector(obj2);
+00089     pop[3].objectiveVector(obj3);
+00090 
+00091     // fitness & diversity assignment
+00092     moeoDummyFitnessAssignment< Solution > fitnessAssignment;
+00093     fitnessAssignment(pop);
+00094     moeoSharingDiversityAssignment< Solution > diversityAssignment;
+00095     diversityAssignment(pop);
+00096 
+00097     // pop[0]
+00098     if (pop[0].diversity() != 1.0)
+00099     {
+00100         std::cout << "ERROR (bad diversity for pop[0])" << std::endl;
+00101         return EXIT_FAILURE;
+00102     }
+00103     // pop[1]
+00104     if (pop[1].diversity() != 0.0)
+00105     {
+00106         std::cout << "ERROR (bad diversity for pop[1])" << std::endl;
+00107         return EXIT_FAILURE;
+00108     }
+00109     // pop[2]
+00110     if (pop[2].diversity() != 0.0)
+00111     {
+00112         std::cout << "ERROR (bad diversity for pop[2])" << std::endl;
+00113         return EXIT_FAILURE;
+00114     }
+00115     // pop[3]
+00116     if (pop[3].diversity() != 1.0)
+00117     {
+00118         std::cout << "ERROR (bad diversity for pop[3]) " << std::endl;
+00119         return EXIT_FAILURE;
+00120     }
+00121 
+00122     std::cout << "OK" << std::endl;
+00123     return EXIT_SUCCESS;
+00124 }
+00125 
+00126 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeo_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeo_8cpp-source.html new file mode 100644 index 000000000..7faf57d8e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/t-moeo_8cpp-source.html @@ -0,0 +1,109 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: t-moeo.cpp Source File + + + + +
+
+

t-moeo.cpp

00001 /*
+00002 * <t-moeo.cpp>
+00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
+00004 * (C) OPAC Team, LIFL, 2002-2007
+00005 *
+00006 * Arnaud Liefooghe
+00007 *
+00008 * This software is governed by the CeCILL license under French law and
+00009 * abiding by the rules of distribution of free software.  You can  use,
+00010 * modify and/ or redistribute the software under the terms of the CeCILL
+00011 * license as circulated by CEA, CNRS and INRIA at the following URL
+00012 * "http://www.cecill.info".
+00013 *
+00014 * As a counterpart to the access to the source code and  rights to copy,
+00015 * modify and redistribute granted by the license, users are provided only
+00016 * with a limited warranty  and the software's author,  the holder of the
+00017 * economic rights,  and the successive licensors  have only  limited liability.
+00018 *
+00019 * In this respect, the user's attention is drawn to the risks associated
+00020 * with loading,  using,  modifying and/or developing or reproducing the
+00021 * software by the user in light of its specific status of free software,
+00022 * that may mean  that it is complicated to manipulate,  and  that  also
+00023 * therefore means  that it is reserved for developers  and  experienced
+00024 * professionals having in-depth computer knowledge. Users are therefore
+00025 * encouraged to load and test the software's suitability as regards their
+00026 * requirements in conditions enabling the security of their systems and/or
+00027 * data to be ensured and,  more generally, to use and operate it in the
+00028 * same conditions as regards security.
+00029 * The fact that you are presently reading this means that you have had
+00030 * knowledge of the CeCILL license and that you accept its terms.
+00031 *
+00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr
+00033 * Contact: paradiseo-help@lists.gforge.inria.fr
+00034 *
+00035 */
+00036 //-----------------------------------------------------------------------------
+00037 // t-moeo.cpp
+00038 //-----------------------------------------------------------------------------
+00039 
+00040 #include <eo>
+00041 #include <moeo>
+00042 
+00043 //-----------------------------------------------------------------------------
+00044 
+00045 class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00046 {
+00047 public:
+00048     static bool minimizing (int i)
+00049     {
+00050         return true;
+00051     }
+00052     static bool maximizing (int i)
+00053     {
+00054         return false;
+00055     }
+00056     static unsigned int nObjectives ()
+00057     {
+00058         return 2;
+00059     }
+00060 };
+00061 
+00062 typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
+00063 
+00064 typedef MOEO < ObjectiveVector, double, double > Solution;
+00065 
+00066 //-----------------------------------------------------------------------------
+00067 
+00068 int main()
+00069 {
+00070 
+00071     std::cout << "[MOEO]\t=>\t";
+00072 
+00073     // solutions
+00074     Solution sol1, sol2;
+00075 
+00076     std::cout << "OK" << std::endl;
+00077     return EXIT_SUCCESS;
+00078 
+00079 }
+00080 
+00081 //-----------------------------------------------------------------------------
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_b.gif b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_b.gif new file mode 100644 index 000000000..0d623483f Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_b.gif differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_l.gif b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_l.gif new file mode 100644 index 000000000..9b1e6337c Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_l.gif differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_r.gif b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_r.gif new file mode 100644 index 000000000..ce9dd9f53 Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tab_r.gif differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tabs.css b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tabs.css new file mode 100644 index 000000000..a61552a67 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tabs.css @@ -0,0 +1,102 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI#current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI#current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.nav +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; +} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tree.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tree.html new file mode 100644 index 000000000..aed65f3a4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tree.html @@ -0,0 +1,645 @@ + + + + + + + TreeView + + + + +
+

ParadisEO-MOEO-MultiObjectiveEvolvingObjects

+
+

o*Welcome to ParadisEO-MOEO

+

o+Class List

+
+

|o*FlowShop

+

|o*FlowShopBenchmarkParser

+

|o*FlowShopEval

+

|o*FlowShopObjectiveVectorTraits

+

|o*FlowShopOpCrossoverQuad

+

|o*MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >

+

|o*moeoAchievementFitnessAssignment< MOEOT >

+

|o*moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >

+

|o*moeoAggregativeComparator< MOEOT >

+

|o*moeoAlgo

+

|o*moeoArchive< MOEOT >

+

|o*moeoArchiveObjectiveVectorSavingUpdater< MOEOT >

+

|o*moeoArchiveUpdater< MOEOT >

+

|o*moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >

+

|o*moeoBinaryMetric< A1, A2, R >

+

|o*moeoBinaryMetricSavingUpdater< MOEOT >

+

|o*moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >

+

|o*moeoCombinedLS< MOEOT, Type >

+

|o*moeoComparator< MOEOT >

+

|o*moeoContributionMetric< ObjectiveVector >

+

|o*moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >

+

|o*moeoCriterionBasedFitnessAssignment< MOEOT >

+

|o*moeoCrowdingDiversityAssignment< MOEOT >

+

|o*moeoDetTournamentSelect< MOEOT >

+

|o*moeoDistance< MOEOT, Type >

+

|o*moeoDistanceMatrix< MOEOT, Type >

+

|o*moeoDiversityAssignment< MOEOT >

+

|o*moeoDiversityThenFitnessComparator< MOEOT >

+

|o*moeoDummyDiversityAssignment< MOEOT >

+

|o*moeoDummyFitnessAssignment< MOEOT >

+

|o*moeoEA< MOEOT >

+

|o*moeoEasyEA< MOEOT >

+

|o*moeoEasyEA< MOEOT >::eoDummyEval

+

|o*moeoEasyEA< MOEOT >::eoDummySelect

+

|o*moeoEasyEA< MOEOT >::eoDummyTransform

+

|o*moeoElitistReplacement< MOEOT >

+

|o*moeoElitistReplacement< MOEOT >::Cmp

+

|o*moeoEntropyMetric< ObjectiveVector >

+

|o*moeoEnvironmentalReplacement< MOEOT >

+

|o*moeoEnvironmentalReplacement< MOEOT >::Cmp

+

|o*moeoEuclideanDistance< MOEOT >

+

|o*moeoEvalFunc< MOEOT >

+

|o*moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >

+

|o*moeoFastNonDominatedSortingFitnessAssignment< MOEOT >

+

|o*moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator

+

|o*moeoFitnessAssignment< MOEOT >

+

|o*moeoFitnessThenDiversityComparator< MOEOT >

+

|o*moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >

+

|o*moeoFrontByFrontSharingDiversityAssignment< MOEOT >

+

|o*moeoGDominanceObjectiveVectorComparator< ObjectiveVector >

+

|o*moeoGenerationalReplacement< MOEOT >

+

|o*moeoHybridLS< MOEOT >

+

|o*moeoHypervolumeBinaryMetric< ObjectiveVector >

+

|o*moeoIBEA< MOEOT >

+

|o*moeoIndicatorBasedFitnessAssignment< MOEOT >

+

|o*moeoLS< MOEOT, Type >

+

|o*moeoManhattanDistance< MOEOT >

+

|o*moeoMetric

+

|o*moeoNormalizedDistance< MOEOT, Type >

+

|o*moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >

+

|o*moeoNSGA< MOEOT >

+

|o*moeoNSGAII< MOEOT >

+

|o*moeoObjectiveObjectiveVectorComparator< ObjectiveVector >

+

|o*moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >

+

|o*moeoObjectiveVectorComparator< ObjectiveVector >

+

|o*moeoObjectiveVectorTraits

+

|o*moeoOneObjectiveComparator< MOEOT >

+

|o*moeoParetoBasedFitnessAssignment< MOEOT >

+

|o*moeoParetoObjectiveVectorComparator< ObjectiveVector >

+

|o*moeoRandomSelect< MOEOT >

+

|o*moeoRealObjectiveVector< ObjectiveVectorTraits >

+

|o*moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >

+

|o*moeoReplacement< MOEOT >

+

|o*moeoRouletteSelect< MOEOT >

+

|o*moeoScalarFitnessAssignment< MOEOT >

+

|o*moeoSelectFromPopAndArch< MOEOT >

+

|o*moeoSelectOne< MOEOT >

+

|o*moeoSharingDiversityAssignment< MOEOT >

+

|o*moeoSolutionUnaryMetric< ObjectiveVector, R >

+

|o*moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >

+

|o*moeoStochTournamentSelect< MOEOT >

+

|o*moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >

+

|o*moeoUnaryMetric< A, R >

+

|o*moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >

+

|o*moeoVectorUnaryMetric< ObjectiveVector, R >

+

|o*moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >

+

|o*ObjectiveVectorTraits

+

|o*Sch1

+

|o*Sch1Eval

+

|o*Sch1ObjectiveVectorTraits

+

|o*Solution

+

|\*TestEval

+
+

o+Class Hierarchy

+
+

|o+eoFunctorBase [external]

+
+

||o+eoBF< A1, A2, R > [external]

+
+

|||o+eoReplacement< EOT > [external]

+ +

|||o+eoReplacement< MOEOT > [external]

+ +

|||o+eoSelect< MOEOT > [external]

+ +

|||o+moeoBinaryMetric< A1, A2, R >

+ +

|||o+moeoComparator< MOEOT >

+ +

|||o+moeoDistance< MOEOT, Type >

+ +

|||o+moeoDistance< MOEOT, double >

+ +

|||o+moeoObjectiveVectorComparator< ObjectiveVector >

+ +

|||\*moeoObjectiveVectorComparator< moeoRealObjectiveVector< ObjectiveVectorTraits > >

+
+

||o+eoBF< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, double > [external]

+ +

||o+eoBF< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, R > [external]

+ +

||o+eoBF< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, double > [external]

+ +

||o+eoBF< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R > [external]

+ +

||o*eoBF< EOType &, EOType &, bool > [external]

+

||o+eoBF< FlowShop &, FlowShop &, bool > [external]

+ +

||o+eoBF< Type, moeoArchive< MOEOT > &, void > [external]

+ +

||o+eoF< void > [external]

+ +

||o+eoUF< A1, R > [external]

+ +

||o+eoUF< A, R > [external]

+ +

||o+eoUF< const eoPop< MOEOT > &, void > [external]

+ +

||o+eoUF< const moeoRealObjectiveVector< ObjectiveVectorTraits > &, R > [external]

+ +

||o+eoUF< const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R > [external]

+ +

||o+eoUF< eoPop< MOEOT > &, void > [external]

+ +

||\+moeoMetric

+ +
+

|o+eoObject [external]

+
+

||o+EO< MOEOObjectiveVector > [external]

+ +

||o+EO< moeoRealObjectiveVector< FlowShopObjectiveVectorTraits > > [external]

+ +

||o+EO< moeoRealObjectiveVector< ObjectiveVectorTraits > > [external]

+ +

||o+EO< moeoRealObjectiveVector< Sch1ObjectiveVectorTraits > > [external]

+ +

||\+eoPop< MOEOT > [external]

+ +
+

|o+eoOp< EOType > [external]

+
+

||\*eoQuadOp< FlowShop > [external]

+
+

|o+eoPrintable [external]

+ +

|o*FlowShopBenchmarkParser

+

|o+moeoAlgo

+ +

|o*moeoElitistReplacement< MOEOT >::Cmp

+

|o*moeoEnvironmentalReplacement< MOEOT >::Cmp

+

|o*moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >

+

|o+moeoObjectiveVector< ObjectiveVectorTraits, double >

+ +

|\+moeoObjectiveVectorTraits

+ +
+

o*Class Members

+

\+File List

+
+

 o*FlowShop.cpp

+

 o*FlowShop.h

+

 o*FlowShopBenchmarkParser.cpp

+

 o*FlowShopBenchmarkParser.h

+

 o*Lesson2/FlowShopEA.cpp

+

 o*Lesson3/FlowShopEA.cpp

+

 o*FlowShopEval.cpp

+

 o*FlowShopEval.h

+

 o*FlowShopInit.cpp

+

 o*FlowShopInit.h

+

 o*FlowShopObjectiveVector.h

+

 o*FlowShopObjectiveVectorTraits.cpp

+

 o*FlowShopObjectiveVectorTraits.h

+

 o*FlowShopOpCrossoverQuad.cpp

+

 o*FlowShopOpCrossoverQuad.h

+

 o*FlowShopOpMutationExchange.h

+

 o*FlowShopOpMutationShift.h

+

 o*index.h

+

 o*make_checkpoint_moeo.h

+

 o*make_continue_moeo.h

+

 o*make_ea_moeo.h

+

 o*make_eval_FlowShop.h

+

 o*make_genotype_FlowShop.h

+

 o*make_op_FlowShop.h

+

 o*MOEO.h

+

 o*moeoAchievementFitnessAssignment.h

+

 o*moeoAdditiveEpsilonBinaryMetric.h

+

 o*moeoAggregativeComparator.h

+

 o*moeoAlgo.h

+

 o*moeoArchive.h

+

 o*moeoArchiveObjectiveVectorSavingUpdater.h

+

 o*moeoArchiveUpdater.h

+

 o*moeoBinaryIndicatorBasedFitnessAssignment.h

+

 o*moeoBinaryMetricSavingUpdater.h

+

 o*moeoBitVector.h

+

 o*moeoCombinedLS.h

+

 o*moeoComparator.h

+

 o*moeoContributionMetric.h

+

 o*moeoConvertPopToObjectiveVectors.h

+

 o*moeoCriterionBasedFitnessAssignment.h

+

 o*moeoCrowdingDiversityAssignment.h

+

 o*moeoDetTournamentSelect.h

+

 o*moeoDistance.h

+

 o*moeoDistanceMatrix.h

+

 o*moeoDiversityAssignment.h

+

 o*moeoDiversityThenFitnessComparator.h

+

 o*moeoDummyDiversityAssignment.h

+

 o*moeoDummyFitnessAssignment.h

+

 o*moeoEA.h

+

 o*moeoEasyEA.h

+

 o*moeoElitistReplacement.h

+

 o*moeoEntropyMetric.h

+

 o*moeoEnvironmentalReplacement.h

+

 o*moeoEuclideanDistance.h

+

 o*moeoEvalFunc.h

+

 o*moeoExpBinaryIndicatorBasedFitnessAssignment.h

+

 o*moeoFastNonDominatedSortingFitnessAssignment.h

+

 o*moeoFitnessAssignment.h

+

 o*moeoFitnessThenDiversityComparator.h

+

 o*moeoFrontByFrontCrowdingDiversityAssignment.h

+

 o*moeoFrontByFrontSharingDiversityAssignment.h

+

 o*moeoGDominanceObjectiveVectorComparator.h

+

 o*moeoGenerationalReplacement.h

+

 o*moeoHybridLS.h

+

 o*moeoHypervolumeBinaryMetric.h

+

 o*moeoIBEA.h

+

 o*moeoIndicatorBasedFitnessAssignment.h

+

 o*moeoLS.h

+

 o*moeoManhattanDistance.h

+

 o*moeoMetric.h

+

 o*moeoNormalizedDistance.h

+

 o*moeoNormalizedSolutionVsSolutionBinaryMetric.h

+

 o*moeoNSGA.h

+

 o*moeoNSGAII.h

+

 o*moeoObjectiveObjectiveVectorComparator.h

+

 o*moeoObjectiveVector.h

+

 o*moeoObjectiveVectorComparator.h

+

 o*moeoObjectiveVectorTraits.cpp

+

 o*moeoObjectiveVectorTraits.h

+

 o*moeoOneObjectiveComparator.h

+

 o*moeoParetoBasedFitnessAssignment.h

+

 o*moeoParetoObjectiveVectorComparator.h

+

 o*moeoRandomSelect.h

+

 o*moeoRealObjectiveVector.h

+

 o*moeoRealVector.h

+

 o*moeoReplacement.h

+

 o*moeoRouletteSelect.h

+

 o*moeoScalarFitnessAssignment.h

+

 o*moeoSelectFromPopAndArch.h

+

 o*moeoSelectOne.h

+

 o*moeoSelectors.h

+

 o*moeoSharingDiversityAssignment.h

+

 o*moeoStochTournamentSelect.h

+

 o*moeoUnaryIndicatorBasedFitnessAssignment.h

+

 o*moeoVector.h

+

 o*README

+

 o*tutorial/examples/flowshop/benchs/README

+

 o*Sch1.cpp

+

 o*t-moeo.cpp

+

 o*t-moeoAchievementFitnessAssignment.cpp

+

 o*t-moeoAggregativeComparator.cpp

+

 o*t-moeoArchive.cpp

+

 o*t-moeoBitVector.cpp

+

 o*t-moeoCrowdingDiversityAssignment.cpp

+

 o*t-moeoDiversityThenFitnessComparator.cpp

+

 o*t-moeoEasyEA.cpp

+

 o*t-moeoExpBinaryIndicatorBasedFitnessAssignment.cpp

+

 o*t-moeoFastNonDominatedSortingFitnessAssignment.cpp

+

 o*t-moeoFitnessThenDiversityComparator.cpp

+

 o*t-moeoIBEA.cpp

+

 o*t-moeoMax3Obj.cpp

+

 o*t-moeoNSGA.cpp

+

 o*t-moeoNSGAII.cpp

+

 o*t-moeoParetoObjectiveVectorComparator.cpp

+

 o*t-moeoRealVector.cpp

+

 \*t-moeoSharingDiversityAssignment.cpp

+
+
+
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tutorial_2examples_2flowshop_2benchs_2README-source.html b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tutorial_2examples_2flowshop_2benchs_2README-source.html new file mode 100644 index 000000000..22fbee656 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/html/tutorial_2examples_2flowshop_2benchs_2README-source.html @@ -0,0 +1,29 @@ + + +ParadisEO-MOEO-MultiObjectiveEvolvingObjects: README Source File + + + + +
+
+

README

00001 Further benchmarks for the bi-objective flow-shop scheduling problem are available at http://www.lifl.fr/~liefooga/benchmarks/
+

Generated on Thu Mar 13 09:42:20 2008 for ParadisEO-MOEO-MultiObjectiveEvolvingObjects by  + +doxygen 1.4.7
+ + diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/FreeSans.ttf b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/FreeSans.ttf new file mode 100644 index 000000000..b550b90ba Binary files /dev/null and b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/FreeSans.ttf differ diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/Makefile b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/Makefile new file mode 100644 index 000000000..776fcf968 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/Makefile @@ -0,0 +1,39 @@ +all: clean refman.dvi + +ps: refman.ps + +pdf: refman.pdf + +ps_2on1: refman_2on1.ps + +pdf_2on1: refman_2on1.pdf + +refman.ps: refman.dvi + dvips -o refman.ps refman.dvi + +refman.pdf: refman.ps + ps2pdf refman.ps refman.pdf + +refman.dvi: refman.tex doxygen.sty + echo "Running latex..." + latex refman.tex + echo "Running makeindex..." + makeindex refman.idx + echo "Rerunning latex...." + latex refman.tex + latex_count=5 ; \ + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ + do \ + echo "Rerunning latex...." ;\ + latex refman.tex ;\ + latex_count=`expr $$latex_count - 1` ;\ + done + +refman_2on1.ps: refman.ps + psnup -2 refman.ps >refman_2on1.ps + +refman_2on1.pdf: refman_2on1.ps + ps2pdf refman_2on1.ps refman_2on1.pdf + +clean: + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/annotated.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/annotated.tex new file mode 100644 index 000000000..d7254a648 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/annotated.tex @@ -0,0 +1,95 @@ +\section{Paradis\-EO-MOEO-Multi\-Objective\-Evolving\-Objects Class List} +Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} +\item\contentsline{section}{\bf{Flow\-Shop} (Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int )}{\pageref{classFlowShop}}{} +\item\contentsline{section}{\bf{Flow\-Shop\-Benchmark\-Parser} (Class to handle parameters of a flow-shop instance from a benchmark file )}{\pageref{classFlowShopBenchmarkParser}}{} +\item\contentsline{section}{\bf{Flow\-Shop\-Eval} (Evaluation of the objective vector a (multi-objective) \doxyref{Flow\-Shop}{p.}{classFlowShop} object )}{\pageref{classFlowShopEval}}{} +\item\contentsline{section}{\bf{Flow\-Shop\-Objective\-Vector\-Traits} (Definition of the objective vector traits for multi-objective flow-shop problems )}{\pageref{classFlowShopObjectiveVectorTraits}}{} +\item\contentsline{section}{\bf{Flow\-Shop\-Op\-Crossover\-Quad} (Quadratic crossover operator for flow-shop (modify the both genotypes) )}{\pageref{classFlowShopOpCrossoverQuad}}{} +\item\contentsline{section}{\bf{MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} (Base class allowing to represent a solution (an individual) for multi-objective optimization )}{\pageref{classMOEO}}{} +\item\contentsline{section}{\bf{moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$} (Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980) )}{\pageref{classmoeoAchievementFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$} (Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C )}{\pageref{classmoeoAdditiveEpsilonBinaryMetric}}{} +\item\contentsline{section}{\bf{moeo\-Aggregative\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value )}{\pageref{classmoeoAggregativeComparator}}{} +\item\contentsline{section}{\bf{moeo\-Algo} (Abstract class for multi-objective algorithms )}{\pageref{classmoeoAlgo}}{} +\item\contentsline{section}{\bf{moeo\-Archive$<$ MOEOT $>$} (An archive is a secondary population that stores non-dominated solutions )}{\pageref{classmoeoArchive}}{} +\item\contentsline{section}{\bf{moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ MOEOT $>$} (This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation )}{\pageref{classmoeoArchiveObjectiveVectorSavingUpdater}}{} +\item\contentsline{section}{\bf{moeo\-Archive\-Updater$<$ MOEOT $>$} (This class allows to update the archive at each generation with newly found non-dominated solutions )}{\pageref{classmoeoArchiveUpdater}}{} +\item\contentsline{section}{\bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Indicator\-Based\-Fitness\-Assignment for binary indicators )}{\pageref{classmoeoBinaryIndicatorBasedFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Binary\-Metric$<$ A1, A2, R $>$} (Base class for binary metrics )}{\pageref{classmoeoBinaryMetric}}{} +\item\contentsline{section}{\bf{moeo\-Binary\-Metric\-Saving\-Updater$<$ MOEOT $>$} (This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file )}{\pageref{classmoeoBinaryMetricSavingUpdater}}{} +\item\contentsline{section}{\bf{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} (This class is an implementationeo of a simple bit-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector} )}{\pageref{classmoeoBitVector}}{} +\item\contentsline{section}{\bf{moeo\-Combined\-LS$<$ MOEOT, Type $>$} (This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions )}{\pageref{classmoeoCombinedLS}}{} +\item\contentsline{section}{\bf{moeo\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions )}{\pageref{classmoeoComparator}}{} +\item\contentsline{section}{\bf{moeo\-Contribution\-Metric$<$ Objective\-Vector $>$} (The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc )}{\pageref{classmoeoContributionMetric}}{} +\item\contentsline{section}{\bf{moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$} (Functor allowing to get a vector of objective vectors from a population )}{\pageref{classmoeoConvertPopToObjectiveVectors}}{} +\item\contentsline{section}{\bf{moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Criterion\-Based\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for criterion-based strategies )}{\pageref{classmoeoCriterionBasedFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} (Diversity assignment sheme based on crowding proposed in: K )}{\pageref{classmoeoCrowdingDiversityAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Det\-Tournament\-Select$<$ MOEOT $>$} (Selection strategy that selects ONE individual by deterministic tournament )}{\pageref{classmoeoDetTournamentSelect}}{} +\item\contentsline{section}{\bf{moeo\-Distance$<$ MOEOT, Type $>$} (The base class for distance computation )}{\pageref{classmoeoDistance}}{} +\item\contentsline{section}{\bf{moeo\-Distance\-Matrix$<$ MOEOT, Type $>$} (A matrix to compute distances between every pair of individuals contained in a population )}{\pageref{classmoeoDistanceMatrix}}{} +\item\contentsline{section}{\bf{moeo\-Diversity\-Assignment$<$ MOEOT $>$} (Functor that sets the diversity values of a whole population )}{\pageref{classmoeoDiversityAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions according to their diversity values, then according to their fitness values )}{\pageref{classmoeoDiversityThenFitnessComparator}}{} +\item\contentsline{section}{\bf{moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$} (Moeo\-Dummy\-Diversity\-Assignment is a \doxyref{moeo\-Diversity\-Assignment}{p.}{classmoeoDiversityAssignment} that gives the value '0' as the individual's diversity for a whole population if it is invalid )}{\pageref{classmoeoDummyDiversityAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Dummy\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} that gives the value '0' as the individual's fitness for a whole population if it is invalid )}{\pageref{classmoeoDummyFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-EA$<$ MOEOT $>$} (Abstract class for multi-objective evolutionary algorithms )}{\pageref{classmoeoEA}}{} +\item\contentsline{section}{\bf{moeo\-Easy\-EA$<$ MOEOT $>$} (An easy class to design multi-objective evolutionary algorithms )}{\pageref{classmoeoEasyEA}}{} +\item\contentsline{section}{\bf{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Eval} (\doxyref{Dummy} eval )}{\pageref{classmoeoEasyEA_1_1eoDummyEval}}{} +\item\contentsline{section}{\bf{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Select} (\doxyref{Dummy} select )}{\pageref{classmoeoEasyEA_1_1eoDummySelect}}{} +\item\contentsline{section}{\bf{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Transform} (\doxyref{Dummy} transform )}{\pageref{classmoeoEasyEA_1_1eoDummyTransform}}{} +\item\contentsline{section}{\bf{moeo\-Elitist\-Replacement$<$ MOEOT $>$} (Elitist replacement strategy that consists in keeping the N best individuals )}{\pageref{classmoeoElitistReplacement}}{} +\item\contentsline{section}{\bf{moeo\-Elitist\-Replacement$<$ MOEOT $>$::Cmp} (This object is used to compare solutions in order to sort the population )}{\pageref{classmoeoElitistReplacement_1_1Cmp}}{} +\item\contentsline{section}{\bf{moeo\-Entropy\-Metric$<$ Objective\-Vector $>$} (The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc )}{\pageref{classmoeoEntropyMetric}}{} +\item\contentsline{section}{\bf{moeo\-Environmental\-Replacement$<$ MOEOT $>$} (Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion )}{\pageref{classmoeoEnvironmentalReplacement}}{} +\item\contentsline{section}{\bf{moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp} (This object is used to compare solutions in order to sort the population )}{\pageref{classmoeoEnvironmentalReplacement_1_1Cmp}}{} +\item\contentsline{section}{\bf{moeo\-Euclidean\-Distance$<$ MOEOT $>$} (A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e )}{\pageref{classmoeoEuclideanDistance}}{} +\item\contentsline{section}{\bf{moeo\-Eval\-Func$<$ MOEOT $>$} }{\pageref{classmoeoEvalFunc}}{} +\item\contentsline{section}{\bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Fitness assignment sheme based on an indicator proposed in: E )}{\pageref{classmoeoExpBinaryIndicatorBasedFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$} (Fitness assignment sheme based on Pareto-dominance count proposed in: N )}{\pageref{classmoeoFastNonDominatedSortingFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::Objective\-Comparator} (Functor allowing to compare two solutions according to their first objective value, then their second, and so on )}{\pageref{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator}}{} +\item\contentsline{section}{\bf{moeo\-Fitness\-Assignment$<$ MOEOT $>$} (Functor that sets the fitness values of a whole population )}{\pageref{classmoeoFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions according to their fitness values, then according to their diversity values )}{\pageref{classmoeoFitnessThenDiversityComparator}}{} +\item\contentsline{section}{\bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} (Diversity assignment sheme based on crowding proposed in: K )}{\pageref{classmoeoFrontByFrontCrowdingDiversityAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} (Sharing assignment scheme on the way it is used in NSGA )}{\pageref{classmoeoFrontByFrontSharingDiversityAssignment}}{} +\item\contentsline{section}{\bf{moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} (This functor class allows to compare 2 objective vectors according to g-dominance )}{\pageref{classmoeoGDominanceObjectiveVectorComparator}}{} +\item\contentsline{section}{\bf{moeo\-Generational\-Replacement$<$ MOEOT $>$} (Generational replacement: only the new individuals are preserved )}{\pageref{classmoeoGenerationalReplacement}}{} +\item\contentsline{section}{\bf{moeo\-Hybrid\-LS$<$ MOEOT $>$} (This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified )}{\pageref{classmoeoHybridLS}}{} +\item\contentsline{section}{\bf{moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$} (Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., K\~{A}¼nzli S )}{\pageref{classmoeoHypervolumeBinaryMetric}}{} +\item\contentsline{section}{\bf{moeo\-IBEA$<$ MOEOT $>$} (IBEA (Indicator-Based Evolutionary Algorithm) as described in: E )}{\pageref{classmoeoIBEA}}{} +\item\contentsline{section}{\bf{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Indicator\-Based\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Indicator-based strategies )}{\pageref{classmoeoIndicatorBasedFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-LS$<$ MOEOT, Type $>$} (Abstract class for local searches applied to multi-objective optimization )}{\pageref{classmoeoLS}}{} +\item\contentsline{section}{\bf{moeo\-Manhattan\-Distance$<$ MOEOT $>$} (A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e )}{\pageref{classmoeoManhattanDistance}}{} +\item\contentsline{section}{\bf{moeo\-Metric} (Base class for performance metrics (also known as quality indicators) )}{\pageref{classmoeoMetric}}{} +\item\contentsline{section}{\bf{moeo\-Normalized\-Distance$<$ MOEOT, Type $>$} (The base class for double distance computation with normalized objective values (i.e )}{\pageref{classmoeoNormalizedDistance}}{} +\item\contentsline{section}{\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$} (Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values )}{\pageref{classmoeoNormalizedSolutionVsSolutionBinaryMetric}}{} +\item\contentsline{section}{\bf{moeo\-NSGA$<$ MOEOT $>$} (NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N )}{\pageref{classmoeoNSGA}}{} +\item\contentsline{section}{\bf{moeo\-NSGAII$<$ MOEOT $>$} (NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S )}{\pageref{classmoeoNSGAII}}{} +\item\contentsline{section}{\bf{moeo\-Objective\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} (Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on )}{\pageref{classmoeoObjectiveObjectiveVectorComparator}}{} +\item\contentsline{section}{\bf{moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, Objective\-Vector\-Type $>$} (Abstract class allowing to represent a solution in the objective space (phenotypic representation) )}{\pageref{classmoeoObjectiveVector}}{} +\item\contentsline{section}{\bf{moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} (Abstract class allowing to compare 2 objective vectors )}{\pageref{classmoeoObjectiveVectorComparator}}{} +\item\contentsline{section}{\bf{moeo\-Objective\-Vector\-Traits} (A traits class for \doxyref{moeo\-Objective\-Vector}{p.}{classmoeoObjectiveVector} to specify the number of objectives and which ones have to be minimized or maximized )}{\pageref{classmoeoObjectiveVectorTraits}}{} +\item\contentsline{section}{\bf{moeo\-One\-Objective\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions according to one objective )}{\pageref{classmoeoOneObjectiveComparator}}{} +\item\contentsline{section}{\bf{moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Pareto\-Based\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Pareto-based strategies )}{\pageref{classmoeoParetoBasedFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} (This functor class allows to compare 2 objective vectors according to Pareto dominance )}{\pageref{classmoeoParetoObjectiveVectorComparator}}{} +\item\contentsline{section}{\bf{moeo\-Random\-Select$<$ MOEOT $>$} (Selection strategy that selects only one element randomly from a whole population )}{\pageref{classmoeoRandomSelect}}{} +\item\contentsline{section}{\bf{moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$} (This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e )}{\pageref{classmoeoRealObjectiveVector}}{} +\item\contentsline{section}{\bf{moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} (This class is an implementation of a simple double-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector} )}{\pageref{classmoeoRealVector}}{} +\item\contentsline{section}{\bf{moeo\-Replacement$<$ MOEOT $>$} (Replacement strategy for multi-objective optimization )}{\pageref{classmoeoReplacement}}{} +\item\contentsline{section}{\bf{moeo\-Roulette\-Select$<$ MOEOT $>$} (Selection strategy that selects ONE individual by using roulette wheel process )}{\pageref{classmoeoRouletteSelect}}{} +\item\contentsline{section}{\bf{moeo\-Scalar\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Scalar\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for scalar strategies )}{\pageref{classmoeoScalarFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Select\-From\-Pop\-And\-Arch$<$ MOEOT $>$} (Elitist selection process that consists in choosing individuals in the archive as well as in the current population )}{\pageref{classmoeoSelectFromPopAndArch}}{} +\item\contentsline{section}{\bf{moeo\-Select\-One$<$ MOEOT $>$} (Selection strategy for multi-objective optimization that selects only one element from a whole population )}{\pageref{classmoeoSelectOne}}{} +\item\contentsline{section}{\bf{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} (Sharing assignment scheme originally porposed by: D )}{\pageref{classmoeoSharingDiversityAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Solution\-Unary\-Metric$<$ Objective\-Vector, R $>$} (Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector )}{\pageref{classmoeoSolutionUnaryMetric}}{} +\item\contentsline{section}{\bf{moeo\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$} (Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors )}{\pageref{classmoeoSolutionVsSolutionBinaryMetric}}{} +\item\contentsline{section}{\bf{moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$} (Selection strategy that selects ONE individual by stochastic tournament )}{\pageref{classmoeoStochTournamentSelect}}{} +\item\contentsline{section}{\bf{moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Indicator\-Based\-Fitness\-Assignment for unary indicators )}{\pageref{classmoeoUnaryIndicatorBasedFitnessAssignment}}{} +\item\contentsline{section}{\bf{moeo\-Unary\-Metric$<$ A, R $>$} (Base class for unary metrics )}{\pageref{classmoeoUnaryMetric}}{} +\item\contentsline{section}{\bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$} (Base class for fixed length chromosomes, just derives from \doxyref{MOEO}{p.}{classMOEO} and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison) )}{\pageref{classmoeoVector}}{} +\item\contentsline{section}{\bf{moeo\-Vector\-Unary\-Metric$<$ Objective\-Vector, R $>$} (Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors) )}{\pageref{classmoeoVectorUnaryMetric}}{} +\item\contentsline{section}{\bf{moeo\-Vector\-Vs\-Vector\-Binary\-Metric$<$ Objective\-Vector, R $>$} (Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors) )}{\pageref{classmoeoVectorVsVectorBinaryMetric}}{} +\item\contentsline{section}{\bf{Objective\-Vector\-Traits} }{\pageref{classObjectiveVectorTraits}}{} +\item\contentsline{section}{\bf{Sch1} }{\pageref{classSch1}}{} +\item\contentsline{section}{\bf{Sch1Eval} }{\pageref{classSch1Eval}}{} +\item\contentsline{section}{\bf{Sch1Objective\-Vector\-Traits} }{\pageref{classSch1ObjectiveVectorTraits}}{} +\item\contentsline{section}{\bf{Solution} }{\pageref{classSolution}}{} +\item\contentsline{section}{\bf{Test\-Eval} }{\pageref{classTestEval}}{} +\end{CompactList} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShop.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShop.eps new file mode 100644 index 000000000..f75958a57 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShop.eps @@ -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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShop.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShop.tex new file mode 100644 index 000000000..ea86d60fa --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShop.tex @@ -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 47 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} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopBenchmarkParser.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopBenchmarkParser.tex new file mode 100644 index 000000000..497fd522d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopBenchmarkParser.tex @@ -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 48 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 41 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 71 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 92 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} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopEval.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopEval.eps new file mode 100644 index 000000000..a523d0b88 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopEval.eps @@ -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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopEval.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopEval.tex new file mode 100644 index 000000000..d05076f90 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopEval.tex @@ -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 48 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 41 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 46 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 56 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 65 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 78 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} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.eps new file mode 100644 index 000000000..2884e0a07 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.eps @@ -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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.tex new file mode 100644 index 000000000..e3fbee435 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.tex @@ -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 46 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 41 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 47 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} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.eps new file mode 100644 index 000000000..aa48795f7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.eps @@ -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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.tex new file mode 100644 index 000000000..91397faff --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.tex @@ -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 47 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 47 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 80 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} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classMOEO.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classMOEO.eps new file mode 100644 index 000000000..d3387c35b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classMOEO.eps @@ -0,0 +1,277 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 47.043 +%%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 10.6286 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 6 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 +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(EO< MOEOObjectiveVector >) cw +(eoObject) cw +(eoPersistent) cw +(eoPrintable) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw +(FlowShop) cw +(moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(Sch1) cw +(Solution) cw +(Solution) cw +(Solution) cw +(Solution) cw +(Solution) 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 ----- + + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 1 3 box + (EO< MOEOObjectiveVector >) 1 4 box + (eoObject) 0.5 5 box + (eoPersistent) 1.5 5 box + (eoPrintable) 1.5 6 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) 0 2 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >) 1 2 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 2.5 2 box + (FlowShop) 0 1 box + (moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 1 1 box + (moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 2.5 1 box + (Sch1) 0 0 box + (Solution) 1 0 box + (Solution) 2 0 box + (Solution) 3 0 box + (Solution) 4 0 box + (Solution) 5 0 box + +% ----- relations ----- + +solid +0 1 3 out +solid +1 1 4 in +solid +0 1 4 out +solid +0.5 1.5 5 conn +solid +1 0.5 5 in +solid +1 1.5 5 in +solid +0 1.5 5 out +solid +1 1.5 6 in +solid +1 1 2.25 out +solid +0 2.5 3 conn +solid +0 0 2.75 in +solid +1 0 1.25 out +solid +0 1 2.75 in +solid +1 1 1.25 out +solid +0 2.5 2.75 in +solid +1 2.5 1.25 out +solid +0 0 1.75 in +solid +0 1 1.75 in +solid +0 2.5 1.75 in +solid +1 2.5 0.25 out +solid +0 5 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in +solid +0 3 0.75 in +solid +0 4 0.75 in +solid +0 5 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classMOEO.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classMOEO.tex new file mode 100644 index 000000000..a3ba9cee9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classMOEO.tex @@ -0,0 +1,214 @@ +\section{MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$ Class Template Reference} +\label{classMOEO}\index{MOEO@{MOEO}} +Base class allowing to represent a solution (an individual) for multi-objective optimization. + + +{\tt \#include $<$MOEO.h$>$} + +Inheritance diagram for MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.3172cm]{classMOEO} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOObjective\-Vector \bf{Objective\-Vector}\label{classMOEO_9fafca99234ef3cd9fdbaf05bde5a275} + +\begin{CompactList}\small\item\em the objective vector type of a solution \item\end{CompactList}\item +typedef MOEOFitness \bf{Fitness}\label{classMOEO_03184b6c0b5c905e0ff5a790a3d55803} + +\begin{CompactList}\small\item\em the fitness type of a solution \item\end{CompactList}\item +typedef MOEODiversity \bf{Diversity}\label{classMOEO_9682a883fedc6333e95906e02236d492} + +\begin{CompactList}\small\item\em the diversity type of a solution \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{MOEO} ()\label{classMOEO_cff537a68ecc80c753318d3e12f842f5} + +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +virtual \bf{$\sim$MOEO} ()\label{classMOEO_0215e9acab4ab57088175f9856e6c48c} + +\begin{CompactList}\small\item\em Virtual dtor. \item\end{CompactList}\item +\bf{Objective\-Vector} \bf{objective\-Vector} () const \label{classMOEO_7509143b0f18644e7d3183a039cece7b} + +\begin{CompactList}\small\item\em Returns the objective vector of the current solution. \item\end{CompactList}\item +void \bf{objective\-Vector} (const \bf{Objective\-Vector} \&\_\-objective\-Vector\-Value) +\begin{CompactList}\small\item\em Sets the objective vector of the current solution. \item\end{CompactList}\item +void \bf{invalidate\-Objective\-Vector} ()\label{classMOEO_6b75e7e84726cf4e2d50216a35cec70b} + +\begin{CompactList}\small\item\em Sets the objective vector as invalid. \item\end{CompactList}\item +bool \bf{invalid\-Objective\-Vector} () const \label{classMOEO_c8e93beabdab8c2f79f17c7e39efdd05} + +\begin{CompactList}\small\item\em Returns true if the objective vector is invalid, false otherwise. \item\end{CompactList}\item +\bf{Fitness} \bf{fitness} () const \label{classMOEO_c02c16902f914a6fde83a33d2c8b1534} + +\begin{CompactList}\small\item\em Returns the fitness value of the current solution. \item\end{CompactList}\item +void \bf{fitness} (const \bf{Fitness} \&\_\-fitness\-Value) +\begin{CompactList}\small\item\em Sets the fitness value of the current solution. \item\end{CompactList}\item +void \bf{invalidate\-Fitness} ()\label{classMOEO_55876e2e7cd537052fec1c7f46f37ffe} + +\begin{CompactList}\small\item\em Sets the fitness value as invalid. \item\end{CompactList}\item +bool \bf{invalid\-Fitness} () const \label{classMOEO_9423f9daebb1f7be6d52c80692e4af48} + +\begin{CompactList}\small\item\em Returns true if the fitness value is invalid, false otherwise. \item\end{CompactList}\item +\bf{Diversity} \bf{diversity} () const \label{classMOEO_c610f4636e8c26a351fcfbc25028aa01} + +\begin{CompactList}\small\item\em Returns the diversity value of the current solution. \item\end{CompactList}\item +void \bf{diversity} (const \bf{Diversity} \&\_\-diversity\-Value) +\begin{CompactList}\small\item\em Sets the diversity value of the current solution. \item\end{CompactList}\item +void \bf{invalidate\-Diversity} ()\label{classMOEO_1283a27baab9728673445832e6d4301a} + +\begin{CompactList}\small\item\em Sets the diversity value as invalid. \item\end{CompactList}\item +bool \bf{invalid\-Diversity} () const \label{classMOEO_c4941e8e600fd360fdf1b061ee938e34} + +\begin{CompactList}\small\item\em Returns true if the diversity value is invalid, false otherwise. \item\end{CompactList}\item +void \bf{invalidate} ()\label{classMOEO_1069501a40e07071d78c067c46b696ee} + +\begin{CompactList}\small\item\em Sets the objective vector, the fitness value and the diversity value as invalid. \item\end{CompactList}\item +bool \bf{invalid} () const \label{classMOEO_314df446d1a9211121cedb2629da8906} + +\begin{CompactList}\small\item\em Returns true if the objective values are invalid, false otherwise. \item\end{CompactList}\item +bool \bf{operator$<$} (const \bf{MOEO} \&\_\-other) const +\begin{CompactList}\small\item\em Returns true if the objective vector of the current solution is smaller than the objective vector of \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\item +virtual std::string \bf{class\-Name} () const \label{classMOEO_ca43305b2f4d1b1933f7e1c579404379} + +\begin{CompactList}\small\item\em Return the class id (the class name as a std::string). \item\end{CompactList}\item +virtual void \bf{print\-On} (std::ostream \&\_\-os) const +\begin{CompactList}\small\item\em Writing object. \item\end{CompactList}\item +virtual void \bf{read\-From} (std::istream \&\_\-is) +\begin{CompactList}\small\item\em Reading object. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{Objective\-Vector} \bf{objective\-Vector\-Value}\label{classMOEO_26b6fd1187b825b655d5a34b1d0693c9} + +\begin{CompactList}\small\item\em the objective vector of this solution \item\end{CompactList}\item +bool \bf{invalid\-Objective\-Vector\-Value}\label{classMOEO_d07613f286ef484f164c51c9c1b2dc91} + +\begin{CompactList}\small\item\em true if the objective vector is invalid \item\end{CompactList}\item +\bf{Fitness} \bf{fitness\-Value}\label{classMOEO_bcc3104ab7311fa5987de80811393c7c} + +\begin{CompactList}\small\item\em the fitness value of this solution \item\end{CompactList}\item +bool \bf{invalid\-Fitness\-Value}\label{classMOEO_17f57546c6de38604d6749cc6ef9d254} + +\begin{CompactList}\small\item\em true if the fitness value is invalid \item\end{CompactList}\item +\bf{Diversity} \bf{diversity\-Value}\label{classMOEO_83cc0d3a4020cbd7e1ff895dfedc61eb} + +\begin{CompactList}\small\item\em the diversity value of this solution \item\end{CompactList}\item +bool \bf{invalid\-Diversity\-Value}\label{classMOEO_c53c08b7c51d4cc06efe58c6127f9b7d} + +\begin{CompactList}\small\item\em true if the diversity value is invalid \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ class MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} + +Base class allowing to represent a solution (an individual) for multi-objective optimization. + +The template argument MOEOObjective\-Vector allows to represent the solution in the objective space (it can be a \doxyref{moeo\-Objective\-Vector}{p.}{classmoeoObjectiveVector} object). The template argument MOEOFitness is an object reflecting the quality of the solution in term of convergence (the fitness of a solution is always to be maximized). The template argument MOEODiversity is an object reflecting the quality of the solution in term of diversity (the diversity of a solution is always to be maximized). All template arguments must have a void and a copy constructor. Using some specific representations, you will have to define a copy constructor if the default one is not what you want. In the same cases, you will also have to define the affectation operator (operator=). Then, you will explicitly have to call the parent copy constructor and the parent affectation operator at the beginning of the corresponding implementation. Besides, note that, contrary to the mono-objective case (and to \doxyref{EO}) where the fitness value of a solution is confused with its objective value, the fitness value differs of the objectives values in the multi-objective case. + + + +Definition at line 92 of file MOEO.h. + +\subsection{Member Function Documentation} +\index{MOEO@{MOEO}!objectiveVector@{objectiveVector}} +\index{objectiveVector@{objectiveVector}!MOEO@{MOEO}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ void \bf{MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::objective\-Vector (const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector\-Value})\hspace{0.3cm}{\tt [inline]}}\label{classMOEO_d4a765a76f9acc1bca36297ab55d7282} + + +Sets the objective vector of the current solution. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-objective\-Vector\-Value}]the new objective vector \end{description} +\end{Desc} + + +Definition at line 145 of file MOEO.h.\index{MOEO@{MOEO}!fitness@{fitness}} +\index{fitness@{fitness}!MOEO@{MOEO}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ void \bf{MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::fitness (const \bf{Fitness} \& {\em \_\-fitness\-Value})\hspace{0.3cm}{\tt [inline]}}\label{classMOEO_4dc05ded73bb60d1a51e282006c8942d} + + +Sets the fitness value of the current solution. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Value}]the new fitness value \end{description} +\end{Desc} + + +Definition at line 189 of file MOEO.h.\index{MOEO@{MOEO}!diversity@{diversity}} +\index{diversity@{diversity}!MOEO@{MOEO}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ void \bf{MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::diversity (const \bf{Diversity} \& {\em \_\-diversity\-Value})\hspace{0.3cm}{\tt [inline]}}\label{classMOEO_1f0a391984cd14bcf930d1d81dd4848e} + + +Sets the diversity value of the current solution. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-diversity\-Value}]the new diversity value \end{description} +\end{Desc} + + +Definition at line 231 of file MOEO.h.\index{MOEO@{MOEO}!operator<@{operator$<$}} +\index{operator<@{operator$<$}!MOEO@{MOEO}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ bool \bf{MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::operator$<$ (const \bf{MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classMOEO_119ef916de4955298febaf3e1c8ad705} + + +Returns true if the objective vector of the current solution is smaller than the objective vector of \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). + +You should implement another function in the sub-class of \doxyref{MOEO}{p.}{classMOEO} to have another sorting mecanism. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-other}]the other \doxyref{MOEO}{p.}{classMOEO} object to compare with \end{description} +\end{Desc} + + +Definition at line 282 of file MOEO.h.\index{MOEO@{MOEO}!printOn@{printOn}} +\index{printOn@{printOn}!MOEO@{MOEO}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ virtual void \bf{MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classMOEO_a3b6074b3289585bf4dc6998e8397e24} + + +Writing object. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-os}]output stream \end{description} +\end{Desc} + + +Reimplemented from \bf{EO$<$ MOEOObjective\-Vector $>$}. + +Reimplemented in \bf{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} \doxyref{p.}{classmoeoBitVector_78f821c548cf46d8bcd30aa8a52ffb7c}, \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$} \doxyref{p.}{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308}, \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{p.}{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308}, \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, double $>$} \doxyref{p.}{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308}, \bf{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Flow\-Shop\-Objective\-Vector\-Traits $>$, double, double, unsigned int $>$} \doxyref{p.}{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308}, \bf{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Sch1Objective\-Vector\-Traits $>$, double, double, double $>$} \doxyref{p.}{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308}, and \bf{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, double, double, double $>$} \doxyref{p.}{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308}. + +Definition at line 301 of file MOEO.h.\index{MOEO@{MOEO}!readFrom@{readFrom}} +\index{readFrom@{readFrom}!MOEO@{MOEO}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ virtual void \bf{MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classMOEO_1bbd9cb1a7709592bf4bc29dff8c5273} + + +Reading object. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-is}]input stream \end{description} +\end{Desc} + + +Reimplemented from \bf{EO$<$ MOEOObjective\-Vector $>$}. + +Reimplemented in \bf{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} \doxyref{p.}{classmoeoBitVector_31cd3f894615d0a27dd116a5c8082521}, \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$} \doxyref{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}, \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}, \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, double $>$} \doxyref{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}, \bf{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Flow\-Shop\-Objective\-Vector\-Traits $>$, double, double, unsigned int $>$} \doxyref{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}, \bf{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Sch1Objective\-Vector\-Traits $>$, double, double, double $>$} \doxyref{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}, and \bf{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, double, double, double $>$} \doxyref{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}. + +Definition at line 318 of file MOEO.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +MOEO.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classObjectiveVectorTraits.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classObjectiveVectorTraits.eps new file mode 100644 index 000000000..f622942d5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classObjectiveVectorTraits.eps @@ -0,0 +1,255 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 924.855 +%%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.540625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 16 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 +(ObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) 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 ----- + + (ObjectiveVectorTraits) 0 0 box + (moeoObjectiveVectorTraits) 1 1 box + (moeoObjectiveVectorTraits) 1 2 box + (moeoObjectiveVectorTraits) 1 3 box + (moeoObjectiveVectorTraits) 1 4 box + (moeoObjectiveVectorTraits) 1 5 box + (moeoObjectiveVectorTraits) 1 6 box + (moeoObjectiveVectorTraits) 1 7 box + (moeoObjectiveVectorTraits) 1 8 box + (moeoObjectiveVectorTraits) 1 9 box + (moeoObjectiveVectorTraits) 1 10 box + (moeoObjectiveVectorTraits) 1 11 box + (moeoObjectiveVectorTraits) 1 12 box + (moeoObjectiveVectorTraits) 1 13 box + (moeoObjectiveVectorTraits) 1 14 box + (moeoObjectiveVectorTraits) 1 15 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1.5 hedge +solid +1 0 2.5 hedge +solid +1 0 3.5 hedge +solid +1 0 4.5 hedge +solid +1 0 5.5 hedge +solid +1 0 6.5 hedge +solid +1 0 7.5 hedge +solid +1 0 8.5 hedge +solid +1 0 9.5 hedge +solid +1 0 10.5 hedge +solid +1 0 11.5 hedge +solid +1 0 12.5 hedge +solid +1 0 13.5 hedge +solid +1 0 14.5 hedge +solid +1 0 15.5 hedge +solid +0 1 15.5 vedge diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classObjectiveVectorTraits.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classObjectiveVectorTraits.tex new file mode 100644 index 000000000..53bfd5c76 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classObjectiveVectorTraits.tex @@ -0,0 +1,172 @@ +\section{Objective\-Vector\-Traits Class Reference} +\label{classObjectiveVectorTraits}\index{ObjectiveVectorTraits@{ObjectiveVectorTraits}} +Inheritance diagram for Objective\-Vector\-Traits::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=12cm]{classObjectiveVectorTraits} +\end{center} +\end{figure} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (int i)\label{classObjectiveVectorTraits_52dc1c3dd95f37fe256708f40189a6fd} + +\item +static bool \bf{maximizing} (int i)\label{classObjectiveVectorTraits_69ddc04a4bf7b842f5457f7cff09c479} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classObjectiveVectorTraits_8f8cb44cfe76117ab1c5624e4fced91f} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 45 of file t-moeo.cpp. + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +t-moeo.cpp\item +t-moeo\-Achievement\-Fitness\-Assignment.cpp\item +t-moeo\-Archive.cpp\item +t-moeo\-Bit\-Vector.cpp\item +t-moeo\-Crowding\-Diversity\-Assignment.cpp\item +t-moeo\-Easy\-EA.cpp\item +t-moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.cpp\item +t-moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.cpp\item +t-moeo\-IBEA.cpp\item +t-moeo\-Max3Obj.cpp\item +t-moeo\-NSGA.cpp\item +t-moeo\-NSGAII.cpp\item +t-moeo\-Pareto\-Objective\-Vector\-Comparator.cpp\item +t-moeo\-Real\-Vector.cpp\item +t-moeo\-Sharing\-Diversity\-Assignment.cpp\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1.eps new file mode 100644 index 000000000..07b0240e6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1.eps @@ -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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1.tex new file mode 100644 index 000000000..f85177da7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1.tex @@ -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 70 of file Sch1.cpp. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +Sch1.cpp\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1Eval.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1Eval.eps new file mode 100644 index 000000000..88fc1f312 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1Eval.eps @@ -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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1Eval.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1Eval.tex new file mode 100644 index 000000000..7bce4f3fd --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1Eval.tex @@ -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 79 of file Sch1.cpp. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +Sch1.cpp\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.eps new file mode 100644 index 000000000..a95749c2a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.eps @@ -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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.tex new file mode 100644 index 000000000..512a5defc --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.tex @@ -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 47 of file Sch1.cpp. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +Sch1.cpp\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSolution.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSolution.eps new file mode 100644 index 000000000..f15836a48 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSolution.eps @@ -0,0 +1,370 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 29.4118 +%%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 17 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 10 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 +(Solution) cw +(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(EO< MOEOObjectiveVector >) cw +(EO< MOEOObjectiveVector >) cw +(EO< MOEOObjectiveVector >) cw +(EO< MOEOObjectiveVector >) cw +(EO< MOEOObjectiveVector >) cw +(eoObject) cw +(eoPersistent) cw +(eoObject) cw +(eoPersistent) cw +(eoObject) cw +(eoPersistent) cw +(eoObject) cw +(eoPersistent) cw +(eoObject) cw +(eoPersistent) 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 ----- + + (Solution) 4 0 box + (moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0 1 box + (moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 2 1 box + (moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 4 1 box + (moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 6 1 box + (moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 8 1 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 0 2 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 2 2 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 4 2 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 6 2 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 8 2 box + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0 3 box + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 2 3 box + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 4 3 box + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 6 3 box + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 8 3 box + (EO< MOEOObjectiveVector >) 0 4 box + (EO< MOEOObjectiveVector >) 2 4 box + (EO< MOEOObjectiveVector >) 4 4 box + (EO< MOEOObjectiveVector >) 6 4 box + (EO< MOEOObjectiveVector >) 8 4 box + (eoPersistent) 9 5 box +9 5 mark + (eoObject) 9 6 box + (eoPersistent) 7 5 box +7 5 mark + (eoObject) 7 6 box + (eoPersistent) 5 5 box +5 5 mark + (eoObject) 5 6 box + (eoPersistent) 3 5 box +3 5 mark + (eoObject) 3 6 box + (eoPersistent) 1 5 box +1 5 mark + (eoObject) 1 6 box + +% ----- relations ----- + +solid +0 4 0 out +solid +0 8 1 conn +solid +1 0 1 in +solid +0 0 1 out +solid +1 2 1 in +solid +0 2 1 out +solid +1 4 1 in +solid +0 4 1 out +solid +1 6 1 in +solid +0 6 1 out +solid +1 8 1 in +solid +0 8 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 2 2 in +solid +0 2 2 out +solid +1 4 2 in +solid +0 4 2 out +solid +1 6 2 in +solid +0 6 2 out +solid +1 8 2 in +solid +0 8 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 2 3 in +solid +0 2 3 out +solid +1 4 3 in +solid +0 4 3 out +solid +1 6 3 in +solid +0 6 3 out +solid +1 8 3 in +solid +0 8 3 out +solid +1 0 4 in +solid +0 0 4 out +solid +1 2 4 in +solid +0 2 4 out +solid +1 4 4 in +solid +0 4 4 out +solid +1 6 4 in +solid +0 6 4 out +solid +1 8 4 in +solid +0 8 4 out +solid +1 0 5.5 hedge +solid +1 0 6.5 hedge +solid +0 5 6.5 vedge +solid +1 2 5.5 hedge +solid +1 2 6.5 hedge +solid +2 5 6.5 vedge +solid +1 4 5.5 hedge +solid +1 4 6.5 hedge +solid +4 5 6.5 vedge +solid +1 6 5.5 hedge +solid +1 6 6.5 hedge +solid +6 5 6.5 vedge +solid +1 8 5.5 hedge +solid +1 8 6.5 hedge +solid +8 5 6.5 vedge diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSolution.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSolution.tex new file mode 100644 index 000000000..696a28d7e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classSolution.tex @@ -0,0 +1,42 @@ +\section{Solution Class Reference} +\label{classSolution}\index{Solution@{Solution}} +Inheritance diagram for Solution::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=0.823529cm]{classSolution} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{Solution} ()\label{classSolution_b55bd4b023d596ce11aaf737b9a6123b} + +\item +\bf{Solution} ()\label{classSolution_b55bd4b023d596ce11aaf737b9a6123b} + +\item +\bf{Solution} ()\label{classSolution_b55bd4b023d596ce11aaf737b9a6123b} + +\item +\bf{Solution} ()\label{classSolution_b55bd4b023d596ce11aaf737b9a6123b} + +\item +\bf{Solution} ()\label{classSolution_b55bd4b023d596ce11aaf737b9a6123b} + +\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 66 of file t-moeo\-Easy\-EA.cpp. + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +t-moeo\-Easy\-EA.cpp\item +t-moeo\-IBEA.cpp\item +t-moeo\-Max3Obj.cpp\item +t-moeo\-NSGA.cpp\item +t-moeo\-NSGAII.cpp\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classTestEval.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classTestEval.eps new file mode 100644 index 000000000..eb823ae52 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classTestEval.eps @@ -0,0 +1,305 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 115.607 +%%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.325 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 5 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 +(TestEval) cw +(moeoEvalFunc< Solution >) cw +(moeoEvalFunc< Solution >) cw +(moeoEvalFunc< Solution >) cw +(moeoEvalFunc< Solution >) cw +(moeoEvalFunc< Solution >) cw +(eoEvalFunc< Solution >) cw +(eoEvalFunc< Solution >) cw +(eoEvalFunc< Solution >) cw +(eoEvalFunc< Solution >) cw +(eoEvalFunc< Solution >) cw +(eoUF< A1, R >) cw +(eoUF< A1, R >) cw +(eoUF< A1, R >) cw +(eoUF< A1, R >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(eoFunctorBase) 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 ----- + + (TestEval) 2 0 box + (moeoEvalFunc< Solution >) 0 1 box + (moeoEvalFunc< Solution >) 1 1 box + (moeoEvalFunc< Solution >) 2 1 box + (moeoEvalFunc< Solution >) 3 1 box + (moeoEvalFunc< Solution >) 4 1 box + (eoEvalFunc< Solution >) 0 2 box + (eoEvalFunc< Solution >) 1 2 box + (eoEvalFunc< Solution >) 2 2 box + (eoEvalFunc< Solution >) 3 2 box + (eoEvalFunc< Solution >) 4 2 box + (eoUF< A1, R >) 0 3 box + (eoUF< A1, R >) 1 3 box + (eoUF< A1, R >) 2 3 box + (eoUF< A1, R >) 3 3 box + (eoUF< A1, R >) 4 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 box + (eoFunctorBase) 2 4 box + (eoFunctorBase) 3 4 box + (eoFunctorBase) 4 4 box + +% ----- relations ----- + +solid +0 2 0 out +solid +0 4 1 conn +solid +1 0 1 in +solid +0 0 1 out +solid +1 1 1 in +solid +0 1 1 out +solid +1 2 1 in +solid +0 2 1 out +solid +1 3 1 in +solid +0 3 1 out +solid +1 4 1 in +solid +0 4 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 2 2 in +solid +0 2 2 out +solid +1 3 2 in +solid +0 3 2 out +solid +1 4 2 in +solid +0 4 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 2 3 in +solid +0 2 3 out +solid +1 3 3 in +solid +0 3 3 out +solid +1 4 3 in +solid +0 4 3 out +solid +1 0 4 in +solid +1 1 4 in +solid +1 2 4 in +solid +1 3 4 in +solid +1 4 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classTestEval.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classTestEval.tex new file mode 100644 index 000000000..d3c17e4c8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classTestEval.tex @@ -0,0 +1,42 @@ +\section{Test\-Eval Class Reference} +\label{classTestEval}\index{TestEval@{TestEval}} +Inheritance diagram for Test\-Eval::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.23699cm]{classTestEval} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{operator()} (\bf{Solution} \&\_\-sol)\label{classTestEval_9572c868f92fafc149e6da9bcfa7b06b} + +\item +void \bf{operator()} (\bf{Solution} \&\_\-sol)\label{classTestEval_9572c868f92fafc149e6da9bcfa7b06b} + +\item +void \bf{operator()} (\bf{Solution} \&\_\-sol)\label{classTestEval_9572c868f92fafc149e6da9bcfa7b06b} + +\item +void \bf{operator()} (\bf{Solution} \&\_\-sol)\label{classTestEval_9572c868f92fafc149e6da9bcfa7b06b} + +\item +void \bf{operator()} (\bf{Solution} \&\_\-sol)\label{classTestEval_9572c868f92fafc149e6da9bcfa7b06b} + +\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 72 of file t-moeo\-Easy\-EA.cpp. + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +t-moeo\-Easy\-EA.cpp\item +t-moeo\-IBEA.cpp\item +t-moeo\-Max3Obj.cpp\item +t-moeo\-NSGA.cpp\item +t-moeo\-NSGAII.cpp\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAchievementFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAchievementFitnessAssignment.eps new file mode 100644 index 000000000..d447c1718 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAchievementFitnessAssignment.eps @@ -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 336.7 +%%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.485 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 +(moeoAchievementFitnessAssignment< MOEOT >) cw +(moeoScalarFitnessAssignment< 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 ----- + + (moeoAchievementFitnessAssignment< MOEOT >) 0 0 box + (moeoScalarFitnessAssignment< MOEOT >) 0 1 box + (moeoFitnessAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAchievementFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAchievementFitnessAssignment.tex new file mode 100644 index 000000000..afc0f7125 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAchievementFitnessAssignment.tex @@ -0,0 +1,172 @@ +\section{moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoAchievementFitnessAssignment}\index{moeoAchievementFitnessAssignment@{moeoAchievementFitnessAssignment}} +Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980). + + +{\tt \#include $<$moeo\-Achievement\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoAchievementFitnessAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoAchievementFitnessAssignment_1a58a88ff0175cf303eb63d8b4f52a26} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Achievement\-Fitness\-Assignment} (\bf{Objective\-Vector} \&\_\-reference, std::vector$<$ double $>$ \&\_\-lambdas, double \_\-spn=0.0001) +\begin{CompactList}\small\item\em Default ctor. \item\end{CompactList}\item +\bf{moeo\-Achievement\-Fitness\-Assignment} (\bf{Objective\-Vector} \&\_\-reference, double \_\-spn=0.0001) +\begin{CompactList}\small\item\em Ctor with default values for lambdas (1/n\-Objectives). \item\end{CompactList}\item +virtual 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 (nothing to do). \item\end{CompactList}\item +void \bf{set\-Reference} (const \bf{Objective\-Vector} \&\_\-reference) +\begin{CompactList}\small\item\em Sets the reference point. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double \bf{inf} () const \label{classmoeoAchievementFitnessAssignment_cdc77cfe1180bc792b9de82755828896} + +\begin{CompactList}\small\item\em Returns a big value (regarded as infinite). \item\end{CompactList}\item +void \bf{compute} (MOEOT \&\_\-moeo) +\begin{CompactList}\small\item\em Computes the fitness value for a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{Objective\-Vector} \bf{reference}\label{classmoeoAchievementFitnessAssignment_3f01cc20823b53f440dd1ab5a82c3564} + +\begin{CompactList}\small\item\em the reference point \item\end{CompactList}\item +std::vector$<$ double $>$ \bf{lambdas}\label{classmoeoAchievementFitnessAssignment_2992fb7c43286bef9cd6dc7628fa083a} + +\begin{CompactList}\small\item\em the weighted coefficients vector \item\end{CompactList}\item +double \bf{spn}\label{classmoeoAchievementFitnessAssignment_bf99cd0c85e298bdd1281ef2fb06e7b0} + +\begin{CompactList}\small\item\em an arbitrary small positive number (0 $<$ \_\-spn $<$$<$ 1) \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$} + +Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980). + + + +Definition at line 49 of file moeo\-Achievement\-Fitness\-Assignment.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}!moeoAchievementFitnessAssignment@{moeoAchievementFitnessAssignment}} +\index{moeoAchievementFitnessAssignment@{moeoAchievementFitnessAssignment}!moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Achievement\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Achievement\-Fitness\-Assignment} (\bf{Objective\-Vector} \& {\em \_\-reference}, std::vector$<$ double $>$ \& {\em \_\-lambdas}, double {\em \_\-spn} = {\tt 0.0001})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAchievementFitnessAssignment_52ae7d8112e66813232172a26d03cbb8} + + +Default ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-reference}]reference point vector \item[{\em \_\-lambdas}]weighted coefficients vector \item[{\em \_\-spn}]arbitrary small positive number (0 $<$ \_\-spn $<$$<$ 1) \end{description} +\end{Desc} + + +Definition at line 63 of file moeo\-Achievement\-Fitness\-Assignment.h. + +References moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::spn.\index{moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}!moeoAchievementFitnessAssignment@{moeoAchievementFitnessAssignment}} +\index{moeoAchievementFitnessAssignment@{moeoAchievementFitnessAssignment}!moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Achievement\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Achievement\-Fitness\-Assignment} (\bf{Objective\-Vector} \& {\em \_\-reference}, double {\em \_\-spn} = {\tt 0.0001})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAchievementFitnessAssignment_75d9668a256381ef764352d705dcf47a} + + +Ctor with default values for lambdas (1/n\-Objectives). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-reference}]reference point vector \item[{\em \_\-spn}]arbitrary small positive number (0 $<$ \_\-spn $<$$<$ 1) \end{description} +\end{Desc} + + +Definition at line 79 of file moeo\-Achievement\-Fitness\-Assignment.h. + +References moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::lambdas, moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::n\-Objectives(), and moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::spn. + +\subsection{Member Function Documentation} +\index{moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}!operator()@{operator()}} +\index{operator()@{operator()}!moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-Achievement\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoAchievementFitnessAssignment_d5863db9571d7f23a16ca184adf562a3} + + +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 100 of file moeo\-Achievement\-Fitness\-Assignment.h. + +References moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::compute().\index{moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Achievement\-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{classmoeoAchievementFitnessAssignment_a6a2ae6c263dbcea3c16cde4c8a1e5fc} + + +Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account (nothing to do). + +\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 114 of file moeo\-Achievement\-Fitness\-Assignment.h.\index{moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}!setReference@{setReference}} +\index{setReference@{setReference}!moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Achievement\-Fitness\-Assignment}$<$ MOEOT $>$::set\-Reference (const \bf{Objective\-Vector} \& {\em \_\-reference})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAchievementFitnessAssignment_d200530e3fbdf847dca970ac2265d83d} + + +Sets the reference point. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-reference}]the new reference point \end{description} +\end{Desc} + + +Definition at line 124 of file moeo\-Achievement\-Fitness\-Assignment.h. + +References moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::reference.\index{moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}!compute@{compute}} +\index{compute@{compute}!moeoAchievementFitnessAssignment@{moeo\-Achievement\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Achievement\-Fitness\-Assignment}$<$ MOEOT $>$::compute (MOEOT \& {\em \_\-moeo})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoAchievementFitnessAssignment_7c027540ed0d7f61559f636b6b8a4b29} + + +Computes the fitness value for a solution. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo}]the solution \end{description} +\end{Desc} + + +Definition at line 153 of file moeo\-Achievement\-Fitness\-Assignment.h. + +References moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::inf(), moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::lambdas, moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::reference, and moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::spn. + +Referenced by moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Achievement\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAdditiveEpsilonBinaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAdditiveEpsilonBinaryMetric.eps new file mode 100644 index 000000000..b3bc56ba5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAdditiveEpsilonBinaryMetric.eps @@ -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 141.509 +%%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.53333 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 +(moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) cw +(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoBinaryMetric< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) 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 ----- + + (moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) 0.5 0 box + (moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 1 box + (moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 2 box + (moeoBinaryMetric< A1, A2, R >) 0.5 3 box + (eoBF< A1, A2, R >) 0 4 box + (moeoMetric) 1 4 box + (eoFunctorBase) 0 5 box + (eoFunctorBase) 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 +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAdditiveEpsilonBinaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAdditiveEpsilonBinaryMetric.tex new file mode 100644 index 000000000..c90173bf9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAdditiveEpsilonBinaryMetric.tex @@ -0,0 +1,78 @@ +\section{moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$ Class Template Reference} +\label{classmoeoAdditiveEpsilonBinaryMetric}\index{moeoAdditiveEpsilonBinaryMetric@{moeoAdditiveEpsilonBinaryMetric}} +Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C. + + +{\tt \#include $<$moeo\-Additive\-Epsilon\-Binary\-Metric.h$>$} + +Inheritance diagram for moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.96226cm]{classmoeoAdditiveEpsilonBinaryMetric} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +double \bf{operator()} (const \bf{Objective\-Vector} \&\_\-o1, const \bf{Objective\-Vector} \&\_\-o2) +\begin{CompactList}\small\item\em Returns the minimal distance by which the objective vector \_\-o1 must be translated in all objectives so that it weakly dominates the objective vector \_\-o2. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double \bf{epsilon} (const \bf{Objective\-Vector} \&\_\-o1, const \bf{Objective\-Vector} \&\_\-o2, const unsigned int \_\-obj) +\begin{CompactList}\small\item\em Returns the epsilon value by which the objective vector \_\-o1 must be translated in the objective \_\-obj so that it dominates the objective vector \_\-o2. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$} + +Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C. + +M., Grunert da Fonseca V.: Performance Assessment of Multiobjective Optimizers: An Analysis and Review. IEEE Transactions on Evolutionary Computation 7(2), pp.117\^{a}€“132 (2003). + + + +Definition at line 49 of file moeo\-Additive\-Epsilon\-Binary\-Metric.h. + +\subsection{Member Function Documentation} +\index{moeoAdditiveEpsilonBinaryMetric@{moeo\-Additive\-Epsilon\-Binary\-Metric}!operator()@{operator()}} +\index{operator()@{operator()}!moeoAdditiveEpsilonBinaryMetric@{moeo\-Additive\-Epsilon\-Binary\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double \bf{moeo\-Additive\-Epsilon\-Binary\-Metric}$<$ \bf{Objective\-Vector} $>$::operator() (const \bf{Objective\-Vector} \& {\em \_\-o1}, const \bf{Objective\-Vector} \& {\em \_\-o2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAdditiveEpsilonBinaryMetric_545aa2c8e6dd93084276763c9d8a3709} + + +Returns the minimal distance by which the objective vector \_\-o1 must be translated in all objectives so that it weakly dominates the objective vector \_\-o2. + +\begin{Desc} +\item[Warning:]don't forget to set the bounds for every objective before the call of this function \end{Desc} +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-o1}]the first objective vector \item[{\em \_\-o2}]the second objective vector \end{description} +\end{Desc} + + +Definition at line 60 of file moeo\-Additive\-Epsilon\-Binary\-Metric.h. + +References moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$::epsilon(), and moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::n\-Objectives().\index{moeoAdditiveEpsilonBinaryMetric@{moeo\-Additive\-Epsilon\-Binary\-Metric}!epsilon@{epsilon}} +\index{epsilon@{epsilon}!moeoAdditiveEpsilonBinaryMetric@{moeo\-Additive\-Epsilon\-Binary\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double \bf{moeo\-Additive\-Epsilon\-Binary\-Metric}$<$ \bf{Objective\-Vector} $>$::epsilon (const \bf{Objective\-Vector} \& {\em \_\-o1}, const \bf{Objective\-Vector} \& {\em \_\-o2}, const unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoAdditiveEpsilonBinaryMetric_04253f76c832d24a3fd6bc574be54c46} + + +Returns the epsilon value by which the objective vector \_\-o1 must be translated in the objective \_\-obj so that it dominates the objective vector \_\-o2. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-o1}]the first objective vector \item[{\em \_\-o2}]the second objective vector \item[{\em \_\-obj}]the index of the objective \end{description} +\end{Desc} + + +Definition at line 89 of file moeo\-Additive\-Epsilon\-Binary\-Metric.h. + +References moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::bounds. + +Referenced by moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Additive\-Epsilon\-Binary\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAggregativeComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAggregativeComparator.eps new file mode 100644 index 000000000..9789f7000 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAggregativeComparator.eps @@ -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 313.725 +%%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.59375 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 +(moeoAggregativeComparator< MOEOT >) 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 ----- + + (moeoAggregativeComparator< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAggregativeComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAggregativeComparator.tex new file mode 100644 index 000000000..b0670d3f4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAggregativeComparator.tex @@ -0,0 +1,79 @@ +\section{moeo\-Aggregative\-Comparator$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoAggregativeComparator}\index{moeoAggregativeComparator@{moeoAggregativeComparator}} +Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value. + + +{\tt \#include $<$moeo\-Aggregative\-Comparator.h$>$} + +Inheritance diagram for moeo\-Aggregative\-Comparator$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoAggregativeComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Aggregative\-Comparator} (double \_\-weight\-Fitness=1.0, double \_\-weight\-Diversity=1.0) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +const bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2) +\begin{CompactList}\small\item\em Returns true if \_\-moeo1 $<$ \_\-moeo2 according to the aggregation of their fitness and diversity values. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double \bf{weight\-Fitness}\label{classmoeoAggregativeComparator_9ddf44b9e447bee8503c5b9cad9a7df0} + +\begin{CompactList}\small\item\em the weight for fitness \item\end{CompactList}\item +double \bf{weight\-Diversity}\label{classmoeoAggregativeComparator_d4ce25f797af0218c6c8cfca7c73b2d3} + +\begin{CompactList}\small\item\em the weight for diversity \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Aggregative\-Comparator$<$ MOEOT $>$} + +Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value. + + + +Definition at line 47 of file moeo\-Aggregative\-Comparator.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoAggregativeComparator@{moeo\-Aggregative\-Comparator}!moeoAggregativeComparator@{moeoAggregativeComparator}} +\index{moeoAggregativeComparator@{moeoAggregativeComparator}!moeoAggregativeComparator@{moeo\-Aggregative\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Aggregative\-Comparator}$<$ MOEOT $>$::\bf{moeo\-Aggregative\-Comparator} (double {\em \_\-weight\-Fitness} = {\tt 1.0}, double {\em \_\-weight\-Diversity} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAggregativeComparator_76cc4d0f5f9bd4984c77410ad8142914} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-weight\-Fitness}]the weight for fitness \item[{\em \_\-weight\-Diversity}]the weight for diversity \end{description} +\end{Desc} + + +Definition at line 56 of file moeo\-Aggregative\-Comparator.h. + +\subsection{Member Function Documentation} +\index{moeoAggregativeComparator@{moeo\-Aggregative\-Comparator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoAggregativeComparator@{moeo\-Aggregative\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool \bf{moeo\-Aggregative\-Comparator}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAggregativeComparator_2f6745ebc2d575e64b162fc250f04b0f} + + +Returns true if \_\-moeo1 $<$ \_\-moeo2 according to the aggregation of their fitness and diversity values. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description} +\end{Desc} + + +Definition at line 65 of file moeo\-Aggregative\-Comparator.h. + +References moeo\-Aggregative\-Comparator$<$ MOEOT $>$::weight\-Diversity, and moeo\-Aggregative\-Comparator$<$ MOEOT $>$::weight\-Fitness. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Aggregative\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAlgo.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAlgo.eps new file mode 100644 index 000000000..a43467b12 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAlgo.eps @@ -0,0 +1,229 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 52.6316 +%%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 9.5 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 5 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 +(moeoAlgo) cw +(moeoEA< MOEOT >) cw +(moeoLS< MOEOT, Type >) cw +(moeoEasyEA< MOEOT >) cw +(moeoIBEA< MOEOT >) cw +(moeoNSGA< MOEOT >) cw +(moeoNSGAII< MOEOT >) cw +(moeoCombinedLS< MOEOT, Type >) 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 ----- + + (moeoAlgo) 2.75 2 box + (moeoEA< MOEOT >) 1.5 1 box + (moeoLS< MOEOT, Type >) 4 1 box + (moeoEasyEA< MOEOT >) 0 0 box + (moeoIBEA< MOEOT >) 1 0 box + (moeoNSGA< MOEOT >) 2 0 box + (moeoNSGAII< MOEOT >) 3 0 box + (moeoCombinedLS< MOEOT, Type >) 4 0 box + +% ----- relations ----- + +solid +1 2.75 1.25 out +solid +1.5 4 2 conn +solid +0 1.5 1.75 in +solid +1 1.5 0.25 out +solid +0 3 1 conn +solid +0 4 1.75 in +solid +1 4 0.25 out +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in +solid +0 3 0.75 in +solid +0 4 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAlgo.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAlgo.tex new file mode 100644 index 000000000..948b23791 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoAlgo.tex @@ -0,0 +1,25 @@ +\section{moeo\-Algo Class Reference} +\label{classmoeoAlgo}\index{moeoAlgo@{moeoAlgo}} +Abstract class for multi-objective algorithms. + + +{\tt \#include $<$moeo\-Algo.h$>$} + +Inheritance diagram for moeo\-Algo::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.47368cm]{classmoeoAlgo} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +Abstract class for multi-objective algorithms. + + + +Definition at line 44 of file moeo\-Algo.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Algo.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchive.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchive.eps new file mode 100644 index 000000000..b035ce904 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchive.eps @@ -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 242.424 +%%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.0625 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 +(moeoArchive< MOEOT >) cw +(eoPop< MOEOT >) 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 ----- + + (moeoArchive< MOEOT >) 0.5 0 box + (eoPop< MOEOT >) 0.5 1 box + (eoObject) 0 2 box + (eoPersistent) 1 2 box + (eoPrintable) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchive.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchive.tex new file mode 100644 index 000000000..9208d7b5e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchive.tex @@ -0,0 +1,170 @@ +\section{moeo\-Archive$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoArchive}\index{moeoArchive@{moeoArchive}} +An archive is a secondary population that stores non-dominated solutions. + + +{\tt \#include $<$moeo\-Archive.h$>$} + +Inheritance diagram for moeo\-Archive$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchive} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoArchive_655f6879b14d7b4e65ea03724e5ee601} + +\begin{CompactList}\small\item\em The type of an objective vector for a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Archive} () +\begin{CompactList}\small\item\em Default ctor. \item\end{CompactList}\item +\bf{moeo\-Archive} (\bf{moeo\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \&\_\-comparator) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +bool \bf{dominates} (const \bf{Objective\-Vector} \&\_\-objective\-Vector) const +\begin{CompactList}\small\item\em Returns true if the current archive dominates \_\-objective\-Vector according to the \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} given in the constructor. \item\end{CompactList}\item +bool \bf{contains} (const \bf{Objective\-Vector} \&\_\-objective\-Vector) const +\begin{CompactList}\small\item\em Returns true if the current archive already contains a solution with the same objective values than \_\-objective\-Vector. \item\end{CompactList}\item +void \bf{update} (const MOEOT \&\_\-moeo) +\begin{CompactList}\small\item\em Updates the archive with a given individual \_\-moeo. \item\end{CompactList}\item +void \bf{update} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Updates the archive with a given population \_\-pop. \item\end{CompactList}\item +bool \bf{equals} (const \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Returns true if the current archive contains the same objective vectors than the given archive \_\-arch. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \& \bf{comparator}\label{classmoeoArchive_59d96d161a53b3ee50df8ca5ad0d0642} + +\begin{CompactList}\small\item\em The \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} used to compare solutions. \item\end{CompactList}\item +\bf{moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \bf{pareto\-Comparator}\label{classmoeoArchive_eefd5b82b1d7f7d60c72683da9cd8682} + +\begin{CompactList}\small\item\em A \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} based on Pareto dominance (used as default). \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Archive$<$ MOEOT $>$} + +An archive is a secondary population that stores non-dominated solutions. + + + +Definition at line 49 of file moeo\-Archive.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoArchive@{moeo\-Archive}!moeoArchive@{moeoArchive}} +\index{moeoArchive@{moeoArchive}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Archive}$<$ MOEOT $>$::\bf{moeo\-Archive} ()\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_a593ca2122484d255b5aa5a0463bd913} + + +Default ctor. + +The \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} used to compare solutions is based on Pareto dominance + +Definition at line 70 of file moeo\-Archive.h.\index{moeoArchive@{moeo\-Archive}!moeoArchive@{moeoArchive}} +\index{moeoArchive@{moeoArchive}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Archive}$<$ MOEOT $>$::\bf{moeo\-Archive} (\bf{moeo\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_75e5fee339ca463405434f6f48497de0} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-comparator}]the \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} used to compare solutions \end{description} +\end{Desc} + + +Definition at line 78 of file moeo\-Archive.h. + +\subsection{Member Function Documentation} +\index{moeoArchive@{moeo\-Archive}!dominates@{dominates}} +\index{dominates@{dominates}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ bool \bf{moeo\-Archive}$<$ MOEOT $>$::dominates (const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_67f667e822e0485c6976c6ee0d18f70a} + + +Returns true if the current archive dominates \_\-objective\-Vector according to the \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} given in the constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-objective\-Vector}]the objective vector to compare with the current archive \end{description} +\end{Desc} + + +Definition at line 86 of file moeo\-Archive.h. + +References moeo\-Archive$<$ MOEOT $>$::comparator.\index{moeoArchive@{moeo\-Archive}!contains@{contains}} +\index{contains@{contains}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ bool \bf{moeo\-Archive}$<$ MOEOT $>$::contains (const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_748d5c75d713075288257192be1986a9} + + +Returns true if the current archive already contains a solution with the same objective values than \_\-objective\-Vector. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-objective\-Vector}]the objective vector to compare with the current archive \end{description} +\end{Desc} + + +Definition at line 104 of file moeo\-Archive.h. + +Referenced by moeo\-Archive$<$ MOEOT $>$::equals().\index{moeoArchive@{moeo\-Archive}!update@{update}} +\index{update@{update}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Archive}$<$ MOEOT $>$::update (const MOEOT \& {\em \_\-moeo})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_6df0acd84cab4cb53682f2e6ca850e9a} + + +Updates the archive with a given individual \_\-moeo. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo}]the given individual \end{description} +\end{Desc} + + +Definition at line 121 of file moeo\-Archive.h. + +References moeo\-Archive$<$ MOEOT $>$::comparator. + +Referenced by moeo\-Archive$<$ MOEOT $>$::update().\index{moeoArchive@{moeo\-Archive}!update@{update}} +\index{update@{update}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Archive}$<$ MOEOT $>$::update (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_877bf4f0937f6be263e2686df4e77cf3} + + +Updates the archive with a given population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the given population \end{description} +\end{Desc} + + +Definition at line 164 of file moeo\-Archive.h. + +References moeo\-Archive$<$ MOEOT $>$::update().\index{moeoArchive@{moeo\-Archive}!equals@{equals}} +\index{equals@{equals}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ bool \bf{moeo\-Archive}$<$ MOEOT $>$::equals (const \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_937088a6054ba1b50db651f50dda3a72} + + +Returns true if the current archive contains the same objective vectors than the given archive \_\-arch. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-arch}]the given archive \end{description} +\end{Desc} + + +Definition at line 177 of file moeo\-Archive.h. + +References moeo\-Archive$<$ MOEOT $>$::contains(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveObjectiveVectorSavingUpdater.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveObjectiveVectorSavingUpdater.eps new file mode 100644 index 000000000..c41be59f8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveObjectiveVectorSavingUpdater.eps @@ -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 235.294 +%%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.125 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 +(moeoArchiveObjectiveVectorSavingUpdater< MOEOT >) cw +(eoUpdater) cw +(eoF< 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 ----- + + (moeoArchiveObjectiveVectorSavingUpdater< MOEOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveObjectiveVectorSavingUpdater.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveObjectiveVectorSavingUpdater.tex new file mode 100644 index 000000000..25d0524a7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveObjectiveVectorSavingUpdater.tex @@ -0,0 +1,70 @@ +\section{moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoArchiveObjectiveVectorSavingUpdater}\index{moeoArchiveObjectiveVectorSavingUpdater@{moeoArchiveObjectiveVectorSavingUpdater}} +This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation. + + +{\tt \#include $<$moeo\-Archive\-Objective\-Vector\-Saving\-Updater.h$>$} + +Inheritance diagram for moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchiveObjectiveVectorSavingUpdater} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Archive\-Objective\-Vector\-Saving\-Updater} (\bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch, const std::string \&\_\-filename, bool \_\-count=false, int \_\-id=-1) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} ()\label{classmoeoArchiveObjectiveVectorSavingUpdater_0f6770822c62463ee3b56f7a4c59a850} + +\begin{CompactList}\small\item\em Saves the fitness of the archive's members into the file. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Archive}$<$ MOEOT $>$ \& \bf{arch}\label{classmoeoArchiveObjectiveVectorSavingUpdater_b252eed0ea4f837efefdcdd81d5c42a6} + +\begin{CompactList}\small\item\em local archive \item\end{CompactList}\item +std::string \bf{filename}\label{classmoeoArchiveObjectiveVectorSavingUpdater_7571569a5fb6df07f5d4e72310ec4d4d} + +\begin{CompactList}\small\item\em target filename \item\end{CompactList}\item +bool \bf{count}\label{classmoeoArchiveObjectiveVectorSavingUpdater_6eb54eb29152e2d357b1b975ce33c062} + +\begin{CompactList}\small\item\em this variable is set to true if a new file have to be created each time () is called and to false if the file only HAVE to be updated \item\end{CompactList}\item +unsigned int \bf{counter}\label{classmoeoArchiveObjectiveVectorSavingUpdater_5ea4722f75597976cf6a21a7fba3ddbc} + +\begin{CompactList}\small\item\em counter \item\end{CompactList}\item +int \bf{id}\label{classmoeoArchiveObjectiveVectorSavingUpdater_cd6940347cf39a47085c4d0a7c558355} + +\begin{CompactList}\small\item\em own ID \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ MOEOT $>$} + +This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation. + + + +Definition at line 53 of file moeo\-Archive\-Objective\-Vector\-Saving\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoArchiveObjectiveVectorSavingUpdater@{moeo\-Archive\-Objective\-Vector\-Saving\-Updater}!moeoArchiveObjectiveVectorSavingUpdater@{moeoArchiveObjectiveVectorSavingUpdater}} +\index{moeoArchiveObjectiveVectorSavingUpdater@{moeoArchiveObjectiveVectorSavingUpdater}!moeoArchiveObjectiveVectorSavingUpdater@{moeo\-Archive\-Objective\-Vector\-Saving\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Archive\-Objective\-Vector\-Saving\-Updater}$<$ MOEOT $>$::\bf{moeo\-Archive\-Objective\-Vector\-Saving\-Updater} (\bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch}, const std::string \& {\em \_\-filename}, bool {\em \_\-count} = {\tt false}, int {\em \_\-id} = {\tt -1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchiveObjectiveVectorSavingUpdater_d9f70d24605ccd1e89c8b4ea4c96c333} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-arch}]local archive \item[{\em \_\-filename}]target filename \item[{\em \_\-count}]put this variable to true if you want a new file to be created each time () is called and to false if you only want the file to be updated \item[{\em \_\-id}]own ID \end{description} +\end{Desc} + + +Definition at line 64 of file moeo\-Archive\-Objective\-Vector\-Saving\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive\-Objective\-Vector\-Saving\-Updater.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.eps new file mode 100644 index 000000000..3617df02d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.eps @@ -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 382.775 +%%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.30625 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 +(moeoArchiveUpdater< MOEOT >) cw +(eoUpdater) cw +(eoF< 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 ----- + + (moeoArchiveUpdater< MOEOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.tex new file mode 100644 index 000000000..63a4f64e7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.tex @@ -0,0 +1,61 @@ +\section{moeo\-Archive\-Updater$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoArchiveUpdater}\index{moeoArchiveUpdater@{moeoArchiveUpdater}} +This class allows to update the archive at each generation with newly found non-dominated solutions. + + +{\tt \#include $<$moeo\-Archive\-Updater.h$>$} + +Inheritance diagram for moeo\-Archive\-Updater$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchiveUpdater} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Archive\-Updater} (\bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch, const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} ()\label{classmoeoArchiveUpdater_3d72137dce51d0d4f0cc7207be42878a} + +\begin{CompactList}\small\item\em Updates the archive with newly found non-dominated solutions contained in the main population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Archive}$<$ MOEOT $>$ \& \bf{arch}\label{classmoeoArchiveUpdater_64531e46898b0e2a4ec48ba28dbfd59d} + +\begin{CompactList}\small\item\em the archive of non-dominated solutions \item\end{CompactList}\item +const \bf{eo\-Pop}$<$ MOEOT $>$ \& \bf{pop}\label{classmoeoArchiveUpdater_a7ba8cde3727d1f24835083e85dfd70d} + +\begin{CompactList}\small\item\em the main population \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Archive\-Updater$<$ MOEOT $>$} + +This class allows to update the archive at each generation with newly found non-dominated solutions. + + + +Definition at line 49 of file moeo\-Archive\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoArchiveUpdater@{moeo\-Archive\-Updater}!moeoArchiveUpdater@{moeoArchiveUpdater}} +\index{moeoArchiveUpdater@{moeoArchiveUpdater}!moeoArchiveUpdater@{moeo\-Archive\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Archive\-Updater}$<$ MOEOT $>$::\bf{moeo\-Archive\-Updater} (\bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch}, const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchiveUpdater_1497a2bc8df12565b3ea21bb8e08bee1} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-arch}]an archive of non-dominated solutions \item[{\em \_\-pop}]the main population \end{description} +\end{Desc} + + +Definition at line 58 of file moeo\-Archive\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive\-Updater.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryIndicatorBasedFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryIndicatorBasedFitnessAssignment.eps new file mode 100644 index 000000000..c4b6f367c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryIndicatorBasedFitnessAssignment.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 327.869 +%%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.525 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 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 +(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoFitnessAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 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 ----- + + (moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 1 box + (moeoIndicatorBasedFitnessAssignment< MOEOT >) 0 2 box + (moeoFitnessAssignment< MOEOT >) 0 3 box + (eoUF< eoPop< MOEOT > &, void >) 0 4 box + (eoFunctorBase) 0 5 box + (moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box + +% ----- relations ----- + +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 +solid +0 0 4 out +solid +1 0 5 in +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryIndicatorBasedFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryIndicatorBasedFitnessAssignment.tex new file mode 100644 index 000000000..5a538eeee --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryIndicatorBasedFitnessAssignment.tex @@ -0,0 +1,55 @@ +\section{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoBinaryIndicatorBasedFitnessAssignment}\index{moeoBinaryIndicatorBasedFitnessAssignment@{moeoBinaryIndicatorBasedFitnessAssignment}} +\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} for binary indicators. + + +{\tt \#include $<$moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoBinaryIndicatorBasedFitnessAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoBinaryIndicatorBasedFitnessAssignment_30f87921ba85e2745f861c9b32e7be9a} + +\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual double \bf{update\-By\-Adding} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)=0 +\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the new objective vector \_\-obj\-Vec into account and returns the fitness value of \_\-obj\-Vec. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} + +\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} for binary indicators. + + + +Definition at line 47 of file moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoBinaryIndicatorBasedFitnessAssignment@{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}!updateByAdding@{updateByAdding}} +\index{updateByAdding@{updateByAdding}!moeoBinaryIndicatorBasedFitnessAssignment@{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual double \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Adding (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmoeoBinaryIndicatorBasedFitnessAssignment_809b25abb9756c53525e3006e0ae2c70} + + +Updates the fitness values of the whole population \_\-pop by taking the new objective vector \_\-obj\-Vec into account and returns the fitness value of \_\-obj\-Vec. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description} +\end{Desc} + + +Implemented in \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoExpBinaryIndicatorBasedFitnessAssignment_f94d9d4dee8dde20cda67e84643aae50}. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetric.eps new file mode 100644 index 000000000..15b9c5f9d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetric.eps @@ -0,0 +1,275 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 30.4878 +%%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 16.4 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 6 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 +(moeoBinaryMetric< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >) cw +(moeoSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, R >) cw +(moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) cw +(moeoVectorVsVectorBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >) cw +(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoNormalizedSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >) cw +(moeoContributionMetric< ObjectiveVector >) cw +(moeoEntropyMetric< ObjectiveVector >) cw +(moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) cw +(moeoHypervolumeBinaryMetric< ObjectiveVector >) 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 ----- + + (moeoBinaryMetric< A1, A2, R >) 2.5 3 box + (eoBF< A1, A2, R >) 2 4 box + (moeoMetric) 3 4 box + (eoFunctorBase) 2 5 box + (eoFunctorBase) 3 5 box + (moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 2 box + (moeoSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >) 1.5 2 box + (moeoSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, R >) 2.5 2 box + (moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) 3.5 2 box + (moeoVectorVsVectorBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >) 4.5 2 box + (moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 1 box + (moeoNormalizedSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >) 1.5 1 box + (moeoContributionMetric< ObjectiveVector >) 3 1 box + (moeoEntropyMetric< ObjectiveVector >) 4 1 box + (moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) 0 0 box + (moeoHypervolumeBinaryMetric< ObjectiveVector >) 1 0 box + +% ----- relations ----- + +solid +0 2.5 3 out +solid +2 3 4 conn +solid +1 2 4 in +solid +0 2 4 out +solid +1 3 4 in +solid +0 3 4 out +solid +1 2 5 in +solid +1 3 5 in +solid +1 2.5 2.25 out +solid +0.5 4.5 3 conn +solid +0 0.5 2.75 in +solid +1 0.5 1.25 out +solid +0 1.5 2.75 in +solid +1 1.5 1.25 out +solid +0 2.5 2.75 in +solid +0 3.5 2.75 in +solid +1 3.5 1.25 out +solid +3 4 2 conn +solid +0 4.5 2.75 in +solid +0 0.5 1.75 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 1.5 1.75 in +solid +0 3 1.75 in +solid +0 4 1.75 in +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetric.tex new file mode 100644 index 000000000..0536ded35 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetric.tex @@ -0,0 +1,27 @@ +\section{moeo\-Binary\-Metric$<$ A1, A2, R $>$ Class Template Reference} +\label{classmoeoBinaryMetric}\index{moeoBinaryMetric@{moeoBinaryMetric}} +Base class for binary metrics. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Binary\-Metric$<$ A1, A2, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=0.853659cm]{classmoeoBinaryMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class A1, class A2, class R$>$ class moeo\-Binary\-Metric$<$ A1, A2, R $>$} + +Base class for binary metrics. + + + +Definition at line 63 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.eps new file mode 100644 index 000000000..b9c5cec08 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.eps @@ -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 289.855 +%%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.725 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 +(moeoBinaryMetricSavingUpdater< MOEOT >) cw +(eoUpdater) cw +(eoF< 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 ----- + + (moeoBinaryMetricSavingUpdater< MOEOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.tex new file mode 100644 index 000000000..45bbecb02 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.tex @@ -0,0 +1,79 @@ +\section{moeo\-Binary\-Metric\-Saving\-Updater$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoBinaryMetricSavingUpdater}\index{moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}} +This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file. + + +{\tt \#include $<$moeo\-Binary\-Metric\-Saving\-Updater.h$>$} + +Inheritance diagram for moeo\-Binary\-Metric\-Saving\-Updater$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoBinaryMetricSavingUpdater} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoBinaryMetricSavingUpdater_21c2b12ee8600d8550eff42bcba87fd2} + +\begin{CompactList}\small\item\em The objective vector type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Binary\-Metric\-Saving\-Updater} (\bf{moeo\-Vector\-Vs\-Vector\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, std::string \_\-filename) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} ()\label{classmoeoBinaryMetricSavingUpdater_a4f0a9e86b4a39ef88e7f8e1c1d6d229} + +\begin{CompactList}\small\item\em Saves the metric's value for the current generation. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Vector\-Vs\-Vector\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& \bf{metric}\label{classmoeoBinaryMetricSavingUpdater_d1c66d6d179aff03d6949f4f76d3237c} + +\begin{CompactList}\small\item\em binary metric comparing two Pareto sets \item\end{CompactList}\item +const \bf{eo\-Pop}$<$ MOEOT $>$ \& \bf{pop}\label{classmoeoBinaryMetricSavingUpdater_79eea0916733568929ea9c0758ffe8fa} + +\begin{CompactList}\small\item\em main population \item\end{CompactList}\item +\bf{eo\-Pop}$<$ MOEOT $>$ \bf{old\-Pop}\label{classmoeoBinaryMetricSavingUpdater_0461af7e569921fec49538ff8fa998d4} + +\begin{CompactList}\small\item\em (n-1) population \item\end{CompactList}\item +std::string \bf{filename}\label{classmoeoBinaryMetricSavingUpdater_6d280c180de7bab1e18ab2bb39a0e184} + +\begin{CompactList}\small\item\em target filename \item\end{CompactList}\item +bool \bf{first\-Gen}\label{classmoeoBinaryMetricSavingUpdater_9bfa927499265f53f2b25afd2cd3c94f} + +\begin{CompactList}\small\item\em is it the first generation ? \item\end{CompactList}\item +unsigned int \bf{counter}\label{classmoeoBinaryMetricSavingUpdater_d8d3ce9ac8ab5a57ee1840bc1c98d776} + +\begin{CompactList}\small\item\em counter \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Binary\-Metric\-Saving\-Updater$<$ MOEOT $>$} + +This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file. + + + +Definition at line 53 of file moeo\-Binary\-Metric\-Saving\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoBinaryMetricSavingUpdater@{moeo\-Binary\-Metric\-Saving\-Updater}!moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}} +\index{moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}!moeoBinaryMetricSavingUpdater@{moeo\-Binary\-Metric\-Saving\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Binary\-Metric\-Saving\-Updater}$<$ MOEOT $>$::\bf{moeo\-Binary\-Metric\-Saving\-Updater} (\bf{moeo\-Vector\-Vs\-Vector\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, std::string {\em \_\-filename})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryMetricSavingUpdater_b7c3fb73caf759450367c76d4716bb62} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-metric}]the binary metric comparing two Pareto sets \item[{\em \_\-pop}]the main population \item[{\em \_\-filename}]the target filename \end{description} +\end{Desc} + + +Definition at line 67 of file moeo\-Binary\-Metric\-Saving\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Metric\-Saving\-Updater.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBitVector.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBitVector.eps new file mode 100644 index 000000000..586e3e79b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBitVector.eps @@ -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 129.87 +%%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.85 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 +(moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >) 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 ----- + + (moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 0 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBitVector.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBitVector.tex new file mode 100644 index 000000000..d2dff5fe6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoBitVector.tex @@ -0,0 +1,91 @@ +\section{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$ Class Template Reference} +\label{classmoeoBitVector}\index{moeoBitVector@{moeoBitVector}} +This class is an implementationeo of a simple bit-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector}. + + +{\tt \#include $<$moeo\-Bit\-Vector.h$>$} + +Inheritance diagram for moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.63636cm]{classmoeoBitVector} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Bit\-Vector} (unsigned int \_\-size=0, bool \_\-value=false) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +virtual std::string \bf{class\-Name} () const \label{classmoeoBitVector_dc2b3649bb839b04a14371b5b96dc738} + +\begin{CompactList}\small\item\em Returns the class name as a std::string. \item\end{CompactList}\item +virtual void \bf{print\-On} (std::ostream \&\_\-os) const +\begin{CompactList}\small\item\em Writing object. \item\end{CompactList}\item +virtual void \bf{read\-From} (std::istream \&\_\-is) +\begin{CompactList}\small\item\em Reading object. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ class moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} + +This class is an implementationeo of a simple bit-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector}. + + + +Definition at line 47 of file moeo\-Bit\-Vector.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoBitVector@{moeo\-Bit\-Vector}!moeoBitVector@{moeoBitVector}} +\index{moeoBitVector@{moeoBitVector}!moeoBitVector@{moeo\-Bit\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ \bf{moeo\-Bit\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::\bf{moeo\-Bit\-Vector} (unsigned int {\em \_\-size} = {\tt 0}, bool {\em \_\-value} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBitVector_959ae6d2acf91467142366049a0b6121} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-size}]Length of vector (default is 0) \item[{\em \_\-value}]Initial value of all elements (default is default value of type Gene\-Type) \end{description} +\end{Desc} + + +Definition at line 62 of file moeo\-Bit\-Vector.h. + +\subsection{Member Function Documentation} +\index{moeoBitVector@{moeo\-Bit\-Vector}!printOn@{printOn}} +\index{printOn@{printOn}!moeoBitVector@{moeo\-Bit\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ virtual void \bf{moeo\-Bit\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoBitVector_78f821c548cf46d8bcd30aa8a52ffb7c} + + +Writing object. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-os}]output stream \end{description} +\end{Desc} + + +Reimplemented from \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{p.}{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308}. + +Definition at line 79 of file moeo\-Bit\-Vector.h.\index{moeoBitVector@{moeo\-Bit\-Vector}!readFrom@{readFrom}} +\index{readFrom@{readFrom}!moeoBitVector@{moeo\-Bit\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ virtual void \bf{moeo\-Bit\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoBitVector_31cd3f894615d0a27dd116a5c8082521} + + +Reading object. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-is}]input stream \end{description} +\end{Desc} + + +Reimplemented from \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}. + +Definition at line 92 of file moeo\-Bit\-Vector.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Bit\-Vector.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCombinedLS.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCombinedLS.eps new file mode 100644 index 000000000..31da390c9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCombinedLS.eps @@ -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 132.013 +%%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.7875 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 +(moeoCombinedLS< MOEOT, Type >) cw +(moeoLS< MOEOT, Type >) cw +(moeoAlgo) cw +(eoBF< Type, 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 ----- + + (moeoCombinedLS< MOEOT, Type >) 0.5 0 box + (moeoLS< MOEOT, Type >) 0.5 1 box + (moeoAlgo) 0 2 box + (eoBF< Type, 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCombinedLS.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCombinedLS.tex new file mode 100644 index 000000000..3a7bb557b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCombinedLS.tex @@ -0,0 +1,98 @@ +\section{moeo\-Combined\-LS$<$ MOEOT, Type $>$ Class Template Reference} +\label{classmoeoCombinedLS}\index{moeoCombinedLS@{moeoCombinedLS}} +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + + +{\tt \#include $<$moeo\-Combined\-LS.h$>$} + +Inheritance diagram for moeo\-Combined\-LS$<$ MOEOT, Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.69637cm]{classmoeoCombinedLS} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Combined\-LS} (\bf{moeo\-LS}$<$ MOEOT, Type $>$ \&\_\-first\_\-mols) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{add} (\bf{moeo\-LS}$<$ MOEOT, Type $>$ \&\_\-mols) +\begin{CompactList}\small\item\em Adds a new local search to combine. \item\end{CompactList}\item +void \bf{operator()} (Type \_\-type, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Gives a new solution in order to explore the neigborhood. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +std::vector$<$ \bf{moeo\-LS}$<$ MOEOT, Type $>$ $\ast$ $>$ \bf{combined\-LS}\label{classmoeoCombinedLS_3cf36ae7ada10d2837b60df01210d92a} + +\begin{CompactList}\small\item\em the vector that contains the combined LS \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Type$>$ class moeo\-Combined\-LS$<$ MOEOT, Type $>$} + +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + + + +Definition at line 50 of file moeo\-Combined\-LS.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoCombinedLS@{moeo\-Combined\-LS}!moeoCombinedLS@{moeoCombinedLS}} +\index{moeoCombinedLS@{moeoCombinedLS}!moeoCombinedLS@{moeo\-Combined\-LS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ \bf{moeo\-Combined\-LS}$<$ MOEOT, Type $>$::\bf{moeo\-Combined\-LS} (\bf{moeo\-LS}$<$ MOEOT, Type $>$ \& {\em \_\-first\_\-mols})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoCombinedLS_5d09220b47bac67bd332dc0f93226ae1} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-first\_\-mols}]the first multi-objective local search to add \end{description} +\end{Desc} + + +Definition at line 58 of file moeo\-Combined\-LS.h. + +References moeo\-Combined\-LS$<$ MOEOT, Type $>$::combined\-LS. + +\subsection{Member Function Documentation} +\index{moeoCombinedLS@{moeo\-Combined\-LS}!add@{add}} +\index{add@{add}!moeoCombinedLS@{moeo\-Combined\-LS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ void \bf{moeo\-Combined\-LS}$<$ MOEOT, Type $>$::add (\bf{moeo\-LS}$<$ MOEOT, Type $>$ \& {\em \_\-mols})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoCombinedLS_1637b4dcf2dd694cc9ffbad605b2bf13} + + +Adds a new local search to combine. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-mols}]the multi-objective local search to add \end{description} +\end{Desc} + + +Definition at line 67 of file moeo\-Combined\-LS.h. + +References moeo\-Combined\-LS$<$ MOEOT, Type $>$::combined\-LS.\index{moeoCombinedLS@{moeo\-Combined\-LS}!operator()@{operator()}} +\index{operator()@{operator()}!moeoCombinedLS@{moeo\-Combined\-LS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ void \bf{moeo\-Combined\-LS}$<$ MOEOT, Type $>$::operator() (Type {\em \_\-type}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCombinedLS_634d7fa3092fe8f88a1b54cacfdc35fd} + + +Gives a new solution in order to explore the neigborhood. + +The new non-dominated solutions are added to the archive \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-type}]the object to apply the local search to \item[{\em \_\-arch}]the archive of non-dominated solutions \end{description} +\end{Desc} + + +Implements \bf{eo\-BF$<$ Type, moeo\-Archive$<$ MOEOT $>$ \&, void $>$}. + +Definition at line 78 of file moeo\-Combined\-LS.h. + +References moeo\-Combined\-LS$<$ MOEOT, Type $>$::combined\-LS. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Combined\-LS.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoComparator.eps new file mode 100644 index 000000000..c87d0fa42 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoComparator.eps @@ -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 32.2581 +%%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 15.5 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 5 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 +(moeoComparator< MOEOT >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moeoAggregativeComparator< MOEOT >) cw +(moeoDiversityThenFitnessComparator< MOEOT >) cw +(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator) cw +(moeoFitnessThenDiversityComparator< MOEOT >) cw +(moeoOneObjectiveComparator< MOEOT >) 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 ----- + + (moeoComparator< MOEOT >) 2 1 box + (eoBF< A1, A2, R >) 2 2 box + (eoFunctorBase) 2 3 box + (moeoAggregativeComparator< MOEOT >) 0 0 box + (moeoDiversityThenFitnessComparator< MOEOT >) 1 0 box + (moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator) 2 0 box + (moeoFitnessThenDiversityComparator< MOEOT >) 3 0 box + (moeoOneObjectiveComparator< MOEOT >) 4 0 box + +% ----- relations ----- + +solid +0 2 1 out +solid +1 2 2 in +solid +0 2 2 out +solid +1 2 3 in +solid +1 2 0.25 out +solid +0 4 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in +solid +0 3 0.75 in +solid +0 4 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoComparator.tex new file mode 100644 index 000000000..40f1d1a08 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoComparator.tex @@ -0,0 +1,27 @@ +\section{moeo\-Comparator$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoComparator}\index{moeoComparator@{moeoComparator}} +Functor allowing to compare two solutions. + + +{\tt \#include $<$moeo\-Comparator.h$>$} + +Inheritance diagram for moeo\-Comparator$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=0.903226cm]{classmoeoComparator} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Comparator$<$ MOEOT $>$} + +Functor allowing to compare two solutions. + + + +Definition at line 47 of file moeo\-Comparator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoContributionMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoContributionMetric.eps new file mode 100644 index 000000000..ea0b8729c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoContributionMetric.eps @@ -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 144.092 +%%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.47 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 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 +(moeoContributionMetric< ObjectiveVector >) cw +(moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) cw +(moeoBinaryMetric< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) 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 ----- + + (moeoContributionMetric< ObjectiveVector >) 0.5 0 box + (moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) 0.5 1 box + (moeoBinaryMetric< A1, A2, R >) 0.5 2 box + (eoBF< A1, A2, R >) 0 3 box + (moeoMetric) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 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 +0 1 3 conn +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoContributionMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoContributionMetric.tex new file mode 100644 index 000000000..435536bea --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoContributionMetric.tex @@ -0,0 +1,120 @@ +\section{moeo\-Contribution\-Metric$<$ Objective\-Vector $>$ Class Template Reference} +\label{classmoeoContributionMetric}\index{moeoContributionMetric@{moeoContributionMetric}} +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. + + +{\tt \#include $<$moeo\-Contribution\-Metric.h$>$} + +Inheritance diagram for moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.03458cm]{classmoeoContributionMetric} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +double \bf{operator()} (const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set1, const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the contribution of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +unsigned int \bf{card\_\-C} (const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set1, const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions both in '\_\-set1' and '\_\-set2'. \item\end{CompactList}\item +unsigned int \bf{card\_\-W} (const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set1, const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions in '\_\-set1' dominating at least one solution of '\_\-set2'. \item\end{CompactList}\item +unsigned int \bf{card\_\-N} (const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set1, const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions in '\_\-set1' having no relation of dominance with those from '\_\-set2'. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \bf{pareto\-Comparator}\label{classmoeoContributionMetric_b474229c85ffbf5108f51eef01ab2d64} + +\begin{CompactList}\small\item\em Functor to compare two objective vectors according to Pareto dominance relation. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Contribution\-Metric$<$ Objective\-Vector $>$} + +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. + +of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324) + + + +Definition at line 49 of file moeo\-Contribution\-Metric.h. + +\subsection{Member Function Documentation} +\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!operator()@{operator()}} +\index{operator()@{operator()}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double \bf{moeo\-Contribution\-Metric}$<$ \bf{Objective\-Vector} $>$::operator() (const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set1}, const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoContributionMetric_491610f6557874c2989eaa7a75117dcb} + + +Returns the contribution of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 58 of file moeo\-Contribution\-Metric.h. + +References moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::card\_\-C(), moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::card\_\-N(), and moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::card\_\-W().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_C@{card\_\-C}} +\index{card_C@{card\_\-C}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ unsigned int \bf{moeo\-Contribution\-Metric}$<$ \bf{Objective\-Vector} $>$::card\_\-C (const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set1}, const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_4e60849763aaad0cdea66e71edf2d29e} + + +Returns the number of solutions both in '\_\-set1' and '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 80 of file moeo\-Contribution\-Metric.h. + +Referenced by moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_W@{card\_\-W}} +\index{card_W@{card\_\-W}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ unsigned int \bf{moeo\-Contribution\-Metric}$<$ \bf{Objective\-Vector} $>$::card\_\-W (const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set1}, const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_68d6d1ec1ed0bed1ea290cdacb93b5b2} + + +Returns the number of solutions in '\_\-set1' dominating at least one solution of '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 99 of file moeo\-Contribution\-Metric.h. + +References moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::pareto\-Comparator. + +Referenced by moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_N@{card\_\-N}} +\index{card_N@{card\_\-N}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ unsigned int \bf{moeo\-Contribution\-Metric}$<$ \bf{Objective\-Vector} $>$::card\_\-N (const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set1}, const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_df26b17120ed2271a6d1ec9c8c77b451} + + +Returns the number of solutions in '\_\-set1' having no relation of dominance with those from '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 118 of file moeo\-Contribution\-Metric.h. + +References moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::pareto\-Comparator. + +Referenced by moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Contribution\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoConvertPopToObjectiveVectors.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoConvertPopToObjectiveVectors.eps new file mode 100644 index 000000000..70c54441c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoConvertPopToObjectiveVectors.eps @@ -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 150 +%%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.33333 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 +(moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >) 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 ----- + + (moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >) 0 0 box + (eoUF< A1, 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoConvertPopToObjectiveVectors.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoConvertPopToObjectiveVectors.tex new file mode 100644 index 000000000..7e58b0a4d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoConvertPopToObjectiveVectors.tex @@ -0,0 +1,49 @@ +\section{moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$ Class Template Reference} +\label{classmoeoConvertPopToObjectiveVectors}\index{moeoConvertPopToObjectiveVectors@{moeoConvertPopToObjectiveVectors}} +Functor allowing to get a vector of objective vectors from a population. + + +{\tt \#include $<$moeo\-Convert\-Pop\-To\-Objective\-Vectors.h$>$} + +Inheritance diagram for moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmoeoConvertPopToObjectiveVectors} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +const std::vector$<$ \bf{Objective\-Vector} $>$ \bf{operator()} (const \bf{eo\-Pop}$<$ MOEOT $>$ \_\-pop) +\begin{CompactList}\small\item\em Returns a vector of the objective vectors from the population \_\-pop. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Objective\-Vector = typename MOEOT::Objective\-Vector$>$ class moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$} + +Functor allowing to get a vector of objective vectors from a population. + + + +Definition at line 48 of file moeo\-Convert\-Pop\-To\-Objective\-Vectors.h. + +\subsection{Member Function Documentation} +\index{moeoConvertPopToObjectiveVectors@{moeo\-Convert\-Pop\-To\-Objective\-Vectors}!operator()@{operator()}} +\index{operator()@{operator()}!moeoConvertPopToObjectiveVectors@{moeo\-Convert\-Pop\-To\-Objective\-Vectors}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Objective\-Vector = typename MOEOT::Objective\-Vector$>$ const std::vector$<$ \bf{Objective\-Vector} $>$ \bf{moeo\-Convert\-Pop\-To\-Objective\-Vectors}$<$ MOEOT, \bf{Objective\-Vector} $>$::operator() (const \bf{eo\-Pop}$<$ MOEOT $>$ {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoConvertPopToObjectiveVectors_8fada75aa151a6eaa310c5064f783c86} + + +Returns a vector of the objective vectors from the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 56 of file moeo\-Convert\-Pop\-To\-Objective\-Vectors.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Convert\-Pop\-To\-Objective\-Vectors.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCriterionBasedFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCriterionBasedFitnessAssignment.eps new file mode 100644 index 000000000..08faf7012 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCriterionBasedFitnessAssignment.eps @@ -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 259.74 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.925 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 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 +(moeoCriterionBasedFitnessAssignment< 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 ----- + + (moeoCriterionBasedFitnessAssignment< 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCriterionBasedFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCriterionBasedFitnessAssignment.tex new file mode 100644 index 000000000..10a06b76b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCriterionBasedFitnessAssignment.tex @@ -0,0 +1,27 @@ +\section{moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoCriterionBasedFitnessAssignment}\index{moeoCriterionBasedFitnessAssignment@{moeoCriterionBasedFitnessAssignment}} +\doxyref{moeo\-Criterion\-Based\-Fitness\-Assignment}{p.}{classmoeoCriterionBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for criterion-based strategies. + + +{\tt \#include $<$moeo\-Criterion\-Based\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoCriterionBasedFitnessAssignment} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$} + +\doxyref{moeo\-Criterion\-Based\-Fitness\-Assignment}{p.}{classmoeoCriterionBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for criterion-based strategies. + + + +Definition at line 47 of file moeo\-Criterion\-Based\-Fitness\-Assignment.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Criterion\-Based\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCrowdingDiversityAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCrowdingDiversityAssignment.eps new file mode 100644 index 000000000..74b57aad4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCrowdingDiversityAssignment.eps @@ -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 275.482 +%%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.815 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 +(moeoCrowdingDiversityAssignment< MOEOT >) cw +(moeoDiversityAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) 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 ----- + + (moeoCrowdingDiversityAssignment< MOEOT >) 0 1 box + (moeoDiversityAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 0 3 box + (eoFunctorBase) 0 4 box + (moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) 0 0 box + +% ----- relations ----- + +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 +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCrowdingDiversityAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCrowdingDiversityAssignment.tex new file mode 100644 index 000000000..0bc8af1d4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoCrowdingDiversityAssignment.tex @@ -0,0 +1,114 @@ +\section{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoCrowdingDiversityAssignment}\index{moeoCrowdingDiversityAssignment@{moeoCrowdingDiversityAssignment}} +Diversity assignment sheme based on crowding proposed in: K. + + +{\tt \#include $<$moeo\-Crowding\-Diversity\-Assignment.h$>$} + +Inheritance diagram for moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoCrowdingDiversityAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoCrowdingDiversityAssignment_e6ece5e7569e9d168fcddaae37902585} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +double \bf{inf} () const \label{classmoeoCrowdingDiversityAssignment_e7f5dbe11427a5c264e70fe4e036242f} + +\begin{CompactList}\small\item\em Returns a big value (regarded as infinite). \item\end{CompactList}\item +double \bf{tiny} () const \label{classmoeoCrowdingDiversityAssignment_eb70be9c246dfa56b55a4ecc5454f778} + +\begin{CompactList}\small\item\em Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound). \item\end{CompactList}\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Computes diversity 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) +\end{CompactItemize} +\subsection*{Protected Member Functions} +\begin{CompactItemize} +\item +virtual void \bf{set\-Distances} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the distance values. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} + +Diversity assignment sheme based on crowding proposed in: K. + +Deb, A. Pratap, S. Agarwal, T. Meyarivan, \char`\"{}A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II\char`\"{}, IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). + + + +Definition at line 50 of file moeo\-Crowding\-Diversity\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}!operator()@{operator()}} +\index{operator()@{operator()}!moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCrowdingDiversityAssignment_1db056d5e06b337e67f848fdb60fa2a6} + + +Computes diversity 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 80 of file moeo\-Crowding\-Diversity\-Assignment.h. + +References moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::inf(), and moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::set\-Distances().\index{moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCrowdingDiversityAssignment_ba1d60c8e59fbe2c12e9eef33863f012} + + +\begin{Desc} +\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \end{Desc} +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description} +\end{Desc} +\begin{Desc} +\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! \end{Desc} + + +Implements \bf{moeo\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDiversityAssignment_57f400263b36664df6269f1b522cfdcb}. + +Reimplemented in \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDiversityAssignment_f73ff88bd29c49260e2ca859250e4b68}. + +Definition at line 103 of file moeo\-Crowding\-Diversity\-Assignment.h.\index{moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}!setDistances@{setDistances}} +\index{setDistances@{setDistances}!moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Distances (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected, virtual]}}\label{classmoeoCrowdingDiversityAssignment_acbe3e03404ecc67dd5e83f00576c255} + + +Sets the distance values. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Reimplemented in \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDiversityAssignment_1aa0ec7b94fbbf952636bcc21e1a9d16}. + +Definition at line 115 of file moeo\-Crowding\-Diversity\-Assignment.h. + +References moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::inf(). + +Referenced by moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Crowding\-Diversity\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDetTournamentSelect.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDetTournamentSelect.eps new file mode 100644 index 000000000..28f1b4487 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDetTournamentSelect.eps @@ -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 416.667 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.2 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 +(moeoDetTournamentSelect< MOEOT >) cw +(moeoSelectOne< MOEOT >) cw +(eoSelectOne< MOEOT >) 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 ----- + + (moeoDetTournamentSelect< MOEOT >) 0 0 box + (moeoSelectOne< MOEOT >) 0 1 box + (eoSelectOne< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDetTournamentSelect.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDetTournamentSelect.tex new file mode 100644 index 000000000..ed690caa2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDetTournamentSelect.tex @@ -0,0 +1,102 @@ +\section{moeo\-Det\-Tournament\-Select$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoDetTournamentSelect}\index{moeoDetTournamentSelect@{moeoDetTournamentSelect}} +Selection strategy that selects ONE individual by deterministic tournament. + + +{\tt \#include $<$moeo\-Det\-Tournament\-Select.h$>$} + +Inheritance diagram for moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoDetTournamentSelect} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Det\-Tournament\-Select} (\bf{moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator, unsigned int \_\-t\-Size=2) +\begin{CompactList}\small\item\em Full Ctor. \item\end{CompactList}\item +\bf{moeo\-Det\-Tournament\-Select} (unsigned int \_\-t\-Size=2) +\begin{CompactList}\small\item\em Ctor without comparator. \item\end{CompactList}\item +const MOEOT \& \bf{operator()} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Apply the tournament to the given population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Comparator}$<$ MOEOT $>$ \& \bf{comparator}\label{classmoeoDetTournamentSelect_f31a46190da0fe561d748133456907c9} + +\begin{CompactList}\small\item\em the comparator (used to compare 2 individuals) \item\end{CompactList}\item +\bf{moeo\-Fitness\-Then\-Diversity\-Comparator}$<$ MOEOT $>$ \bf{default\-Comparator}\label{classmoeoDetTournamentSelect_dde5fc82ffff52056aab75632f779825} + +\begin{CompactList}\small\item\em a fitness then diversity comparator can be used as default \item\end{CompactList}\item +unsigned int \bf{t\-Size}\label{classmoeoDetTournamentSelect_061c191c2df365cf4325e0093aae2ae6} + +\begin{CompactList}\small\item\em the number of individuals in the tournament \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Det\-Tournament\-Select$<$ MOEOT $>$} + +Selection strategy that selects ONE individual by deterministic tournament. + + + +Definition at line 49 of file moeo\-Det\-Tournament\-Select.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}!moeoDetTournamentSelect@{moeoDetTournamentSelect}} +\index{moeoDetTournamentSelect@{moeoDetTournamentSelect}!moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$::\bf{moeo\-Det\-Tournament\-Select} (\bf{moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator}, unsigned int {\em \_\-t\-Size} = {\tt 2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDetTournamentSelect_106e44d01bbf2775b483104639c6556e} + + +Full Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \item[{\em \_\-t\-Size}]the number of individuals in the tournament (default: 2) \end{description} +\end{Desc} + + +Definition at line 58 of file moeo\-Det\-Tournament\-Select.h. + +References moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::t\-Size.\index{moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}!moeoDetTournamentSelect@{moeoDetTournamentSelect}} +\index{moeoDetTournamentSelect@{moeoDetTournamentSelect}!moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$::\bf{moeo\-Det\-Tournament\-Select} (unsigned int {\em \_\-t\-Size} = {\tt 2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDetTournamentSelect_f17a16c1b0f688832e7143e55d0f767d} + + +Ctor without comparator. + +A \doxyref{moeo\-Fitness\-Then\-Diversity\-Comparator}{p.}{classmoeoFitnessThenDiversityComparator} is used as default. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-t\-Size}]the number of individuals in the tournament (default: 2) \end{description} +\end{Desc} + + +Definition at line 74 of file moeo\-Det\-Tournament\-Select.h. + +References moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::t\-Size. + +\subsection{Member Function Documentation} +\index{moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}!operator()@{operator()}} +\index{operator()@{operator()}!moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const MOEOT\& \bf{moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$::operator() (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDetTournamentSelect_0d7051a48570e5dcbe9a19b90e4be3bf} + + +Apply the tournament to the given population. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 90 of file moeo\-Det\-Tournament\-Select.h. + +References moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::comparator, and moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::t\-Size. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Det\-Tournament\-Select.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistance.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistance.eps new file mode 100644 index 000000000..74950e0b3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistance.eps @@ -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 297.398 +%%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.68125 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 +(moeoDistance< MOEOT, Type >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moeoNormalizedDistance< MOEOT, Type >) 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 ----- + + (moeoDistance< MOEOT, Type >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + (moeoNormalizedDistance< MOEOT, Type >) 0 0 box + +% ----- relations ----- + +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistance.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistance.tex new file mode 100644 index 000000000..2ffef7fad --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistance.tex @@ -0,0 +1,87 @@ +\section{moeo\-Distance$<$ MOEOT, Type $>$ Class Template Reference} +\label{classmoeoDistance}\index{moeoDistance@{moeoDistance}} +The base class for distance computation. + + +{\tt \#include $<$moeo\-Distance.h$>$} + +Inheritance diagram for moeo\-Distance$<$ MOEOT, Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoDistance} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual void \bf{setup} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Nothing to do. \item\end{CompactList}\item +virtual void \bf{setup} (double \_\-min, double \_\-max, unsigned int \_\-obj) +\begin{CompactList}\small\item\em Nothing to do. \item\end{CompactList}\item +virtual void \bf{setup} (\bf{eo\-Real\-Interval} \_\-real\-Interval, unsigned int \_\-obj) +\begin{CompactList}\small\item\em Nothing to do. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Type$>$ class moeo\-Distance$<$ MOEOT, Type $>$} + +The base class for distance computation. + + + +Definition at line 47 of file moeo\-Distance.h. + +\subsection{Member Function Documentation} +\index{moeoDistance@{moeo\-Distance}!setup@{setup}} +\index{setup@{setup}!moeoDistance@{moeo\-Distance}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ virtual void \bf{moeo\-Distance}$<$ MOEOT, Type $>$::setup (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDistance_1834a67c2a7a96f0c9a3c408108a8f8c} + + +Nothing to do. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Reimplemented in \bf{moeo\-Normalized\-Distance$<$ MOEOT, Type $>$} \doxyref{p.}{classmoeoNormalizedDistance_b99ffed3c0ce6c9c10aef0a76d983bb1}, and \bf{moeo\-Normalized\-Distance$<$ MOEOT $>$} \doxyref{p.}{classmoeoNormalizedDistance_b99ffed3c0ce6c9c10aef0a76d983bb1}. + +Definition at line 55 of file moeo\-Distance.h.\index{moeoDistance@{moeo\-Distance}!setup@{setup}} +\index{setup@{setup}!moeoDistance@{moeo\-Distance}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ virtual void \bf{moeo\-Distance}$<$ MOEOT, Type $>$::setup (double {\em \_\-min}, double {\em \_\-max}, unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDistance_341c4fa39652871761053e85914a16ad} + + +Nothing to do. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-min}]lower bound \item[{\em \_\-max}]upper bound \item[{\em \_\-obj}]the objective index \end{description} +\end{Desc} + + +Reimplemented in \bf{moeo\-Normalized\-Distance$<$ MOEOT, Type $>$} \doxyref{p.}{classmoeoNormalizedDistance_e58bbf9eb90a8d2704f88d774d3fe1e1}, and \bf{moeo\-Normalized\-Distance$<$ MOEOT $>$} \doxyref{p.}{classmoeoNormalizedDistance_e58bbf9eb90a8d2704f88d774d3fe1e1}. + +Definition at line 65 of file moeo\-Distance.h.\index{moeoDistance@{moeo\-Distance}!setup@{setup}} +\index{setup@{setup}!moeoDistance@{moeo\-Distance}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ virtual void \bf{moeo\-Distance}$<$ MOEOT, Type $>$::setup (\bf{eo\-Real\-Interval} {\em \_\-real\-Interval}, unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDistance_b08e7b8c1bedb2993669ec0315fb2b73} + + +Nothing to do. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-real\-Interval}]the \doxyref{eo\-Real\-Interval} object \item[{\em \_\-obj}]the objective index \end{description} +\end{Desc} + + +Reimplemented in \bf{moeo\-Normalized\-Distance$<$ MOEOT, Type $>$} \doxyref{p.}{classmoeoNormalizedDistance_dda4f95d7f6cae9dd1f4bf6cd8fb7c1c}, and \bf{moeo\-Normalized\-Distance$<$ MOEOT $>$} \doxyref{p.}{classmoeoNormalizedDistance_dda4f95d7f6cae9dd1f4bf6cd8fb7c1c}. + +Definition at line 74 of file moeo\-Distance.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Distance.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistanceMatrix.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistanceMatrix.eps new file mode 100644 index 000000000..595189b41 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistanceMatrix.eps @@ -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 229.008 +%%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.18333 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 +(moeoDistanceMatrix< MOEOT, Type >) cw +(eoUF< const 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 ----- + + (moeoDistanceMatrix< MOEOT, Type >) 0 0 box + (eoUF< const eoPop< MOEOT > &, void >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistanceMatrix.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistanceMatrix.tex new file mode 100644 index 000000000..f8d86fdc5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDistanceMatrix.tex @@ -0,0 +1,78 @@ +\section{moeo\-Distance\-Matrix$<$ MOEOT, Type $>$ Class Template Reference} +\label{classmoeoDistanceMatrix}\index{moeoDistanceMatrix@{moeoDistanceMatrix}} +A matrix to compute distances between every pair of individuals contained in a population. + + +{\tt \#include $<$moeo\-Distance\-Matrix.h$>$} + +Inheritance diagram for moeo\-Distance\-Matrix$<$ MOEOT, Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmoeoDistanceMatrix} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Distance\-Matrix} (unsigned int \_\-size, \bf{moeo\-Distance}$<$ MOEOT, Type $>$ \&\_\-distance) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the distance between every pair of individuals contained in the population \_\-pop. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Distance}$<$ MOEOT, Type $>$ \& \bf{distance}\label{classmoeoDistanceMatrix_72789ab7bcb89670cdc4242173dc2c69} + +\begin{CompactList}\small\item\em the distance to use \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Type$>$ class moeo\-Distance\-Matrix$<$ MOEOT, Type $>$} + +A matrix to compute distances between every pair of individuals contained in a population. + + + +Definition at line 49 of file moeo\-Distance\-Matrix.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoDistanceMatrix@{moeo\-Distance\-Matrix}!moeoDistanceMatrix@{moeoDistanceMatrix}} +\index{moeoDistanceMatrix@{moeoDistanceMatrix}!moeoDistanceMatrix@{moeo\-Distance\-Matrix}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ \bf{moeo\-Distance\-Matrix}$<$ MOEOT, Type $>$::\bf{moeo\-Distance\-Matrix} (unsigned int {\em \_\-size}, \bf{moeo\-Distance}$<$ MOEOT, Type $>$ \& {\em \_\-distance})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDistanceMatrix_5526260bd46b6877abd700a15b9b9ee8} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-size}]size for every dimension of the matrix \item[{\em \_\-distance}]the distance to use \end{description} +\end{Desc} + + +Definition at line 62 of file moeo\-Distance\-Matrix.h. + +\subsection{Member Function Documentation} +\index{moeoDistanceMatrix@{moeo\-Distance\-Matrix}!operator()@{operator()}} +\index{operator()@{operator()}!moeoDistanceMatrix@{moeo\-Distance\-Matrix}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ void \bf{moeo\-Distance\-Matrix}$<$ MOEOT, Type $>$::operator() (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDistanceMatrix_ae3d433983a0a3d369cc17971498ad48} + + +Sets the distance between every pair of individuals contained in the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Implements \bf{eo\-UF$<$ const eo\-Pop$<$ MOEOT $>$ \&, void $>$}. + +Definition at line 76 of file moeo\-Distance\-Matrix.h. + +References moeo\-Distance\-Matrix$<$ MOEOT, Type $>$::distance. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Distance\-Matrix.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityAssignment.eps new file mode 100644 index 000000000..0826c5e9c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityAssignment.eps @@ -0,0 +1,231 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 91.8274 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 5.445 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 3 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoDiversityAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoCrowdingDiversityAssignment< MOEOT >) cw +(moeoDummyDiversityAssignment< MOEOT >) cw +(moeoSharingDiversityAssignment< MOEOT >) cw +(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) cw +(moeoFrontByFrontSharingDiversityAssignment< MOEOT >) 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 ----- + + (moeoDiversityAssignment< MOEOT >) 1 2 box + (eoUF< eoPop< MOEOT > &, void >) 1 3 box + (eoFunctorBase) 1 4 box + (moeoCrowdingDiversityAssignment< MOEOT >) 0 1 box + (moeoDummyDiversityAssignment< MOEOT >) 1 1 box + (moeoSharingDiversityAssignment< MOEOT >) 2 1 box + (moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) 0 0 box + (moeoFrontByFrontSharingDiversityAssignment< MOEOT >) 2 0 box + +% ----- relations ----- + +solid +0 1 2 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 1 4 in +solid +1 1 1.25 out +solid +0 2 2 conn +solid +0 0 1.75 in +solid +1 0 0.25 out +solid +0 1 1.75 in +solid +0 2 1.75 in +solid +1 2 0.25 out +solid +0 0 0.75 in +solid +0 2 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityAssignment.tex new file mode 100644 index 000000000..31d05b1c4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityAssignment.tex @@ -0,0 +1,75 @@ +\section{moeo\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoDiversityAssignment}\index{moeoDiversityAssignment@{moeoDiversityAssignment}} +Functor that sets the diversity values of a whole population. + + +{\tt \#include $<$moeo\-Diversity\-Assignment.h$>$} + +Inheritance diagram for moeo\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2.57117cm]{classmoeoDiversityAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoDiversityAssignment_dc2aa6c655cb0c163aa3c769c91c9339} + +\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)=0 +\begin{CompactList}\small\item\em Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\item +void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, MOEOT \&\_\-moeo) +\begin{CompactList}\small\item\em Updates the diversity values of the whole population \_\-pop by taking the deletion of the individual \_\-moeo into account. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Diversity\-Assignment$<$ MOEOT $>$} + +Functor that sets the diversity values of a whole population. + + + +Definition at line 48 of file moeo\-Diversity\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoDiversityAssignment@{moeo\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoDiversityAssignment@{moeo\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmoeoDiversityAssignment_57f400263b36664df6269f1b522cfdcb} + + +Updates the diversity 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} + + +Implemented in \bf{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDiversityAssignment_ba1d60c8e59fbe2c12e9eef33863f012}, \bf{moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDummyDiversityAssignment_3382b59e2b8bbdc840dc25463649f1e4}, \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDiversityAssignment_f73ff88bd29c49260e2ca859250e4b68}, \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontSharingDiversityAssignment_623489a246f86cf24cc5860d32caa743}, and \bf{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoSharingDiversityAssignment_21c8d6e020af23b2be219b7e02248300}. + +Referenced by moeo\-Diversity\-Assignment$<$ MOEOT $>$::update\-By\-Deleting().\index{moeoDiversityAssignment@{moeo\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoDiversityAssignment@{moeo\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, MOEOT \& {\em \_\-moeo})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDiversityAssignment_d104002fdd5d81aabe25f95d443ed390} + + +Updates the diversity values of the whole population \_\-pop by taking the deletion of the individual \_\-moeo into account. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-moeo}]the individual \end{description} +\end{Desc} + + +Definition at line 69 of file moeo\-Diversity\-Assignment.h. + +References moeo\-Diversity\-Assignment$<$ MOEOT $>$::update\-By\-Deleting(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Diversity\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityThenFitnessComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityThenFitnessComparator.eps new file mode 100644 index 000000000..2e4daddc8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityThenFitnessComparator.eps @@ -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 263.158 +%%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.9 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 +(moeoDiversityThenFitnessComparator< MOEOT >) 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 ----- + + (moeoDiversityThenFitnessComparator< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityThenFitnessComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityThenFitnessComparator.tex new file mode 100644 index 000000000..9620d314b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDiversityThenFitnessComparator.tex @@ -0,0 +1,49 @@ +\section{moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoDiversityThenFitnessComparator}\index{moeoDiversityThenFitnessComparator@{moeoDiversityThenFitnessComparator}} +Functor allowing to compare two solutions according to their diversity values, then according to their fitness values. + + +{\tt \#include $<$moeo\-Diversity\-Then\-Fitness\-Comparator.h$>$} + +Inheritance diagram for moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoDiversityThenFitnessComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +const bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2) +\begin{CompactList}\small\item\em Returns true if \_\-moeo1 $<$ \_\-moeo2 according to their diversity values, then according to their fitness values. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$} + +Functor allowing to compare two solutions according to their diversity values, then according to their fitness values. + + + +Definition at line 47 of file moeo\-Diversity\-Then\-Fitness\-Comparator.h. + +\subsection{Member Function Documentation} +\index{moeoDiversityThenFitnessComparator@{moeo\-Diversity\-Then\-Fitness\-Comparator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoDiversityThenFitnessComparator@{moeo\-Diversity\-Then\-Fitness\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool \bf{moeo\-Diversity\-Then\-Fitness\-Comparator}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDiversityThenFitnessComparator_62620887203d033af92091d838d4b0b6} + + +Returns true if \_\-moeo1 $<$ \_\-moeo2 according to their diversity values, then according to their fitness values. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description} +\end{Desc} + + +Definition at line 56 of file moeo\-Diversity\-Then\-Fitness\-Comparator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Diversity\-Then\-Fitness\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyDiversityAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyDiversityAssignment.eps new file mode 100644 index 000000000..f96a71e7a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyDiversityAssignment.eps @@ -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 290.909 +%%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.71875 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 +(moeoDummyDiversityAssignment< MOEOT >) cw +(moeoDiversityAssignment< 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 ----- + + (moeoDummyDiversityAssignment< MOEOT >) 0 0 box + (moeoDiversityAssignment< 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyDiversityAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyDiversityAssignment.tex new file mode 100644 index 000000000..244e82cb5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyDiversityAssignment.tex @@ -0,0 +1,75 @@ +\section{moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoDummyDiversityAssignment}\index{moeoDummyDiversityAssignment@{moeoDummyDiversityAssignment}} +\doxyref{moeo\-Dummy\-Diversity\-Assignment}{p.}{classmoeoDummyDiversityAssignment} is a \doxyref{moeo\-Diversity\-Assignment}{p.}{classmoeoDiversityAssignment} that gives the value '0' as the individual's diversity for a whole population if it is invalid. + + +{\tt \#include $<$moeo\-Dummy\-Diversity\-Assignment.h$>$} + +Inheritance diagram for moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoDummyDiversityAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoDummyDiversityAssignment_657d87e8f537200392bd7a24649f0294} + +\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the diversity to '0' for every individuals of the population \_\-pop if it is invalid. \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 diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$} + +\doxyref{moeo\-Dummy\-Diversity\-Assignment}{p.}{classmoeoDummyDiversityAssignment} is a \doxyref{moeo\-Diversity\-Assignment}{p.}{classmoeoDiversityAssignment} that gives the value '0' as the individual's diversity for a whole population if it is invalid. + + + +Definition at line 47 of file moeo\-Dummy\-Diversity\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoDummyDiversityAssignment@{moeo\-Dummy\-Diversity\-Assignment}!operator()@{operator()}} +\index{operator()@{operator()}!moeoDummyDiversityAssignment@{moeo\-Dummy\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Dummy\-Diversity\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDummyDiversityAssignment_78c9150d3c586f5324ccbd2faa984ba9} + + +Sets the diversity to '0' for every individuals of the population \_\-pop if it is invalid. + +\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 59 of file moeo\-Dummy\-Diversity\-Assignment.h.\index{moeoDummyDiversityAssignment@{moeo\-Dummy\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoDummyDiversityAssignment@{moeo\-Dummy\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Dummy\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDummyDiversityAssignment_3382b59e2b8bbdc840dc25463649f1e4} + + +Updates the diversity 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\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDiversityAssignment_57f400263b36664df6269f1b522cfdcb}. + +Definition at line 77 of file moeo\-Dummy\-Diversity\-Assignment.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Dummy\-Diversity\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyFitnessAssignment.eps new file mode 100644 index 000000000..5a126222e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyFitnessAssignment.eps @@ -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 301.887 +%%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.65625 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 +(moeoDummyFitnessAssignment< 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 ----- + + (moeoDummyFitnessAssignment< 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyFitnessAssignment.tex new file mode 100644 index 000000000..dc3ef173c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoDummyFitnessAssignment.tex @@ -0,0 +1,75 @@ +\section{moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoDummyFitnessAssignment}\index{moeoDummyFitnessAssignment@{moeoDummyFitnessAssignment}} +\doxyref{moeo\-Dummy\-Fitness\-Assignment}{p.}{classmoeoDummyFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} that gives the value '0' as the individual's fitness for a whole population if it is invalid. + + +{\tt \#include $<$moeo\-Dummy\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoDummyFitnessAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoDummyFitnessAssignment_33cc1cd06c4c1d8f1f56602594e0593a} + +\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the fitness to '0' for every individuals of the population \_\-pop if it is invalid. \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{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$} + +\doxyref{moeo\-Dummy\-Fitness\-Assignment}{p.}{classmoeoDummyFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} that gives the value '0' as the individual's fitness for a whole population if it is invalid. + + + +Definition at line 47 of file moeo\-Dummy\-Fitness\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoDummyFitnessAssignment@{moeo\-Dummy\-Fitness\-Assignment}!operator()@{operator()}} +\index{operator()@{operator()}!moeoDummyFitnessAssignment@{moeo\-Dummy\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Dummy\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDummyFitnessAssignment_03c7c1649ae3c83ef6b3668977c10982} + + +Sets the fitness to '0' for every individuals of the population \_\-pop if it is invalid. + +\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 59 of file moeo\-Dummy\-Fitness\-Assignment.h.\index{moeoDummyFitnessAssignment@{moeo\-Dummy\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoDummyFitnessAssignment@{moeo\-Dummy\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Dummy\-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{classmoeoDummyFitnessAssignment_6e87d4a8ff8f43a7001a21a13795d00e} + + +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 77 of file moeo\-Dummy\-Fitness\-Assignment.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Dummy\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEA.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEA.eps new file mode 100644 index 000000000..91075a456 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEA.eps @@ -0,0 +1,235 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 151.515 +%%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.3 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 4 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoEA< MOEOT >) cw +(moeoAlgo) cw +(eoAlgo< MOEOT >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) cw +(moeoEasyEA< MOEOT >) cw +(moeoIBEA< MOEOT >) cw +(moeoNSGA< MOEOT >) cw +(moeoNSGAII< MOEOT >) 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 ----- + + (moeoEA< MOEOT >) 1.5 1 box + (moeoAlgo) 1 2 box + (eoAlgo< MOEOT >) 2 2 box + (eoUF< A1, R >) 2 3 box + (eoFunctorBase) 2 4 box + (moeoEasyEA< MOEOT >) 0 0 box + (moeoIBEA< MOEOT >) 1 0 box + (moeoNSGA< MOEOT >) 2 0 box + (moeoNSGAII< MOEOT >) 3 0 box + +% ----- relations ----- + +solid +0 1.5 1 out +solid +1 2 2 conn +solid +1 1 2 in +solid +1 2 2 in +solid +0 2 2 out +solid +1 2 3 in +solid +0 2 3 out +solid +1 2 4 in +solid +1 1.5 0.25 out +solid +0 3 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in +solid +0 3 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEA.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEA.tex new file mode 100644 index 000000000..639661498 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEA.tex @@ -0,0 +1,27 @@ +\section{moeo\-EA$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoEA}\index{moeoEA@{moeoEA}} +Abstract class for multi-objective evolutionary algorithms. + + +{\tt \#include $<$moeo\-EA.h$>$} + +Inheritance diagram for moeo\-EA$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.24242cm]{classmoeoEA} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-EA$<$ MOEOT $>$} + +Abstract class for multi-objective evolutionary algorithms. + + + +Definition at line 48 of file moeo\-EA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-EA.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA.eps new file mode 100644 index 000000000..528189a2d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 303.03 +%%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.65 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 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 +(moeoEasyEA< MOEOT >) cw +(moeoEA< MOEOT >) cw +(moeoAlgo) cw +(eoAlgo< MOEOT >) 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 ----- + + (moeoEasyEA< MOEOT >) 0.5 0 box + (moeoEA< MOEOT >) 0.5 1 box + (moeoAlgo) 0 2 box + (eoAlgo< MOEOT >) 1 2 box + (eoUF< A1, R >) 1 3 box + (eoFunctorBase) 1 4 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 +solid +0 1 3 out +solid +1 1 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA.tex new file mode 100644 index 000000000..25a4df734 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA.tex @@ -0,0 +1,194 @@ +\section{moeo\-Easy\-EA$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoEasyEA}\index{moeoEasyEA@{moeoEasyEA}} +An easy class to design multi-objective evolutionary algorithms. + + +{\tt \#include $<$moeo\-Easy\-EA.h$>$} + +Inheritance diagram for moeo\-Easy\-EA$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoEasyEA} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Breed}$<$ MOEOT $>$ \&\_\-breed, \bf{moeo\-Replacement}$<$ MOEOT $>$ \&\_\-replace, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Eval, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Eval, bool \_\-eval\-Fit\-And\-Div\-Before\-Selection=false) +\begin{CompactList}\small\item\em Ctor taking a breed and merge. \item\end{CompactList}\item +\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Pop\-Eval\-Func}$<$ MOEOT $>$ \&\_\-pop\-Eval, \bf{eo\-Breed}$<$ MOEOT $>$ \&\_\-breed, \bf{moeo\-Replacement}$<$ MOEOT $>$ \&\_\-replace, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Eval, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Eval, bool \_\-eval\-Fit\-And\-Div\-Before\-Selection=false) +\begin{CompactList}\small\item\em Ctor taking a breed, a merge and a eo\-Pop\-Eval. \item\end{CompactList}\item +\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Breed}$<$ MOEOT $>$ \&\_\-breed, \bf{eo\-Merge}$<$ MOEOT $>$ \&\_\-merge, \bf{eo\-Reduce}$<$ MOEOT $>$ \&\_\-reduce, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Eval, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Eval, bool \_\-eval\-Fit\-And\-Div\-Before\-Selection=false) +\begin{CompactList}\small\item\em Ctor taking a breed, a merge and a reduce. \item\end{CompactList}\item +\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Select}$<$ MOEOT $>$ \&\_\-select, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-transform, \bf{moeo\-Replacement}$<$ MOEOT $>$ \&\_\-replace, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Eval, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Eval, bool \_\-eval\-Fit\-And\-Div\-Before\-Selection=false) +\begin{CompactList}\small\item\em Ctor taking a select, a transform and a replacement. \item\end{CompactList}\item +\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Select}$<$ MOEOT $>$ \&\_\-select, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-transform, \bf{eo\-Merge}$<$ MOEOT $>$ \&\_\-merge, \bf{eo\-Reduce}$<$ MOEOT $>$ \&\_\-reduce, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Eval, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Eval, bool \_\-eval\-Fit\-And\-Div\-Before\-Selection=false) +\begin{CompactList}\small\item\em Ctor taking a select, a transform, a merge and a reduce. \item\end{CompactList}\item +virtual void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Applies a few generation of evolution to the population \_\-pop. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoEasyEA_5f5b76acbaf99a6a3ee2710da07dde29} + +\begin{CompactList}\small\item\em the stopping criteria \item\end{CompactList}\item +\bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& \bf{eval}\label{classmoeoEasyEA_26e8ebce6a1bc3216e20171688ba6b83} + +\begin{CompactList}\small\item\em the evaluation functions \item\end{CompactList}\item +\bf{eo\-Pop\-Loop\-Eval}$<$ MOEOT $>$ \bf{loop\-Eval}\label{classmoeoEasyEA_c1d492090805bf322c07159a9238a7ae} + +\begin{CompactList}\small\item\em to evaluate the whole population \item\end{CompactList}\item +\bf{eo\-Pop\-Eval\-Func}$<$ MOEOT $>$ \& \bf{pop\-Eval}\label{classmoeoEasyEA_189a8f5196844907ff71f386d95bf415} + +\begin{CompactList}\small\item\em to evaluate the whole population \item\end{CompactList}\item +\bf{eo\-Select\-Transform}$<$ MOEOT $>$ \bf{select\-Transform}\label{classmoeoEasyEA_bd69a176f3cacc2694342075a9022f74} + +\begin{CompactList}\small\item\em breed: a select followed by a transform \item\end{CompactList}\item +\bf{eo\-Breed}$<$ MOEOT $>$ \& \bf{breed}\label{classmoeoEasyEA_35d5909694019d1b0d52347c72a9092e} + +\begin{CompactList}\small\item\em the breeder \item\end{CompactList}\item +\bf{eo\-Merge\-Reduce}$<$ MOEOT $>$ \bf{merge\-Reduce}\label{classmoeoEasyEA_15a69654c07b24f9795add0a22f1f856} + +\begin{CompactList}\small\item\em replacement: a merge followed by a reduce \item\end{CompactList}\item +\bf{moeo\-Replacement}$<$ MOEOT $>$ \& \bf{replace}\label{classmoeoEasyEA_91611cf2862c2db953554e367a576244} + +\begin{CompactList}\small\item\em the replacment strategy \item\end{CompactList}\item +\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& \bf{fitness\-Eval}\label{classmoeoEasyEA_1268fc2f0b62fe51bca17d4efb51954b} + +\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item +\bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& \bf{diversity\-Eval}\label{classmoeoEasyEA_b9d1b3790072dbbbe0012a252bab95f4} + +\begin{CompactList}\small\item\em the diversity assignment strategy \item\end{CompactList}\item +bool \bf{eval\-Fit\-And\-Div\-Before\-Selection}\label{classmoeoEasyEA_856a19d9a7c180fe33ce7a5bb010edcc} + +\begin{CompactList}\small\item\em if this parameter is set to 'true', the fitness and the diversity of the whole population will be re-evaluated before the selection process \item\end{CompactList}\item +\bf{moeo\-Easy\-EA::eo\-Dummy\-Eval} \bf{dummy\-Eval}\label{classmoeoEasyEA_f019dc52912af200ea846285532394de} + +\begin{CompactList}\small\item\em a dummy eval \item\end{CompactList}\item +\bf{moeo\-Easy\-EA::eo\-Dummy\-Select} \bf{dummy\-Select}\label{classmoeoEasyEA_5bcf3894be6ed4b2d263cd2f6829029d} + +\begin{CompactList}\small\item\em a dummy select \item\end{CompactList}\item +\bf{moeo\-Easy\-EA::eo\-Dummy\-Transform} \bf{dummy\-Transform}\label{classmoeoEasyEA_cc428c9cc9c6291c32642ed5e8265de3} + +\begin{CompactList}\small\item\em a dummy transform \item\end{CompactList}\item +\bf{eo\-No\-Elitism}$<$ MOEOT $>$ \bf{dummy\-Merge}\label{classmoeoEasyEA_e26830e1301cfd626eed55b0fbf8dbcb} + +\begin{CompactList}\small\item\em a dummy merge \item\end{CompactList}\item +\bf{eo\-Truncate}$<$ MOEOT $>$ \bf{dummy\-Reduce}\label{classmoeoEasyEA_65963f9308ccc0acc3dfc32a128f6228} + +\begin{CompactList}\small\item\em a dummy reduce \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class \bf{eo\-Dummy\-Eval} +\begin{CompactList}\small\item\em a dummy eval \item\end{CompactList}\item +class \bf{eo\-Dummy\-Select} +\begin{CompactList}\small\item\em a dummy select \item\end{CompactList}\item +class \bf{eo\-Dummy\-Transform} +\begin{CompactList}\small\item\em a dummy transform \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Easy\-EA$<$ MOEOT $>$} + +An easy class to design multi-objective evolutionary algorithms. + + + +Definition at line 58 of file moeo\-Easy\-EA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoEasyEA@{moeo\-Easy\-EA}!moeoEasyEA@{moeoEasyEA}} +\index{moeoEasyEA@{moeoEasyEA}!moeoEasyEA@{moeo\-Easy\-EA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Easy\-EA}$<$ MOEOT $>$::\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Breed}$<$ MOEOT $>$ \& {\em \_\-breed}, \bf{moeo\-Replacement}$<$ MOEOT $>$ \& {\em \_\-replace}, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Eval}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Eval}, bool {\em \_\-eval\-Fit\-And\-Div\-Before\-Selection} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEasyEA_3f657699b8ed340ae3f51194206daa20} + + +Ctor taking a breed and merge. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-eval}]the evaluation functions \item[{\em \_\-breed}]the breeder \item[{\em \_\-replace}]the replacement strategy \item[{\em \_\-fitness\-Eval}]the fitness evaluation scheme \item[{\em \_\-diversity\-Eval}]the diversity evaluation scheme \item[{\em \_\-eval\-Fit\-And\-Div\-Before\-Selection}]put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process \end{description} +\end{Desc} + + +Definition at line 72 of file moeo\-Easy\-EA.h.\index{moeoEasyEA@{moeo\-Easy\-EA}!moeoEasyEA@{moeoEasyEA}} +\index{moeoEasyEA@{moeoEasyEA}!moeoEasyEA@{moeo\-Easy\-EA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Easy\-EA}$<$ MOEOT $>$::\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Pop\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-pop\-Eval}, \bf{eo\-Breed}$<$ MOEOT $>$ \& {\em \_\-breed}, \bf{moeo\-Replacement}$<$ MOEOT $>$ \& {\em \_\-replace}, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Eval}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Eval}, bool {\em \_\-eval\-Fit\-And\-Div\-Before\-Selection} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEasyEA_6cdebc72ce0134ce1680dafdf94740a1} + + +Ctor taking a breed, a merge and a eo\-Pop\-Eval. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-pop\-Eval}]the evaluation functions for the whole population \item[{\em \_\-breed}]the breeder \item[{\em \_\-replace}]the replacement strategy \item[{\em \_\-fitness\-Eval}]the fitness evaluation scheme \item[{\em \_\-diversity\-Eval}]the diversity evaluation scheme \item[{\em \_\-eval\-Fit\-And\-Div\-Before\-Selection}]put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process \end{description} +\end{Desc} + + +Definition at line 90 of file moeo\-Easy\-EA.h.\index{moeoEasyEA@{moeo\-Easy\-EA}!moeoEasyEA@{moeoEasyEA}} +\index{moeoEasyEA@{moeoEasyEA}!moeoEasyEA@{moeo\-Easy\-EA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Easy\-EA}$<$ MOEOT $>$::\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Breed}$<$ MOEOT $>$ \& {\em \_\-breed}, \bf{eo\-Merge}$<$ MOEOT $>$ \& {\em \_\-merge}, \bf{eo\-Reduce}$<$ MOEOT $>$ \& {\em \_\-reduce}, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Eval}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Eval}, bool {\em \_\-eval\-Fit\-And\-Div\-Before\-Selection} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEasyEA_65c1069eeed979ca433e6caee3b5e942} + + +Ctor taking a breed, a merge and a reduce. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-eval}]the evaluation functions \item[{\em \_\-breed}]the breeder \item[{\em \_\-merge}]the merge scheme \item[{\em \_\-reduce}]the reduce scheme \item[{\em \_\-fitness\-Eval}]the fitness evaluation scheme \item[{\em \_\-diversity\-Eval}]the diversity evaluation scheme \item[{\em \_\-eval\-Fit\-And\-Div\-Before\-Selection}]put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process \end{description} +\end{Desc} + + +Definition at line 109 of file moeo\-Easy\-EA.h.\index{moeoEasyEA@{moeo\-Easy\-EA}!moeoEasyEA@{moeoEasyEA}} +\index{moeoEasyEA@{moeoEasyEA}!moeoEasyEA@{moeo\-Easy\-EA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Easy\-EA}$<$ MOEOT $>$::\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Select}$<$ MOEOT $>$ \& {\em \_\-select}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-transform}, \bf{moeo\-Replacement}$<$ MOEOT $>$ \& {\em \_\-replace}, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Eval}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Eval}, bool {\em \_\-eval\-Fit\-And\-Div\-Before\-Selection} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEasyEA_27f0db7a608636c904305afa11cd6ae1} + + +Ctor taking a select, a transform and a replacement. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-eval}]the evaluation functions \item[{\em \_\-select}]the selection scheme \item[{\em \_\-transform}]the tranformation scheme \item[{\em \_\-replace}]the replacement strategy \item[{\em \_\-fitness\-Eval}]the fitness evaluation scheme \item[{\em \_\-diversity\-Eval}]the diversity evaluation scheme \item[{\em \_\-eval\-Fit\-And\-Div\-Before\-Selection}]put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process \end{description} +\end{Desc} + + +Definition at line 128 of file moeo\-Easy\-EA.h.\index{moeoEasyEA@{moeo\-Easy\-EA}!moeoEasyEA@{moeoEasyEA}} +\index{moeoEasyEA@{moeoEasyEA}!moeoEasyEA@{moeo\-Easy\-EA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Easy\-EA}$<$ MOEOT $>$::\bf{moeo\-Easy\-EA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Select}$<$ MOEOT $>$ \& {\em \_\-select}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-transform}, \bf{eo\-Merge}$<$ MOEOT $>$ \& {\em \_\-merge}, \bf{eo\-Reduce}$<$ MOEOT $>$ \& {\em \_\-reduce}, \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Eval}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Eval}, bool {\em \_\-eval\-Fit\-And\-Div\-Before\-Selection} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEasyEA_564a3291a8239515328cf0a6b40f3c99} + + +Ctor taking a select, a transform, a merge and a reduce. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-eval}]the evaluation functions \item[{\em \_\-select}]the selection scheme \item[{\em \_\-transform}]the tranformation scheme \item[{\em \_\-merge}]the merge scheme \item[{\em \_\-reduce}]the reduce scheme \item[{\em \_\-fitness\-Eval}]the fitness evaluation scheme \item[{\em \_\-diversity\-Eval}]the diversity evaluation scheme \item[{\em \_\-eval\-Fit\-And\-Div\-Before\-Selection}]put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process \end{description} +\end{Desc} + + +Definition at line 148 of file moeo\-Easy\-EA.h. + +\subsection{Member Function Documentation} +\index{moeoEasyEA@{moeo\-Easy\-EA}!operator()@{operator()}} +\index{operator()@{operator()}!moeoEasyEA@{moeo\-Easy\-EA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-Easy\-EA}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoEasyEA_f18e8fd179fbb2b89f4a59d213317170} + + +Applies a few generation of evolution to the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 160 of file moeo\-Easy\-EA.h. + +References moeo\-Easy\-EA$<$ MOEOT $>$::breed, moeo\-Easy\-EA$<$ MOEOT $>$::continuator, moeo\-Easy\-EA$<$ MOEOT $>$::diversity\-Eval, moeo\-Easy\-EA$<$ MOEOT $>$::eval\-Fit\-And\-Div\-Before\-Selection, moeo\-Easy\-EA$<$ MOEOT $>$::fitness\-Eval, moeo\-Easy\-EA$<$ MOEOT $>$::pop\-Eval, and moeo\-Easy\-EA$<$ MOEOT $>$::replace. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Easy\-EA.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyEval.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyEval.eps new file mode 100644 index 000000000..6887abc95 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyEval.eps @@ -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 318.725 +%%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.56875 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 +(moeoEasyEA< MOEOT >::eoDummyEval) cw +(eoEvalFunc< MOEOT >) 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 ----- + + (moeoEasyEA< MOEOT >::eoDummyEval) 0 0 box + (eoEvalFunc< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyEval.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyEval.tex new file mode 100644 index 000000000..0b49de4f2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyEval.tex @@ -0,0 +1,33 @@ +\section{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Eval Class Reference} +\label{classmoeoEasyEA_1_1eoDummyEval}\index{moeoEasyEA::eoDummyEval@{moeoEasyEA::eoDummyEval}} +a dummy eval + + +{\tt \#include $<$moeo\-Easy\-EA.h$>$} + +Inheritance diagram for moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Eval::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoEasyEA_1_1eoDummyEval} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{operator()} (MOEOT \&)\label{classmoeoEasyEA_1_1eoDummyEval_1ed55869451f883db2fc43c60f7caff5} + +\begin{CompactList}\small\item\em the dummy functor \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Eval} + +a dummy eval + + + +Definition at line 226 of file moeo\-Easy\-EA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Easy\-EA.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummySelect.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummySelect.eps new file mode 100644 index 000000000..d9db8ba09 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummySelect.eps @@ -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 306.513 +%%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.63125 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 +(moeoEasyEA< MOEOT >::eoDummySelect) cw +(eoSelect< 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 ----- + + (moeoEasyEA< MOEOT >::eoDummySelect) 0 0 box + (eoSelect< 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummySelect.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummySelect.tex new file mode 100644 index 000000000..99065423d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummySelect.tex @@ -0,0 +1,33 @@ +\section{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Select Class Reference} +\label{classmoeoEasyEA_1_1eoDummySelect}\index{moeoEasyEA::eoDummySelect@{moeoEasyEA::eoDummySelect}} +a dummy select + + +{\tt \#include $<$moeo\-Easy\-EA.h$>$} + +Inheritance diagram for moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Select::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoEasyEA_1_1eoDummySelect} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{operator()} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&, \bf{eo\-Pop}$<$ MOEOT $>$ \&)\label{classmoeoEasyEA_1_1eoDummySelect_32207d2ed997aa90ba9f32f5625b63d6} + +\begin{CompactList}\small\item\em the dummy functor \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Select} + +a dummy select + + + +Definition at line 234 of file moeo\-Easy\-EA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Easy\-EA.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyTransform.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyTransform.eps new file mode 100644 index 000000000..35dbc762b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyTransform.eps @@ -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 282.686 +%%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.76875 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 +(moeoEasyEA< MOEOT >::eoDummyTransform) cw +(eoTransform< MOEOT >) 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 ----- + + (moeoEasyEA< MOEOT >::eoDummyTransform) 0 0 box + (eoTransform< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyTransform.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyTransform.tex new file mode 100644 index 000000000..423a941e8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEasyEA_1_1eoDummyTransform.tex @@ -0,0 +1,33 @@ +\section{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Transform Class Reference} +\label{classmoeoEasyEA_1_1eoDummyTransform}\index{moeoEasyEA::eoDummyTransform@{moeoEasyEA::eoDummyTransform}} +a dummy transform + + +{\tt \#include $<$moeo\-Easy\-EA.h$>$} + +Inheritance diagram for moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Transform::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoEasyEA_1_1eoDummyTransform} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&)\label{classmoeoEasyEA_1_1eoDummyTransform_0e153e482291a7f19f7f7a02505fb432} + +\begin{CompactList}\small\item\em the dummy functor \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Transform} + +a dummy transform + + + +Definition at line 242 of file moeo\-Easy\-EA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Easy\-EA.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.eps new file mode 100644 index 000000000..afafe9024 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.eps @@ -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 452.489 +%%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.105 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 +(moeoElitistReplacement< MOEOT >) cw +(moeoReplacement< MOEOT >) cw +(eoReplacement< 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 ----- + + (moeoElitistReplacement< MOEOT >) 0 0 box + (moeoReplacement< MOEOT >) 0 1 box + (eoReplacement< MOEOT >) 0 2 box + (eoBF< A1, A2, 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.tex new file mode 100644 index 000000000..a1b352219 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.tex @@ -0,0 +1,141 @@ +\section{moeo\-Elitist\-Replacement$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoElitistReplacement}\index{moeoElitistReplacement@{moeoElitistReplacement}} +Elitist replacement strategy that consists in keeping the N best individuals. + + +{\tt \#include $<$moeo\-Elitist\-Replacement.h$>$} + +Inheritance diagram for moeo\-Elitist\-Replacement$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoElitistReplacement} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Elitist\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Assignment, \bf{moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator) +\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item +\bf{moeo\-Elitist\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Assignment) +\begin{CompactList}\small\item\em Constructor without comparator. \item\end{CompactList}\item +\bf{moeo\-Elitist\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator) +\begin{CompactList}\small\item\em Constructor without moeo\-Diversity\-Assignement. \item\end{CompactList}\item +\bf{moeo\-Elitist\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment) +\begin{CompactList}\small\item\em Constructor without moeo\-Diversity\-Assignement nor \doxyref{moeo\-Comparator}{p.}{classmoeoComparator}. \item\end{CompactList}\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-parents, \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-offspring) +\begin{CompactList}\small\item\em Replaces the first population by adding the individuals of the second one, sorting with a \doxyref{moeo\-Comparator}{p.}{classmoeoComparator} and resizing the whole population obtained. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& \bf{fitness\-Assignment}\label{classmoeoElitistReplacement_ba390ae799848417dc41d0e71b010425} + +\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item +\bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& \bf{diversity\-Assignment}\label{classmoeoElitistReplacement_7dff2c8d871e87a2ba326b69fd0c48d9} + +\begin{CompactList}\small\item\em the diversity assignment strategy \item\end{CompactList}\item +\bf{moeo\-Dummy\-Diversity\-Assignment}$<$ MOEOT $>$ \bf{default\-Diversity}\label{classmoeoElitistReplacement_0a88fa6ae1cba0eb041b804f86e31ab2} + +\begin{CompactList}\small\item\em a dummy diversity assignment can be used as default \item\end{CompactList}\item +\bf{moeo\-Fitness\-Then\-Diversity\-Comparator}$<$ MOEOT $>$ \bf{default\-Comparator}\label{classmoeoElitistReplacement_e4b10eae9d1b048525737fbe47e34215} + +\begin{CompactList}\small\item\em a fitness then diversity comparator can be used as default \item\end{CompactList}\item +\bf{moeo\-Elitist\-Replacement::Cmp} \bf{comparator}\label{classmoeoElitistReplacement_09c823aee0a1752fad4737cb8979fc31} + +\begin{CompactList}\small\item\em this object is used to compare solutions in order to sort the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class \bf{Cmp} +\begin{CompactList}\small\item\em this object is used to compare solutions in order to sort the population \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Elitist\-Replacement$<$ MOEOT $>$} + +Elitist replacement strategy that consists in keeping the N best individuals. + + + +Definition at line 51 of file moeo\-Elitist\-Replacement.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}} +\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$::\bf{moeo\-Elitist\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Assignment}, \bf{moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_1d91980f3f800833c8e9452cb450ae3e} + + +Full constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-diversity\-Assignment}]the diversity assignment strategy \item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \end{description} +\end{Desc} + + +Definition at line 61 of file moeo\-Elitist\-Replacement.h.\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}} +\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$::\bf{moeo\-Elitist\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Assignment})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_d7122be0519207c7496852284ed24514} + + +Constructor without comparator. + +A moeo\-Fit\-Then\-Div\-Comparator is used as default. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-diversity\-Assignment}]the diversity assignment strategy \end{description} +\end{Desc} + + +Definition at line 71 of file moeo\-Elitist\-Replacement.h.\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}} +\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$::\bf{moeo\-Elitist\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_81b7b8e0cac6cbed36e47688adf1466c} + + +Constructor without moeo\-Diversity\-Assignement. + +A dummy diversity is used as default. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \end{description} +\end{Desc} + + +Definition at line 81 of file moeo\-Elitist\-Replacement.h.\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}} +\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$::\bf{moeo\-Elitist\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_2ef7c199d779d473a9d35cee21556794} + + +Constructor without moeo\-Diversity\-Assignement nor \doxyref{moeo\-Comparator}{p.}{classmoeoComparator}. + +A moeo\-Fit\-Then\-Div\-Comparator and a dummy diversity are used as default. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \end{description} +\end{Desc} + + +Definition at line 91 of file moeo\-Elitist\-Replacement.h. + +\subsection{Member Function Documentation} +\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!operator()@{operator()}} +\index{operator()@{operator()}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-parents}, \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_0364c6ef9d16f7eb65caa9edfce69006} + + +Replaces the first population by adding the individuals of the second one, sorting with a \doxyref{moeo\-Comparator}{p.}{classmoeoComparator} and resizing the whole population obtained. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-parents}]the population composed of the parents (the population you want to replace) \item[{\em \_\-offspring}]the offspring population \end{description} +\end{Desc} + + +Definition at line 101 of file moeo\-Elitist\-Replacement.h. + +References moeo\-Elitist\-Replacement$<$ MOEOT $>$::comparator, moeo\-Elitist\-Replacement$<$ MOEOT $>$::diversity\-Assignment, and moeo\-Elitist\-Replacement$<$ MOEOT $>$::fitness\-Assignment. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Elitist\-Replacement.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement_1_1Cmp.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement_1_1Cmp.tex new file mode 100644 index 000000000..aeee67c57 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoElitistReplacement_1_1Cmp.tex @@ -0,0 +1,52 @@ +\section{moeo\-Elitist\-Replacement$<$ MOEOT $>$::Cmp Class Reference} +\label{classmoeoElitistReplacement_1_1Cmp}\index{moeoElitistReplacement::Cmp@{moeoElitistReplacement::Cmp}} +this object is used to compare solutions in order to sort the population + + +{\tt \#include $<$moeo\-Elitist\-Replacement.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{Cmp} (\bf{moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comp) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)\label{classmoeoElitistReplacement_1_1Cmp_2411b927dde02225114635e776ce863f} + +\begin{CompactList}\small\item\em Returns true if \_\-moeo1 is greater than \_\-moeo2 according to the comparator \_\-moeo1 the first individual \_\-moeo2 the first individual. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Comparator}$<$ MOEOT $>$ \& \bf{comp}\label{classmoeoElitistReplacement_1_1Cmp_c7c0d0839bcbe86455d9f1064884219a} + +\begin{CompactList}\small\item\em the comparator \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Elitist\-Replacement$<$ MOEOT $>$::Cmp} + +this object is used to compare solutions in order to sort the population + + + +Definition at line 130 of file moeo\-Elitist\-Replacement.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoElitistReplacement::Cmp@{moeo\-Elitist\-Replacement::Cmp}!Cmp@{Cmp}} +\index{Cmp@{Cmp}!moeoElitistReplacement::Cmp@{moeo\-Elitist\-Replacement::Cmp}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$::Cmp::Cmp (\bf{moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comp})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_1_1Cmp_c9f21fe0df172dc601a13d6531c5ffd9} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-comp}]the comparator \end{description} +\end{Desc} + + +Definition at line 137 of file moeo\-Elitist\-Replacement.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Elitist\-Replacement.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.eps new file mode 100644 index 000000000..c3e9301da --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.eps @@ -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 144.092 +%%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.47 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 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 +(moeoEntropyMetric< ObjectiveVector >) cw +(moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) cw +(moeoBinaryMetric< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) 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 ----- + + (moeoEntropyMetric< ObjectiveVector >) 0.5 0 box + (moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) 0.5 1 box + (moeoBinaryMetric< A1, A2, R >) 0.5 2 box + (eoBF< A1, A2, R >) 0 3 box + (moeoMetric) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 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 +0 1 3 conn +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.tex new file mode 100644 index 000000000..1a8237e9b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.tex @@ -0,0 +1,152 @@ +\section{moeo\-Entropy\-Metric$<$ Objective\-Vector $>$ Class Template Reference} +\label{classmoeoEntropyMetric}\index{moeoEntropyMetric@{moeoEntropyMetric}} +The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. + + +{\tt \#include $<$moeo\-Entropy\-Metric.h$>$} + +Inheritance diagram for moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.03458cm]{classmoeoEntropyMetric} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +double \bf{operator()} (const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set1, const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the entropy of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void \bf{remove\-Dominated} (std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-f) +\begin{CompactList}\small\item\em Removes the dominated individuals contained in \_\-f. \item\end{CompactList}\item +void \bf{prenormalize} (const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-f) +\begin{CompactList}\small\item\em Prenormalization. \item\end{CompactList}\item +void \bf{normalize} (std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-f) +\begin{CompactList}\small\item\em Normalization. \item\end{CompactList}\item +void \bf{compute\-Union} (const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-f1, const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-f2, std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-f) +\begin{CompactList}\small\item\em Computation of the union of \_\-f1 and \_\-f2 in \_\-f. \item\end{CompactList}\item +unsigned int \bf{how\-Many\-In\-Niche\-Of} (const std::vector$<$ \bf{Objective\-Vector} $>$ \&\_\-f, const \bf{Objective\-Vector} \&\_\-s, unsigned int \_\-size)\label{classmoeoEntropyMetric_7977dac672bd6e2e1dfff8cf7954c180} + +\begin{CompactList}\small\item\em How many in niche. \item\end{CompactList}\item +double \bf{euclidian\-Distance} (const \bf{Objective\-Vector} \&\_\-set1, const \bf{Objective\-Vector} \&\_\-to, unsigned int \_\-deg=2)\label{classmoeoEntropyMetric_4716a673498a0681fb78414e390824a3} + +\begin{CompactList}\small\item\em Euclidian distance. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +std::vector$<$ double $>$ \bf{vect\_\-min\_\-val}\label{classmoeoEntropyMetric_e423d7d4416ef371ce7b0fd24c3212f8} + +\begin{CompactList}\small\item\em vector of min values \item\end{CompactList}\item +std::vector$<$ double $>$ \bf{vect\_\-max\_\-val}\label{classmoeoEntropyMetric_f5fad6d144520fd1403f774f98b18b99} + +\begin{CompactList}\small\item\em vector of max values \item\end{CompactList}\item +\bf{moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \bf{pareto\-Comparator}\label{classmoeoEntropyMetric_227ce550253c35957300c6e11730c847} + +\begin{CompactList}\small\item\em Functor to compare two objective vectors according to Pareto dominance relation. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Entropy\-Metric$<$ Objective\-Vector $>$} + +The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. + +of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156) + + + +Definition at line 50 of file moeo\-Entropy\-Metric.h. + +\subsection{Member Function Documentation} +\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!operator()@{operator()}} +\index{operator()@{operator()}!moeoEntropyMetric@{moeo\-Entropy\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double \bf{moeo\-Entropy\-Metric}$<$ \bf{Objective\-Vector} $>$::operator() (const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set1}, const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEntropyMetric_191a8cdda7873e20338e678c5a7b927b} + + +Returns the entropy of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 59 of file moeo\-Entropy\-Metric.h. + +References moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::compute\-Union(), moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::how\-Many\-In\-Niche\-Of(), moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::normalize(), moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::prenormalize(), and moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::remove\-Dominated().\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!removeDominated@{removeDominated}} +\index{removeDominated@{removeDominated}!moeoEntropyMetric@{moeo\-Entropy\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ void \bf{moeo\-Entropy\-Metric}$<$ \bf{Objective\-Vector} $>$::remove\-Dominated (std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-f})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoEntropyMetric_198a717fd0bab0bb91346399c1021f82} + + +Removes the dominated individuals contained in \_\-f. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-f}]a Pareto set \end{description} +\end{Desc} + + +Definition at line 113 of file moeo\-Entropy\-Metric.h. + +References moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::pareto\-Comparator. + +Referenced by moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!prenormalize@{prenormalize}} +\index{prenormalize@{prenormalize}!moeoEntropyMetric@{moeo\-Entropy\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ void \bf{moeo\-Entropy\-Metric}$<$ \bf{Objective\-Vector} $>$::prenormalize (const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-f})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoEntropyMetric_51dd04bdd0ac6315f4f5956fb726cec1} + + +Prenormalization. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-f}]a Pareto set \end{description} +\end{Desc} + + +Definition at line 138 of file moeo\-Entropy\-Metric.h. + +References moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::n\-Objectives(), moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::vect\_\-max\_\-val, and moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::vect\_\-min\_\-val. + +Referenced by moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!normalize@{normalize}} +\index{normalize@{normalize}!moeoEntropyMetric@{moeo\-Entropy\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ void \bf{moeo\-Entropy\-Metric}$<$ \bf{Objective\-Vector} $>$::normalize (std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-f})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoEntropyMetric_2ed5771c3c611634b415f4be48cad172} + + +Normalization. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-f}]a Pareto set \end{description} +\end{Desc} + + +Definition at line 163 of file moeo\-Entropy\-Metric.h. + +References moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::n\-Objectives(), moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::vect\_\-max\_\-val, and moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::vect\_\-min\_\-val. + +Referenced by moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!computeUnion@{computeUnion}} +\index{computeUnion@{computeUnion}!moeoEntropyMetric@{moeo\-Entropy\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ void \bf{moeo\-Entropy\-Metric}$<$ \bf{Objective\-Vector} $>$::compute\-Union (const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-f1}, const std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-f2}, std::vector$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-f})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoEntropyMetric_4b99c1842d780a89bda08e99a59e3e29} + + +Computation of the union of \_\-f1 and \_\-f2 in \_\-f. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-f1}]the first Pareto set \item[{\em \_\-f2}]the second Pareto set \item[{\em \_\-f}]the final Pareto set \end{description} +\end{Desc} + + +Definition at line 177 of file moeo\-Entropy\-Metric.h. + +Referenced by moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Entropy\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement.eps new file mode 100644 index 000000000..06f562ea4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement.eps @@ -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 367.647 +%%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.36 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 +(moeoEnvironmentalReplacement< MOEOT >) cw +(moeoReplacement< MOEOT >) cw +(eoReplacement< 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 ----- + + (moeoEnvironmentalReplacement< MOEOT >) 0 0 box + (moeoReplacement< MOEOT >) 0 1 box + (eoReplacement< MOEOT >) 0 2 box + (eoBF< A1, A2, 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement.tex new file mode 100644 index 000000000..99cd7e990 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement.tex @@ -0,0 +1,147 @@ +\section{moeo\-Environmental\-Replacement$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoEnvironmentalReplacement}\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}} +Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion. + + +{\tt \#include $<$moeo\-Environmental\-Replacement.h$>$} + +Inheritance diagram for moeo\-Environmental\-Replacement$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoEnvironmentalReplacement} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoEnvironmentalReplacement_ef38fb9b1ab23ddd2c558639e19f4821} + +\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Environmental\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Assignment, \bf{moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator) +\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item +\bf{moeo\-Environmental\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Assignment) +\begin{CompactList}\small\item\em Constructor without comparator. \item\end{CompactList}\item +\bf{moeo\-Environmental\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator) +\begin{CompactList}\small\item\em Constructor without moeo\-Diversity\-Assignement. \item\end{CompactList}\item +\bf{moeo\-Environmental\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment) +\begin{CompactList}\small\item\em Constructor without moeo\-Diversity\-Assignement nor \doxyref{moeo\-Comparator}{p.}{classmoeoComparator}. \item\end{CompactList}\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-parents, \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-offspring) +\begin{CompactList}\small\item\em Replaces the first population by adding the individuals of the second one, sorting with a \doxyref{moeo\-Comparator}{p.}{classmoeoComparator} and resizing the whole population obtained. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& \bf{fitness\-Assignment}\label{classmoeoEnvironmentalReplacement_4b7bc138b17ad5381355c0481bc9c669} + +\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item +\bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& \bf{diversity\-Assignment}\label{classmoeoEnvironmentalReplacement_e2453bd96c9a490f7de21f9ce22fdff9} + +\begin{CompactList}\small\item\em the diversity assignment strategy \item\end{CompactList}\item +\bf{moeo\-Dummy\-Diversity\-Assignment}$<$ MOEOT $>$ \bf{default\-Diversity}\label{classmoeoEnvironmentalReplacement_7f546704db3225ee1c40439beff5f618} + +\begin{CompactList}\small\item\em a dummy diversity assignment can be used as default \item\end{CompactList}\item +\bf{moeo\-Fitness\-Then\-Diversity\-Comparator}$<$ MOEOT $>$ \bf{default\-Comparator}\label{classmoeoEnvironmentalReplacement_b7f4ce8d3ecf2d18e8c48982875760bb} + +\begin{CompactList}\small\item\em a fitness then diversity comparator can be used as default \item\end{CompactList}\item +\bf{moeo\-Environmental\-Replacement::Cmp} \bf{comparator}\label{classmoeoEnvironmentalReplacement_03e82244288da8f963d9ed45ed193f5d} + +\begin{CompactList}\small\item\em this object is used to compare solutions in order to sort the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class \bf{Cmp} +\begin{CompactList}\small\item\em this object is used to compare solutions in order to sort the population \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Environmental\-Replacement$<$ MOEOT $>$} + +Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion. + + + +Definition at line 51 of file moeo\-Environmental\-Replacement.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}} +\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Environmental\-Replacement}$<$ MOEOT $>$::\bf{moeo\-Environmental\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Assignment}, \bf{moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_de6e8f546a4583f1eee31366f7099c38} + + +Full constructor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-diversity\-Assignment}]the diversity assignment strategy \item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \end{description} +\end{Desc} + + +Definition at line 65 of file moeo\-Environmental\-Replacement.h.\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}} +\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Environmental\-Replacement}$<$ MOEOT $>$::\bf{moeo\-Environmental\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Assignment})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_9199a29cf89cd6b01bb9be304f344940} + + +Constructor without comparator. + +A moeo\-Fit\-Then\-Div\-Comparator is used as default. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-diversity\-Assignment}]the diversity assignment strategy \end{description} +\end{Desc} + + +Definition at line 75 of file moeo\-Environmental\-Replacement.h.\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}} +\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Environmental\-Replacement}$<$ MOEOT $>$::\bf{moeo\-Environmental\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_7512641b5d58c96a148a75fd4dc95bf7} + + +Constructor without moeo\-Diversity\-Assignement. + +A dummy diversity is used as default. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \end{description} +\end{Desc} + + +Definition at line 85 of file moeo\-Environmental\-Replacement.h.\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}} +\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Environmental\-Replacement}$<$ MOEOT $>$::\bf{moeo\-Environmental\-Replacement} (\bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_2dfa5d51660039b4f90196e7885ed586} + + +Constructor without moeo\-Diversity\-Assignement nor \doxyref{moeo\-Comparator}{p.}{classmoeoComparator}. + +A moeo\-Fit\-Then\-Div\-Comparator and a dummy diversity are used as default. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \end{description} +\end{Desc} + + +Definition at line 95 of file moeo\-Environmental\-Replacement.h. + +\subsection{Member Function Documentation} +\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!operator()@{operator()}} +\index{operator()@{operator()}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Environmental\-Replacement}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-parents}, \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_55acfca7f9dd9e3d75cef7c9015dc037} + + +Replaces the first population by adding the individuals of the second one, sorting with a \doxyref{moeo\-Comparator}{p.}{classmoeoComparator} and resizing the whole population obtained. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-parents}]the population composed of the parents (the population you want to replace) \item[{\em \_\-offspring}]the offspring population \end{description} +\end{Desc} + + +Definition at line 105 of file moeo\-Environmental\-Replacement.h. + +References moeo\-Environmental\-Replacement$<$ MOEOT $>$::comparator, moeo\-Environmental\-Replacement$<$ MOEOT $>$::diversity\-Assignment, and moeo\-Environmental\-Replacement$<$ MOEOT $>$::fitness\-Assignment. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Environmental\-Replacement.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement_1_1Cmp.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement_1_1Cmp.tex new file mode 100644 index 000000000..96631fd40 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEnvironmentalReplacement_1_1Cmp.tex @@ -0,0 +1,52 @@ +\section{moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp Class Reference} +\label{classmoeoEnvironmentalReplacement_1_1Cmp}\index{moeoEnvironmentalReplacement::Cmp@{moeoEnvironmentalReplacement::Cmp}} +this object is used to compare solutions in order to sort the population + + +{\tt \#include $<$moeo\-Environmental\-Replacement.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{Cmp} (\bf{moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comp) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)\label{classmoeoEnvironmentalReplacement_1_1Cmp_b006918d5d6fc1f87fb9ed585946595a} + +\begin{CompactList}\small\item\em Returns true if \_\-moeo1 is greater than \_\-moeo2 according to the comparator \_\-moeo1 the first individual \_\-moeo2 the first individual. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Comparator}$<$ MOEOT $>$ \& \bf{comp}\label{classmoeoEnvironmentalReplacement_1_1Cmp_5c345292ee3ec6b8f7b79dafe3ac2c81} + +\begin{CompactList}\small\item\em the comparator \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp} + +this object is used to compare solutions in order to sort the population + + + +Definition at line 146 of file moeo\-Environmental\-Replacement.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoEnvironmentalReplacement::Cmp@{moeo\-Environmental\-Replacement::Cmp}!Cmp@{Cmp}} +\index{Cmp@{Cmp}!moeoEnvironmentalReplacement::Cmp@{moeo\-Environmental\-Replacement::Cmp}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Environmental\-Replacement}$<$ MOEOT $>$::Cmp::Cmp (\bf{moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comp})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_1_1Cmp_efd55b365f306715f1a871b50d479f38} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-comp}]the comparator \end{description} +\end{Desc} + + +Definition at line 153 of file moeo\-Environmental\-Replacement.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Environmental\-Replacement.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEuclideanDistance.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEuclideanDistance.eps new file mode 100644 index 000000000..298825456 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEuclideanDistance.eps @@ -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 431.034 +%%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.16 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 +(moeoEuclideanDistance< MOEOT >) cw +(moeoNormalizedDistance< MOEOT >) cw +(moeoDistance< MOEOT, double >) 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 ----- + + (moeoEuclideanDistance< MOEOT >) 0 0 box + (moeoNormalizedDistance< MOEOT >) 0 1 box + (moeoDistance< MOEOT, double >) 0 2 box + (eoBF< A1, A2, 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEuclideanDistance.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEuclideanDistance.tex new file mode 100644 index 000000000..e83438fdf --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEuclideanDistance.tex @@ -0,0 +1,59 @@ +\section{moeo\-Euclidean\-Distance$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoEuclideanDistance}\index{moeoEuclideanDistance@{moeoEuclideanDistance}} +A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e. + + +{\tt \#include $<$moeo\-Euclidean\-Distance.h$>$} + +Inheritance diagram for moeo\-Euclidean\-Distance$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoEuclideanDistance} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoEuclideanDistance_d75b1b8695b3eb16f9574496b5822daa} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +const double \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2) +\begin{CompactList}\small\item\em Returns the euclidian distance between \_\-moeo1 and \_\-moeo2 in the objective space. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Euclidean\-Distance$<$ MOEOT $>$} + +A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e. + +between 0 and 1). A distance value then lies between 0 and sqrt(n\-Objectives). + + + +Definition at line 49 of file moeo\-Euclidean\-Distance.h. + +\subsection{Member Function Documentation} +\index{moeoEuclideanDistance@{moeo\-Euclidean\-Distance}!operator()@{operator()}} +\index{operator()@{operator()}!moeoEuclideanDistance@{moeo\-Euclidean\-Distance}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const double \bf{moeo\-Euclidean\-Distance}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEuclideanDistance_20ff559e95da92a46990eb0658f018f1} + + +Returns the euclidian distance between \_\-moeo1 and \_\-moeo2 in the objective space. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description} +\end{Desc} + + +Definition at line 62 of file moeo\-Euclidean\-Distance.h. + +References moeo\-Normalized\-Distance$<$ MOEOT $>$::bounds, and moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::n\-Objectives(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Euclidean\-Distance.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEvalFunc.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEvalFunc.eps new file mode 100644 index 000000000..0a42e820d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEvalFunc.eps @@ -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 459.77 +%%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.0875 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 +(moeoEvalFunc< MOEOT >) cw +(eoEvalFunc< MOEOT >) 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 ----- + + (moeoEvalFunc< MOEOT >) 0 0 box + (eoEvalFunc< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEvalFunc.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEvalFunc.tex new file mode 100644 index 000000000..8613dea33 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoEvalFunc.tex @@ -0,0 +1,22 @@ +\section{moeo\-Eval\-Func$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoEvalFunc}\index{moeoEvalFunc@{moeoEvalFunc}} +Inheritance diagram for moeo\-Eval\-Func$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoEvalFunc} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Eval\-Func$<$ MOEOT $>$} + + + + + +Definition at line 47 of file moeo\-Eval\-Func.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Eval\-Func.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoExpBinaryIndicatorBasedFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoExpBinaryIndicatorBasedFitnessAssignment.eps new file mode 100644 index 000000000..15d7d9454 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoExpBinaryIndicatorBasedFitnessAssignment.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 327.869 +%%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.525 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 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 +(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoIndicatorBasedFitnessAssignment< 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 ----- + + (moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box + (moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 1 box + (moeoIndicatorBasedFitnessAssignment< MOEOT >) 0 2 box + (moeoFitnessAssignment< MOEOT >) 0 3 box + (eoUF< eoPop< MOEOT > &, void >) 0 4 box + (eoFunctorBase) 0 5 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 +solid +0 0 4 out +solid +1 0 5 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoExpBinaryIndicatorBasedFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoExpBinaryIndicatorBasedFitnessAssignment.tex new file mode 100644 index 000000000..2672a0de2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoExpBinaryIndicatorBasedFitnessAssignment.tex @@ -0,0 +1,215 @@ +\section{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment}\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeoExpBinaryIndicatorBasedFitnessAssignment}} +Fitness assignment sheme based on an indicator proposed in: E. + + +{\tt \#include $<$moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoExpBinaryIndicatorBasedFitnessAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_e519691e807af18ea11b7d8c17d2b9b4} + +\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment} (\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const double \_\-kappa=0.05) +\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}\item +double \bf{update\-By\-Adding} (\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 adding of the objective vector \_\-obj\-Vec into account and returns the fitness value of \_\-obj\-Vec. \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. \item\end{CompactList}\item +void \bf{compute\-Values} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Compute every indicator value in values (values[i] = I(\_\-v[i], \_\-o)). \item\end{CompactList}\item +void \bf{set\-Fitnesses} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the fitness value of the whple population. \item\end{CompactList}\item +double \bf{compute\-Fitness} (const unsigned int \_\-idx) +\begin{CompactList}\small\item\em Returns the fitness value of the \_\-idx th individual of the population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& \bf{metric}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_98008d8346524381bee9c26a2e600f24} + +\begin{CompactList}\small\item\em the quality indicator \item\end{CompactList}\item +double \bf{kappa}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_22d049e40f87f505259b69e7a55a8339} + +\begin{CompactList}\small\item\em the scaling factor \item\end{CompactList}\item +std::vector$<$ std::vector$<$ double $>$ $>$ \bf{values}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_872dc1802f45c8ed0a93d5ee6b1e4d2a} + +\begin{CompactList}\small\item\em the computed indicator values \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} + +Fitness assignment sheme based on an indicator proposed in: E. + +Zitzler, S. K\~{A}¼nzli, \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{}, Proc. 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 832-842, Birmingham, UK (2004). This strategy is, for instance, used in IBEA. + + + +Definition at line 54 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeoExpBinaryIndicatorBasedFitnessAssignment}} +\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeoExpBinaryIndicatorBasedFitnessAssignment}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment} (\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const double {\em \_\-kappa} = {\tt 0.05})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_226214378bbf6ebc7fea813a62a5c66e} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-metric}]the quality indicator \item[{\em \_\-kappa}]the scaling factor \end{description} +\end{Desc} + + +Definition at line 67 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!operator()@{operator()}} +\index{operator()@{operator()}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_fde913bb1d456edd82d4a2d000f705ae} + + +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 75 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::compute\-Values(), moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses(), and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup().\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-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{classmoeoExpBinaryIndicatorBasedFitnessAssignment_1ad61bf146d3b24b41ef0575360f664b} + + +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 91 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric.\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!updateByAdding@{updateByAdding}} +\index{updateByAdding@{updateByAdding}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ double \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Adding (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_f94d9d4dee8dde20cda67e84643aae50} + + +Updates the fitness values of the whole population \_\-pop by taking the adding of the objective vector \_\-obj\-Vec into account and returns the fitness value of \_\-obj\-Vec. + +\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\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoBinaryIndicatorBasedFitnessAssignment_809b25abb9756c53525e3006e0ae2c70}. + +Definition at line 112 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric.\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!setup@{setup}} +\index{setup@{setup}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::setup (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_ebdbaaf036ca944319b9f8706602382f} + + +Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 155 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::n\-Objectives(). + +Referenced by moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!computeValues@{computeValues}} +\index{computeValues@{computeValues}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::compute\-Values (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_20cf29102b848f7ce342dbbb17e9636b} + + +Compute every indicator value in values (values[i] = I(\_\-v[i], \_\-o)). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 177 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::values. + +Referenced by moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!setFitnesses@{setFitnesses}} +\index{setFitnesses@{setFitnesses}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::set\-Fitnesses (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_063741218c8aa82f53845f9230cb0693} + + +Sets the fitness value of the whple population. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 199 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::compute\-Fitness(). + +Referenced by moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!computeFitness@{computeFitness}} +\index{computeFitness@{computeFitness}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ double \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::compute\-Fitness (const unsigned int {\em \_\-idx})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_d2fd41b9b356d1f1f87ce0f44907336f} + + +Returns the fitness value of the \_\-idx th individual of the population. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-idx}]the index \end{description} +\end{Desc} + + +Definition at line 212 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::values. + +Referenced by moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment.eps new file mode 100644 index 000000000..2e7225c9b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment.eps @@ -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 270.27 +%%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.85 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 +(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) cw +(moeoParetoBasedFitnessAssignment< 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 ----- + + (moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 0 0 box + (moeoParetoBasedFitnessAssignment< MOEOT >) 0 1 box + (moeoFitnessAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment.tex new file mode 100644 index 000000000..fa72b0399 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment.tex @@ -0,0 +1,179 @@ +\section{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoFastNonDominatedSortingFitnessAssignment}\index{moeoFastNonDominatedSortingFitnessAssignment@{moeoFastNonDominatedSortingFitnessAssignment}} +Fitness assignment sheme based on Pareto-dominance count proposed in: N. + + +{\tt \#include $<$moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoFastNonDominatedSortingFitnessAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoFastNonDominatedSortingFitnessAssignment_7bca09c8cf084700172a6e0dfcf6c381} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment} ()\label{classmoeoFastNonDominatedSortingFitnessAssignment_d02bd6ca60399f6171c08fa42f131644} + +\begin{CompactList}\small\item\em Default ctor. \item\end{CompactList}\item +\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment} (\bf{moeo\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \&\_\-comparator) +\begin{CompactList}\small\item\em Ctor where you can choose your own way to compare objective vectors. \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*{Private Member Functions} +\begin{CompactItemize} +\item +void \bf{one\-Objective} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the fitness values for mono-objective problems. \item\end{CompactList}\item +void \bf{two\-Objectives} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size. \item\end{CompactList}\item +void \bf{m\-Objectives} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the fitness values for problems with more than two objectives with a complexity of O(n\^{A}² log n), where n stands for the population size. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \& \bf{comparator}\label{classmoeoFastNonDominatedSortingFitnessAssignment_cc2269f00944e308e53004cc3a68855b} + +\begin{CompactList}\small\item\em Functor to compare two objective vectors. \item\end{CompactList}\item +\bf{moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \bf{pareto\-Comparator}\label{classmoeoFastNonDominatedSortingFitnessAssignment_c91bade0a1aa1200d0245f7c13fb74fc} + +\begin{CompactList}\small\item\em Functor to compare two objective vectors according to Pareto dominance relation. \item\end{CompactList}\item +\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment::Objective\-Comparator} \bf{obj\-Comparator}\label{classmoeoFastNonDominatedSortingFitnessAssignment_c62df8b2ae4437128933dc989e7569a3} + +\begin{CompactList}\small\item\em Functor allowing to compare two solutions according to their first objective value, then their second, and so on. \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class \bf{Objective\-Comparator} +\begin{CompactList}\small\item\em Functor allowing to compare two solutions according to their first objective value, then their second, and so on. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$} + +Fitness assignment sheme based on Pareto-dominance count proposed in: N. + +Srinivas, K. Deb, \char`\"{}Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms\char`\"{}, Evolutionary Computation vol. 2, no. 3, pp. 221-248 (1994) and in: K. Deb, A. Pratap, S. Agarwal, T. Meyarivan, \char`\"{}A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II\char`\"{}, IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). This strategy is, for instance, used in NSGA and NSGA-II. + + + +Definition at line 57 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!moeoFastNonDominatedSortingFitnessAssignment@{moeoFastNonDominatedSortingFitnessAssignment}} +\index{moeoFastNonDominatedSortingFitnessAssignment@{moeoFastNonDominatedSortingFitnessAssignment}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment} (\bf{moeo\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_6843abccb77386a06016063f42c63f75} + + +Ctor where you can choose your own way to compare objective vectors. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-comparator}]the functor used to compare objective vectors \end{description} +\end{Desc} + + +Definition at line 76 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!operator()@{operator()}} +\index{operator()@{operator()}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_4d75a10be83e50e4d3827c32b74f9d7d} + + +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 84 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h. + +References moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::m\-Objectives(), and moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::one\-Objective().\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-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{classmoeoFastNonDominatedSortingFitnessAssignment_8d16de444f6c7a73c28c9087b652656e} + + +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 126 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h. + +References moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::comparator.\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!oneObjective@{oneObjective}} +\index{oneObjective@{oneObjective}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::one\-Objective (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_f69d3a918dbbe8d7e9ef5abc50fbf17b} + + +Sets the fitness values for mono-objective problems. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 169 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h. + +References moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::obj\-Comparator. + +Referenced by moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!twoObjectives@{twoObjectives}} +\index{twoObjectives@{twoObjectives}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::two\-Objectives (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_ac0337fe41c4d565c5a81de38398a9e9} + + +Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 191 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h.\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!mObjectives@{mObjectives}} +\index{mObjectives@{mObjectives}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::m\-Objectives (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_f28ad92fe565e13b8d38a3beb30e1e29} + + +Sets the fitness values for problems with more than two objectives with a complexity of O(n\^{A}² log n), where n stands for the population size. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 201 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h. + +References moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::comparator. + +Referenced by moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.eps new file mode 100644 index 000000000..40263889c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.eps @@ -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 161.29 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.1 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 +(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator) 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 ----- + + (moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.tex new file mode 100644 index 000000000..6cc844d55 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator.tex @@ -0,0 +1,55 @@ +\section{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::Objective\-Comparator Class Reference} +\label{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator}\index{moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator@{moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator}} +Functor allowing to compare two solutions according to their first objective value, then their second, and so on. + + +Inheritance diagram for moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::Objective\-Comparator::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +const bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2) +\begin{CompactList}\small\item\em Returns true if \_\-moeo1 $<$ \_\-moeo2 on the first objective, then on the second, and so on. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Objective\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \bf{cmp}\label{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator_2280f5d8df81b5c69676fa4fade67719} + +\begin{CompactList}\small\item\em the corresponding comparator for objective vectors \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::Objective\-Comparator} + +Functor allowing to compare two solutions according to their first objective value, then their second, and so on. + + + +Definition at line 146 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment::Objective\-Comparator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment::Objective\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::Objective\-Comparator::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator_21ba1645a166a348a24c204e88f97987} + + +Returns true if \_\-moeo1 $<$ \_\-moeo2 on the first objective, then on the second, and so on. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description} +\end{Desc} + + +Definition at line 154 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h. + +References moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::Objective\-Comparator::cmp. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessAssignment.eps new file mode 100644 index 000000000..3756f7262 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessAssignment.eps @@ -0,0 +1,257 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 54.0541 +%%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 9.25 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 6 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 +(moeoFitnessAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoCriterionBasedFitnessAssignment< MOEOT >) cw +(moeoDummyFitnessAssignment< MOEOT >) cw +(moeoIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoParetoBasedFitnessAssignment< MOEOT >) cw +(moeoScalarFitnessAssignment< MOEOT >) cw +(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) cw +(moeoAchievementFitnessAssignment< MOEOT >) cw +(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 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 ----- + + (moeoFitnessAssignment< MOEOT >) 2 3 box + (eoUF< eoPop< MOEOT > &, void >) 2 4 box + (eoFunctorBase) 2 5 box + (moeoCriterionBasedFitnessAssignment< MOEOT >) 0 2 box + (moeoDummyFitnessAssignment< MOEOT >) 1 2 box + (moeoIndicatorBasedFitnessAssignment< MOEOT >) 2 2 box + (moeoParetoBasedFitnessAssignment< MOEOT >) 3.5 2 box + (moeoScalarFitnessAssignment< MOEOT >) 4.5 2 box + (moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) 1.5 1 box + (moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) 2.5 1 box + (moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 3.5 1 box + (moeoAchievementFitnessAssignment< MOEOT >) 4.5 1 box + (moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 1.5 0 box + +% ----- relations ----- + +solid +0 2 3 out +solid +1 2 4 in +solid +0 2 4 out +solid +1 2 5 in +solid +1 2 2.25 out +solid +0 4.5 3 conn +solid +0 0 2.75 in +solid +0 1 2.75 in +solid +0 2 2.75 in +solid +1 2 1.25 out +solid +1.5 2.5 2 conn +solid +0 3.5 2.75 in +solid +1 3.5 1.25 out +solid +0 4.5 2.75 in +solid +1 4.5 1.25 out +solid +0 1.5 1.75 in +solid +1 1.5 0.25 out +solid +0 2.5 1.75 in +solid +0 3.5 1.75 in +solid +0 4.5 1.75 in +solid +0 1.5 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessAssignment.tex new file mode 100644 index 000000000..667356dc6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessAssignment.tex @@ -0,0 +1,75 @@ +\section{moeo\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoFitnessAssignment}\index{moeoFitnessAssignment@{moeoFitnessAssignment}} +Functor that sets the fitness values of a whole population. + + +{\tt \#include $<$moeo\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.51351cm]{classmoeoFitnessAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoFitnessAssignment_6271b8215ea5df4fc1f19e513cd1d533} + +\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +virtual void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)=0 +\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}\item +void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, MOEOT \&\_\-moeo) +\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the deletion of the individual \_\-moeo into account. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Fitness\-Assignment$<$ MOEOT $>$} + +Functor that sets the fitness values of a whole population. + + + +Definition at line 48 of file moeo\-Fitness\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoFitnessAssignment@{moeo\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoFitnessAssignment@{moeo\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmoeoFitnessAssignment_4922629569eddc9be049b3ead1ab0269} + + +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} + + +Implemented in \bf{moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoAchievementFitnessAssignment_a6a2ae6c263dbcea3c16cde4c8a1e5fc}, \bf{moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDummyFitnessAssignment_6e87d4a8ff8f43a7001a21a13795d00e}, \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoExpBinaryIndicatorBasedFitnessAssignment_1ad61bf146d3b24b41ef0575360f664b}, and \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFastNonDominatedSortingFitnessAssignment_8d16de444f6c7a73c28c9087b652656e}. + +Referenced by moeo\-Fitness\-Assignment$<$ MOEOT $>$::update\-By\-Deleting().\index{moeoFitnessAssignment@{moeo\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoFitnessAssignment@{moeo\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, MOEOT \& {\em \_\-moeo})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFitnessAssignment_057fd85764abb5de35adb52b5ef695be} + + +Updates the fitness values of the whole population \_\-pop by taking the deletion of the individual \_\-moeo into account. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-moeo}]the individual \end{description} +\end{Desc} + + +Definition at line 69 of file moeo\-Fitness\-Assignment.h. + +References moeo\-Fitness\-Assignment$<$ MOEOT $>$::update\-By\-Deleting(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessThenDiversityComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessThenDiversityComparator.eps new file mode 100644 index 000000000..c32881430 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessThenDiversityComparator.eps @@ -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 263.158 +%%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.9 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 +(moeoFitnessThenDiversityComparator< MOEOT >) 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 ----- + + (moeoFitnessThenDiversityComparator< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessThenDiversityComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessThenDiversityComparator.tex new file mode 100644 index 000000000..36ae3ff35 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFitnessThenDiversityComparator.tex @@ -0,0 +1,49 @@ +\section{moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoFitnessThenDiversityComparator}\index{moeoFitnessThenDiversityComparator@{moeoFitnessThenDiversityComparator}} +Functor allowing to compare two solutions according to their fitness values, then according to their diversity values. + + +{\tt \#include $<$moeo\-Fitness\-Then\-Diversity\-Comparator.h$>$} + +Inheritance diagram for moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoFitnessThenDiversityComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +const bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2) +\begin{CompactList}\small\item\em Returns true if \_\-moeo1 $<$ \_\-moeo2 according to their fitness values, then according to their diversity values. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$} + +Functor allowing to compare two solutions according to their fitness values, then according to their diversity values. + + + +Definition at line 47 of file moeo\-Fitness\-Then\-Diversity\-Comparator.h. + +\subsection{Member Function Documentation} +\index{moeoFitnessThenDiversityComparator@{moeo\-Fitness\-Then\-Diversity\-Comparator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoFitnessThenDiversityComparator@{moeo\-Fitness\-Then\-Diversity\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool \bf{moeo\-Fitness\-Then\-Diversity\-Comparator}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFitnessThenDiversityComparator_087856d1a7d81f242e95591d694e3ef6} + + +Returns true if \_\-moeo1 $<$ \_\-moeo2 according to their fitness values, then according to their diversity values. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description} +\end{Desc} + + +Definition at line 56 of file moeo\-Fitness\-Then\-Diversity\-Comparator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Fitness\-Then\-Diversity\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontCrowdingDiversityAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontCrowdingDiversityAssignment.eps new file mode 100644 index 000000000..3db76e75a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontCrowdingDiversityAssignment.eps @@ -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 275.482 +%%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.815 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 +(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) cw +(moeoCrowdingDiversityAssignment< MOEOT >) cw +(moeoDiversityAssignment< 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 ----- + + (moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) 0 0 box + (moeoCrowdingDiversityAssignment< MOEOT >) 0 1 box + (moeoDiversityAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontCrowdingDiversityAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontCrowdingDiversityAssignment.tex new file mode 100644 index 000000000..18a280ab3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontCrowdingDiversityAssignment.tex @@ -0,0 +1,102 @@ +\section{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoFrontByFrontCrowdingDiversityAssignment}\index{moeoFrontByFrontCrowdingDiversityAssignment@{moeoFrontByFrontCrowdingDiversityAssignment}} +Diversity assignment sheme based on crowding proposed in: K. + + +{\tt \#include $<$moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h$>$} + +Inheritance diagram for moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoFrontByFrontCrowdingDiversityAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoFrontByFrontCrowdingDiversityAssignment_aebd424133b426cf6a2ec7b20743bbaf} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec) +\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void \bf{set\-Distances} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the distance values. \item\end{CompactList}\item +unsigned int \bf{last\-Index} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, unsigned int \_\-start) +\begin{CompactList}\small\item\em Returns the index of the last individual having the same fitness value than \_\-pop[\_\-start]. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} + +Diversity assignment sheme based on crowding proposed in: K. + +Deb, A. Pratap, S. Agarwal, T. Meyarivan, \char`\"{}A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II\char`\"{}, IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). Tis strategy assigns diversity values FRONT BY FRONT. It is, for instance, used in NSGA-II. + + + +Definition at line 50 of file moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoFrontByFrontCrowdingDiversityAssignment_f73ff88bd29c49260e2ca859250e4b68} + + +\begin{Desc} +\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \end{Desc} +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description} +\end{Desc} +\begin{Desc} +\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! \end{Desc} + + +Reimplemented from \bf{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDiversityAssignment_ba1d60c8e59fbe2c12e9eef33863f012}. + +Definition at line 65 of file moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h.\index{moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}!setDistances@{setDistances}} +\index{setDistances@{setDistances}!moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Distances (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoFrontByFrontCrowdingDiversityAssignment_1aa0ec7b94fbbf952636bcc21e1a9d16} + + +Sets the distance values. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Reimplemented from \bf{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDiversityAssignment_acbe3e03404ecc67dd5e83f00576c255}. + +Definition at line 80 of file moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h. + +References moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::inf(), moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::last\-Index(), and moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::tiny().\index{moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}!lastIndex@{lastIndex}} +\index{lastIndex@{lastIndex}!moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ unsigned int \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::last\-Index (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, unsigned int {\em \_\-start})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFrontByFrontCrowdingDiversityAssignment_ab8e153a4716375414ff2140fc3fa480} + + +Returns the index of the last individual having the same fitness value than \_\-pop[\_\-start]. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-start}]the index to start from \end{description} +\end{Desc} + + +Definition at line 146 of file moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h. + +Referenced by moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::set\-Distances(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontSharingDiversityAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontSharingDiversityAssignment.eps new file mode 100644 index 000000000..951532f00 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontSharingDiversityAssignment.eps @@ -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 283.286 +%%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.765 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 +(moeoFrontByFrontSharingDiversityAssignment< MOEOT >) cw +(moeoSharingDiversityAssignment< MOEOT >) cw +(moeoDiversityAssignment< 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 ----- + + (moeoFrontByFrontSharingDiversityAssignment< MOEOT >) 0 0 box + (moeoSharingDiversityAssignment< MOEOT >) 0 1 box + (moeoDiversityAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontSharingDiversityAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontSharingDiversityAssignment.tex new file mode 100644 index 000000000..ac6829dc6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoFrontByFrontSharingDiversityAssignment.tex @@ -0,0 +1,117 @@ +\section{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoFrontByFrontSharingDiversityAssignment}\index{moeoFrontByFrontSharingDiversityAssignment@{moeoFrontByFrontSharingDiversityAssignment}} +Sharing assignment scheme on the way it is used in NSGA. + + +{\tt \#include $<$moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment.h$>$} + +Inheritance diagram for moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoFrontByFrontSharingDiversityAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoFrontByFrontSharingDiversityAssignment_c5350ba4340adea240c9cb362c1eb96d} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment} (\bf{moeo\-Distance}$<$ MOEOT, double $>$ \&\_\-distance, double \_\-niche\-Size=0.5, double \_\-alpha=2.0) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +\bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment} (double \_\-niche\-Size=0.5, double \_\-alpha=2.0) +\begin{CompactList}\small\item\em Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default. \item\end{CompactList}\item +void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec) +\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void \bf{set\-Similarities} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets similarities FRONT BY FRONT for every solution contained in the population \_\-pop. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} + +Sharing assignment scheme on the way it is used in NSGA. + + + +Definition at line 47 of file moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoFrontByFrontSharingDiversityAssignment@{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}!moeoFrontByFrontSharingDiversityAssignment@{moeoFrontByFrontSharingDiversityAssignment}} +\index{moeoFrontByFrontSharingDiversityAssignment@{moeoFrontByFrontSharingDiversityAssignment}!moeoFrontByFrontSharingDiversityAssignment@{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment} (\bf{moeo\-Distance}$<$ MOEOT, double $>$ \& {\em \_\-distance}, double {\em \_\-niche\-Size} = {\tt 0.5}, double {\em \_\-alpha} = {\tt 2.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFrontByFrontSharingDiversityAssignment_a77c641d3d9184f60c3aace07fb1774f} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-distance}]the distance used to compute the neighborhood of solutions (can be related to the decision space or the objective space) \item[{\em \_\-niche\-Size}]neighborhood size in terms of radius distance (closely related to the way the distances are computed) \item[{\em \_\-alpha}]parameter used to regulate the shape of the sharing function \end{description} +\end{Desc} + + +Definition at line 61 of file moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment.h.\index{moeoFrontByFrontSharingDiversityAssignment@{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}!moeoFrontByFrontSharingDiversityAssignment@{moeoFrontByFrontSharingDiversityAssignment}} +\index{moeoFrontByFrontSharingDiversityAssignment@{moeoFrontByFrontSharingDiversityAssignment}!moeoFrontByFrontSharingDiversityAssignment@{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment} (double {\em \_\-niche\-Size} = {\tt 0.5}, double {\em \_\-alpha} = {\tt 2.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFrontByFrontSharingDiversityAssignment_fec74d6b140ff6bb98e80ca13d57b6d7} + + +Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-niche\-Size}]neighborhood size in terms of radius distance (closely related to the way the distances are computed) \item[{\em \_\-alpha}]parameter used to regulate the shape of the sharing function \end{description} +\end{Desc} + + +Definition at line 70 of file moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoFrontByFrontSharingDiversityAssignment@{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoFrontByFrontSharingDiversityAssignment@{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoFrontByFrontSharingDiversityAssignment_623489a246f86cf24cc5860d32caa743} + + +\begin{Desc} +\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \end{Desc} +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description} +\end{Desc} +\begin{Desc} +\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! \end{Desc} + + +Reimplemented from \bf{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoSharingDiversityAssignment_21c8d6e020af23b2be219b7e02248300}. + +Definition at line 81 of file moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment.h.\index{moeoFrontByFrontSharingDiversityAssignment@{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}!setSimilarities@{setSimilarities}} +\index{setSimilarities@{setSimilarities}!moeoFrontByFrontSharingDiversityAssignment@{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Similarities (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoFrontByFrontSharingDiversityAssignment_a0f6c045237aba2857c4a9ec25679e69} + + +Sets similarities FRONT BY FRONT for every solution contained in the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Reimplemented from \bf{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoSharingDiversityAssignment_c01f6ac1abba3799f5c4b6c0608dac55}. + +Definition at line 98 of file moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment.h. + +References moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::distance, moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::niche\-Size, and moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::sh(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGDominanceObjectiveVectorComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGDominanceObjectiveVectorComparator.eps new file mode 100644 index 000000000..c47fc760a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGDominanceObjectiveVectorComparator.eps @@ -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.02 +%%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.475 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 +(moeoGDominanceObjectiveVectorComparator< ObjectiveVector >) cw +(moeoObjectiveVectorComparator< ObjectiveVector >) 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 ----- + + (moeoGDominanceObjectiveVectorComparator< ObjectiveVector >) 0 0 box + (moeoObjectiveVectorComparator< ObjectiveVector >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGDominanceObjectiveVectorComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGDominanceObjectiveVectorComparator.tex new file mode 100644 index 000000000..babcd3ff9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGDominanceObjectiveVectorComparator.tex @@ -0,0 +1,104 @@ +\section{moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$ Class Template Reference} +\label{classmoeoGDominanceObjectiveVectorComparator}\index{moeoGDominanceObjectiveVectorComparator@{moeoGDominanceObjectiveVectorComparator}} +This functor class allows to compare 2 objective vectors according to g-dominance. + + +{\tt \#include $<$moeo\-GDominance\-Objective\-Vector\-Comparator.h$>$} + +Inheritance diagram for moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoGDominanceObjectiveVectorComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-GDominance\-Objective\-Vector\-Comparator} (\bf{Objective\-Vector} \&\_\-ref) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +const bool \bf{operator()} (const \bf{Objective\-Vector} \&\_\-objective\-Vector1, const \bf{Objective\-Vector} \&\_\-objective\-Vector2) +\begin{CompactList}\small\item\em Returns true if \_\-objective\-Vector1 is g-dominated by \_\-objective\-Vector2. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +unsigned int \bf{flag} (const \bf{Objective\-Vector} \&\_\-objective\-Vector) +\begin{CompactList}\small\item\em Returns the flag of \_\-objective\-Vector according to the reference point. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{Objective\-Vector} \& \bf{ref}\label{classmoeoGDominanceObjectiveVectorComparator_54cf089933c4d5d70ceb931c2b97ca68} + +\begin{CompactList}\small\item\em the reference point \item\end{CompactList}\item +\bf{moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \bf{pareto\-Comparator}\label{classmoeoGDominanceObjectiveVectorComparator_5768e6444e546f1da2f36ccabcfc1f70} + +\begin{CompactList}\small\item\em Pareto comparator. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} + +This functor class allows to compare 2 objective vectors according to g-dominance. + +The concept of g-dominance as been introduced in: J. Molina, L. V. Santana, A. G. Hernandez-Diaz, C. A. Coello Coello, R. Caballero, \char`\"{}g-dominance: Reference point based dominance\char`\"{} (2007) + + + +Definition at line 50 of file moeo\-GDominance\-Objective\-Vector\-Comparator.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}!moeoGDominanceObjectiveVectorComparator@{moeoGDominanceObjectiveVectorComparator}} +\index{moeoGDominanceObjectiveVectorComparator@{moeoGDominanceObjectiveVectorComparator}!moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ \bf{moeo\-GDominance\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$::\bf{moeo\-GDominance\-Objective\-Vector\-Comparator} (\bf{Objective\-Vector} \& {\em \_\-ref})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoGDominanceObjectiveVectorComparator_fc4e1f1201b6420d206b28ab98e9ea0d} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-ref}]the reference point \end{description} +\end{Desc} + + +Definition at line 58 of file moeo\-GDominance\-Objective\-Vector\-Comparator.h. + +\subsection{Member Function Documentation} +\index{moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ const bool \bf{moeo\-GDominance\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$::operator() (const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector1}, const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoGDominanceObjectiveVectorComparator_4b8c3496d77abf6e774333f3296e6d79} + + +Returns true if \_\-objective\-Vector1 is g-dominated by \_\-objective\-Vector2. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-objective\-Vector1}]the first objective vector \item[{\em \_\-objective\-Vector2}]the second objective vector \end{description} +\end{Desc} + + +Definition at line 67 of file moeo\-GDominance\-Objective\-Vector\-Comparator.h. + +References moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::flag(), and moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::pareto\-Comparator.\index{moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}!flag@{flag}} +\index{flag@{flag}!moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ unsigned int \bf{moeo\-GDominance\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$::flag (const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoGDominanceObjectiveVectorComparator_75bf5141369522563e60d4e3ac2ec9cb} + + +Returns the flag of \_\-objective\-Vector according to the reference point. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-objective\-Vector}]the first objective vector \end{description} +\end{Desc} + + +Definition at line 101 of file moeo\-GDominance\-Objective\-Vector\-Comparator.h. + +References moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, Objective\-Vector\-Type $>$::n\-Objectives(), and moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::ref. + +Referenced by moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-GDominance\-Objective\-Vector\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGenerationalReplacement.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGenerationalReplacement.eps new file mode 100644 index 000000000..63a2ad358 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGenerationalReplacement.eps @@ -0,0 +1,239 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 189.394 +%%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.64 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 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 +(moeoGenerationalReplacement< MOEOT >) cw +(moeoReplacement< MOEOT >) cw +(eoGenerationalReplacement< MOEOT >) cw +(eoReplacement< MOEOT >) cw +(eoReplacement< EOT >) cw +(eoBF< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) 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 ----- + + (moeoGenerationalReplacement< MOEOT >) 0.5 0 box + (moeoReplacement< MOEOT >) 0 1 box + (eoGenerationalReplacement< MOEOT >) 1 1 box + (eoReplacement< MOEOT >) 0 2 box + (eoReplacement< EOT >) 1 2 box + (eoBF< A1, A2, R >) 0 3 box + (eoBF< A1, A2, R >) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +0 1 1 conn +solid +1 0 1 in +solid +0 0 1 out +solid +1 1 1 in +solid +0 1 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGenerationalReplacement.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGenerationalReplacement.tex new file mode 100644 index 000000000..b4f59891b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoGenerationalReplacement.tex @@ -0,0 +1,51 @@ +\section{moeo\-Generational\-Replacement$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoGenerationalReplacement}\index{moeoGenerationalReplacement@{moeoGenerationalReplacement}} +Generational replacement: only the new individuals are preserved. + + +{\tt \#include $<$moeo\-Generational\-Replacement.h$>$} + +Inheritance diagram for moeo\-Generational\-Replacement$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoGenerationalReplacement} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-parents, \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-offspring) +\begin{CompactList}\small\item\em Swaps \_\-parents and \_\-offspring. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Generational\-Replacement$<$ MOEOT $>$} + +Generational replacement: only the new individuals are preserved. + + + +Definition at line 48 of file moeo\-Generational\-Replacement.h. + +\subsection{Member Function Documentation} +\index{moeoGenerationalReplacement@{moeo\-Generational\-Replacement}!operator()@{operator()}} +\index{operator()@{operator()}!moeoGenerationalReplacement@{moeo\-Generational\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Generational\-Replacement}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-parents}, \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoGenerationalReplacement_7b8ac20d375820ba44a9f3dd4b95e120} + + +Swaps \_\-parents and \_\-offspring. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-parents}]the parents population \item[{\em \_\-offspring}]the offspring population \end{description} +\end{Desc} + + +Reimplemented from \bf{eo\-Generational\-Replacement$<$ MOEOT $>$}. + +Definition at line 57 of file moeo\-Generational\-Replacement.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Generational\-Replacement.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHybridLS.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHybridLS.eps new file mode 100644 index 000000000..5ca50d410 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHybridLS.eps @@ -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 462.428 +%%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.08125 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 +(moeoHybridLS< MOEOT >) cw +(eoUpdater) cw +(eoF< 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 ----- + + (moeoHybridLS< MOEOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHybridLS.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHybridLS.tex new file mode 100644 index 000000000..3717b365c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHybridLS.tex @@ -0,0 +1,67 @@ +\section{moeo\-Hybrid\-LS$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoHybridLS}\index{moeoHybridLS@{moeoHybridLS}} +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + + +{\tt \#include $<$moeo\-Hybrid\-LS.h$>$} + +Inheritance diagram for moeo\-Hybrid\-LS$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoHybridLS} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Hybrid\-LS} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-term, \bf{eo\-Select}$<$ MOEOT $>$ \&\_\-select, \bf{moeo\-LS}$<$ MOEOT, MOEOT $>$ \&\_\-mols, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} ()\label{classmoeoHybridLS_bd35c0f0e03914b1b669cb064310d3eb} + +\begin{CompactList}\small\item\em Applies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{term}\label{classmoeoHybridLS_776a00e2e8970ad6e3940c61eabd52ba} + +\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item +\bf{eo\-Select}$<$ MOEOT $>$ \& \bf{select}\label{classmoeoHybridLS_106ca80830d807da0cfdcac934737533} + +\begin{CompactList}\small\item\em selector \item\end{CompactList}\item +\bf{moeo\-LS}$<$ MOEOT, MOEOT $>$ \& \bf{mols}\label{classmoeoHybridLS_28af163ec90dbff609b38666b249a19c} + +\begin{CompactList}\small\item\em multi-objective local search \item\end{CompactList}\item +\bf{moeo\-Archive}$<$ MOEOT $>$ \& \bf{arch}\label{classmoeoHybridLS_4cda70ac38a51d7b629a1fed56af4c33} + +\begin{CompactList}\small\item\em archive \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Hybrid\-LS$<$ MOEOT $>$} + +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + + + +Definition at line 53 of file moeo\-Hybrid\-LS.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoHybridLS@{moeo\-Hybrid\-LS}!moeoHybridLS@{moeoHybridLS}} +\index{moeoHybridLS@{moeoHybridLS}!moeoHybridLS@{moeo\-Hybrid\-LS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Hybrid\-LS}$<$ MOEOT $>$::\bf{moeo\-Hybrid\-LS} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-term}, \bf{eo\-Select}$<$ MOEOT $>$ \& {\em \_\-select}, \bf{moeo\-LS}$<$ MOEOT, MOEOT $>$ \& {\em \_\-mols}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoHybridLS_e669b2ca5e17467eb9819c71557aad53} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-term}]stopping criteria \item[{\em \_\-select}]selector \item[{\em \_\-mols}]a multi-objective local search \item[{\em \_\-arch}]the archive \end{description} +\end{Desc} + + +Definition at line 64 of file moeo\-Hybrid\-LS.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Hybrid\-LS.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHypervolumeBinaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHypervolumeBinaryMetric.eps new file mode 100644 index 000000000..0542b6470 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHypervolumeBinaryMetric.eps @@ -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 141.509 +%%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.53333 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 +(moeoHypervolumeBinaryMetric< ObjectiveVector >) cw +(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoBinaryMetric< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) 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 ----- + + (moeoHypervolumeBinaryMetric< ObjectiveVector >) 0.5 0 box + (moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 1 box + (moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 2 box + (moeoBinaryMetric< A1, A2, R >) 0.5 3 box + (eoBF< A1, A2, R >) 0 4 box + (moeoMetric) 1 4 box + (eoFunctorBase) 0 5 box + (eoFunctorBase) 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 +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHypervolumeBinaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHypervolumeBinaryMetric.tex new file mode 100644 index 000000000..d2079eca4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoHypervolumeBinaryMetric.tex @@ -0,0 +1,108 @@ +\section{moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$ Class Template Reference} +\label{classmoeoHypervolumeBinaryMetric}\index{moeoHypervolumeBinaryMetric@{moeoHypervolumeBinaryMetric}} +Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., K\~{A}¼nzli S. + + +{\tt \#include $<$moeo\-Hypervolume\-Binary\-Metric.h$>$} + +Inheritance diagram for moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.96226cm]{classmoeoHypervolumeBinaryMetric} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Hypervolume\-Binary\-Metric} (double \_\-rho=1.1) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +double \bf{operator()} (const \bf{Objective\-Vector} \&\_\-o1, const \bf{Objective\-Vector} \&\_\-o2) +\begin{CompactList}\small\item\em Returns the volume of the space that is dominated by \_\-o2 but not by \_\-o1 with respect to a reference point computed using rho. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double \bf{hypervolume} (const \bf{Objective\-Vector} \&\_\-o1, const \bf{Objective\-Vector} \&\_\-o2, const unsigned int \_\-obj, const bool \_\-flag=false) +\begin{CompactList}\small\item\em Returns the volume of the space that is dominated by \_\-o2 but not by \_\-o1 with respect to a reference point computed using rho for the objective \_\-obj. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double \bf{rho}\label{classmoeoHypervolumeBinaryMetric_2498b6010719249121e3a371978d927b} + +\begin{CompactList}\small\item\em value used to compute the reference point from the worst values for each objective \item\end{CompactList}\item +\bf{moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$ \bf{pareto\-Comparator}\label{classmoeoHypervolumeBinaryMetric_2bbeb34a5bfde25b9eadc7eca899906e} + +\begin{CompactList}\small\item\em Functor to compare two objective vectors according to Pareto dominance relation. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$} + +Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., K\~{A}¼nzli S. + +: Indicator-Based Selection in Multiobjective Search. In Parallel Problem Solving from Nature (PPSN VIII). Lecture Notes in Computer Science 3242, Springer, Birmingham, UK pp.832\^{a}€“842 (2004). This indicator is based on the hypervolume concept introduced in Zitzler, E., Thiele, L.: Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study. Parallel Problem Solving from Nature (PPSN-V), pp.292-301 (1998). + + + +Definition at line 54 of file moeo\-Hypervolume\-Binary\-Metric.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}!moeoHypervolumeBinaryMetric@{moeoHypervolumeBinaryMetric}} +\index{moeoHypervolumeBinaryMetric@{moeoHypervolumeBinaryMetric}!moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ \bf{moeo\-Hypervolume\-Binary\-Metric}$<$ \bf{Objective\-Vector} $>$::\bf{moeo\-Hypervolume\-Binary\-Metric} (double {\em \_\-rho} = {\tt 1.1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoHypervolumeBinaryMetric_01a07711a7c9f38cdc2c76e40a3c5958} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-rho}]value used to compute the reference point from the worst values for each objective (default : 1.1) \end{description} +\end{Desc} + + +Definition at line 62 of file moeo\-Hypervolume\-Binary\-Metric.h. + +References moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::n\-Objectives(), and moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::rho. + +\subsection{Member Function Documentation} +\index{moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}!operator()@{operator()}} +\index{operator()@{operator()}!moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double \bf{moeo\-Hypervolume\-Binary\-Metric}$<$ \bf{Objective\-Vector} $>$::operator() (const \bf{Objective\-Vector} \& {\em \_\-o1}, const \bf{Objective\-Vector} \& {\em \_\-o2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoHypervolumeBinaryMetric_c147309a5ba6b365be926e6083c5b9f2} + + +Returns the volume of the space that is dominated by \_\-o2 but not by \_\-o1 with respect to a reference point computed using rho. + +\begin{Desc} +\item[Warning:]don't forget to set the bounds for every objective before the call of this function \end{Desc} +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-o1}]the first objective vector \item[{\em \_\-o2}]the second objective vector \end{description} +\end{Desc} + + +Definition at line 88 of file moeo\-Hypervolume\-Binary\-Metric.h. + +References moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::hypervolume(), and moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::pareto\-Comparator.\index{moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}!hypervolume@{hypervolume}} +\index{hypervolume@{hypervolume}!moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double \bf{moeo\-Hypervolume\-Binary\-Metric}$<$ \bf{Objective\-Vector} $>$::hypervolume (const \bf{Objective\-Vector} \& {\em \_\-o1}, const \bf{Objective\-Vector} \& {\em \_\-o2}, const unsigned int {\em \_\-obj}, const bool {\em \_\-flag} = {\tt false})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoHypervolumeBinaryMetric_e841d13001c63b043981a41fcb49218a} + + +Returns the volume of the space that is dominated by \_\-o2 but not by \_\-o1 with respect to a reference point computed using rho for the objective \_\-obj. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-o1}]the first objective vector \item[{\em \_\-o2}]the second objective vector \item[{\em \_\-obj}]the objective index \item[{\em \_\-flag}]used for iteration, if \_\-flag=true \_\-o2 is not talen into account (default : false) \end{description} +\end{Desc} + + +Definition at line 121 of file moeo\-Hypervolume\-Binary\-Metric.h. + +References moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::bounds, and moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::rho. + +Referenced by moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Hypervolume\-Binary\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIBEA.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIBEA.eps new file mode 100644 index 000000000..8402bc3c9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIBEA.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 337.838 +%%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.48 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 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 +(moeoIBEA< MOEOT >) cw +(moeoEA< MOEOT >) cw +(moeoAlgo) cw +(eoAlgo< MOEOT >) 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 ----- + + (moeoIBEA< MOEOT >) 0.5 0 box + (moeoEA< MOEOT >) 0.5 1 box + (moeoAlgo) 0 2 box + (eoAlgo< MOEOT >) 1 2 box + (eoUF< A1, R >) 1 3 box + (eoFunctorBase) 1 4 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 +solid +0 1 3 out +solid +1 1 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIBEA.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIBEA.tex new file mode 100644 index 000000000..ea07caef9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIBEA.tex @@ -0,0 +1,175 @@ +\section{moeo\-IBEA$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoIBEA}\index{moeoIBEA@{moeoIBEA}} +IBEA (Indicator-Based Evolutionary Algorithm) as described in: E. + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEA$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoIBEA} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoIBEA_220d16bade11304306f124f6014dc4b8} + +\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-IBEA} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const double \_\-kappa=0.05) +\begin{CompactList}\small\item\em Simple ctor with a \doxyref{eo\-Gen\-Op}. \item\end{CompactList}\item +\bf{moeo\-IBEA} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-op, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const double \_\-kappa=0.05) +\begin{CompactList}\small\item\em Simple ctor with a \doxyref{eo\-Transform}. \item\end{CompactList}\item +\bf{moeo\-IBEA} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Quad\-Op}$<$ MOEOT $>$ \&\_\-crossover, double \_\-p\-Cross, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-mutation, double \_\-p\-Mut, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const double \_\-kappa=0.05) +\begin{CompactList}\small\item\em Ctor with a crossover, a mutation and their corresponding rates. \item\end{CompactList}\item +\bf{moeo\-IBEA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const double \_\-kappa=0.05) +\begin{CompactList}\small\item\em Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Gen\-Op}. \item\end{CompactList}\item +\bf{moeo\-IBEA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-op, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const double \_\-kappa=0.05) +\begin{CompactList}\small\item\em Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Transform}. \item\end{CompactList}\item +virtual void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Apply a few generation of evolution to the population \_\-pop until the stopping criteria is verified. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{eo\-Gen\-Continue}$<$ MOEOT $>$ \bf{default\-Gen\-Continuator}\label{classmoeoIBEA_70ecf0f84e1d4ba33b20fdfb2a3b3d02} + +\begin{CompactList}\small\item\em a continuator based on the number of generations (used as default) \item\end{CompactList}\item +\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoIBEA_d3772c044b41ea51f7aef80c0e12a75b} + +\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item +\bf{eo\-Pop\-Loop\-Eval}$<$ MOEOT $>$ \bf{pop\-Eval}\label{classmoeoIBEA_a3fa636bc571c43a43eadddf5817da73} + +\begin{CompactList}\small\item\em evaluation function used to evaluate the whole population \item\end{CompactList}\item +\bf{moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$ \bf{select}\label{classmoeoIBEA_0b3ef8b89b356b575ae3bad1636b5faa} + +\begin{CompactList}\small\item\em binary tournament selection \item\end{CompactList}\item +\bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \bf{fitness\-Assignment}\label{classmoeoIBEA_f557b7cabd197c1bdef17a4560571506} + +\begin{CompactList}\small\item\em fitness assignment used in IBEA \item\end{CompactList}\item +\bf{moeo\-Dummy\-Diversity\-Assignment}$<$ MOEOT $>$ \bf{dummy\-Diversity\-Assignment}\label{classmoeoIBEA_f31b1a42c2c3db0201ac7c5ed2c016f0} + +\begin{CompactList}\small\item\em dummy diversity assignment \item\end{CompactList}\item +\bf{moeo\-Environmental\-Replacement}$<$ MOEOT $>$ \bf{replace}\label{classmoeoIBEA_074ac1d52fa02e8f77b75ad46f0193f8} + +\begin{CompactList}\small\item\em elitist replacement \item\end{CompactList}\item +\bf{eo\-SGAGen\-Op}$<$ MOEOT $>$ \bf{default\-SGAGen\-Op}\label{classmoeoIBEA_eb9d41ac2c472683a32b302bc518094d} + +\begin{CompactList}\small\item\em an object for genetic operators (used as default) \item\end{CompactList}\item +\bf{eo\-General\-Breeder}$<$ MOEOT $>$ \bf{gen\-Breed}\label{classmoeoIBEA_33582dd65d7c5b90868d6719183a721e} + +\begin{CompactList}\small\item\em general breeder \item\end{CompactList}\item +\bf{eo\-Breed}$<$ MOEOT $>$ \& \bf{breed}\label{classmoeoIBEA_670490da376ec266458d509354a7e101} + +\begin{CompactList}\small\item\em breeder \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-IBEA$<$ MOEOT $>$} + +IBEA (Indicator-Based Evolutionary Algorithm) as described in: E. + +Zitzler, S. K\~{A}¼nzli, \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{}, Proc. 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 832-842, Birmingham, UK (2004). This class builds the IBEA algorithm only by using the fine-grained components of the Paradis\-EO-MOEO framework. + + + +Definition at line 63 of file moeo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIBEA@{moeo\-IBEA}!moeoIBEA@{moeoIBEA}} +\index{moeoIBEA@{moeoIBEA}!moeoIBEA@{moeo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-IBEA}$<$ MOEOT $>$::\bf{moeo\-IBEA} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op}, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const double {\em \_\-kappa} = {\tt 0.05})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEA_ff425ab40d782131dc2fea3485bf20df} + + +Simple ctor with a \doxyref{eo\-Gen\-Op}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \item[{\em \_\-metric}]metric \item[{\em \_\-kappa}]scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 79 of file moeo\-IBEA.h.\index{moeoIBEA@{moeo\-IBEA}!moeoIBEA@{moeoIBEA}} +\index{moeoIBEA@{moeoIBEA}!moeoIBEA@{moeo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-IBEA}$<$ MOEOT $>$::\bf{moeo\-IBEA} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-op}, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const double {\em \_\-kappa} = {\tt 0.05})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEA_cbc97868f6eb817d95127c43231c7540} + + +Simple ctor with a \doxyref{eo\-Transform}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \item[{\em \_\-metric}]metric \item[{\em \_\-kappa}]scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 93 of file moeo\-IBEA.h.\index{moeoIBEA@{moeo\-IBEA}!moeoIBEA@{moeoIBEA}} +\index{moeoIBEA@{moeoIBEA}!moeoIBEA@{moeo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-IBEA}$<$ MOEOT $>$::\bf{moeo\-IBEA} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Quad\-Op}$<$ MOEOT $>$ \& {\em \_\-crossover}, double {\em \_\-p\-Cross}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-mutation}, double {\em \_\-p\-Mut}, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const double {\em \_\-kappa} = {\tt 0.05})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEA_b0c051de75326b11a391aaacdb324dac} + + +Ctor with a crossover, a mutation and their corresponding rates. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-crossover}]crossover \item[{\em \_\-p\-Cross}]crossover probability \item[{\em \_\-mutation}]mutation \item[{\em \_\-p\-Mut}]mutation probability \item[{\em \_\-metric}]metric \item[{\em \_\-kappa}]scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 110 of file moeo\-IBEA.h.\index{moeoIBEA@{moeo\-IBEA}!moeoIBEA@{moeoIBEA}} +\index{moeoIBEA@{moeoIBEA}!moeoIBEA@{moeo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-IBEA}$<$ MOEOT $>$::\bf{moeo\-IBEA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op}, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const double {\em \_\-kappa} = {\tt 0.05})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEA_9b59ebf11f896198264ab5594dbaaefd} + + +Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Gen\-Op}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \item[{\em \_\-metric}]metric \item[{\em \_\-kappa}]scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 125 of file moeo\-IBEA.h.\index{moeoIBEA@{moeo\-IBEA}!moeoIBEA@{moeoIBEA}} +\index{moeoIBEA@{moeoIBEA}!moeoIBEA@{moeo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-IBEA}$<$ MOEOT $>$::\bf{moeo\-IBEA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-op}, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const double {\em \_\-kappa} = {\tt 0.05})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEA_654c67d0bd74ea798580ec4c81435f92} + + +Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Transform}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \item[{\em \_\-metric}]metric \item[{\em \_\-kappa}]scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 139 of file moeo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{moeoIBEA@{moeo\-IBEA}!operator()@{operator()}} +\index{operator()@{operator()}!moeoIBEA@{moeo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-IBEA}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIBEA_34e98caf16795ac05d2977f8d20151cd} + + +Apply a few generation of evolution to the population \_\-pop until the stopping criteria is verified. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 149 of file moeo\-IBEA.h. + +References moeo\-IBEA$<$ MOEOT $>$::breed, moeo\-IBEA$<$ MOEOT $>$::continuator, moeo\-IBEA$<$ MOEOT $>$::dummy\-Diversity\-Assignment, moeo\-IBEA$<$ MOEOT $>$::fitness\-Assignment, moeo\-IBEA$<$ MOEOT $>$::pop\-Eval, and moeo\-IBEA$<$ MOEOT $>$::replace. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIndicatorBasedFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIndicatorBasedFitnessAssignment.eps new file mode 100644 index 000000000..ae7bc439f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIndicatorBasedFitnessAssignment.eps @@ -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 163.934 +%%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.05 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 +(moeoIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoFitnessAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 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 ----- + + (moeoIndicatorBasedFitnessAssignment< MOEOT >) 0.5 2 box + (moeoFitnessAssignment< MOEOT >) 0.5 3 box + (eoUF< eoPop< MOEOT > &, void >) 0.5 4 box + (eoFunctorBase) 0.5 5 box + (moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 1 box + (moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) 1 1 box + (moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box + +% ----- relations ----- + +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 +1 0.5 5 in +solid +1 0.5 1.25 out +solid +0 1 2 conn +solid +0 0 1.75 in +solid +1 0 0.25 out +solid +0 1 1.75 in +solid +0 0 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIndicatorBasedFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIndicatorBasedFitnessAssignment.tex new file mode 100644 index 000000000..92e072a45 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoIndicatorBasedFitnessAssignment.tex @@ -0,0 +1,27 @@ +\section{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoIndicatorBasedFitnessAssignment}\index{moeoIndicatorBasedFitnessAssignment@{moeoIndicatorBasedFitnessAssignment}} +\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Indicator-based strategies. + + +{\tt \#include $<$moeo\-Indicator\-Based\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.59016cm]{classmoeoIndicatorBasedFitnessAssignment} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} + +\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Indicator-based strategies. + + + +Definition at line 47 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoLS.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoLS.eps new file mode 100644 index 000000000..7501ada41 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoLS.eps @@ -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 132.013 +%%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.7875 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 +(moeoLS< MOEOT, Type >) cw +(moeoAlgo) cw +(eoBF< Type, moeoArchive< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoCombinedLS< MOEOT, Type >) 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 ----- + + (moeoLS< MOEOT, Type >) 0.5 1 box + (moeoAlgo) 0 2 box + (eoBF< Type, moeoArchive< MOEOT > &, void >) 1 2 box + (eoFunctorBase) 1 3 box + (moeoCombinedLS< MOEOT, Type >) 0.5 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in +solid +1 0.5 0.25 out +solid +0 0.5 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoLS.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoLS.tex new file mode 100644 index 000000000..f1eec4c8c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoLS.tex @@ -0,0 +1,29 @@ +\section{moeo\-LS$<$ MOEOT, Type $>$ Class Template Reference} +\label{classmoeoLS}\index{moeoLS@{moeoLS}} +Abstract class for local searches applied to multi-objective optimization. + + +{\tt \#include $<$moeo\-LS.h$>$} + +Inheritance diagram for moeo\-LS$<$ MOEOT, Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.69637cm]{classmoeoLS} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Type$>$ class moeo\-LS$<$ MOEOT, Type $>$} + +Abstract class for local searches applied to multi-objective optimization. + +Starting from a Type (i.e.: an individual, a pop, an archive...), it produces a set of new non-dominated solutions. + + + +Definition at line 50 of file moeo\-LS.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-LS.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoManhattanDistance.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoManhattanDistance.eps new file mode 100644 index 000000000..be2de7245 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoManhattanDistance.eps @@ -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 431.034 +%%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.16 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 +(moeoManhattanDistance< MOEOT >) cw +(moeoNormalizedDistance< MOEOT >) cw +(moeoDistance< MOEOT, double >) 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 ----- + + (moeoManhattanDistance< MOEOT >) 0 0 box + (moeoNormalizedDistance< MOEOT >) 0 1 box + (moeoDistance< MOEOT, double >) 0 2 box + (eoBF< A1, A2, 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoManhattanDistance.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoManhattanDistance.tex new file mode 100644 index 000000000..8850206c8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoManhattanDistance.tex @@ -0,0 +1,59 @@ +\section{moeo\-Manhattan\-Distance$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoManhattanDistance}\index{moeoManhattanDistance@{moeoManhattanDistance}} +A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e. + + +{\tt \#include $<$moeo\-Manhattan\-Distance.h$>$} + +Inheritance diagram for moeo\-Manhattan\-Distance$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoManhattanDistance} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoManhattanDistance_44fa512b80d2eee94e876a95babc9913} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +const double \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2) +\begin{CompactList}\small\item\em Returns the Manhattan distance between \_\-moeo1 and \_\-moeo2 in the objective space. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Manhattan\-Distance$<$ MOEOT $>$} + +A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e. + +between 0 and 1). A distance value then lies between 0 and n\-Objectives. + + + +Definition at line 49 of file moeo\-Manhattan\-Distance.h. + +\subsection{Member Function Documentation} +\index{moeoManhattanDistance@{moeo\-Manhattan\-Distance}!operator()@{operator()}} +\index{operator()@{operator()}!moeoManhattanDistance@{moeo\-Manhattan\-Distance}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const double \bf{moeo\-Manhattan\-Distance}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoManhattanDistance_dcabb2bddb46439a47cd1af5dd124f92} + + +Returns the Manhattan distance between \_\-moeo1 and \_\-moeo2 in the objective space. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description} +\end{Desc} + + +Definition at line 62 of file moeo\-Manhattan\-Distance.h. + +References moeo\-Normalized\-Distance$<$ MOEOT $>$::bounds, and moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::n\-Objectives(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Manhattan\-Distance.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoMetric.eps new file mode 100644 index 000000000..3fec5b718 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoMetric.eps @@ -0,0 +1,235 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 94.9668 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 5.265 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 10 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 +(moeoMetric) cw +(eoFunctorBase) cw +(moeoBinaryMetric< A1, A2, R >) cw +(moeoBinaryMetric< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, double >) cw +(moeoBinaryMetric< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, R >) cw +(moeoBinaryMetric< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, double >) cw +(moeoBinaryMetric< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R >) cw +(moeoUnaryMetric< A, R >) cw +(moeoUnaryMetric< const moeoRealObjectiveVector< ObjectiveVectorTraits > &, R >) cw +(moeoUnaryMetric< const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R >) 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 ----- + + (moeoMetric) 0 8 box + (eoFunctorBase) 0 9 box + (moeoBinaryMetric< A1, A2, R >) 1 7 box +1 7 mark + (moeoBinaryMetric< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, double >) 1 6 box + (moeoBinaryMetric< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, R >) 1 5 box + (moeoBinaryMetric< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, double >) 1 4 box + (moeoBinaryMetric< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R >) 1 3 box + (moeoUnaryMetric< A, R >) 1 2 box +1 2 mark + (moeoUnaryMetric< const moeoRealObjectiveVector< ObjectiveVectorTraits > &, R >) 1 1 box + (moeoUnaryMetric< const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R >) 1 0 box + +% ----- relations ----- + +solid +0 0 8 out +solid +1 0 9 in +solid +1 0 7.25 out +solid +0 0 7.5 hedge +solid +0 0 6.5 hedge +solid +0 0 5.5 hedge +solid +0 0 4.5 hedge +solid +0 0 3.5 hedge +solid +0 0 2.5 hedge +solid +0 0 1.5 hedge +solid +0 0 0.5 hedge +solid +0 8 0.5 vedge diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoMetric.tex new file mode 100644 index 000000000..9590a330f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoMetric.tex @@ -0,0 +1,25 @@ +\section{moeo\-Metric Class Reference} +\label{classmoeoMetric}\index{moeoMetric@{moeoMetric}} +Base class for performance metrics (also known as quality indicators). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Metric::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2.65907cm]{classmoeoMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +Base class for performance metrics (also known as quality indicators). + + + +Definition at line 47 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGA.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGA.eps new file mode 100644 index 000000000..0996a06ad --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGA.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 322.581 +%%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.55 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 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 +(moeoNSGA< MOEOT >) cw +(moeoEA< MOEOT >) cw +(moeoAlgo) cw +(eoAlgo< MOEOT >) 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 ----- + + (moeoNSGA< MOEOT >) 0.5 0 box + (moeoEA< MOEOT >) 0.5 1 box + (moeoAlgo) 0 2 box + (eoAlgo< MOEOT >) 1 2 box + (eoUF< A1, R >) 1 3 box + (eoFunctorBase) 1 4 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 +solid +0 1 3 out +solid +1 1 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGA.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGA.tex new file mode 100644 index 000000000..50e6a3cbc --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGA.tex @@ -0,0 +1,169 @@ +\section{moeo\-NSGA$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoNSGA}\index{moeoNSGA@{moeoNSGA}} +NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N. + + +{\tt \#include $<$moeo\-NSGA.h$>$} + +Inheritance diagram for moeo\-NSGA$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoNSGA} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-NSGA} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op, double \_\-niche\-Size=0.5) +\begin{CompactList}\small\item\em Simple ctor with a \doxyref{eo\-Gen\-Op}. \item\end{CompactList}\item +\bf{moeo\-NSGA} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-op, double \_\-niche\-Size=0.5) +\begin{CompactList}\small\item\em Simple ctor with a \doxyref{eo\-Transform}. \item\end{CompactList}\item +\bf{moeo\-NSGA} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Quad\-Op}$<$ MOEOT $>$ \&\_\-crossover, double \_\-p\-Cross, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-mutation, double \_\-p\-Mut, double \_\-niche\-Size=0.5) +\begin{CompactList}\small\item\em Ctor with a crossover, a mutation and their corresponding rates. \item\end{CompactList}\item +\bf{moeo\-NSGA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op, double \_\-niche\-Size=0.5) +\begin{CompactList}\small\item\em Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Gen\-Op}. \item\end{CompactList}\item +\bf{moeo\-NSGA} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-op, double \_\-niche\-Size=0.5) +\begin{CompactList}\small\item\em Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Transform}. \item\end{CompactList}\item +virtual void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Apply a few generation of evolution to the population \_\-pop until the stopping criteria is verified. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{eo\-Gen\-Continue}$<$ MOEOT $>$ \bf{default\-Gen\-Continuator}\label{classmoeoNSGA_6dbb57c19ff00085df8397cebcce066d} + +\begin{CompactList}\small\item\em a continuator based on the number of generations (used as default) \item\end{CompactList}\item +\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoNSGA_ef67320e3820548b333577b33430fcbe} + +\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item +\bf{eo\-Pop\-Loop\-Eval}$<$ MOEOT $>$ \bf{pop\-Eval}\label{classmoeoNSGA_b54adef108d8b4c5a7c0da1e2065ac85} + +\begin{CompactList}\small\item\em evaluation function used to evaluate the whole population \item\end{CompactList}\item +\bf{moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$ \bf{select}\label{classmoeoNSGA_ffd95fab4aed24fc866334c28e77a666} + +\begin{CompactList}\small\item\em binary tournament selection \item\end{CompactList}\item +\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$ \bf{fitness\-Assignment}\label{classmoeoNSGA_2c13f9fa53c29d93af39cca083ccb10d} + +\begin{CompactList}\small\item\em fitness assignment used in NSGA-II \item\end{CompactList}\item +\bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$ \bf{diversity\-Assignment}\label{classmoeoNSGA_e361fa8aed173619e2aae64dba0c504a} + +\begin{CompactList}\small\item\em diversity assignment used in NSGA-II \item\end{CompactList}\item +\bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$ \bf{replace}\label{classmoeoNSGA_8470efa1ef87b6448f081ec802858a8c} + +\begin{CompactList}\small\item\em elitist replacement \item\end{CompactList}\item +\bf{eo\-SGAGen\-Op}$<$ MOEOT $>$ \bf{default\-SGAGen\-Op}\label{classmoeoNSGA_879b4451e77b627705280373ff0a26ab} + +\begin{CompactList}\small\item\em an object for genetic operators (used as default) \item\end{CompactList}\item +\bf{eo\-General\-Breeder}$<$ MOEOT $>$ \bf{gen\-Breed}\label{classmoeoNSGA_3ee7a5ea8ed71859ea544741de9989f2} + +\begin{CompactList}\small\item\em general breeder \item\end{CompactList}\item +\bf{eo\-Breed}$<$ MOEOT $>$ \& \bf{breed}\label{classmoeoNSGA_1538e7c32062d9d9c634b9948ca28000} + +\begin{CompactList}\small\item\em breeder \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-NSGA$<$ MOEOT $>$} + +NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N. + +Srinivas, K. Deb, \char`\"{}Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms\char`\"{}. Evolutionary Computation, Vol. 2(3), No 2, pp. 221-248 (1994). This class builds the NSGA algorithm only by using the fine-grained components of the Paradis\-EO-MOEO framework. + + + +Definition at line 62 of file moeo\-NSGA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoNSGA@{moeo\-NSGA}!moeoNSGA@{moeoNSGA}} +\index{moeoNSGA@{moeoNSGA}!moeoNSGA@{moeo\-NSGA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGA}$<$ MOEOT $>$::\bf{moeo\-NSGA} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op}, double {\em \_\-niche\-Size} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGA_3f5d288a5f3bdeb8c35dfcefbaf0dd43} + + +Simple ctor with a \doxyref{eo\-Gen\-Op}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \item[{\em \_\-niche\-Size}]niche size \end{description} +\end{Desc} + + +Definition at line 73 of file moeo\-NSGA.h.\index{moeoNSGA@{moeo\-NSGA}!moeoNSGA@{moeoNSGA}} +\index{moeoNSGA@{moeoNSGA}!moeoNSGA@{moeo\-NSGA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGA}$<$ MOEOT $>$::\bf{moeo\-NSGA} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-op}, double {\em \_\-niche\-Size} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGA_177e825966d70e7f697a52be7819e830} + + +Simple ctor with a \doxyref{eo\-Transform}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \item[{\em \_\-niche\-Size}]niche size \end{description} +\end{Desc} + + +Definition at line 86 of file moeo\-NSGA.h.\index{moeoNSGA@{moeo\-NSGA}!moeoNSGA@{moeoNSGA}} +\index{moeoNSGA@{moeoNSGA}!moeoNSGA@{moeo\-NSGA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGA}$<$ MOEOT $>$::\bf{moeo\-NSGA} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Quad\-Op}$<$ MOEOT $>$ \& {\em \_\-crossover}, double {\em \_\-p\-Cross}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-mutation}, double {\em \_\-p\-Mut}, double {\em \_\-niche\-Size} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGA_7c7b4bb55b7ee74da780f20a943809fd} + + +Ctor with a crossover, a mutation and their corresponding rates. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-crossover}]crossover \item[{\em \_\-p\-Cross}]crossover probability \item[{\em \_\-mutation}]mutation \item[{\em \_\-p\-Mut}]mutation probability \item[{\em \_\-niche\-Size}]niche size \end{description} +\end{Desc} + + +Definition at line 102 of file moeo\-NSGA.h.\index{moeoNSGA@{moeo\-NSGA}!moeoNSGA@{moeoNSGA}} +\index{moeoNSGA@{moeoNSGA}!moeoNSGA@{moeo\-NSGA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGA}$<$ MOEOT $>$::\bf{moeo\-NSGA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op}, double {\em \_\-niche\-Size} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGA_5f8a315499cb7e65911af0c7587144d8} + + +Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Gen\-Op}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \item[{\em \_\-niche\-Size}]niche size \end{description} +\end{Desc} + + +Definition at line 116 of file moeo\-NSGA.h.\index{moeoNSGA@{moeo\-NSGA}!moeoNSGA@{moeoNSGA}} +\index{moeoNSGA@{moeoNSGA}!moeoNSGA@{moeo\-NSGA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGA}$<$ MOEOT $>$::\bf{moeo\-NSGA} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-op}, double {\em \_\-niche\-Size} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGA_eacee61268618c12d44d2f07cf7a796c} + + +Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Transform}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \item[{\em \_\-niche\-Size}]niche size \end{description} +\end{Desc} + + +Definition at line 129 of file moeo\-NSGA.h. + +\subsection{Member Function Documentation} +\index{moeoNSGA@{moeo\-NSGA}!operator()@{operator()}} +\index{operator()@{operator()}!moeoNSGA@{moeo\-NSGA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-NSGA}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoNSGA_632676ceb299f3318c116b2b2b386b0d} + + +Apply a few generation of evolution to the population \_\-pop until the stopping criteria is verified. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 139 of file moeo\-NSGA.h. + +References moeo\-NSGA$<$ MOEOT $>$::breed, moeo\-NSGA$<$ MOEOT $>$::continuator, moeo\-NSGA$<$ MOEOT $>$::diversity\-Assignment, moeo\-NSGA$<$ MOEOT $>$::fitness\-Assignment, moeo\-NSGA$<$ MOEOT $>$::pop\-Eval, and moeo\-NSGA$<$ MOEOT $>$::replace. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-NSGA.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGAII.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGAII.eps new file mode 100644 index 000000000..5f2c5c2fb --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGAII.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 310.559 +%%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.61 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 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 +(moeoNSGAII< MOEOT >) cw +(moeoEA< MOEOT >) cw +(moeoAlgo) cw +(eoAlgo< MOEOT >) 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 ----- + + (moeoNSGAII< MOEOT >) 0.5 0 box + (moeoEA< MOEOT >) 0.5 1 box + (moeoAlgo) 0 2 box + (eoAlgo< MOEOT >) 1 2 box + (eoUF< A1, R >) 1 3 box + (eoFunctorBase) 1 4 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 +solid +0 1 3 out +solid +1 1 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGAII.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGAII.tex new file mode 100644 index 000000000..0da1a2d53 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNSGAII.tex @@ -0,0 +1,175 @@ +\section{moeo\-NSGAII$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoNSGAII}\index{moeoNSGAII@{moeoNSGAII}} +NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S. + + +{\tt \#include $<$moeo\-NSGAII.h$>$} + +Inheritance diagram for moeo\-NSGAII$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoNSGAII} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-NSGAII} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op) +\begin{CompactList}\small\item\em Simple ctor with a \doxyref{eo\-Gen\-Op}. \item\end{CompactList}\item +\bf{moeo\-NSGAII} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-op) +\begin{CompactList}\small\item\em Simple ctor with a \doxyref{eo\-Transform}. \item\end{CompactList}\item +\bf{moeo\-NSGAII} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Quad\-Op}$<$ MOEOT $>$ \&\_\-crossover, double \_\-p\-Cross, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-mutation, double \_\-p\-Mut) +\begin{CompactList}\small\item\em Ctor with a crossover, a mutation and their corresponding rates. \item\end{CompactList}\item +\bf{moeo\-NSGAII} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op) +\begin{CompactList}\small\item\em Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Gen\-Op}. \item\end{CompactList}\item +\bf{moeo\-NSGAII} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-op) +\begin{CompactList}\small\item\em Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Transform}. \item\end{CompactList}\item +virtual void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Apply a few generation of evolution to the population \_\-pop until the stopping criteria is verified. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{eo\-Gen\-Continue}$<$ MOEOT $>$ \bf{default\-Gen\-Continuator}\label{classmoeoNSGAII_2bc5adbd55a32faead1c4ac0cbac3b35} + +\begin{CompactList}\small\item\em a continuator based on the number of generations (used as default) \item\end{CompactList}\item +\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoNSGAII_7eb1e36631eebbe3216167b1077e3a53} + +\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item +\bf{eo\-Pop\-Loop\-Eval}$<$ MOEOT $>$ \bf{pop\-Eval}\label{classmoeoNSGAII_5b042567e51f014b3fe841346d9830a0} + +\begin{CompactList}\small\item\em evaluation function used to evaluate the whole population \item\end{CompactList}\item +\bf{moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$ \bf{select}\label{classmoeoNSGAII_6134c5baa1c6921aaacd67f6f452871a} + +\begin{CompactList}\small\item\em binary tournament selection \item\end{CompactList}\item +\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$ \bf{fitness\-Assignment}\label{classmoeoNSGAII_2cf7c853cc4213664b0654b1e5a8862a} + +\begin{CompactList}\small\item\em fitness assignment used in NSGA-II \item\end{CompactList}\item +\bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$ \bf{diversity\-Assignment}\label{classmoeoNSGAII_4abf4583668c6f145f4dbb0a24d2dae0} + +\begin{CompactList}\small\item\em diversity assignment used in NSGA-II \item\end{CompactList}\item +\bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$ \bf{replace}\label{classmoeoNSGAII_75bc4b735c5de2a6fc93b2f2b63c7251} + +\begin{CompactList}\small\item\em elitist replacement \item\end{CompactList}\item +\bf{eo\-Quad\-Clone\-Op}$<$ MOEOT $>$ \bf{default\-Quad\-Op}\label{classmoeoNSGAII_21e98772db6326a94d44a7f9a27d36f0} + +\begin{CompactList}\small\item\em a default crossover \item\end{CompactList}\item +\bf{eo\-Mon\-Clone\-Op}$<$ MOEOT $>$ \bf{default\-Mon\-Op}\label{classmoeoNSGAII_81f823297f146b3b6ce7460cb043e25e} + +\begin{CompactList}\small\item\em a default mutation \item\end{CompactList}\item +\bf{eo\-SGAGen\-Op}$<$ MOEOT $>$ \bf{default\-SGAGen\-Op}\label{classmoeoNSGAII_a2050440184979533f2c403bb044c064} + +\begin{CompactList}\small\item\em an object for genetic operators (used as default) \item\end{CompactList}\item +\bf{eo\-General\-Breeder}$<$ MOEOT $>$ \bf{gen\-Breed}\label{classmoeoNSGAII_2099c3069a7da12485578fc66ff71ff1} + +\begin{CompactList}\small\item\em general breeder \item\end{CompactList}\item +\bf{eo\-Breed}$<$ MOEOT $>$ \& \bf{breed}\label{classmoeoNSGAII_17954849435e579d74bf37ed7b9063fc} + +\begin{CompactList}\small\item\em breeder \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-NSGAII$<$ MOEOT $>$} + +NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S. + +Agrawal, A. Pratap, and T. Meyarivan : \char`\"{}A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II\char`\"{}. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197 (April 2002). This class builds the NSGA-II algorithm only by using the fine-grained components of the Paradis\-EO-MOEO framework. + + + +Definition at line 65 of file moeo\-NSGAII.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}} +\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGAII_a13ddb75d60e2956905a9eacca2e0b2e} + + +Simple ctor with a \doxyref{eo\-Gen\-Op}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description} +\end{Desc} + + +Definition at line 75 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}} +\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGAII_56a2b2ab62b2a4025f1d122e3cfa2aa2} + + +Simple ctor with a \doxyref{eo\-Transform}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description} +\end{Desc} + + +Definition at line 88 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}} +\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Quad\-Op}$<$ MOEOT $>$ \& {\em \_\-crossover}, double {\em \_\-p\-Cross}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-mutation}, double {\em \_\-p\-Mut})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGAII_996e1b2683378ae1880b7520814aa9c9} + + +Ctor with a crossover, a mutation and their corresponding rates. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-crossover}]crossover \item[{\em \_\-p\-Cross}]crossover probability \item[{\em \_\-mutation}]mutation \item[{\em \_\-p\-Mut}]mutation probability \end{description} +\end{Desc} + + +Definition at line 104 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}} +\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGAII_1797f01afde01d155e559522df12ae05} + + +Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Gen\-Op}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description} +\end{Desc} + + +Definition at line 117 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}} +\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGAII_a2b8d5b2ca7e7fd5845c6cda896b75c6} + + +Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Transform}. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description} +\end{Desc} + + +Definition at line 130 of file moeo\-NSGAII.h. + +\subsection{Member Function Documentation} +\index{moeoNSGAII@{moeo\-NSGAII}!operator()@{operator()}} +\index{operator()@{operator()}!moeoNSGAII@{moeo\-NSGAII}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-NSGAII}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoNSGAII_60ba3ed4287efe81e1ff66b22e1d2e14} + + +Apply a few generation of evolution to the population \_\-pop until the stopping criteria is verified. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 141 of file moeo\-NSGAII.h. + +References moeo\-NSGAII$<$ MOEOT $>$::breed, moeo\-NSGAII$<$ MOEOT $>$::continuator, moeo\-NSGAII$<$ MOEOT $>$::diversity\-Assignment, moeo\-NSGAII$<$ MOEOT $>$::fitness\-Assignment, moeo\-NSGAII$<$ MOEOT $>$::pop\-Eval, and moeo\-NSGAII$<$ MOEOT $>$::replace. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-NSGAII.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedDistance.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedDistance.eps new file mode 100644 index 000000000..b6b9ed08e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedDistance.eps @@ -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 297.398 +%%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.68125 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 +(moeoNormalizedDistance< MOEOT, Type >) cw +(moeoDistance< MOEOT, Type >) 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 ----- + + (moeoNormalizedDistance< MOEOT, Type >) 0 0 box + (moeoDistance< MOEOT, Type >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedDistance.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedDistance.tex new file mode 100644 index 000000000..046b77e96 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedDistance.tex @@ -0,0 +1,112 @@ +\section{moeo\-Normalized\-Distance$<$ MOEOT, Type $>$ Class Template Reference} +\label{classmoeoNormalizedDistance}\index{moeoNormalizedDistance@{moeoNormalizedDistance}} +The base class for double distance computation with normalized objective values (i.e. + + +{\tt \#include $<$moeo\-Normalized\-Distance.h$>$} + +Inheritance diagram for moeo\-Normalized\-Distance$<$ MOEOT, Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoNormalizedDistance} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoNormalizedDistance_4009eb0c953bdc30b98dfc219774ce84} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Normalized\-Distance} ()\label{classmoeoNormalizedDistance_d3948169e6781aaf5f1b5de7ae09ba89} + +\begin{CompactList}\small\item\em Default ctr. \item\end{CompactList}\item +virtual void \bf{setup} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the lower and the upper bounds for every objective using extremes values for solutions contained in the population \_\-pop. \item\end{CompactList}\item +virtual void \bf{setup} (double \_\-min, double \_\-max, unsigned int \_\-obj) +\begin{CompactList}\small\item\em Sets the lower bound (\_\-min) and the upper bound (\_\-max) for the objective \_\-obj. \item\end{CompactList}\item +virtual void \bf{setup} (\bf{eo\-Real\-Interval} \_\-real\-Interval, unsigned int \_\-obj) +\begin{CompactList}\small\item\em Sets the lower bound and the upper bound for the objective \_\-obj using a \doxyref{eo\-Real\-Interval} object. \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static double \bf{tiny} ()\label{classmoeoNormalizedDistance_3534fa0cebf35373baa77ce18cfe572a} + +\begin{CompactList}\small\item\em Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound). \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +std::vector$<$ \bf{eo\-Real\-Interval} $>$ \bf{bounds}\label{classmoeoNormalizedDistance_db85a478b20f9d8ec0f34f30a15e7bdd} + +\begin{CompactList}\small\item\em the bounds for every objective (bounds[i] = bounds for the objective i) \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Type = double$>$ class moeo\-Normalized\-Distance$<$ MOEOT, Type $>$} + +The base class for double distance computation with normalized objective values (i.e. + +between 0 and 1). + + + +Definition at line 49 of file moeo\-Normalized\-Distance.h. + +\subsection{Member Function Documentation} +\index{moeoNormalizedDistance@{moeo\-Normalized\-Distance}!setup@{setup}} +\index{setup@{setup}!moeoNormalizedDistance@{moeo\-Normalized\-Distance}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type = double$>$ virtual void \bf{moeo\-Normalized\-Distance}$<$ MOEOT, Type $>$::setup (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoNormalizedDistance_b99ffed3c0ce6c9c10aef0a76d983bb1} + + +Sets the lower and the upper bounds for every objective using extremes values for solutions contained in the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Reimplemented from \bf{moeo\-Distance$<$ MOEOT, Type $>$} \doxyref{p.}{classmoeoDistance_1834a67c2a7a96f0c9a3c408108a8f8c}. + +Definition at line 84 of file moeo\-Normalized\-Distance.h. + +Referenced by moeo\-Normalized\-Distance$<$ MOEOT $>$::setup().\index{moeoNormalizedDistance@{moeo\-Normalized\-Distance}!setup@{setup}} +\index{setup@{setup}!moeoNormalizedDistance@{moeo\-Normalized\-Distance}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type = double$>$ virtual void \bf{moeo\-Normalized\-Distance}$<$ MOEOT, Type $>$::setup (double {\em \_\-min}, double {\em \_\-max}, unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoNormalizedDistance_e58bbf9eb90a8d2704f88d774d3fe1e1} + + +Sets the lower bound (\_\-min) and the upper bound (\_\-max) for the objective \_\-obj. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-min}]lower bound \item[{\em \_\-max}]upper bound \item[{\em \_\-obj}]the objective index \end{description} +\end{Desc} + + +Reimplemented from \bf{moeo\-Distance$<$ MOEOT, Type $>$} \doxyref{p.}{classmoeoDistance_341c4fa39652871761053e85914a16ad}. + +Definition at line 108 of file moeo\-Normalized\-Distance.h.\index{moeoNormalizedDistance@{moeo\-Normalized\-Distance}!setup@{setup}} +\index{setup@{setup}!moeoNormalizedDistance@{moeo\-Normalized\-Distance}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type = double$>$ virtual void \bf{moeo\-Normalized\-Distance}$<$ MOEOT, Type $>$::setup (\bf{eo\-Real\-Interval} {\em \_\-real\-Interval}, unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoNormalizedDistance_dda4f95d7f6cae9dd1f4bf6cd8fb7c1c} + + +Sets the lower bound and the upper bound for the objective \_\-obj using a \doxyref{eo\-Real\-Interval} object. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-real\-Interval}]the \doxyref{eo\-Real\-Interval} object \item[{\em \_\-obj}]the objective index \end{description} +\end{Desc} + + +Reimplemented from \bf{moeo\-Distance$<$ MOEOT, Type $>$} \doxyref{p.}{classmoeoDistance_b08e7b8c1bedb2993669ec0315fb2b73}. + +Definition at line 124 of file moeo\-Normalized\-Distance.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Normalized\-Distance.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedSolutionVsSolutionBinaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedSolutionVsSolutionBinaryMetric.eps new file mode 100644 index 000000000..f27dfc572 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedSolutionVsSolutionBinaryMetric.eps @@ -0,0 +1,239 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 141.509 +%%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.53333 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 +(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoBinaryMetric< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) cw +(moeoHypervolumeBinaryMetric< ObjectiveVector >) 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 ----- + + (moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 1 box + (moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 2 box + (moeoBinaryMetric< A1, A2, R >) 0.5 3 box + (eoBF< A1, A2, R >) 0 4 box + (moeoMetric) 1 4 box + (eoFunctorBase) 0 5 box + (eoFunctorBase) 1 5 box + (moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) 0 0 box + (moeoHypervolumeBinaryMetric< ObjectiveVector >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedSolutionVsSolutionBinaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedSolutionVsSolutionBinaryMetric.tex new file mode 100644 index 000000000..46e24033e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoNormalizedSolutionVsSolutionBinaryMetric.tex @@ -0,0 +1,82 @@ +\section{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$ Class Template Reference} +\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric}\index{moeoNormalizedSolutionVsSolutionBinaryMetric@{moeoNormalizedSolutionVsSolutionBinaryMetric}} +Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values. + + +{\tt \#include $<$moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h$>$} + +Inheritance diagram for moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.96226cm]{classmoeoNormalizedSolutionVsSolutionBinaryMetric} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric} ()\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_e58174a553269d3e8b0685a1f22b8333} + +\begin{CompactList}\small\item\em Default ctr for any \doxyref{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}{p.}{classmoeoNormalizedSolutionVsSolutionBinaryMetric} object. \item\end{CompactList}\item +void \bf{setup} (double \_\-min, double \_\-max, unsigned int \_\-obj) +\begin{CompactList}\small\item\em Sets the lower bound (\_\-min) and the upper bound (\_\-max) for the objective \_\-obj. \item\end{CompactList}\item +virtual void \bf{setup} (\bf{eo\-Real\-Interval} \_\-real\-Interval, unsigned int \_\-obj) +\begin{CompactList}\small\item\em Sets the lower bound and the upper bound for the objective \_\-obj using a \doxyref{eo\-Real\-Interval} object. \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static double \bf{tiny} ()\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_d0ccbdceb71b9d2d6ae8ceec1af9dcdb} + +\begin{CompactList}\small\item\em Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound). \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +std::vector$<$ \bf{eo\-Real\-Interval} $>$ \bf{bounds}\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_81bff9a83c74f7f7f8a1db28c09c4c38} + +\begin{CompactList}\small\item\em the bounds for every objective (bounds[i] = bounds for the objective i) \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector, class R$>$ class moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$} + +Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values. + +Then, indicator values lie in the interval [-1,1]. Note that you have to set the bounds for every objective before using the operator(). + + + +Definition at line 51 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h. + +\subsection{Member Function Documentation} +\index{moeoNormalizedSolutionVsSolutionBinaryMetric@{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}!setup@{setup}} +\index{setup@{setup}!moeoNormalizedSolutionVsSolutionBinaryMetric@{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector, class R$>$ void \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, R $>$::setup (double {\em \_\-min}, double {\em \_\-max}, unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_1f56a2f59a9b0548ad0ab691c8a02334} + + +Sets the lower bound (\_\-min) and the upper bound (\_\-max) for the objective \_\-obj. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-min}]lower bound \item[{\em \_\-max}]upper bound \item[{\em \_\-obj}]the objective index \end{description} +\end{Desc} + + +Definition at line 75 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.\index{moeoNormalizedSolutionVsSolutionBinaryMetric@{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}!setup@{setup}} +\index{setup@{setup}!moeoNormalizedSolutionVsSolutionBinaryMetric@{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector, class R$>$ virtual void \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, R $>$::setup (\bf{eo\-Real\-Interval} {\em \_\-real\-Interval}, unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_0693a23c68e3fe0bb546e34926dcfe93} + + +Sets the lower bound and the upper bound for the objective \_\-obj using a \doxyref{eo\-Real\-Interval} object. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-real\-Interval}]the \doxyref{eo\-Real\-Interval} object \item[{\em \_\-obj}]the objective index \end{description} +\end{Desc} + + +Definition at line 91 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveObjectiveVectorComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveObjectiveVectorComparator.eps new file mode 100644 index 000000000..d06716d53 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveObjectiveVectorComparator.eps @@ -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 211.64 +%%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.3625 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 +(moeoObjectiveObjectiveVectorComparator< ObjectiveVector >) cw +(moeoObjectiveVectorComparator< ObjectiveVector >) 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 ----- + + (moeoObjectiveObjectiveVectorComparator< ObjectiveVector >) 0 0 box + (moeoObjectiveVectorComparator< ObjectiveVector >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveObjectiveVectorComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveObjectiveVectorComparator.tex new file mode 100644 index 000000000..4d2df874d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveObjectiveVectorComparator.tex @@ -0,0 +1,49 @@ +\section{moeo\-Objective\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$ Class Template Reference} +\label{classmoeoObjectiveObjectiveVectorComparator}\index{moeoObjectiveObjectiveVectorComparator@{moeoObjectiveObjectiveVectorComparator}} +Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on. + + +{\tt \#include $<$moeo\-Objective\-Objective\-Vector\-Comparator.h$>$} + +Inheritance diagram for moeo\-Objective\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoObjectiveObjectiveVectorComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +const bool \bf{operator()} (const \bf{Objective\-Vector} \&\_\-objective\-Vector1, const \bf{Objective\-Vector} \&\_\-objective\-Vector2) +\begin{CompactList}\small\item\em Returns true if \_\-objective\-Vector1 $<$ \_\-objective\-Vector2 on the first objective, then on the second, and so on. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Objective\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} + +Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on. + + + +Definition at line 47 of file moeo\-Objective\-Objective\-Vector\-Comparator.h. + +\subsection{Member Function Documentation} +\index{moeoObjectiveObjectiveVectorComparator@{moeo\-Objective\-Objective\-Vector\-Comparator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoObjectiveObjectiveVectorComparator@{moeo\-Objective\-Objective\-Vector\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ const bool \bf{moeo\-Objective\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$::operator() (const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector1}, const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveObjectiveVectorComparator_bc3c97b380e87107e92f52843a7f9303} + + +Returns true if \_\-objective\-Vector1 $<$ \_\-objective\-Vector2 on the first objective, then on the second, and so on. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-objective\-Vector1}]the first objective vector \item[{\em \_\-objective\-Vector2}]the second objective vector \end{description} +\end{Desc} + + +Definition at line 56 of file moeo\-Objective\-Objective\-Vector\-Comparator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Objective\-Objective\-Vector\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVector.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVector.tex new file mode 100644 index 000000000..ead6df470 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVector.tex @@ -0,0 +1,114 @@ +\section{moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, Objective\-Vector\-Type $>$ Class Template Reference} +\label{classmoeoObjectiveVector}\index{moeoObjectiveVector@{moeoObjectiveVector}} +Abstract class allowing to represent a solution in the objective space (phenotypic representation). + + +{\tt \#include $<$moeo\-Objective\-Vector.h$>$} + +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef \bf{Objective\-Vector\-Traits} \bf{Traits}\label{classmoeoObjectiveVector_21ee0475420b613951b96a550e814fbb} + +\begin{CompactList}\small\item\em The traits of objective vectors. \item\end{CompactList}\item +typedef Objective\-Vector\-Type \bf{Type}\label{classmoeoObjectiveVector_e86f199692cae43bc346be63130eb993} + +\begin{CompactList}\small\item\em The type of an objective value. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Objective\-Vector} (\bf{Type} \_\-value=\bf{Type}())\label{classmoeoObjectiveVector_084e9d2cecbf9ea66e4b68537457109f} + +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +\bf{moeo\-Objective\-Vector} (std::vector$<$ \bf{Type} $>$ \&\_\-v) +\begin{CompactList}\small\item\em Ctor from a vector of Type. \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static void \bf{setup} (unsigned int \_\-n\-Objectives, std::vector$<$ bool $>$ \&\_\-b\-Objectives) +\begin{CompactList}\small\item\em \doxyref{Parameters} setting (for the objective vector of any solution). \item\end{CompactList}\item +static unsigned int \bf{n\-Objectives} ()\label{classmoeoObjectiveVector_4c9a17116e0a95b4e3191f299e10fc9d} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (unsigned int \_\-i) +\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be minimized. \item\end{CompactList}\item +static bool \bf{maximizing} (unsigned int \_\-i) +\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be maximized. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector\-Traits, class Objective\-Vector\-Type$>$ class moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, Objective\-Vector\-Type $>$} + +Abstract class allowing to represent a solution in the objective space (phenotypic representation). + +The template argument \doxyref{Objective\-Vector\-Traits}{p.}{classObjectiveVectorTraits} defaults to \doxyref{moeo\-Objective\-Vector\-Traits}{p.}{classmoeoObjectiveVectorTraits}, but it can be replaced at will by any other class that implements the static functions defined therein. Some static funtions to access to the traits characteristics are re-defined in order not to write a lot of typedef's. + + + +Definition at line 50 of file moeo\-Objective\-Vector.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoObjectiveVector@{moeo\-Objective\-Vector}!moeoObjectiveVector@{moeoObjectiveVector}} +\index{moeoObjectiveVector@{moeoObjectiveVector}!moeoObjectiveVector@{moeo\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits, class Objective\-Vector\-Type$>$ \bf{moeo\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits}, Objective\-Vector\-Type $>$::\bf{moeo\-Objective\-Vector} (std::vector$<$ \bf{Type} $>$ \& {\em \_\-v})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVector_c504cb6a2086a80aaaf41978032c8ce7} + + +Ctor from a vector of Type. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-v}]the std::vector $<$ Type $>$ \end{description} +\end{Desc} + + +Definition at line 71 of file moeo\-Objective\-Vector.h. + +\subsection{Member Function Documentation} +\index{moeoObjectiveVector@{moeo\-Objective\-Vector}!setup@{setup}} +\index{setup@{setup}!moeoObjectiveVector@{moeo\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits, class Objective\-Vector\-Type$>$ static void \bf{moeo\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits}, Objective\-Vector\-Type $>$::setup (unsigned int {\em \_\-n\-Objectives}, std::vector$<$ bool $>$ \& {\em \_\-b\-Objectives})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVector_0593e2d91be697d9b255513236cb207f} + + +\doxyref{Parameters} setting (for the objective vector of any solution). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-n\-Objectives}]the number of objectives \item[{\em \_\-b\-Objectives}]the min/max vector (true = min / false = max) \end{description} +\end{Desc} + + +Definition at line 80 of file moeo\-Objective\-Vector.h.\index{moeoObjectiveVector@{moeo\-Objective\-Vector}!minimizing@{minimizing}} +\index{minimizing@{minimizing}!moeoObjectiveVector@{moeo\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits, class Objective\-Vector\-Type$>$ static bool \bf{moeo\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits}, Objective\-Vector\-Type $>$::minimizing (unsigned int {\em \_\-i})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVector_decaf6e3b9a9ac97461d2b271facfc5f} + + +Returns true if the \_\-ith objective have to be minimized. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-i}]the index \end{description} +\end{Desc} + + +Definition at line 99 of file moeo\-Objective\-Vector.h.\index{moeoObjectiveVector@{moeo\-Objective\-Vector}!maximizing@{maximizing}} +\index{maximizing@{maximizing}!moeoObjectiveVector@{moeo\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits, class Objective\-Vector\-Type$>$ static bool \bf{moeo\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits}, Objective\-Vector\-Type $>$::maximizing (unsigned int {\em \_\-i})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVector_b62231b0e1c6bb6bab43d6d058871ce3} + + +Returns true if the \_\-ith objective have to be maximized. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-i}]the index \end{description} +\end{Desc} + + +Definition at line 109 of file moeo\-Objective\-Vector.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Objective\-Vector.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorComparator.eps new file mode 100644 index 000000000..1451a2738 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorComparator.eps @@ -0,0 +1,219 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 67.3401 +%%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 7.425 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 3 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoObjectiveVectorComparator< ObjectiveVector >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moeoGDominanceObjectiveVectorComparator< ObjectiveVector >) cw +(moeoObjectiveObjectiveVectorComparator< ObjectiveVector >) cw +(moeoParetoObjectiveVectorComparator< ObjectiveVector >) 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 ----- + + (moeoObjectiveVectorComparator< ObjectiveVector >) 1 1 box + (eoBF< A1, A2, R >) 1 2 box + (eoFunctorBase) 1 3 box + (moeoGDominanceObjectiveVectorComparator< ObjectiveVector >) 0 0 box + (moeoObjectiveObjectiveVectorComparator< ObjectiveVector >) 1 0 box + (moeoParetoObjectiveVectorComparator< ObjectiveVector >) 2 0 box + +% ----- relations ----- + +solid +0 1 1 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in +solid +1 1 0.25 out +solid +0 2 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorComparator.tex new file mode 100644 index 000000000..a27861415 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorComparator.tex @@ -0,0 +1,29 @@ +\section{moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$ Class Template Reference} +\label{classmoeoObjectiveVectorComparator}\index{moeoObjectiveVectorComparator@{moeoObjectiveVectorComparator}} +Abstract class allowing to compare 2 objective vectors. + + +{\tt \#include $<$moeo\-Objective\-Vector\-Comparator.h$>$} + +Inheritance diagram for moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.88552cm]{classmoeoObjectiveVectorComparator} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} + +Abstract class allowing to compare 2 objective vectors. + +The template argument Objective\-Vector have to be a \doxyref{moeo\-Objective\-Vector}{p.}{classmoeoObjectiveVector}. + + + +Definition at line 49 of file moeo\-Objective\-Vector\-Comparator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Objective\-Vector\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.eps new file mode 100644 index 000000000..7a8f5f4b9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.eps @@ -0,0 +1,263 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 904.523 +%%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.552778 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 18 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 +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) cw +(ObjectiveVectorTraits) 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 17 box + (FlowShopObjectiveVectorTraits) 1 16 box + (ObjectiveVectorTraits) 1 15 box + (ObjectiveVectorTraits) 1 14 box + (ObjectiveVectorTraits) 1 13 box + (ObjectiveVectorTraits) 1 12 box + (ObjectiveVectorTraits) 1 11 box + (ObjectiveVectorTraits) 1 10 box + (ObjectiveVectorTraits) 1 9 box + (ObjectiveVectorTraits) 1 8 box + (ObjectiveVectorTraits) 1 7 box + (ObjectiveVectorTraits) 1 6 box + (ObjectiveVectorTraits) 1 5 box + (ObjectiveVectorTraits) 1 4 box + (ObjectiveVectorTraits) 1 3 box + (ObjectiveVectorTraits) 1 2 box + (ObjectiveVectorTraits) 1 1 box + (Sch1ObjectiveVectorTraits) 1 0 box + +% ----- relations ----- + +solid +1 0 16.25 out +solid +0 0 16.5 hedge +solid +0 0 15.5 hedge +solid +0 0 14.5 hedge +solid +0 0 13.5 hedge +solid +0 0 12.5 hedge +solid +0 0 11.5 hedge +solid +0 0 10.5 hedge +solid +0 0 9.5 hedge +solid +0 0 8.5 hedge +solid +0 0 7.5 hedge +solid +0 0 6.5 hedge +solid +0 0 5.5 hedge +solid +0 0 4.5 hedge +solid +0 0 3.5 hedge +solid +0 0 2.5 hedge +solid +0 0 1.5 hedge +solid +0 0 0.5 hedge +solid +0 17 0.5 vedge diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.tex new file mode 100644 index 000000000..8835c7812 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.tex @@ -0,0 +1,105 @@ +\section{moeo\-Objective\-Vector\-Traits Class Reference} +\label{classmoeoObjectiveVectorTraits}\index{moeoObjectiveVectorTraits@{moeoObjectiveVectorTraits}} +A traits class for \doxyref{moeo\-Objective\-Vector}{p.}{classmoeoObjectiveVector} to specify the number of objectives and which ones have to be minimized or maximized. + + +{\tt \#include $<$moeo\-Objective\-Vector\-Traits.h$>$} + +Inheritance diagram for moeo\-Objective\-Vector\-Traits::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=12cm]{classmoeoObjectiveVectorTraits} +\end{center} +\end{figure} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static void \bf{setup} (unsigned int \_\-n\-Objectives, std::vector$<$ bool $>$ \&\_\-b\-Objectives) +\begin{CompactList}\small\item\em \doxyref{Parameters} setting. \item\end{CompactList}\item +static unsigned int \bf{n\-Objectives} ()\label{classmoeoObjectiveVectorTraits_5befa177fc91ead8234bac7ce9d1e587} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item +static bool \bf{minimizing} (unsigned int \_\-i) +\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be minimized. \item\end{CompactList}\item +static bool \bf{maximizing} (unsigned int \_\-i) +\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be maximized. \item\end{CompactList}\item +static double \bf{tolerance} ()\label{classmoeoObjectiveVectorTraits_c1199e4f019ec88a0365db81e9ab8d1f} + +\begin{CompactList}\small\item\em Returns the tolerance value (to compare solutions). \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Private Attributes} +\begin{CompactItemize} +\item +static unsigned int \bf{n\-Obj}\label{classmoeoObjectiveVectorTraits_77b639889ffc6d306d4dfded5a160236} + +\begin{CompactList}\small\item\em The number of objectives. \item\end{CompactList}\item +static std::vector$<$ bool $>$ \bf{b\-Obj}\label{classmoeoObjectiveVectorTraits_db329d416c75711f671c9d7cffb06299} + +\begin{CompactList}\small\item\em The min/max vector. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +A traits class for \doxyref{moeo\-Objective\-Vector}{p.}{classmoeoObjectiveVector} to specify the number of objectives and which ones have to be minimized or maximized. + + + +Definition at line 48 of file moeo\-Objective\-Vector\-Traits.h. + +\subsection{Member Function Documentation} +\index{moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}!setup@{setup}} +\index{setup@{setup}!moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void moeo\-Objective\-Vector\-Traits::setup (unsigned int {\em \_\-n\-Objectives}, std::vector$<$ bool $>$ \& {\em \_\-b\-Objectives})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVectorTraits_327c1994f1b5aa3d6b5c8cae0b971191} + + +\doxyref{Parameters} setting. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-n\-Objectives}]the number of objectives \item[{\em \_\-b\-Objectives}]the min/max vector (true = min / false = max) \end{description} +\end{Desc} + + +Definition at line 57 of file moeo\-Objective\-Vector\-Traits.h. + +References b\-Obj, and n\-Obj. + +Referenced by moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$::setup().\index{moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}!minimizing@{minimizing}} +\index{minimizing@{minimizing}!moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static bool moeo\-Objective\-Vector\-Traits::minimizing (unsigned int {\em \_\-i})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVectorTraits_1478ae3006747619aa9ef3c016bdc831} + + +Returns true if the \_\-ith objective have to be minimized. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-i}]the index \end{description} +\end{Desc} + + +Definition at line 93 of file moeo\-Objective\-Vector\-Traits.h. + +References b\-Obj. + +Referenced by maximizing().\index{moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}!maximizing@{maximizing}} +\index{maximizing@{maximizing}!moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static bool moeo\-Objective\-Vector\-Traits::maximizing (unsigned int {\em \_\-i})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVectorTraits_c8e1a93d8c8480c391a007969ae652df} + + +Returns true if the \_\-ith objective have to be maximized. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-i}]the index \end{description} +\end{Desc} + + +Definition at line 106 of file moeo\-Objective\-Vector\-Traits.h. + +References minimizing(). + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +moeo\-Objective\-Vector\-Traits.h\item +moeo\-Objective\-Vector\-Traits.cpp\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoOneObjectiveComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoOneObjectiveComparator.eps new file mode 100644 index 000000000..deebfb25e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoOneObjectiveComparator.eps @@ -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 303.03 +%%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.65 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 +(moeoOneObjectiveComparator< MOEOT >) 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 ----- + + (moeoOneObjectiveComparator< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoOneObjectiveComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoOneObjectiveComparator.tex new file mode 100644 index 000000000..dc5d9f460 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoOneObjectiveComparator.tex @@ -0,0 +1,78 @@ +\section{moeo\-One\-Objective\-Comparator$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoOneObjectiveComparator}\index{moeoOneObjectiveComparator@{moeoOneObjectiveComparator}} +Functor allowing to compare two solutions according to one objective. + + +{\tt \#include $<$moeo\-One\-Objective\-Comparator.h$>$} + +Inheritance diagram for moeo\-One\-Objective\-Comparator$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoOneObjectiveComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-One\-Objective\-Comparator} (unsigned int \_\-obj) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +const bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2) +\begin{CompactList}\small\item\em Returns true if \_\-moeo1 $<$ \_\-moeo2 on the obj objective. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int \bf{obj}\label{classmoeoOneObjectiveComparator_a45047e66adac81f5a34a2a0fe05f591} + +\begin{CompactList}\small\item\em the index of objective \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-One\-Objective\-Comparator$<$ MOEOT $>$} + +Functor allowing to compare two solutions according to one objective. + + + +Definition at line 47 of file moeo\-One\-Objective\-Comparator.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoOneObjectiveComparator@{moeo\-One\-Objective\-Comparator}!moeoOneObjectiveComparator@{moeoOneObjectiveComparator}} +\index{moeoOneObjectiveComparator@{moeoOneObjectiveComparator}!moeoOneObjectiveComparator@{moeo\-One\-Objective\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-One\-Objective\-Comparator}$<$ MOEOT $>$::\bf{moeo\-One\-Objective\-Comparator} (unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoOneObjectiveComparator_be1249440803553ef868182019d49e4d} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-obj}]the index of objective \end{description} +\end{Desc} + + +Definition at line 55 of file moeo\-One\-Objective\-Comparator.h. + +References moeo\-One\-Objective\-Comparator$<$ MOEOT $>$::obj. + +\subsection{Member Function Documentation} +\index{moeoOneObjectiveComparator@{moeo\-One\-Objective\-Comparator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoOneObjectiveComparator@{moeo\-One\-Objective\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool \bf{moeo\-One\-Objective\-Comparator}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoOneObjectiveComparator_962a4cbc308c30a83c9c485a79374f6a} + + +Returns true if \_\-moeo1 $<$ \_\-moeo2 on the obj objective. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description} +\end{Desc} + + +Definition at line 69 of file moeo\-One\-Objective\-Comparator.h. + +References moeo\-One\-Objective\-Comparator$<$ MOEOT $>$::obj. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-One\-Objective\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoBasedFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoBasedFitnessAssignment.eps new file mode 100644 index 000000000..6905f3d2d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoBasedFitnessAssignment.eps @@ -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 270.27 +%%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.85 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 +(moeoParetoBasedFitnessAssignment< MOEOT >) cw +(moeoFitnessAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 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 ----- + + (moeoParetoBasedFitnessAssignment< MOEOT >) 0 1 box + (moeoFitnessAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 0 3 box + (eoFunctorBase) 0 4 box + (moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 0 0 box + +% ----- relations ----- + +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 +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoBasedFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoBasedFitnessAssignment.tex new file mode 100644 index 000000000..883517804 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoBasedFitnessAssignment.tex @@ -0,0 +1,27 @@ +\section{moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoParetoBasedFitnessAssignment}\index{moeoParetoBasedFitnessAssignment@{moeoParetoBasedFitnessAssignment}} +\doxyref{moeo\-Pareto\-Based\-Fitness\-Assignment}{p.}{classmoeoParetoBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Pareto-based strategies. + + +{\tt \#include $<$moeo\-Pareto\-Based\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoParetoBasedFitnessAssignment} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$} + +\doxyref{moeo\-Pareto\-Based\-Fitness\-Assignment}{p.}{classmoeoParetoBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Pareto-based strategies. + + + +Definition at line 47 of file moeo\-Pareto\-Based\-Fitness\-Assignment.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Based\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoObjectiveVectorComparator.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoObjectiveVectorComparator.eps new file mode 100644 index 000000000..cda7a9a73 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoObjectiveVectorComparator.eps @@ -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 221.607 +%%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.25625 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 +(moeoParetoObjectiveVectorComparator< ObjectiveVector >) cw +(moeoObjectiveVectorComparator< ObjectiveVector >) 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 ----- + + (moeoParetoObjectiveVectorComparator< ObjectiveVector >) 0 0 box + (moeoObjectiveVectorComparator< ObjectiveVector >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoObjectiveVectorComparator.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoObjectiveVectorComparator.tex new file mode 100644 index 000000000..1556c237a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoParetoObjectiveVectorComparator.tex @@ -0,0 +1,49 @@ +\section{moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$ Class Template Reference} +\label{classmoeoParetoObjectiveVectorComparator}\index{moeoParetoObjectiveVectorComparator@{moeoParetoObjectiveVectorComparator}} +This functor class allows to compare 2 objective vectors according to Pareto dominance. + + +{\tt \#include $<$moeo\-Pareto\-Objective\-Vector\-Comparator.h$>$} + +Inheritance diagram for moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoParetoObjectiveVectorComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +const bool \bf{operator()} (const \bf{Objective\-Vector} \&\_\-objective\-Vector1, const \bf{Objective\-Vector} \&\_\-objective\-Vector2) +\begin{CompactList}\small\item\em Returns true if \_\-objective\-Vector1 is dominated by \_\-objective\-Vector2. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} + +This functor class allows to compare 2 objective vectors according to Pareto dominance. + + + +Definition at line 47 of file moeo\-Pareto\-Objective\-Vector\-Comparator.h. + +\subsection{Member Function Documentation} +\index{moeoParetoObjectiveVectorComparator@{moeo\-Pareto\-Objective\-Vector\-Comparator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoParetoObjectiveVectorComparator@{moeo\-Pareto\-Objective\-Vector\-Comparator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ const bool \bf{moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ \bf{Objective\-Vector} $>$::operator() (const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector1}, const \bf{Objective\-Vector} \& {\em \_\-objective\-Vector2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoParetoObjectiveVectorComparator_9bd4302396fb179efe14035dc097726c} + + +Returns true if \_\-objective\-Vector1 is dominated by \_\-objective\-Vector2. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-objective\-Vector1}]the first objective vector \item[{\em \_\-objective\-Vector2}]the second objective vector \end{description} +\end{Desc} + + +Definition at line 56 of file moeo\-Pareto\-Objective\-Vector\-Comparator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Objective\-Vector\-Comparator.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRandomSelect.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRandomSelect.eps new file mode 100644 index 000000000..6a6789ed7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRandomSelect.eps @@ -0,0 +1,239 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 250 +%%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 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 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 +(moeoRandomSelect< MOEOT >) cw +(moeoSelectOne< MOEOT >) cw +(eoRandomSelect< MOEOT >) cw +(eoSelectOne< MOEOT >) cw +(eoSelectOne< EOT, WorthT >) cw +(eoUF< A1, R >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) 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 ----- + + (moeoRandomSelect< MOEOT >) 0.5 0 box + (moeoSelectOne< MOEOT >) 0 1 box + (eoRandomSelect< MOEOT >) 1 1 box + (eoSelectOne< MOEOT >) 0 2 box + (eoSelectOne< EOT, WorthT >) 1 2 box + (eoUF< A1, R >) 0 3 box + (eoUF< A1, R >) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +0 1 1 conn +solid +1 0 1 in +solid +0 0 1 out +solid +1 1 1 in +solid +0 1 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRandomSelect.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRandomSelect.tex new file mode 100644 index 000000000..eb78e2954 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRandomSelect.tex @@ -0,0 +1,36 @@ +\section{moeo\-Random\-Select$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoRandomSelect}\index{moeoRandomSelect@{moeoRandomSelect}} +Selection strategy that selects only one element randomly from a whole population. + + +{\tt \#include $<$moeo\-Random\-Select.h$>$} + +Inheritance diagram for moeo\-Random\-Select$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoRandomSelect} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Random\-Select} ()\label{classmoeoRandomSelect_209022add1e1750f28497dfe637bb5dc} + +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +const MOEOT \& \bf{operator()} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)\label{classmoeoRandomSelect_96dbd0832ad677090ef79ff3867d7af9} + +\begin{CompactList}\small\item\em Return one individual at random by using an \doxyref{eo\-Random\-Select}. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Random\-Select$<$ MOEOT $>$} + +Selection strategy that selects only one element randomly from a whole population. + + + +Definition at line 48 of file moeo\-Random\-Select.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Random\-Select.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealObjectiveVector.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealObjectiveVector.eps new file mode 100644 index 000000000..43966f7af --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealObjectiveVector.eps @@ -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 119.048 +%%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.2 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoRealObjectiveVector< ObjectiveVectorTraits >) cw +(moeoObjectiveVector< ObjectiveVectorTraits, double >) 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 ----- + + (moeoRealObjectiveVector< ObjectiveVectorTraits >) 0 0 box + (moeoObjectiveVector< ObjectiveVectorTraits, double >) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealObjectiveVector.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealObjectiveVector.tex new file mode 100644 index 000000000..e31524bc4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealObjectiveVector.tex @@ -0,0 +1,183 @@ +\section{moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ Class Template Reference} +\label{classmoeoRealObjectiveVector}\index{moeoRealObjectiveVector@{moeoRealObjectiveVector}} +This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e. + + +{\tt \#include $<$moeo\-Real\-Objective\-Vector.h$>$} + +Inheritance diagram for moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classmoeoRealObjectiveVector} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Real\-Objective\-Vector} (double \_\-value=0.0)\label{classmoeoRealObjectiveVector_07b6df71c6ca3b50a0a0379838233525} + +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +\bf{moeo\-Real\-Objective\-Vector} (std::vector$<$ double $>$ \&\_\-v) +\begin{CompactList}\small\item\em Ctor from a vector of doubles. \item\end{CompactList}\item +bool \bf{dominates} (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \&\_\-other) const +\begin{CompactList}\small\item\em Returns true if the current objective vector dominates \_\-other according to the Pareto dominance relation (but it's better to use a \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} object to compare solutions). \item\end{CompactList}\item +bool \bf{operator==} (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \&\_\-other) const +\begin{CompactList}\small\item\em Returns true if the current objective vector is equal to \_\-other (according to a tolerance value). \item\end{CompactList}\item +bool \bf{operator!=} (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \&\_\-other) const +\begin{CompactList}\small\item\em Returns true if the current objective vector is different than \_\-other (according to a tolerance value). \item\end{CompactList}\item +bool \bf{operator$<$} (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \&\_\-other) const +\begin{CompactList}\small\item\em Returns true if the current objective vector is smaller than \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\item +bool \bf{operator$>$} (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \&\_\-other) const +\begin{CompactList}\small\item\em Returns true if the current objective vector is greater than \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\item +bool \bf{operator$<$=} (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \&\_\-other) const +\begin{CompactList}\small\item\em Returns true if the current objective vector is smaller than or equal to \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\item +bool \bf{operator$>$=} (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \&\_\-other) const +\begin{CompactList}\small\item\em Returns true if the current objective vector is greater than or equal to \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector\-Traits$>$ class moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$} + +This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e. + +that an objective value is represented using a double, and this for any objective. + + + +Definition at line 52 of file moeo\-Real\-Objective\-Vector.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!moeoRealObjectiveVector@{moeoRealObjectiveVector}} +\index{moeoRealObjectiveVector@{moeoRealObjectiveVector}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$::\bf{moeo\-Real\-Objective\-Vector} (std::vector$<$ double $>$ \& {\em \_\-v})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_59083142c6a1766f0df30f2457fff34c} + + +Ctor from a vector of doubles. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-v}]the std::vector $<$ double $>$ \end{description} +\end{Desc} + + +Definition at line 70 of file moeo\-Real\-Objective\-Vector.h. + +\subsection{Member Function Documentation} +\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!dominates@{dominates}} +\index{dominates@{dominates}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$::dominates (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_403a1b537d7accba53ecc939dbe5b829} + + +Returns true if the current objective vector dominates \_\-other according to the Pareto dominance relation (but it's better to use a \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} object to compare solutions). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description} +\end{Desc} + + +Definition at line 79 of file moeo\-Real\-Objective\-Vector.h.\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator==@{operator==}} +\index{operator==@{operator==}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$::operator== (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_e2f1665239fac279784a7c2d4e030a0a} + + +Returns true if the current objective vector is equal to \_\-other (according to a tolerance value). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description} +\end{Desc} + + +Definition at line 90 of file moeo\-Real\-Objective\-Vector.h. + +References moeo\-Objective\-Vector\-Traits::tolerance(). + +Referenced by moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator!=(), and moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$>$=().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator"!=@{operator"!=}} +\index{operator"!=@{operator"!=}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$::operator!= (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_7300c03310d45932f3de8b54f7079c61} + + +Returns true if the current objective vector is different than \_\-other (according to a tolerance value). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description} +\end{Desc} + + +Definition at line 107 of file moeo\-Real\-Objective\-Vector.h. + +References moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator==().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator<@{operator$<$}} +\index{operator<@{operator$<$}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$::operator$<$ (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_2113937b8a097943278f471255f2da28} + + +Returns true if the current objective vector is smaller than \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description} +\end{Desc} + + +Definition at line 118 of file moeo\-Real\-Objective\-Vector.h. + +Referenced by moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$<$=().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator>@{operator$>$}} +\index{operator>@{operator$>$}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$::operator$>$ (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_6f3b3f40139f9a6ede18297b6eff3189} + + +Returns true if the current objective vector is greater than \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description} +\end{Desc} + + +Definition at line 130 of file moeo\-Real\-Objective\-Vector.h. + +Referenced by moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$>$=().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator<=@{operator$<$=}} +\index{operator<=@{operator$<$=}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$::operator$<$= (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_f7ea79ab6b2a6672df9a5725e7d842a0} + + +Returns true if the current objective vector is smaller than or equal to \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description} +\end{Desc} + + +Definition at line 141 of file moeo\-Real\-Objective\-Vector.h. + +References moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$<$().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator>=@{operator$>$=}} +\index{operator>=@{operator$>$=}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$::operator$>$= (const \bf{moeo\-Real\-Objective\-Vector}$<$ \bf{Objective\-Vector\-Traits} $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_1aadf971866abb81a35fadbe650c9701} + + +Returns true if the current objective vector is greater than or equal to \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description} +\end{Desc} + + +Definition at line 152 of file moeo\-Real\-Objective\-Vector.h. + +References moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator==(), and moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$>$(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Real\-Objective\-Vector.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealVector.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealVector.eps new file mode 100644 index 000000000..ea213f0f1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealVector.eps @@ -0,0 +1,255 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 49.0196 +%%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 10.2 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 6 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 +(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 +(Sch1) cw +(Solution) cw +(Solution) cw +(Solution) cw +(Solution) cw +(Solution) 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 ----- + + (moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 2.5 1 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 2.5 2 box + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 2.5 3 box + (EO< MOEOObjectiveVector >) 2.5 4 box + (eoObject) 2 5 box + (eoPersistent) 3 5 box + (eoPrintable) 3 6 box + (Sch1) 0 0 box + (Solution) 1 0 box + (Solution) 2 0 box + (Solution) 3 0 box + (Solution) 4 0 box + (Solution) 5 0 box + +% ----- relations ----- + +solid +0 2.5 1 out +solid +1 2.5 2 in +solid +0 2.5 2 out +solid +1 2.5 3 in +solid +0 2.5 3 out +solid +1 2.5 4 in +solid +0 2.5 4 out +solid +2 3 5 conn +solid +1 2 5 in +solid +1 3 5 in +solid +0 3 5 out +solid +1 3 6 in +solid +1 2.5 0.25 out +solid +0 5 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in +solid +0 3 0.75 in +solid +0 4 0.75 in +solid +0 5 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealVector.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealVector.tex new file mode 100644 index 000000000..73104093f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRealVector.tex @@ -0,0 +1,52 @@ +\section{moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$ Class Template Reference} +\label{classmoeoRealVector}\index{moeoRealVector@{moeoRealVector}} +This class is an implementation of a simple double-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector}. + + +{\tt \#include $<$moeo\-Real\-Vector.h$>$} + +Inheritance diagram for moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.37255cm]{classmoeoRealVector} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Real\-Vector} (unsigned int \_\-size=0, double \_\-value=0.0) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +virtual std::string \bf{class\-Name} () const \label{classmoeoRealVector_0585cfbce7824e8c2a0f336017b9ffd9} + +\begin{CompactList}\small\item\em Returns the class name as a std::string. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ class moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} + +This class is an implementation of a simple double-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector}. + + + +Definition at line 47 of file moeo\-Real\-Vector.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoRealVector@{moeo\-Real\-Vector}!moeoRealVector@{moeoRealVector}} +\index{moeoRealVector@{moeoRealVector}!moeoRealVector@{moeo\-Real\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ \bf{moeo\-Real\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::\bf{moeo\-Real\-Vector} (unsigned int {\em \_\-size} = {\tt 0}, double {\em \_\-value} = {\tt 0.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealVector_575f601664ea6d9d48e3e11c4beeafed} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-size}]Length of vector (default is 0) \item[{\em \_\-value}]Initial value of all elements (default is default value of type Gene\-Type) \end{description} +\end{Desc} + + +Definition at line 56 of file moeo\-Real\-Vector.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Real\-Vector.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoReplacement.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoReplacement.eps new file mode 100644 index 000000000..ab3b9798a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoReplacement.eps @@ -0,0 +1,225 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 122.549 +%%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.08 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 3 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoReplacement< MOEOT >) cw +(eoReplacement< MOEOT >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moeoElitistReplacement< MOEOT >) cw +(moeoEnvironmentalReplacement< MOEOT >) cw +(moeoGenerationalReplacement< MOEOT >) 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 ----- + + (moeoReplacement< MOEOT >) 1 1 box + (eoReplacement< MOEOT >) 1 2 box + (eoBF< A1, A2, R >) 1 3 box + (eoFunctorBase) 1 4 box + (moeoElitistReplacement< MOEOT >) 0 0 box + (moeoEnvironmentalReplacement< MOEOT >) 1 0 box + (moeoGenerationalReplacement< MOEOT >) 2 0 box + +% ----- relations ----- + +solid +0 1 1 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 1 4 in +solid +1 1 0.25 out +solid +0 2 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoReplacement.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoReplacement.tex new file mode 100644 index 000000000..c9fe21315 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoReplacement.tex @@ -0,0 +1,27 @@ +\section{moeo\-Replacement$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoReplacement}\index{moeoReplacement@{moeoReplacement}} +Replacement strategy for multi-objective optimization. + + +{\tt \#include $<$moeo\-Replacement.h$>$} + +Inheritance diagram for moeo\-Replacement$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.43137cm]{classmoeoReplacement} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Replacement$<$ MOEOT $>$} + +Replacement strategy for multi-objective optimization. + + + +Definition at line 47 of file moeo\-Replacement.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Replacement.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRouletteSelect.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRouletteSelect.eps new file mode 100644 index 000000000..d9a7d8227 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRouletteSelect.eps @@ -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 500 +%%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 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 +(moeoRouletteSelect< MOEOT >) cw +(moeoSelectOne< MOEOT >) cw +(eoSelectOne< MOEOT >) 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 ----- + + (moeoRouletteSelect< MOEOT >) 0 0 box + (moeoSelectOne< MOEOT >) 0 1 box + (eoSelectOne< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRouletteSelect.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRouletteSelect.tex new file mode 100644 index 000000000..4c9e8f336 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoRouletteSelect.tex @@ -0,0 +1,82 @@ +\section{moeo\-Roulette\-Select$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoRouletteSelect}\index{moeoRouletteSelect@{moeoRouletteSelect}} +Selection strategy that selects ONE individual by using roulette wheel process. + + +{\tt \#include $<$moeo\-Roulette\-Select.h$>$} + +Inheritance diagram for moeo\-Roulette\-Select$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoRouletteSelect} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Roulette\-Select} (unsigned int \_\-t\-Size=2) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +const MOEOT \& \bf{operator()} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Apply the tournament to the given population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +double \& \bf{t\-Size}\label{classmoeoRouletteSelect_19af84fe966381cbfbe032f69ee0b42b} + +\begin{CompactList}\small\item\em size \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Roulette\-Select$<$ MOEOT $>$} + +Selection strategy that selects ONE individual by using roulette wheel process. + +\begin{Desc} +\item[Warning:]This selection only uses fitness values (and not diversity values). \end{Desc} + + + + +Definition at line 49 of file moeo\-Roulette\-Select.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoRouletteSelect@{moeo\-Roulette\-Select}!moeoRouletteSelect@{moeoRouletteSelect}} +\index{moeoRouletteSelect@{moeoRouletteSelect}!moeoRouletteSelect@{moeo\-Roulette\-Select}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Roulette\-Select}$<$ MOEOT $>$::\bf{moeo\-Roulette\-Select} (unsigned int {\em \_\-t\-Size} = {\tt 2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRouletteSelect_4caa45f4c9d1ad2949cc14d2c21b77ea} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-t\-Size}]the number of individuals in the tournament (default: 2) \end{description} +\end{Desc} + + +Definition at line 57 of file moeo\-Roulette\-Select.h. + +References moeo\-Roulette\-Select$<$ MOEOT $>$::t\-Size. + +\subsection{Member Function Documentation} +\index{moeoRouletteSelect@{moeo\-Roulette\-Select}!operator()@{operator()}} +\index{operator()@{operator()}!moeoRouletteSelect@{moeo\-Roulette\-Select}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const MOEOT\& \bf{moeo\-Roulette\-Select}$<$ MOEOT $>$::operator() (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRouletteSelect_573fe156daf6fdfbae96d2b54a9fc260} + + +Apply the tournament to the given population. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 73 of file moeo\-Roulette\-Select.h. + +References moeo\-Roulette\-Select$<$ MOEOT $>$::t\-Size. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Roulette\-Select.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoScalarFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoScalarFitnessAssignment.eps new file mode 100644 index 000000000..c325c6d69 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoScalarFitnessAssignment.eps @@ -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 336.7 +%%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.485 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 +(moeoScalarFitnessAssignment< MOEOT >) cw +(moeoFitnessAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoAchievementFitnessAssignment< MOEOT >) 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 ----- + + (moeoScalarFitnessAssignment< MOEOT >) 0 1 box + (moeoFitnessAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 0 3 box + (eoFunctorBase) 0 4 box + (moeoAchievementFitnessAssignment< MOEOT >) 0 0 box + +% ----- relations ----- + +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 +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoScalarFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoScalarFitnessAssignment.tex new file mode 100644 index 000000000..243208ed4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoScalarFitnessAssignment.tex @@ -0,0 +1,27 @@ +\section{moeo\-Scalar\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoScalarFitnessAssignment}\index{moeoScalarFitnessAssignment@{moeoScalarFitnessAssignment}} +\doxyref{moeo\-Scalar\-Fitness\-Assignment}{p.}{classmoeoScalarFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for scalar strategies. + + +{\tt \#include $<$moeo\-Scalar\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Scalar\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoScalarFitnessAssignment} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Scalar\-Fitness\-Assignment$<$ MOEOT $>$} + +\doxyref{moeo\-Scalar\-Fitness\-Assignment}{p.}{classmoeoScalarFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for scalar strategies. + + + +Definition at line 47 of file moeo\-Scalar\-Fitness\-Assignment.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Scalar\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectFromPopAndArch.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectFromPopAndArch.eps new file mode 100644 index 000000000..5e90b21a0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectFromPopAndArch.eps @@ -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 389.105 +%%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.285 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 +(moeoSelectFromPopAndArch< MOEOT >) cw +(moeoSelectOne< MOEOT >) cw +(eoSelectOne< MOEOT >) 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 ----- + + (moeoSelectFromPopAndArch< MOEOT >) 0 0 box + (moeoSelectOne< MOEOT >) 0 1 box + (eoSelectOne< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectFromPopAndArch.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectFromPopAndArch.tex new file mode 100644 index 000000000..55c70d2a2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectFromPopAndArch.tex @@ -0,0 +1,89 @@ +\section{moeo\-Select\-From\-Pop\-And\-Arch$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoSelectFromPopAndArch}\index{moeoSelectFromPopAndArch@{moeoSelectFromPopAndArch}} +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + + +{\tt \#include $<$moeo\-Select\-From\-Pop\-And\-Arch.h$>$} + +Inheritance diagram for moeo\-Select\-From\-Pop\-And\-Arch$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoSelectFromPopAndArch} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Select\-From\-Pop\-And\-Arch} (\bf{moeo\-Select\-One}$<$ MOEOT $>$ \&\_\-pop\-Select\-One, \bf{moeo\-Select\-One}$<$ MOEOT $>$ \_\-arch\-Select\-One, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch, double \_\-ratio\-From\-Pop=0.5) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +\bf{moeo\-Select\-From\-Pop\-And\-Arch} (\bf{moeo\-Select\-One}$<$ MOEOT $>$ \&\_\-pop\-Select\-One, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch, double \_\-ratio\-From\-Pop=0.5) +\begin{CompactList}\small\item\em Defaulr ctor - the archive's selection operator is a random selector. \item\end{CompactList}\item +virtual const MOEOT \& \bf{operator()} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&pop)\label{classmoeoSelectFromPopAndArch_7b763aef8e25f205159b69b3f746c942} + +\begin{CompactList}\small\item\em The selection process. \item\end{CompactList}\item +virtual void \bf{setup} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)\label{classmoeoSelectFromPopAndArch_70180aeaa5d647a720276c82b7a0b111} + +\begin{CompactList}\small\item\em Setups some population stats. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Select\-One}$<$ MOEOT $>$ \& \bf{pop\-Select\-One}\label{classmoeoSelectFromPopAndArch_e16fb61bf9c115b0a34528e512d30ac6} + +\begin{CompactList}\small\item\em The population's selection operator. \item\end{CompactList}\item +\bf{moeo\-Select\-One}$<$ MOEOT $>$ \& \bf{arch\-Select\-One}\label{classmoeoSelectFromPopAndArch_a34f3871b3a9f94614a15c381c2fa570} + +\begin{CompactList}\small\item\em The archive's selection operator. \item\end{CompactList}\item +\bf{moeo\-Archive}$<$ MOEOT $>$ \& \bf{arch}\label{classmoeoSelectFromPopAndArch_e87de22341f2225ea94ee2895a7eb4a6} + +\begin{CompactList}\small\item\em The archive. \item\end{CompactList}\item +double \bf{ratio\-From\-Pop}\label{classmoeoSelectFromPopAndArch_78a1e18111b46c447c86a0f77484d970} + +\begin{CompactList}\small\item\em The ratio of selected individuals from the population. \item\end{CompactList}\item +\bf{moeo\-Random\-Select}$<$ MOEOT $>$ \bf{random\-Select\-One}\label{classmoeoSelectFromPopAndArch_d6094492eed214e3bdb0330620a5890a} + +\begin{CompactList}\small\item\em A random selection operator (used as default for arch\-Select\-One). \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Select\-From\-Pop\-And\-Arch$<$ MOEOT $>$} + +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + + + +Definition at line 51 of file moeo\-Select\-From\-Pop\-And\-Arch.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoSelectFromPopAndArch@{moeo\-Select\-From\-Pop\-And\-Arch}!moeoSelectFromPopAndArch@{moeoSelectFromPopAndArch}} +\index{moeoSelectFromPopAndArch@{moeoSelectFromPopAndArch}!moeoSelectFromPopAndArch@{moeo\-Select\-From\-Pop\-And\-Arch}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Select\-From\-Pop\-And\-Arch}$<$ MOEOT $>$::\bf{moeo\-Select\-From\-Pop\-And\-Arch} (\bf{moeo\-Select\-One}$<$ MOEOT $>$ \& {\em \_\-pop\-Select\-One}, \bf{moeo\-Select\-One}$<$ MOEOT $>$ {\em \_\-arch\-Select\-One}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch}, double {\em \_\-ratio\-From\-Pop} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoSelectFromPopAndArch_96b34f67d678a7df7610f28bf10c4e86} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop\-Select\-One}]the population's selection operator \item[{\em \_\-arch\-Select\-One}]the archive's selection operator \item[{\em \_\-arch}]the archive \item[{\em \_\-ratio\-From\-Pop}]the ratio of selected individuals from the population \end{description} +\end{Desc} + + +Definition at line 62 of file moeo\-Select\-From\-Pop\-And\-Arch.h.\index{moeoSelectFromPopAndArch@{moeo\-Select\-From\-Pop\-And\-Arch}!moeoSelectFromPopAndArch@{moeoSelectFromPopAndArch}} +\index{moeoSelectFromPopAndArch@{moeoSelectFromPopAndArch}!moeoSelectFromPopAndArch@{moeo\-Select\-From\-Pop\-And\-Arch}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Select\-From\-Pop\-And\-Arch}$<$ MOEOT $>$::\bf{moeo\-Select\-From\-Pop\-And\-Arch} (\bf{moeo\-Select\-One}$<$ MOEOT $>$ \& {\em \_\-pop\-Select\-One}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch}, double {\em \_\-ratio\-From\-Pop} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoSelectFromPopAndArch_1c225b5f7b5a5ce6e87b46a7ea4a4cd0} + + +Defaulr ctor - the archive's selection operator is a random selector. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop\-Select\-One}]the population's selection operator \item[{\em \_\-arch}]the archive \item[{\em \_\-ratio\-From\-Pop}]the ratio of selected individuals from the population \end{description} +\end{Desc} + + +Definition at line 73 of file moeo\-Select\-From\-Pop\-And\-Arch.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Select\-From\-Pop\-And\-Arch.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectOne.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectOne.eps new file mode 100644 index 000000000..3af7fa4fa --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectOne.eps @@ -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 77.821 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 6.425 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 5 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 +(moeoSelectOne< MOEOT >) cw +(eoSelectOne< MOEOT >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) cw +(moeoDetTournamentSelect< MOEOT >) cw +(moeoRandomSelect< MOEOT >) cw +(moeoRouletteSelect< MOEOT >) cw +(moeoSelectFromPopAndArch< MOEOT >) cw +(moeoStochTournamentSelect< MOEOT >) 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 ----- + + (moeoSelectOne< MOEOT >) 2 1 box + (eoSelectOne< MOEOT >) 2 2 box + (eoUF< A1, R >) 2 3 box + (eoFunctorBase) 2 4 box + (moeoDetTournamentSelect< MOEOT >) 0 0 box + (moeoRandomSelect< MOEOT >) 1 0 box + (moeoRouletteSelect< MOEOT >) 2 0 box + (moeoSelectFromPopAndArch< MOEOT >) 3 0 box + (moeoStochTournamentSelect< MOEOT >) 4 0 box + +% ----- relations ----- + +solid +0 2 1 out +solid +1 2 2 in +solid +0 2 2 out +solid +1 2 3 in +solid +0 2 3 out +solid +1 2 4 in +solid +1 2 0.25 out +solid +0 4 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in +solid +0 2 0.75 in +solid +0 3 0.75 in +solid +0 4 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectOne.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectOne.tex new file mode 100644 index 000000000..0349fe63d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSelectOne.tex @@ -0,0 +1,27 @@ +\section{moeo\-Select\-One$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoSelectOne}\index{moeoSelectOne@{moeoSelectOne}} +Selection strategy for multi-objective optimization that selects only one element from a whole population. + + +{\tt \#include $<$moeo\-Select\-One.h$>$} + +Inheritance diagram for moeo\-Select\-One$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2.17899cm]{classmoeoSelectOne} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Select\-One$<$ MOEOT $>$} + +Selection strategy for multi-objective optimization that selects only one element from a whole population. + + + +Definition at line 47 of file moeo\-Select\-One.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Select\-One.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSharingDiversityAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSharingDiversityAssignment.eps new file mode 100644 index 000000000..182d449c9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSharingDiversityAssignment.eps @@ -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 283.286 +%%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.765 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 +(moeoSharingDiversityAssignment< MOEOT >) cw +(moeoDiversityAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +(moeoFrontByFrontSharingDiversityAssignment< MOEOT >) 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 ----- + + (moeoSharingDiversityAssignment< MOEOT >) 0 1 box + (moeoDiversityAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 0 3 box + (eoFunctorBase) 0 4 box + (moeoFrontByFrontSharingDiversityAssignment< MOEOT >) 0 0 box + +% ----- relations ----- + +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 +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSharingDiversityAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSharingDiversityAssignment.tex new file mode 100644 index 000000000..0425f8ead --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSharingDiversityAssignment.tex @@ -0,0 +1,178 @@ +\section{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoSharingDiversityAssignment}\index{moeoSharingDiversityAssignment@{moeoSharingDiversityAssignment}} +Sharing assignment scheme originally porposed by: D. + + +{\tt \#include $<$moeo\-Sharing\-Diversity\-Assignment.h$>$} + +Inheritance diagram for moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoSharingDiversityAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoSharingDiversityAssignment_5e92f136f41363dcb8a6df94dbf2f3b3} + +\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Sharing\-Diversity\-Assignment} (\bf{moeo\-Distance}$<$ MOEOT, double $>$ \&\_\-distance, double \_\-niche\-Size=0.5, double \_\-alpha=1.0) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +\bf{moeo\-Sharing\-Diversity\-Assignment} (double \_\-niche\-Size=0.5, double \_\-alpha=1.0) +\begin{CompactList}\small\item\em Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default. \item\end{CompactList}\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets diversity 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) +\end{CompactItemize} +\subsection*{Protected Member Functions} +\begin{CompactItemize} +\item +virtual void \bf{set\-Similarities} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets similarities for every solution contained in the population \_\-pop. \item\end{CompactList}\item +double \bf{sh} (double \_\-dist) +\begin{CompactList}\small\item\em Sharing function. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Distance}$<$ MOEOT, double $>$ \& \bf{distance}\label{classmoeoSharingDiversityAssignment_b81d950d0469ebd4c769994bcea58f8b} + +\begin{CompactList}\small\item\em the distance used to compute the neighborhood of solutions \item\end{CompactList}\item +\bf{moeo\-Euclidean\-Distance}$<$ MOEOT $>$ \bf{default\-Distance}\label{classmoeoSharingDiversityAssignment_ecde6f1a0ba15d9ec563396a585188f0} + +\begin{CompactList}\small\item\em euclidean distancein the objective space (can be used as default) \item\end{CompactList}\item +double \bf{niche\-Size}\label{classmoeoSharingDiversityAssignment_175d978d4b56603a3bcb45fec8395441} + +\begin{CompactList}\small\item\em neighborhood size in terms of radius distance \item\end{CompactList}\item +double \bf{alpha}\label{classmoeoSharingDiversityAssignment_95ed49448a35d5b99cdfd496a33fd45b} + +\begin{CompactList}\small\item\em parameter used to regulate the shape of the sharing function \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} + +Sharing assignment scheme originally porposed by: D. + +E. Goldberg, \char`\"{}Genetic Algorithms in Search, Optimization and Machine Learning\char`\"{}, Addision-Wesley, MA, USA (1989). + + + +Definition at line 53 of file moeo\-Sharing\-Diversity\-Assignment.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}!moeoSharingDiversityAssignment@{moeoSharingDiversityAssignment}} +\index{moeoSharingDiversityAssignment@{moeoSharingDiversityAssignment}!moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Sharing\-Diversity\-Assignment} (\bf{moeo\-Distance}$<$ MOEOT, double $>$ \& {\em \_\-distance}, double {\em \_\-niche\-Size} = {\tt 0.5}, double {\em \_\-alpha} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoSharingDiversityAssignment_10ba0d2cdd57ce47244afdf4b1623409} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-distance}]the distance used to compute the neighborhood of solutions (can be related to the decision space or the objective space) \item[{\em \_\-niche\-Size}]neighborhood size in terms of radius distance (closely related to the way the distances are computed) \item[{\em \_\-alpha}]parameter used to regulate the shape of the sharing function \end{description} +\end{Desc} + + +Definition at line 67 of file moeo\-Sharing\-Diversity\-Assignment.h.\index{moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}!moeoSharingDiversityAssignment@{moeoSharingDiversityAssignment}} +\index{moeoSharingDiversityAssignment@{moeoSharingDiversityAssignment}!moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Sharing\-Diversity\-Assignment} (double {\em \_\-niche\-Size} = {\tt 0.5}, double {\em \_\-alpha} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoSharingDiversityAssignment_ccc66529da0cacd3f11a019ebe646668} + + +Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-niche\-Size}]neighborhood size in terms of radius distance (closely related to the way the distances are computed) \item[{\em \_\-alpha}]parameter used to regulate the shape of the sharing function \end{description} +\end{Desc} + + +Definition at line 76 of file moeo\-Sharing\-Diversity\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}!operator()@{operator()}} +\index{operator()@{operator()}!moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoSharingDiversityAssignment_6228be85e166172cf03def1a004505d5} + + +Sets diversity 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 84 of file moeo\-Sharing\-Diversity\-Assignment.h. + +References moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::set\-Similarities().\index{moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoSharingDiversityAssignment_21c8d6e020af23b2be219b7e02248300} + + +\begin{Desc} +\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \end{Desc} +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description} +\end{Desc} +\begin{Desc} +\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! \end{Desc} + + +Implements \bf{moeo\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDiversityAssignment_57f400263b36664df6269f1b522cfdcb}. + +Reimplemented in \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontSharingDiversityAssignment_623489a246f86cf24cc5860d32caa743}. + +Definition at line 105 of file moeo\-Sharing\-Diversity\-Assignment.h.\index{moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}!setSimilarities@{setSimilarities}} +\index{setSimilarities@{setSimilarities}!moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Similarities (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected, virtual]}}\label{classmoeoSharingDiversityAssignment_c01f6ac1abba3799f5c4b6c0608dac55} + + +Sets similarities for every solution contained in the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Reimplemented in \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontSharingDiversityAssignment_a0f6c045237aba2857c4a9ec25679e69}. + +Definition at line 127 of file moeo\-Sharing\-Diversity\-Assignment.h. + +References moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::distance, and moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::sh(). + +Referenced by moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::operator()().\index{moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}!sh@{sh}} +\index{sh@{sh}!moeoSharingDiversityAssignment@{moeo\-Sharing\-Diversity\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ double \bf{moeo\-Sharing\-Diversity\-Assignment}$<$ MOEOT $>$::sh (double {\em \_\-dist})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoSharingDiversityAssignment_5b5daaa55e97c6fcd172d61c7837e26c} + + +Sharing function. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-dist}]the distance value \end{description} +\end{Desc} + + +Definition at line 150 of file moeo\-Sharing\-Diversity\-Assignment.h. + +References moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::alpha, and moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::niche\-Size. + +Referenced by moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::set\-Similarities(), and moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$::set\-Similarities(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Sharing\-Diversity\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionUnaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionUnaryMetric.eps new file mode 100644 index 000000000..0f3f5ab34 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionUnaryMetric.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 134.228 +%%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.725 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 +(moeoSolutionUnaryMetric< ObjectiveVector, R >) cw +(moeoUnaryMetric< A, R >) cw +(eoUF< A, R >) cw +(moeoMetric) cw +(eoFunctorBase) 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 ----- + + (moeoSolutionUnaryMetric< ObjectiveVector, R >) 0.5 0 box + (moeoUnaryMetric< A, R >) 0.5 1 box + (eoUF< A, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 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 +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionUnaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionUnaryMetric.tex new file mode 100644 index 000000000..1fe711ffc --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionUnaryMetric.tex @@ -0,0 +1,27 @@ +\section{moeo\-Solution\-Unary\-Metric$<$ Objective\-Vector, R $>$ Class Template Reference} +\label{classmoeoSolutionUnaryMetric}\index{moeoSolutionUnaryMetric@{moeoSolutionUnaryMetric}} +Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Solution\-Unary\-Metric$<$ Objective\-Vector, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.75839cm]{classmoeoSolutionUnaryMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector, class R$>$ class moeo\-Solution\-Unary\-Metric$<$ Objective\-Vector, R $>$} + +Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector. + + + +Definition at line 71 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBinaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBinaryMetric.eps new file mode 100644 index 000000000..85bc3e5f5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBinaryMetric.eps @@ -0,0 +1,239 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 141.509 +%%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.53333 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 +(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoBinaryMetric< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw +(moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) cw +(moeoHypervolumeBinaryMetric< ObjectiveVector >) 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 ----- + + (moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 2 box + (moeoBinaryMetric< A1, A2, R >) 0.5 3 box + (eoBF< A1, A2, R >) 0 4 box + (moeoMetric) 1 4 box + (eoFunctorBase) 0 5 box + (eoFunctorBase) 1 5 box + (moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 1 box + (moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) 0 0 box + (moeoHypervolumeBinaryMetric< ObjectiveVector >) 1 0 box + +% ----- relations ----- + +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 +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in +solid +1 0.5 1.25 out +solid +0 0.5 1.75 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBinaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBinaryMetric.tex new file mode 100644 index 000000000..ae82dc22c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBinaryMetric.tex @@ -0,0 +1,27 @@ +\section{moeo\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$ Class Template Reference} +\label{classmoeoSolutionVsSolutionBinaryMetric}\index{moeoSolutionVsSolutionBinaryMetric@{moeoSolutionVsSolutionBinaryMetric}} +Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.96226cm]{classmoeoSolutionVsSolutionBinaryMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector, class R$>$ class moeo\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$} + +Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors. + + + +Definition at line 87 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoStochTournamentSelect.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoStochTournamentSelect.eps new file mode 100644 index 000000000..87f5b6ec3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoStochTournamentSelect.eps @@ -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 395.257 +%%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.265 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 +(moeoStochTournamentSelect< MOEOT >) cw +(moeoSelectOne< MOEOT >) cw +(eoSelectOne< MOEOT >) 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 ----- + + (moeoStochTournamentSelect< MOEOT >) 0 0 box + (moeoSelectOne< MOEOT >) 0 1 box + (eoSelectOne< MOEOT >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoStochTournamentSelect.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoStochTournamentSelect.tex new file mode 100644 index 000000000..f78fcd67a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoStochTournamentSelect.tex @@ -0,0 +1,102 @@ +\section{moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoStochTournamentSelect}\index{moeoStochTournamentSelect@{moeoStochTournamentSelect}} +Selection strategy that selects ONE individual by stochastic tournament. + + +{\tt \#include $<$moeo\-Stoch\-Tournament\-Select.h$>$} + +Inheritance diagram for moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoStochTournamentSelect} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Stoch\-Tournament\-Select} (\bf{moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator, double \_\-t\-Rate=1.0) +\begin{CompactList}\small\item\em Full Ctor. \item\end{CompactList}\item +\bf{moeo\-Stoch\-Tournament\-Select} (double \_\-t\-Rate=1.0) +\begin{CompactList}\small\item\em Ctor without comparator. \item\end{CompactList}\item +const MOEOT \& \bf{operator()} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Apply the tournament to the given population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-Comparator}$<$ MOEOT $>$ \& \bf{comparator}\label{classmoeoStochTournamentSelect_a8ae24cb50092cc77872a447b6602009} + +\begin{CompactList}\small\item\em the comparator (used to compare 2 individuals) \item\end{CompactList}\item +\bf{moeo\-Fitness\-Then\-Diversity\-Comparator}$<$ MOEOT $>$ \bf{default\-Comparator}\label{classmoeoStochTournamentSelect_ec34173496ad3dd0cd118b5233a53855} + +\begin{CompactList}\small\item\em a fitness then diversity comparator can be used as default \item\end{CompactList}\item +double \bf{t\-Rate}\label{classmoeoStochTournamentSelect_659d064e1333ee9a3e9808a15a2f53f6} + +\begin{CompactList}\small\item\em the tournament rate \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$} + +Selection strategy that selects ONE individual by stochastic tournament. + + + +Definition at line 49 of file moeo\-Stoch\-Tournament\-Select.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoStochTournamentSelect@{moeo\-Stoch\-Tournament\-Select}!moeoStochTournamentSelect@{moeoStochTournamentSelect}} +\index{moeoStochTournamentSelect@{moeoStochTournamentSelect}!moeoStochTournamentSelect@{moeo\-Stoch\-Tournament\-Select}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Stoch\-Tournament\-Select}$<$ MOEOT $>$::\bf{moeo\-Stoch\-Tournament\-Select} (\bf{moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator}, double {\em \_\-t\-Rate} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoStochTournamentSelect_dfd4eb2c6d148fd3cab2fb670ae7f1d4} + + +Full Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \item[{\em \_\-t\-Rate}]the tournament rate \end{description} +\end{Desc} + + +Definition at line 58 of file moeo\-Stoch\-Tournament\-Select.h. + +References moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$::t\-Rate.\index{moeoStochTournamentSelect@{moeo\-Stoch\-Tournament\-Select}!moeoStochTournamentSelect@{moeoStochTournamentSelect}} +\index{moeoStochTournamentSelect@{moeoStochTournamentSelect}!moeoStochTournamentSelect@{moeo\-Stoch\-Tournament\-Select}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Stoch\-Tournament\-Select}$<$ MOEOT $>$::\bf{moeo\-Stoch\-Tournament\-Select} (double {\em \_\-t\-Rate} = {\tt 1.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoStochTournamentSelect_a7d9a735f65193a943ca2cdce780e80d} + + +Ctor without comparator. + +A \doxyref{moeo\-Fitness\-Then\-Diversity\-Comparator}{p.}{classmoeoFitnessThenDiversityComparator} is used as default. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-t\-Rate}]the tournament rate \end{description} +\end{Desc} + + +Definition at line 78 of file moeo\-Stoch\-Tournament\-Select.h. + +References moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$::t\-Rate. + +\subsection{Member Function Documentation} +\index{moeoStochTournamentSelect@{moeo\-Stoch\-Tournament\-Select}!operator()@{operator()}} +\index{operator()@{operator()}!moeoStochTournamentSelect@{moeo\-Stoch\-Tournament\-Select}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const MOEOT\& \bf{moeo\-Stoch\-Tournament\-Select}$<$ MOEOT $>$::operator() (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoStochTournamentSelect_2323cbf99554b37dc3724c8ea26e52c1} + + +Apply the tournament to the given population. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 98 of file moeo\-Stoch\-Tournament\-Select.h. + +References moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$::comparator, and moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$::t\-Rate. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Stoch\-Tournament\-Select.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryIndicatorBasedFitnessAssignment.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryIndicatorBasedFitnessAssignment.eps new file mode 100644 index 000000000..c3dc0c5dd --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryIndicatorBasedFitnessAssignment.eps @@ -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 292.398 +%%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.71 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 +(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoIndicatorBasedFitnessAssignment< 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 ----- + + (moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box + (moeoIndicatorBasedFitnessAssignment< MOEOT >) 0 1 box + (moeoFitnessAssignment< MOEOT >) 0 2 box + (eoUF< eoPop< MOEOT > &, void >) 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 diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryIndicatorBasedFitnessAssignment.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryIndicatorBasedFitnessAssignment.tex new file mode 100644 index 000000000..341251020 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryIndicatorBasedFitnessAssignment.tex @@ -0,0 +1,27 @@ +\section{moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoUnaryIndicatorBasedFitnessAssignment}\index{moeoUnaryIndicatorBasedFitnessAssignment@{moeoUnaryIndicatorBasedFitnessAssignment}} +\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} for unary indicators. + + +{\tt \#include $<$moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoUnaryIndicatorBasedFitnessAssignment} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} + +\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} for unary indicators. + + + +Definition at line 47 of file moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryMetric.eps new file mode 100644 index 000000000..a18fe0093 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryMetric.eps @@ -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 134.228 +%%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.725 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 +(moeoUnaryMetric< A, R >) cw +(eoUF< A, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(moeoSolutionUnaryMetric< ObjectiveVector, R >) cw +(moeoVectorUnaryMetric< ObjectiveVector, R >) 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 ----- + + (moeoUnaryMetric< A, R >) 0.5 1 box + (eoUF< A, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + (moeoSolutionUnaryMetric< ObjectiveVector, R >) 0 0 box + (moeoVectorUnaryMetric< ObjectiveVector, R >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryMetric.tex new file mode 100644 index 000000000..1d5441ba1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoUnaryMetric.tex @@ -0,0 +1,27 @@ +\section{moeo\-Unary\-Metric$<$ A, R $>$ Class Template Reference} +\label{classmoeoUnaryMetric}\index{moeoUnaryMetric@{moeoUnaryMetric}} +Base class for unary metrics. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Unary\-Metric$<$ A, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.75839cm]{classmoeoUnaryMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class A, class R$>$ class moeo\-Unary\-Metric$<$ A, R $>$} + +Base class for unary metrics. + + + +Definition at line 55 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVector.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVector.eps new file mode 100644 index 000000000..d073c0cbe --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVector.eps @@ -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 +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) cw +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(EO< MOEOObjectiveVector >) cw +(eoObject) cw +(eoPersistent) cw +(eoPrintable) cw +(FlowShop) 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 ----- + + (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 + (FlowShop) 0.5 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +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 +solid +1 0.5 0.25 out +solid +0 0.5 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVector.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVector.tex new file mode 100644 index 000000000..777feed77 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVector.tex @@ -0,0 +1,137 @@ +\section{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$ Class Template Reference} +\label{classmoeoVector}\index{moeoVector@{moeoVector}} +Base class for fixed length chromosomes, just derives from \doxyref{MOEO}{p.}{classMOEO} and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison). + + +{\tt \#include $<$moeo\-Vector.h$>$} + +Inheritance diagram for moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.3871cm]{classmoeoVector} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef Gene\-Type \bf{Atom\-Type}\label{classmoeoVector_9d4400084dec28c37e392bb8b0a0b452} + +\begin{CompactList}\small\item\em the atomic type \item\end{CompactList}\item +typedef std::vector$<$ Gene\-Type $>$ \bf{Container\-Type}\label{classmoeoVector_b0fb83132e1f2c8b8258013a01aeb364} + +\begin{CompactList}\small\item\em the container type \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Vector} (unsigned int \_\-size=0, Gene\-Type \_\-value=Gene\-Type()) +\begin{CompactList}\small\item\em Default ctor. \item\end{CompactList}\item +void \bf{value} (const std::vector$<$ Gene\-Type $>$ \&\_\-v) +\begin{CompactList}\small\item\em We can't have a Ctor from a std::vector as it would create ambiguity with the copy Ctor. \item\end{CompactList}\item +bool \bf{operator$<$} (const \bf{moeo\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$ \&\_\-moeo) const +\begin{CompactList}\small\item\em To avoid conflicts between \doxyref{MOEO::operator$<$}{p.}{classMOEO_119ef916de4955298febaf3e1c8ad705} and std::vector$<$Gene\-Type$>$::operator$<$. \item\end{CompactList}\item +virtual void \bf{print\-On} (std::ostream \&\_\-os) const +\begin{CompactList}\small\item\em Writing object. \item\end{CompactList}\item +virtual void \bf{read\-From} (std::istream \&\_\-is) +\begin{CompactList}\small\item\em Reading object. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity, class Gene\-Type$>$ class moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$} + +Base class for fixed length chromosomes, just derives from \doxyref{MOEO}{p.}{classMOEO} and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison). + +Gene\-Type must have the following methods: void ctor (needed for the std::vector$<$$>$), copy ctor. + + + +Definition at line 50 of file moeo\-Vector.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoVector@{moeo\-Vector}!moeoVector@{moeoVector}} +\index{moeoVector@{moeoVector}!moeoVector@{moeo\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity, class Gene\-Type$>$ \bf{moeo\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::\bf{moeo\-Vector} (unsigned int {\em \_\-size} = {\tt 0}, Gene\-Type {\em \_\-value} = {\tt GeneType()})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoVector_b109dd4d5ae93cdc4d039eb3c3b07664} + + +Default ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-size}]Length of vector (default is 0) \item[{\em \_\-value}]Initial value of all elements (default is default value of type Gene\-Type) \end{description} +\end{Desc} + + +Definition at line 72 of file moeo\-Vector.h. + +\subsection{Member Function Documentation} +\index{moeoVector@{moeo\-Vector}!value@{value}} +\index{value@{value}!moeoVector@{moeo\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity, class Gene\-Type$>$ void \bf{moeo\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value (const std::vector$<$ Gene\-Type $>$ \& {\em \_\-v})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoVector_a7fadd876fe492717815510f68a921c5} + + +We can't have a Ctor from a std::vector as it would create ambiguity with the copy Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-v}]a vector of Gene\-Type \end{description} +\end{Desc} + + +Definition at line 81 of file moeo\-Vector.h. + +Referenced by Flow\-Shop\-Op\-Crossover\-Quad::operator()().\index{moeoVector@{moeo\-Vector}!operator<@{operator$<$}} +\index{operator<@{operator$<$}!moeoVector@{moeo\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity, class Gene\-Type$>$ bool \bf{moeo\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::operator$<$ (const \bf{moeo\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$ \& {\em \_\-moeo}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoVector_d7a5feff640f00e5d6a29c3ebd11e90b} + + +To avoid conflicts between \doxyref{MOEO::operator$<$}{p.}{classMOEO_119ef916de4955298febaf3e1c8ad705} and std::vector$<$Gene\-Type$>$::operator$<$. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-moeo}]the object to compare with \end{description} +\end{Desc} + + +Definition at line 104 of file moeo\-Vector.h.\index{moeoVector@{moeo\-Vector}!printOn@{printOn}} +\index{printOn@{printOn}!moeoVector@{moeo\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity, class Gene\-Type$>$ virtual void \bf{moeo\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308} + + +Writing object. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-os}]output stream \end{description} +\end{Desc} + + +Reimplemented from \bf{MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} \doxyref{p.}{classMOEO_a3b6074b3289585bf4dc6998e8397e24}. + +Reimplemented in \bf{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} \doxyref{p.}{classmoeoBitVector_78f821c548cf46d8bcd30aa8a52ffb7c}. + +Definition at line 114 of file moeo\-Vector.h.\index{moeoVector@{moeo\-Vector}!readFrom@{readFrom}} +\index{readFrom@{readFrom}!moeoVector@{moeo\-Vector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity, class Gene\-Type$>$ virtual void \bf{moeo\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9} + + +Reading object. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-is}]input stream \end{description} +\end{Desc} + + +Reimplemented from \bf{MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} \doxyref{p.}{classMOEO_1bbd9cb1a7709592bf4bc29dff8c5273}. + +Reimplemented in \bf{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} \doxyref{p.}{classmoeoBitVector_31cd3f894615d0a27dd116a5c8082521}. + +Definition at line 127 of file moeo\-Vector.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Vector.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorUnaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorUnaryMetric.eps new file mode 100644 index 000000000..3ea1e1b12 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorUnaryMetric.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 137.457 +%%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.6375 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 +(moeoVectorUnaryMetric< ObjectiveVector, R >) cw +(moeoUnaryMetric< A, R >) cw +(eoUF< A, R >) cw +(moeoMetric) cw +(eoFunctorBase) 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 ----- + + (moeoVectorUnaryMetric< ObjectiveVector, R >) 0.5 0 box + (moeoUnaryMetric< A, R >) 0.5 1 box + (eoUF< A, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 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 +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorUnaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorUnaryMetric.tex new file mode 100644 index 000000000..6b6d5e781 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorUnaryMetric.tex @@ -0,0 +1,27 @@ +\section{moeo\-Vector\-Unary\-Metric$<$ Objective\-Vector, R $>$ Class Template Reference} +\label{classmoeoVectorUnaryMetric}\index{moeoVectorUnaryMetric@{moeoVectorUnaryMetric}} +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Vector\-Unary\-Metric$<$ Objective\-Vector, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.8488cm]{classmoeoVectorUnaryMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector, class R$>$ class moeo\-Vector\-Unary\-Metric$<$ Objective\-Vector, R $>$} + +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors). + + + +Definition at line 79 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBinaryMetric.eps b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBinaryMetric.eps new file mode 100644 index 000000000..e3ab7788a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBinaryMetric.eps @@ -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 144.092 +%%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.47 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 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 +(moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) cw +(moeoBinaryMetric< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(moeoContributionMetric< ObjectiveVector >) cw +(moeoEntropyMetric< ObjectiveVector >) 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 ----- + + (moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) 0.5 1 box + (moeoBinaryMetric< A1, A2, R >) 0.5 2 box + (eoBF< A1, A2, R >) 0 3 box + (moeoMetric) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 box + (moeoContributionMetric< ObjectiveVector >) 0 0 box + (moeoEntropyMetric< ObjectiveVector >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +0 1 3 conn +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBinaryMetric.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBinaryMetric.tex new file mode 100644 index 000000000..7b4d743c9 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBinaryMetric.tex @@ -0,0 +1,27 @@ +\section{moeo\-Vector\-Vs\-Vector\-Binary\-Metric$<$ Objective\-Vector, R $>$ Class Template Reference} +\label{classmoeoVectorVsVectorBinaryMetric}\index{moeoVectorVsVectorBinaryMetric@{moeoVectorVsVectorBinaryMetric}} +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Vector\-Vs\-Vector\-Binary\-Metric$<$ Objective\-Vector, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.03458cm]{classmoeoVectorVsVectorBinaryMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Objective\-Vector, class R$>$ class moeo\-Vector\-Vs\-Vector\-Binary\-Metric$<$ Objective\-Vector, R $>$} + +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors). + + + +Definition at line 95 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/doxygen.sty b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/doxygen.sty new file mode 100644 index 000000000..88162b2db --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/doxygen.sty @@ -0,0 +1,78 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} +\RequirePackage{calc} +\RequirePackage{array} +\pagestyle{fancyplain} +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} +\renewcommand{\chaptermark}[1]{\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +\lhead[\fancyplain{}{\bfseries\thepage}] + {\fancyplain{}{\bfseries\rightmark}} +\rhead[\fancyplain{}{\bfseries\leftmark}] + {\fancyplain{}{\bfseries\thepage}} +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Thu Mar 13 09:42:19 2008 for Paradis\-EO-MOEO-Multi\-Objective\-Evolving\-Objects by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Mar 13 09:42:19 2008 for Paradis\-EO-MOEO-Multi\-Objective\-Evolving\-Objects by Doxygen }} +\cfoot{} +\newenvironment{Code} +{\footnotesize} +{\normalsize} +\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})} +\newenvironment{DocInclude} +{\footnotesize} +{\normalsize} +\newenvironment{VerbInclude} +{\footnotesize} +{\normalsize} +\newenvironment{Image} +{\begin{figure}[H]} +{\end{figure}} +\newenvironment{ImageNoCaption}{}{} +\newenvironment{CompactList} +{\begin{list}{}{ + \setlength{\leftmargin}{0.5cm} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \renewcommand{\makelabel}{\hfill}}} +{\end{list}} +\newenvironment{CompactItemize} +{ + \begin{itemize} + \setlength{\itemsep}{-3pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \setlength{\partopsep}{0pt} +} +{\end{itemize}} +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} +\newlength{\tmplength} +\newenvironment{TabularC}[1] +{ +\setlength{\tmplength} + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} + \par\begin{tabular*}{\linewidth} + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} +} +{\end{tabular*}\par} +\newcommand{\entrylabel}[1]{ + {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}} +\newenvironment{Desc} +{\begin{list}{} + { + \settowidth{\labelwidth}{40pt} + \setlength{\leftmargin}{\labelwidth} + \setlength{\parsep}{0pt} + \setlength{\itemsep}{-4pt} + \renewcommand{\makelabel}{\entrylabel} + } +} +{\end{list}} +\newenvironment{Indent} + {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} + \item[]\ignorespaces} + {\unskip\end{list}} +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.2cm} +\addtocounter{secnumdepth}{1} +\sloppy +\usepackage[T1]{fontenc} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/hierarchy.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/hierarchy.tex new file mode 100644 index 000000000..125d15828 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/hierarchy.tex @@ -0,0 +1,314 @@ +\section{Paradis\-EO-MOEO-Multi\-Objective\-Evolving\-Objects Class Hierarchy} +This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} +\item eo\-Functor\-Base{\tt [external]}\begin{CompactList} +\item eo\-BF$<$ A1, A2, R $>${\tt [external]}\begin{CompactList} +\item eo\-Replacement$<$ EOT $>${\tt [external]}\begin{CompactList} +\item eo\-Generational\-Replacement$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Generational\-Replacement$<$ MOEOT $>$}{\pageref{classmoeoGenerationalReplacement}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Replacement$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Replacement$<$ MOEOT $>$}{\pageref{classmoeoReplacement}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Elitist\-Replacement$<$ MOEOT $>$}{\pageref{classmoeoElitistReplacement}}{} +\item \contentsline{section}{moeo\-Environmental\-Replacement$<$ MOEOT $>$}{\pageref{classmoeoEnvironmentalReplacement}}{} +\item \contentsline{section}{moeo\-Generational\-Replacement$<$ MOEOT $>$}{\pageref{classmoeoGenerationalReplacement}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Select$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Select}{\pageref{classmoeoEasyEA_1_1eoDummySelect}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ A1, A2, R $>$}{\pageref{classmoeoBinaryMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$}{\pageref{classmoeoSolutionVsSolutionBinaryMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$}{\pageref{classmoeoNormalizedSolutionVsSolutionBinaryMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$}{\pageref{classmoeoAdditiveEpsilonBinaryMetric}}{} +\item \contentsline{section}{moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$}{\pageref{classmoeoHypervolumeBinaryMetric}}{} +\end{CompactList} +\end{CompactList} +\item \contentsline{section}{moeo\-Solution\-Vs\-Solution\-Binary\-Metric$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, double $>$}{\pageref{classmoeoSolutionVsSolutionBinaryMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, double $>$}{\pageref{classmoeoNormalizedSolutionVsSolutionBinaryMetric}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Solution\-Vs\-Solution\-Binary\-Metric$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, R $>$}{\pageref{classmoeoSolutionVsSolutionBinaryMetric}}{} +\item \contentsline{section}{moeo\-Vector\-Vs\-Vector\-Binary\-Metric$<$ Objective\-Vector, R $>$}{\pageref{classmoeoVectorVsVectorBinaryMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Contribution\-Metric$<$ Objective\-Vector $>$}{\pageref{classmoeoContributionMetric}}{} +\item \contentsline{section}{moeo\-Entropy\-Metric$<$ Objective\-Vector $>$}{\pageref{classmoeoEntropyMetric}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Vector\-Vs\-Vector\-Binary\-Metric$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, double $>$}{\pageref{classmoeoVectorVsVectorBinaryMetric}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Comparator$<$ MOEOT $>$}{\pageref{classmoeoComparator}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Aggregative\-Comparator$<$ MOEOT $>$}{\pageref{classmoeoAggregativeComparator}}{} +\item \contentsline{section}{moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$}{\pageref{classmoeoDiversityThenFitnessComparator}}{} +\item \contentsline{section}{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::Objective\-Comparator}{\pageref{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator}}{} +\item \contentsline{section}{moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$}{\pageref{classmoeoFitnessThenDiversityComparator}}{} +\item \contentsline{section}{moeo\-One\-Objective\-Comparator$<$ MOEOT $>$}{\pageref{classmoeoOneObjectiveComparator}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Distance$<$ MOEOT, Type $>$}{\pageref{classmoeoDistance}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Normalized\-Distance$<$ MOEOT, Type $>$}{\pageref{classmoeoNormalizedDistance}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Distance$<$ MOEOT, double $>$}{\pageref{classmoeoDistance}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Normalized\-Distance$<$ MOEOT $>$}{\pageref{classmoeoNormalizedDistance}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Euclidean\-Distance$<$ MOEOT $>$}{\pageref{classmoeoEuclideanDistance}}{} +\item \contentsline{section}{moeo\-Manhattan\-Distance$<$ MOEOT $>$}{\pageref{classmoeoManhattanDistance}}{} +\end{CompactList} +\end{CompactList} +\item \contentsline{section}{moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}{\pageref{classmoeoObjectiveVectorComparator}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}{\pageref{classmoeoGDominanceObjectiveVectorComparator}}{} +\item \contentsline{section}{moeo\-Objective\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}{\pageref{classmoeoObjectiveObjectiveVectorComparator}}{} +\item \contentsline{section}{moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}{\pageref{classmoeoParetoObjectiveVectorComparator}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Objective\-Vector\-Comparator$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$}{\pageref{classmoeoObjectiveVectorComparator}}{} +\end{CompactList} +\item eo\-BF$<$ const const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, double $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, double $>$}{\pageref{classmoeoBinaryMetric}}{} +\end{CompactList} +\item eo\-BF$<$ const const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, R $>$}{\pageref{classmoeoBinaryMetric}}{} +\end{CompactList} +\item eo\-BF$<$ const const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, double $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, double $>$}{\pageref{classmoeoBinaryMetric}}{} +\end{CompactList} +\item eo\-BF$<$ const const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, R $>$}{\pageref{classmoeoBinaryMetric}}{} +\end{CompactList} +\item eo\-BF$<$ EOType \&, EOType \&, bool $>${\tt [external]}\item eo\-BF$<$ Flow\-Shop \&, Flow\-Shop \&, bool $>${\tt [external]}\begin{CompactList} +\item eo\-Quad\-Op$<$ Flow\-Shop $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{Flow\-Shop\-Op\-Crossover\-Quad}{\pageref{classFlowShopOpCrossoverQuad}}{} +\end{CompactList} +\end{CompactList} +\item eo\-BF$<$ Type, moeo\-Archive$<$ MOEOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-LS$<$ MOEOT, Type $>$}{\pageref{classmoeoLS}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Combined\-LS$<$ MOEOT, Type $>$}{\pageref{classmoeoCombinedLS}}{} +\end{CompactList} +\end{CompactList} +\item eo\-F$<$ void $>${\tt [external]}\begin{CompactList} +\item eo\-Updater{\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ MOEOT $>$}{\pageref{classmoeoArchiveObjectiveVectorSavingUpdater}}{} +\item \contentsline{section}{moeo\-Archive\-Updater$<$ MOEOT $>$}{\pageref{classmoeoArchiveUpdater}}{} +\item \contentsline{section}{moeo\-Binary\-Metric\-Saving\-Updater$<$ MOEOT $>$}{\pageref{classmoeoBinaryMetricSavingUpdater}}{} +\item \contentsline{section}{moeo\-Hybrid\-LS$<$ MOEOT $>$}{\pageref{classmoeoHybridLS}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ A1, R $>${\tt [external]}\begin{CompactList} +\item eo\-Algo$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-EA$<$ MOEOT $>$}{\pageref{classmoeoEA}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Easy\-EA$<$ MOEOT $>$}{\pageref{classmoeoEasyEA}}{} +\item \contentsline{section}{moeo\-IBEA$<$ MOEOT $>$}{\pageref{classmoeoIBEA}}{} +\item \contentsline{section}{moeo\-NSGA$<$ MOEOT $>$}{\pageref{classmoeoNSGA}}{} +\item \contentsline{section}{moeo\-NSGAII$<$ MOEOT $>$}{\pageref{classmoeoNSGAII}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Eval\-Func$<$ Flow\-Shop $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Eval\-Func$<$ Flow\-Shop $>$}{\pageref{classmoeoEvalFunc}}{} +\begin{CompactList} +\item \contentsline{section}{Flow\-Shop\-Eval}{\pageref{classFlowShopEval}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Eval\-Func$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Eval}{\pageref{classmoeoEasyEA_1_1eoDummyEval}}{} +\item \contentsline{section}{moeo\-Eval\-Func$<$ MOEOT $>$}{\pageref{classmoeoEvalFunc}}{} +\end{CompactList} +\item eo\-Eval\-Func$<$ Sch1 $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Eval\-Func$<$ Sch1 $>$}{\pageref{classmoeoEvalFunc}}{} +\begin{CompactList} +\item \contentsline{section}{Sch1Eval}{\pageref{classSch1Eval}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Eval\-Func$<$ Solution $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Eval\-Func$<$ Solution $>$}{\pageref{classmoeoEvalFunc}}{} +\begin{CompactList} +\item \contentsline{section}{Test\-Eval}{\pageref{classTestEval}}{} +\item \contentsline{section}{Test\-Eval}{\pageref{classTestEval}}{} +\item \contentsline{section}{Test\-Eval}{\pageref{classTestEval}}{} +\item \contentsline{section}{Test\-Eval}{\pageref{classTestEval}}{} +\item \contentsline{section}{Test\-Eval}{\pageref{classTestEval}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Select\-One$<$ EOT, Worth\-T $>${\tt [external]}\begin{CompactList} +\item eo\-Random\-Select$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Random\-Select$<$ MOEOT $>$}{\pageref{classmoeoRandomSelect}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Select\-One$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Select\-One$<$ MOEOT $>$}{\pageref{classmoeoSelectOne}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Det\-Tournament\-Select$<$ MOEOT $>$}{\pageref{classmoeoDetTournamentSelect}}{} +\item \contentsline{section}{moeo\-Random\-Select$<$ MOEOT $>$}{\pageref{classmoeoRandomSelect}}{} +\item \contentsline{section}{moeo\-Roulette\-Select$<$ MOEOT $>$}{\pageref{classmoeoRouletteSelect}}{} +\item \contentsline{section}{moeo\-Select\-From\-Pop\-And\-Arch$<$ MOEOT $>$}{\pageref{classmoeoSelectFromPopAndArch}}{} +\item \contentsline{section}{moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$}{\pageref{classmoeoStochTournamentSelect}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Transform$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Easy\-EA$<$ MOEOT $>$::eo\-Dummy\-Transform}{\pageref{classmoeoEasyEA_1_1eoDummyTransform}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$}{\pageref{classmoeoConvertPopToObjectiveVectors}}{} +\end{CompactList} +\item eo\-UF$<$ A, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Unary\-Metric$<$ A, R $>$}{\pageref{classmoeoUnaryMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Solution\-Unary\-Metric$<$ Objective\-Vector, R $>$}{\pageref{classmoeoSolutionUnaryMetric}}{} +\item \contentsline{section}{moeo\-Vector\-Unary\-Metric$<$ Objective\-Vector, R $>$}{\pageref{classmoeoVectorUnaryMetric}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ const eo\-Pop$<$ MOEOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Distance\-Matrix$<$ MOEOT, Type $>$}{\pageref{classmoeoDistanceMatrix}}{} +\end{CompactList} +\item eo\-UF$<$ const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Unary\-Metric$<$ const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, R $>$}{\pageref{classmoeoUnaryMetric}}{} +\end{CompactList} +\item eo\-UF$<$ const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Unary\-Metric$<$ const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, R $>$}{\pageref{classmoeoUnaryMetric}}{} +\end{CompactList} +\item eo\-UF$<$ eo\-Pop$<$ MOEOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoDiversityAssignment}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoCrowdingDiversityAssignment}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoFrontByFrontCrowdingDiversityAssignment}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoDummyDiversityAssignment}}{} +\item \contentsline{section}{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoSharingDiversityAssignment}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoFrontByFrontSharingDiversityAssignment}}{} +\end{CompactList} +\end{CompactList} +\item \contentsline{section}{moeo\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoFitnessAssignment}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoCriterionBasedFitnessAssignment}}{} +\item \contentsline{section}{moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoDummyFitnessAssignment}}{} +\item \contentsline{section}{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoIndicatorBasedFitnessAssignment}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoBinaryIndicatorBasedFitnessAssignment}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoExpBinaryIndicatorBasedFitnessAssignment}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoUnaryIndicatorBasedFitnessAssignment}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoParetoBasedFitnessAssignment}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoFastNonDominatedSortingFitnessAssignment}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Scalar\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoScalarFitnessAssignment}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoAchievementFitnessAssignment}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item \contentsline{section}{moeo\-Metric}{\pageref{classmoeoMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ A1, A2, R $>$}{\pageref{classmoeoBinaryMetric}}{} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, double $>$}{\pageref{classmoeoBinaryMetric}}{} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, R $>$}{\pageref{classmoeoBinaryMetric}}{} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, double $>$}{\pageref{classmoeoBinaryMetric}}{} +\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, R $>$}{\pageref{classmoeoBinaryMetric}}{} +\item \contentsline{section}{moeo\-Unary\-Metric$<$ A, R $>$}{\pageref{classmoeoUnaryMetric}}{} +\item \contentsline{section}{moeo\-Unary\-Metric$<$ const moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ \&, R $>$}{\pageref{classmoeoUnaryMetric}}{} +\item \contentsline{section}{moeo\-Unary\-Metric$<$ const std::vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>$ \&, R $>$}{\pageref{classmoeoUnaryMetric}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Object{\tt [external]}\begin{CompactList} +\item EO$<$ MOEOObjective\-Vector $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$}{\pageref{classMOEO}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$}{\pageref{classmoeoVector}}{} +\begin{CompactList} +\item \contentsline{section}{Flow\-Shop}{\pageref{classFlowShop}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$}{\pageref{classmoeoVector}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$}{\pageref{classmoeoBitVector}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, double $>$}{\pageref{classmoeoVector}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$}{\pageref{classmoeoRealVector}}{} +\begin{CompactList} +\item \contentsline{section}{Sch1}{\pageref{classSch1}}{} +\item \contentsline{section}{Solution}{\pageref{classSolution}}{} +\item \contentsline{section}{Solution}{\pageref{classSolution}}{} +\item \contentsline{section}{Solution}{\pageref{classSolution}}{} +\item \contentsline{section}{Solution}{\pageref{classSolution}}{} +\item \contentsline{section}{Solution}{\pageref{classSolution}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item EO$<$ moeo\-Real\-Objective\-Vector$<$ Flow\-Shop\-Objective\-Vector\-Traits $>$ $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{MOEO$<$ moeo\-Real\-Objective\-Vector$<$ Flow\-Shop\-Objective\-Vector\-Traits $>$, double, double $>$}{\pageref{classMOEO}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Flow\-Shop\-Objective\-Vector\-Traits $>$, double, double, unsigned int $>$}{\pageref{classmoeoVector}}{} +\end{CompactList} +\end{CompactList} +\item EO$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{MOEO$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, double, double $>$}{\pageref{classMOEO}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, double, double, double $>$}{\pageref{classmoeoVector}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Real\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$, double, double $>$}{\pageref{classmoeoRealVector}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item EO$<$ moeo\-Real\-Objective\-Vector$<$ Sch1Objective\-Vector\-Traits $>$ $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{MOEO$<$ moeo\-Real\-Objective\-Vector$<$ Sch1Objective\-Vector\-Traits $>$, double, double $>$}{\pageref{classMOEO}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Sch1Objective\-Vector\-Traits $>$, double, double, double $>$}{\pageref{classmoeoVector}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Real\-Vector$<$ moeo\-Real\-Objective\-Vector$<$ Sch1Objective\-Vector\-Traits $>$, double, double $>$}{\pageref{classmoeoRealVector}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eo\-Pop$<$ MOEOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Archive$<$ MOEOT $>$}{\pageref{classmoeoArchive}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Op$<$ EOType $>${\tt [external]}\begin{CompactList} +\item eo\-Quad\-Op$<$ Flow\-Shop $>${\tt [external]}\end{CompactList} +\item eo\-Printable{\tt [external]}\begin{CompactList} +\item eo\-Persistent{\tt [external]}\begin{CompactList} +\item EO$<$ MOEOObjective\-Vector $>${\tt [external]}\item EO$<$ moeo\-Real\-Objective\-Vector$<$ Flow\-Shop\-Objective\-Vector\-Traits $>$ $>${\tt [external]}\item EO$<$ moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ $>${\tt [external]}\item EO$<$ moeo\-Real\-Objective\-Vector$<$ Sch1Objective\-Vector\-Traits $>$ $>${\tt [external]}\item eo\-Pop$<$ MOEOT $>${\tt [external]}\end{CompactList} +\end{CompactList} +\item \contentsline{section}{Flow\-Shop\-Benchmark\-Parser}{\pageref{classFlowShopBenchmarkParser}}{} +\item \contentsline{section}{moeo\-Algo}{\pageref{classmoeoAlgo}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-EA$<$ MOEOT $>$}{\pageref{classmoeoEA}}{} +\item \contentsline{section}{moeo\-LS$<$ MOEOT, Type $>$}{\pageref{classmoeoLS}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Elitist\-Replacement$<$ MOEOT $>$::Cmp}{\pageref{classmoeoElitistReplacement_1_1Cmp}}{} +\item \contentsline{section}{moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp}{\pageref{classmoeoEnvironmentalReplacement_1_1Cmp}}{} +\item \contentsline{section}{moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, Objective\-Vector\-Type $>$}{\pageref{classmoeoObjectiveVector}}{} +\item \contentsline{section}{moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$}{\pageref{classmoeoObjectiveVector}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$}{\pageref{classmoeoRealObjectiveVector}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Objective\-Vector\-Traits}{\pageref{classmoeoObjectiveVectorTraits}}{} +\begin{CompactList} +\item \contentsline{section}{Flow\-Shop\-Objective\-Vector\-Traits}{\pageref{classFlowShopObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Objective\-Vector\-Traits}{\pageref{classObjectiveVectorTraits}}{} +\item \contentsline{section}{Sch1Objective\-Vector\-Traits}{\pageref{classSch1ObjectiveVectorTraits}}{} +\end{CompactList} +\end{CompactList} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/main.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/main.tex new file mode 100644 index 000000000..2a7600c7e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/main.tex @@ -0,0 +1,12 @@ +\section{Introduction}\label{main_Introduction} +Paradis\-EO-MOEO is a white-box object-oriented generic framework dedicated to the flexible design of evolutionary multi-objective algorithms. This paradigm-free software embeds some features and techniques for Pareto-based resolution and aims to provide a set of classes allowing to ease and speed up the development of computationally efficient programs. It is based on a clear conceptual distinction between the solution methods and the multi-objective problems they are intended to solve. This separation confers a maximum design and code reuse. Paradis\-EO-MOEO provides a broad range of archive-related features (such as elitism or performance metrics) and the most common Pareto-based fitness assignment strategies (MOGA, NSGA, SPEA, IBEA and more). Furthermore, parallel and distributed models as well as hybridization mechanisms can be applied to an algorithm designed within Paradis\-EO-MOEO using the whole version of Paradis\-EO.\section{Tutorials}\label{main_tutorials} +Tutorials for Paradis\-EO-MOEO are available {\tt here}.\section{Installation}\label{main_Installation} +The installation procedure of the package is detailed in the README file in the top-directory of the source-tree.\section{Design}\label{main_Design} +For an introduction to the design of Paradis\-EO-MOEO, you can look at the {\tt Paradis\-EO website}.\section{LICENSE}\label{main_LICENSE} +This software is governed by the Ce\-CILL license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the Ce\-CILL license as circulated by CEA, CNRS and INRIA at the following URL \char`\"{}http://www.cecill.info\char`\"{}. + +As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability. + +In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. The fact that you are presently reading this means that you have had knowledge of the Ce\-CILL license and that you accept its terms. + +Paradis\-EO Web\-Site : \tt{http://paradiseo.gforge.inria.fr} Contact: \tt{paradiseo-help@lists.gforge.inria.fr} \ No newline at end of file diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/refman.tex b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/refman.tex new file mode 100644 index 000000000..b6f38d485 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/latex/refman.tex @@ -0,0 +1,130 @@ +\documentclass[a4paper]{book} +\usepackage{a4wide} +\usepackage{makeidx} +\usepackage{fancyhdr} +\usepackage{graphicx} +\usepackage{multicol} +\usepackage{float} +\usepackage{textcomp} +\usepackage{alltt} +\usepackage{doxygen} +\makeindex +\setcounter{tocdepth}{1} +\renewcommand{\footrulewidth}{0.4pt} +\begin{document} +\begin{titlepage} +\vspace*{7cm} +\begin{center} +{\Large Paradis\-EO-MOEO-Multi\-Objective\-Evolving\-Objects Reference Manual\\[1ex]\large 1.1 }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.4.7}\\ +\vspace*{0.5cm} +{\small Thu Mar 13 09:42:19 2008}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\chapter{Welcome to Paradis\-EO-MOEO } +\label{index}\input{main} +\chapter{Paradis\-EO-MOEO-Multi\-Objective\-Evolving\-Objects Hierarchical Index} +\input{hierarchy} +\chapter{Paradis\-EO-MOEO-Multi\-Objective\-Evolving\-Objects Class Index} +\input{annotated} +\chapter{Paradis\-EO-MOEO-Multi\-Objective\-Evolving\-Objects Class Documentation} +\input{classFlowShop} +\include{classFlowShopBenchmarkParser} +\include{classFlowShopEval} +\include{classFlowShopObjectiveVectorTraits} +\include{classFlowShopOpCrossoverQuad} +\include{classMOEO} +\include{classmoeoAchievementFitnessAssignment} +\include{classmoeoAdditiveEpsilonBinaryMetric} +\include{classmoeoAggregativeComparator} +\include{classmoeoAlgo} +\include{classmoeoArchive} +\include{classmoeoArchiveObjectiveVectorSavingUpdater} +\include{classmoeoArchiveUpdater} +\include{classmoeoBinaryIndicatorBasedFitnessAssignment} +\include{classmoeoBinaryMetric} +\include{classmoeoBinaryMetricSavingUpdater} +\include{classmoeoBitVector} +\include{classmoeoCombinedLS} +\include{classmoeoComparator} +\include{classmoeoContributionMetric} +\include{classmoeoConvertPopToObjectiveVectors} +\include{classmoeoCriterionBasedFitnessAssignment} +\include{classmoeoCrowdingDiversityAssignment} +\include{classmoeoDetTournamentSelect} +\include{classmoeoDistance} +\include{classmoeoDistanceMatrix} +\include{classmoeoDiversityAssignment} +\include{classmoeoDiversityThenFitnessComparator} +\include{classmoeoDummyDiversityAssignment} +\include{classmoeoDummyFitnessAssignment} +\include{classmoeoEA} +\include{classmoeoEasyEA} +\include{classmoeoEasyEA_1_1eoDummyEval} +\include{classmoeoEasyEA_1_1eoDummySelect} +\include{classmoeoEasyEA_1_1eoDummyTransform} +\include{classmoeoElitistReplacement} +\include{classmoeoElitistReplacement_1_1Cmp} +\include{classmoeoEntropyMetric} +\include{classmoeoEnvironmentalReplacement} +\include{classmoeoEnvironmentalReplacement_1_1Cmp} +\include{classmoeoEuclideanDistance} +\include{classmoeoEvalFunc} +\include{classmoeoExpBinaryIndicatorBasedFitnessAssignment} +\include{classmoeoFastNonDominatedSortingFitnessAssignment} +\include{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator} +\include{classmoeoFitnessAssignment} +\include{classmoeoFitnessThenDiversityComparator} +\include{classmoeoFrontByFrontCrowdingDiversityAssignment} +\include{classmoeoFrontByFrontSharingDiversityAssignment} +\include{classmoeoGDominanceObjectiveVectorComparator} +\include{classmoeoGenerationalReplacement} +\include{classmoeoHybridLS} +\include{classmoeoHypervolumeBinaryMetric} +\include{classmoeoIBEA} +\include{classmoeoIndicatorBasedFitnessAssignment} +\include{classmoeoLS} +\include{classmoeoManhattanDistance} +\include{classmoeoMetric} +\include{classmoeoNormalizedDistance} +\include{classmoeoNormalizedSolutionVsSolutionBinaryMetric} +\include{classmoeoNSGA} +\include{classmoeoNSGAII} +\include{classmoeoObjectiveObjectiveVectorComparator} +\include{classmoeoObjectiveVector} +\include{classmoeoObjectiveVectorComparator} +\include{classmoeoObjectiveVectorTraits} +\include{classmoeoOneObjectiveComparator} +\include{classmoeoParetoBasedFitnessAssignment} +\include{classmoeoParetoObjectiveVectorComparator} +\include{classmoeoRandomSelect} +\include{classmoeoRealObjectiveVector} +\include{classmoeoRealVector} +\include{classmoeoReplacement} +\include{classmoeoRouletteSelect} +\include{classmoeoScalarFitnessAssignment} +\include{classmoeoSelectFromPopAndArch} +\include{classmoeoSelectOne} +\include{classmoeoSharingDiversityAssignment} +\include{classmoeoSolutionUnaryMetric} +\include{classmoeoSolutionVsSolutionBinaryMetric} +\include{classmoeoStochTournamentSelect} +\include{classmoeoUnaryIndicatorBasedFitnessAssignment} +\include{classmoeoUnaryMetric} +\include{classmoeoVector} +\include{classmoeoVectorUnaryMetric} +\include{classmoeoVectorVsVectorBinaryMetric} +\include{classObjectiveVectorTraits} +\include{classSch1} +\include{classSch1Eval} +\include{classSch1ObjectiveVectorTraits} +\include{classSolution} +\include{classTestEval} +\printindex +\end{document} diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShop.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShop.3 new file mode 100644 index 000000000..6c000025a --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShop.3 @@ -0,0 +1,31 @@ +.TH "FlowShop" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShop \- Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >< moeoRealObjectiveVector< FlowShopObjectiveVectorTraits >, double, double, unsigned int >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "std::string \fBclassName\fP () const " +.br +.RI "\fIclass name \fP" +.in -1c +.SH "Detailed Description" +.PP +Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. +.PP +Definition at line 47 of file FlowShop.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopBenchmarkParser.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopBenchmarkParser.3 new file mode 100644 index 000000000..b0055ee8e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopBenchmarkParser.3 @@ -0,0 +1,120 @@ +.TH "FlowShopBenchmarkParser" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopBenchmarkParser \- Class to handle parameters of a flow-shop instance from a benchmark file. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBFlowShopBenchmarkParser\fP (const std::string _benchmarkFileName)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "const unsigned int \fBgetM\fP ()" +.br +.RI "\fIthe number of machines \fP" +.ti -1c +.RI "const unsigned int \fBgetN\fP ()" +.br +.RI "\fIthe number of jobs \fP" +.ti -1c +.RI "const std::vector< std::vector< unsigned int > > \fBgetP\fP ()" +.br +.RI "\fIthe processing times \fP" +.ti -1c +.RI "const std::vector< unsigned int > \fBgetD\fP ()" +.br +.RI "\fIthe due-dates \fP" +.ti -1c +.RI "void \fBprintOn\fP (std::ostream &_os) const " +.br +.RI "\fIprinting. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBinit\fP (const std::string _benchmarkFileName)" +.br +.RI "\fIInitialisation of the parameters with the data contained in the benchmark file. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBM\fP" +.br +.RI "\fInumber of machines \fP" +.ti -1c +.RI "unsigned int \fBN\fP" +.br +.RI "\fInumber of jobs \fP" +.ti -1c +.RI "std::vector< std::vector< unsigned int > > \fBp\fP" +.br +.RI "\fIp[i][j] = processing time of job j on machine i \fP" +.ti -1c +.RI "std::vector< unsigned int > \fBd\fP" +.br +.RI "\fId[j] = due-date of the job j \fP" +.in -1c +.SH "Detailed Description" +.PP +Class to handle parameters of a flow-shop instance from a benchmark file. +.PP +Definition at line 48 of file FlowShopBenchmarkParser.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "FlowShopBenchmarkParser::FlowShopBenchmarkParser (const std::string _benchmarkFileName)" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_benchmarkFileName\fP the name of the benchmark file +.RE +.PP + +.PP +Definition at line 41 of file FlowShopBenchmarkParser.cpp. +.PP +References init(). +.SH "Member Function Documentation" +.PP +.SS "void FlowShopBenchmarkParser::printOn (std::ostream & _os) const" +.PP +printing. +.PP +.. +.PP +Definition at line 71 of file FlowShopBenchmarkParser.cpp. +.PP +References d, M, N, and p. +.SS "void FlowShopBenchmarkParser::init (const std::string _benchmarkFileName)\fC [private]\fP" +.PP +Initialisation of the parameters with the data contained in the benchmark file. +.PP +\fBParameters:\fP +.RS 4 +\fI_benchmarkFileName\fP the name of the benchmark file +.RE +.PP + +.PP +Definition at line 92 of file FlowShopBenchmarkParser.cpp. +.PP +References d, M, N, and p. +.PP +Referenced by FlowShopBenchmarkParser(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopEval.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopEval.3 new file mode 100644 index 000000000..660536b77 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopEval.3 @@ -0,0 +1,155 @@ +.TH "FlowShopEval" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopEval \- Evaluation of the objective vector a (multi-objective) \fBFlowShop\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoEvalFunc< FlowShop >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBFlowShopEval\fP (unsigned int _M, unsigned int _N, const std::vector< std::vector< unsigned int > > &_p, const std::vector< unsigned int > &_d)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBFlowShop\fP &_flowshop)" +.br +.RI "\fIcomputation of the multi-objective evaluation of a \fBFlowShop\fP object \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBmakespan\fP (const \fBFlowShop\fP &_flowshop)" +.br +.RI "\fIcomputation of the makespan \fP" +.ti -1c +.RI "double \fBtardiness\fP (const \fBFlowShop\fP &_flowshop)" +.br +.RI "\fIcomputation of the tardiness \fP" +.ti -1c +.RI "std::vector< std::vector< unsigned int > > \fBcompletionTime\fP (const \fBFlowShop\fP &_flowshop)" +.br +.RI "\fIcomputation 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 \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBM\fP" +.br +.RI "\fInumber of machines \fP" +.ti -1c +.RI "unsigned int \fBN\fP" +.br +.RI "\fInumber of jobs \fP" +.ti -1c +.RI "std::vector< std::vector< unsigned int > > \fBp\fP" +.br +.RI "\fIp[i][j] = processing time of job j on machine i \fP" +.ti -1c +.RI "std::vector< unsigned int > \fBd\fP" +.br +.RI "\fId[j] = due-date of the job j \fP" +.in -1c +.SH "Detailed Description" +.PP +Evaluation of the objective vector a (multi-objective) \fBFlowShop\fP object. +.PP +Definition at line 48 of file FlowShopEval.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "FlowShopEval::FlowShopEval (unsigned int _M, unsigned int _N, const std::vector< std::vector< unsigned int > > & _p, const std::vector< unsigned int > & _d)" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_M\fP the number of machines +.br +\fI_N\fP the number of jobs to schedule +.br +\fI_p\fP the processing times +.br +\fI_d\fP the due dates +.RE +.PP + +.PP +Definition at line 41 of file FlowShopEval.cpp. +.SH "Member Function Documentation" +.PP +.SS "void FlowShopEval::operator() (\fBFlowShop\fP & _flowshop)" +.PP +computation of the multi-objective evaluation of a \fBFlowShop\fP object +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the \fBFlowShop\fP object to evaluate +.RE +.PP + +.PP +Definition at line 46 of file FlowShopEval.cpp. +.PP +References makespan(), MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVector(), and tardiness(). +.SS "double FlowShopEval::makespan (const \fBFlowShop\fP & _flowshop)\fC [private]\fP" +.PP +computation of the makespan +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the genotype to evaluate +.RE +.PP + +.PP +Definition at line 56 of file FlowShopEval.cpp. +.PP +References completionTime(), M, and N. +.PP +Referenced by operator()(). +.SS "double FlowShopEval::tardiness (const \fBFlowShop\fP & _flowshop)\fC [private]\fP" +.PP +computation of the tardiness +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the genotype to evaluate +.RE +.PP + +.PP +Definition at line 65 of file FlowShopEval.cpp. +.PP +References completionTime(), d, M, and N. +.PP +Referenced by operator()(). +.SS "std::vector< std::vector< unsigned int > > FlowShopEval::completionTime (const \fBFlowShop\fP & _flowshop)\fC [private]\fP" +.PP +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 +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the genotype to evaluate +.RE +.PP + +.PP +Definition at line 78 of file FlowShopEval.cpp. +.PP +References M, N, and p. +.PP +Referenced by makespan(), and tardiness(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopObjectiveVectorTraits.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopObjectiveVectorTraits.3 new file mode 100644 index 000000000..a2b791db1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopObjectiveVectorTraits.3 @@ -0,0 +1,65 @@ +.TH "FlowShopObjectiveVectorTraits" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopObjectiveVectorTraits \- Definition of the objective vector traits for multi-objective flow-shop problems. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoObjectiveVectorTraits\fP. +.PP +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static bool \fBminimizing\fP (int _i)" +.br +.RI "\fIReturns true if the _ith objective have to be minimzed. \fP" +.ti -1c +.RI "static bool \fBmaximizing\fP (int _i)" +.br +.RI "\fIReturns true if the _ith objective have to be maximzed. \fP" +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.in -1c +.SH "Detailed Description" +.PP +Definition of the objective vector traits for multi-objective flow-shop problems. +.PP +Definition at line 46 of file FlowShopObjectiveVectorTraits.h. +.SH "Member Function Documentation" +.PP +.SS "bool FlowShopObjectiveVectorTraits::minimizing (int _i)\fC [static]\fP" +.PP +Returns true if the _ith objective have to be minimzed. +.PP +\fBParameters:\fP +.RS 4 +\fI_i\fP index of the objective +.RE +.PP + +.PP +Definition at line 41 of file FlowShopObjectiveVectorTraits.cpp. +.SS "bool FlowShopObjectiveVectorTraits::maximizing (int _i)\fC [static]\fP" +.PP +Returns true if the _ith objective have to be maximzed. +.PP +\fBParameters:\fP +.RS 4 +\fI_i\fP index of the objective +.RE +.PP + +.PP +Definition at line 47 of file FlowShopObjectiveVectorTraits.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopOpCrossoverQuad.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopOpCrossoverQuad.3 new file mode 100644 index 000000000..f63f90264 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/FlowShopOpCrossoverQuad.3 @@ -0,0 +1,85 @@ +.TH "FlowShopOpCrossoverQuad" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopOpCrossoverQuad \- Quadratic crossover operator for flow-shop (modify the both genotypes). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoQuadOp< FlowShop >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "std::string \fBclassName\fP () const " +.br +.RI "\fIthe class name (used to display statistics) \fP" +.ti -1c +.RI "bool \fBoperator()\fP (\fBFlowShop\fP &_flowshop1, \fBFlowShop\fP &_flowshop2)" +.br +.RI "\fIeoQuad crossover - _flowshop1 and _flowshop2 are the (future) offspring, i.e. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "\fBFlowShop\fP \fBgenerateOffspring\fP (const \fBFlowShop\fP &_parent1, const \fBFlowShop\fP &_parent2, unsigned int _point1, unsigned int _point2)" +.br +.RI "\fIgeneration of an offspring by a 2 points crossover \fP" +.in -1c +.SH "Detailed Description" +.PP +Quadratic crossover operator for flow-shop (modify the both genotypes). +.PP +Definition at line 47 of file FlowShopOpCrossoverQuad.h. +.SH "Member Function Documentation" +.PP +.SS "bool FlowShopOpCrossoverQuad::operator() (\fBFlowShop\fP & _flowshop1, \fBFlowShop\fP & _flowshop2)\fC [virtual]\fP" +.PP +eoQuad crossover - _flowshop1 and _flowshop2 are the (future) offspring, i.e. +.PP +_copies_ of the parents +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop1\fP the first parent +.br +\fI_flowshop2\fP the second parent +.RE +.PP + +.PP +Implements \fBeoBF< FlowShop &, FlowShop &, bool >\fP. +.PP +Definition at line 47 of file FlowShopOpCrossoverQuad.cpp. +.PP +References generateOffspring(), eoRng::random(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). +.SS "\fBFlowShop\fP FlowShopOpCrossoverQuad::generateOffspring (const \fBFlowShop\fP & _parent1, const \fBFlowShop\fP & _parent2, unsigned int _point1, unsigned int _point2)\fC [private]\fP" +.PP +generation of an offspring by a 2 points crossover +.PP +\fBParameters:\fP +.RS 4 +\fI_parent1\fP the first parent +.br +\fI_parent2\fP the second parent +.br +\fI_point1\fP the first point +.br +\fI_point2\fP the second point +.RE +.PP + +.PP +Definition at line 80 of file FlowShopOpCrossoverQuad.cpp. +.PP +Referenced by operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/MOEO.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/MOEO.3 new file mode 100644 index 000000000..e2ee0a8cf --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/MOEO.3 @@ -0,0 +1,241 @@ +.TH "MOEO" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +MOEO \- Base class allowing to represent a solution (an individual) for multi-objective optimization. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBEO< MOEOObjectiveVector >\fP. +.PP +Inherited by \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP, and \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of a solution \fP" +.ti -1c +.RI "typedef MOEOFitness \fBFitness\fP" +.br +.RI "\fIthe fitness type of a solution \fP" +.ti -1c +.RI "typedef MOEODiversity \fBDiversity\fP" +.br +.RI "\fIthe diversity type of a solution \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBMOEO\fP ()" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "virtual \fB~MOEO\fP ()" +.br +.RI "\fIVirtual dtor. \fP" +.ti -1c +.RI "\fBObjectiveVector\fP \fBobjectiveVector\fP () const " +.br +.RI "\fIReturns the objective vector of the current solution. \fP" +.ti -1c +.RI "void \fBobjectiveVector\fP (const \fBObjectiveVector\fP &_objectiveVectorValue)" +.br +.RI "\fISets the objective vector of the current solution. \fP" +.ti -1c +.RI "void \fBinvalidateObjectiveVector\fP ()" +.br +.RI "\fISets the objective vector as invalid. \fP" +.ti -1c +.RI "bool \fBinvalidObjectiveVector\fP () const " +.br +.RI "\fIReturns true if the objective vector is invalid, false otherwise. \fP" +.ti -1c +.RI "\fBFitness\fP \fBfitness\fP () const " +.br +.RI "\fIReturns the fitness value of the current solution. \fP" +.ti -1c +.RI "void \fBfitness\fP (const \fBFitness\fP &_fitnessValue)" +.br +.RI "\fISets the fitness value of the current solution. \fP" +.ti -1c +.RI "void \fBinvalidateFitness\fP ()" +.br +.RI "\fISets the fitness value as invalid. \fP" +.ti -1c +.RI "bool \fBinvalidFitness\fP () const " +.br +.RI "\fIReturns true if the fitness value is invalid, false otherwise. \fP" +.ti -1c +.RI "\fBDiversity\fP \fBdiversity\fP () const " +.br +.RI "\fIReturns the diversity value of the current solution. \fP" +.ti -1c +.RI "void \fBdiversity\fP (const \fBDiversity\fP &_diversityValue)" +.br +.RI "\fISets the diversity value of the current solution. \fP" +.ti -1c +.RI "void \fBinvalidateDiversity\fP ()" +.br +.RI "\fISets the diversity value as invalid. \fP" +.ti -1c +.RI "bool \fBinvalidDiversity\fP () const " +.br +.RI "\fIReturns true if the diversity value is invalid, false otherwise. \fP" +.ti -1c +.RI "void \fBinvalidate\fP ()" +.br +.RI "\fISets the objective vector, the fitness value and the diversity value as invalid. \fP" +.ti -1c +.RI "bool \fBinvalid\fP () const " +.br +.RI "\fIReturns true if the objective values are invalid, false otherwise. \fP" +.ti -1c +.RI "bool \fBoperator<\fP (const \fBMOEO\fP &_other) const " +.br +.RI "\fIReturns true if the objective vector of the current solution is smaller than the objective vector of _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \fP" +.ti -1c +.RI "virtual std::string \fBclassName\fP () const " +.br +.RI "\fIReturn the class id (the class name as a std::string). \fP" +.ti -1c +.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " +.br +.RI "\fIWriting object. \fP" +.ti -1c +.RI "virtual void \fBreadFrom\fP (std::istream &_is)" +.br +.RI "\fIReading object. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBObjectiveVector\fP \fBobjectiveVectorValue\fP" +.br +.RI "\fIthe objective vector of this solution \fP" +.ti -1c +.RI "bool \fBinvalidObjectiveVectorValue\fP" +.br +.RI "\fItrue if the objective vector is invalid \fP" +.ti -1c +.RI "\fBFitness\fP \fBfitnessValue\fP" +.br +.RI "\fIthe fitness value of this solution \fP" +.ti -1c +.RI "bool \fBinvalidFitnessValue\fP" +.br +.RI "\fItrue if the fitness value is invalid \fP" +.ti -1c +.RI "\fBDiversity\fP \fBdiversityValue\fP" +.br +.RI "\fIthe diversity value of this solution \fP" +.ti -1c +.RI "bool \fBinvalidDiversityValue\fP" +.br +.RI "\fItrue if the diversity value is invalid \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >" +Base class allowing to represent a solution (an individual) for multi-objective optimization. + +The template argument MOEOObjectiveVector allows to represent the solution in the objective space (it can be a \fBmoeoObjectiveVector\fP object). The template argument MOEOFitness is an object reflecting the quality of the solution in term of convergence (the fitness of a solution is always to be maximized). The template argument MOEODiversity is an object reflecting the quality of the solution in term of diversity (the diversity of a solution is always to be maximized). All template arguments must have a void and a copy constructor. Using some specific representations, you will have to define a copy constructor if the default one is not what you want. In the same cases, you will also have to define the affectation operator (operator=). Then, you will explicitly have to call the parent copy constructor and the parent affectation operator at the beginning of the corresponding implementation. Besides, note that, contrary to the mono-objective case (and to \fBEO\fP) where the fitness value of a solution is confused with its objective value, the fitness value differs of the objectives values in the multi-objective case. +.PP +Definition at line 92 of file MOEO.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVector (const \fBObjectiveVector\fP & _objectiveVectorValue)\fC [inline]\fP" +.PP +Sets the objective vector of the current solution. +.PP +\fBParameters:\fP +.RS 4 +\fI_objectiveVectorValue\fP the new objective vector +.RE +.PP + +.PP +Definition at line 145 of file MOEO.h. +.SS "template void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::fitness (const \fBFitness\fP & _fitnessValue)\fC [inline]\fP" +.PP +Sets the fitness value of the current solution. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessValue\fP the new fitness value +.RE +.PP + +.PP +Definition at line 189 of file MOEO.h. +.SS "template void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::diversity (const \fBDiversity\fP & _diversityValue)\fC [inline]\fP" +.PP +Sets the diversity value of the current solution. +.PP +\fBParameters:\fP +.RS 4 +\fI_diversityValue\fP the new diversity value +.RE +.PP + +.PP +Definition at line 231 of file MOEO.h. +.SS "template bool \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::operator< (const \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity > & _other) const\fC [inline]\fP" +.PP +Returns true if the objective vector of the current solution is smaller than the objective vector of _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +.PP +You should implement another function in the sub-class of \fBMOEO\fP to have another sorting mecanism. +.PP +\fBParameters:\fP +.RS 4 +\fI_other\fP the other \fBMOEO\fP object to compare with +.RE +.PP + +.PP +Definition at line 282 of file MOEO.h. +.SS "template virtual void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" +.PP +Writing object. +.PP +\fBParameters:\fP +.RS 4 +\fI_os\fP output stream +.RE +.PP + +.PP +Reimplemented from \fBEO< MOEOObjectiveVector >\fP. +.PP +Reimplemented in \fBmoeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >\fP, \fBmoeoVector< moeoRealObjectiveVector< FlowShopObjectiveVectorTraits >, double, double, unsigned int >\fP, \fBmoeoVector< moeoRealObjectiveVector< Sch1ObjectiveVectorTraits >, double, double, double >\fP, and \fBmoeoVector< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double, double >\fP. +.PP +Definition at line 301 of file MOEO.h. +.SS "template virtual void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::readFrom (std::istream & _is)\fC [inline, virtual]\fP" +.PP +Reading object. +.PP +\fBParameters:\fP +.RS 4 +\fI_is\fP input stream +.RE +.PP + +.PP +Reimplemented from \fBEO< MOEOObjectiveVector >\fP. +.PP +Reimplemented in \fBmoeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >\fP, \fBmoeoVector< moeoRealObjectiveVector< FlowShopObjectiveVectorTraits >, double, double, unsigned int >\fP, \fBmoeoVector< moeoRealObjectiveVector< Sch1ObjectiveVectorTraits >, double, double, double >\fP, and \fBmoeoVector< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double, double >\fP. +.PP +Definition at line 318 of file MOEO.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/ObjectiveVectorTraits.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/ObjectiveVectorTraits.3 new file mode 100644 index 000000000..4b6aef124 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/ObjectiveVectorTraits.3 @@ -0,0 +1,171 @@ +.TH "ObjectiveVectorTraits" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +ObjectiveVectorTraits \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, \fBmoeoObjectiveVectorTraits\fP, and \fBmoeoObjectiveVectorTraits\fP. +.PP +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.in -1c +.SH "Detailed Description" +.PP +Definition at line 45 of file t-moeo.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1.3 new file mode 100644 index 000000000..f88a472ea --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1.3 @@ -0,0 +1,24 @@ +.TH "Sch1" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Sch1 \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >< moeoRealObjectiveVector< Sch1ObjectiveVectorTraits >, double, double >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBSch1\fP ()" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 70 of file Sch1.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1Eval.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1Eval.3 new file mode 100644 index 000000000..89e719117 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1Eval.3 @@ -0,0 +1,24 @@ +.TH "Sch1Eval" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Sch1Eval \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoEvalFunc< Sch1 >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBSch1\fP &_sch1)" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 79 of file Sch1.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1ObjectiveVectorTraits.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1ObjectiveVectorTraits.3 new file mode 100644 index 000000000..2908715d1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Sch1ObjectiveVectorTraits.3 @@ -0,0 +1,31 @@ +.TH "Sch1ObjectiveVectorTraits" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Sch1ObjectiveVectorTraits \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoObjectiveVectorTraits\fP. +.PP +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.in -1c +.SH "Detailed Description" +.PP +Definition at line 47 of file Sch1.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Solution.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Solution.3 new file mode 100644 index 000000000..74e41cee5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/Solution.3 @@ -0,0 +1,36 @@ +.TH "Solution" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Solution \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double >\fP, \fBmoeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double >\fP, \fBmoeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double >\fP, \fBmoeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double >\fP, and \fBmoeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double, double >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBSolution\fP ()" +.br +.ti -1c +.RI "\fBSolution\fP ()" +.br +.ti -1c +.RI "\fBSolution\fP ()" +.br +.ti -1c +.RI "\fBSolution\fP ()" +.br +.ti -1c +.RI "\fBSolution\fP ()" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 66 of file t-moeoEasyEA.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/TestEval.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/TestEval.3 new file mode 100644 index 000000000..0614e8025 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/TestEval.3 @@ -0,0 +1,36 @@ +.TH "TestEval" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +TestEval \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoEvalFunc< Solution >\fP, \fBmoeoEvalFunc< Solution >\fP, \fBmoeoEvalFunc< Solution >\fP, \fBmoeoEvalFunc< Solution >\fP, and \fBmoeoEvalFunc< Solution >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBSolution\fP &_sol)" +.br +.ti -1c +.RI "void \fBoperator()\fP (\fBSolution\fP &_sol)" +.br +.ti -1c +.RI "void \fBoperator()\fP (\fBSolution\fP &_sol)" +.br +.ti -1c +.RI "void \fBoperator()\fP (\fBSolution\fP &_sol)" +.br +.ti -1c +.RI "void \fBoperator()\fP (\fBSolution\fP &_sol)" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 72 of file t-moeoEasyEA.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAchievementFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAchievementFitnessAssignment.3 new file mode 100644 index 000000000..2487b1f99 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAchievementFitnessAssignment.3 @@ -0,0 +1,185 @@ +.TH "moeoAchievementFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoAchievementFitnessAssignment \- Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoScalarFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoAchievementFitnessAssignment\fP (\fBObjectiveVector\fP &_reference, std::vector< double > &_lambdas, double _spn=0.0001)" +.br +.RI "\fIDefault ctor. \fP" +.ti -1c +.RI "\fBmoeoAchievementFitnessAssignment\fP (\fBObjectiveVector\fP &_reference, double _spn=0.0001)" +.br +.RI "\fICtor with default values for lambdas (1/nObjectives). \fP" +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness values for every solution contained in the population _pop. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account (nothing to do). \fP" +.ti -1c +.RI "void \fBsetReference\fP (const \fBObjectiveVector\fP &_reference)" +.br +.RI "\fISets the reference point. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBinf\fP () const " +.br +.RI "\fIReturns a big value (regarded as infinite). \fP" +.ti -1c +.RI "void \fBcompute\fP (MOEOT &_moeo)" +.br +.RI "\fIComputes the fitness value for a solution. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBObjectiveVector\fP \fBreference\fP" +.br +.RI "\fIthe reference point \fP" +.ti -1c +.RI "std::vector< double > \fBlambdas\fP" +.br +.RI "\fIthe weighted coefficients vector \fP" +.ti -1c +.RI "double \fBspn\fP" +.br +.RI "\fIan arbitrary small positive number (0 < _spn << 1) \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoAchievementFitnessAssignment< MOEOT >" +Fitness assignment sheme based on the achievement scalarizing function propozed by Wiersbicki (1980). +.PP +Definition at line 49 of file moeoAchievementFitnessAssignment.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoAchievementFitnessAssignment\fP< MOEOT >::\fBmoeoAchievementFitnessAssignment\fP (\fBObjectiveVector\fP & _reference, std::vector< double > & _lambdas, double _spn = \fC0.0001\fP)\fC [inline]\fP" +.PP +Default ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_reference\fP reference point vector +.br +\fI_lambdas\fP weighted coefficients vector +.br +\fI_spn\fP arbitrary small positive number (0 < _spn << 1) +.RE +.PP + +.PP +Definition at line 63 of file moeoAchievementFitnessAssignment.h. +.PP +References moeoAchievementFitnessAssignment< MOEOT >::spn. +.SS "template \fBmoeoAchievementFitnessAssignment\fP< MOEOT >::\fBmoeoAchievementFitnessAssignment\fP (\fBObjectiveVector\fP & _reference, double _spn = \fC0.0001\fP)\fC [inline]\fP" +.PP +Ctor with default values for lambdas (1/nObjectives). +.PP +\fBParameters:\fP +.RS 4 +\fI_reference\fP reference point vector +.br +\fI_spn\fP arbitrary small positive number (0 < _spn << 1) +.RE +.PP + +.PP +Definition at line 79 of file moeoAchievementFitnessAssignment.h. +.PP +References moeoAchievementFitnessAssignment< MOEOT >::lambdas, moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(), and moeoAchievementFitnessAssignment< MOEOT >::spn. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoAchievementFitnessAssignment\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets the fitness values for every solution contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 100 of file moeoAchievementFitnessAssignment.h. +.PP +References moeoAchievementFitnessAssignment< MOEOT >::compute(). +.SS "template void \fBmoeoAchievementFitnessAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account (nothing to do). +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implements \fBmoeoFitnessAssignment< MOEOT >\fP. +.PP +Definition at line 114 of file moeoAchievementFitnessAssignment.h. +.SS "template void \fBmoeoAchievementFitnessAssignment\fP< MOEOT >::setReference (const \fBObjectiveVector\fP & _reference)\fC [inline]\fP" +.PP +Sets the reference point. +.PP +\fBParameters:\fP +.RS 4 +\fI_reference\fP the new reference point +.RE +.PP + +.PP +Definition at line 124 of file moeoAchievementFitnessAssignment.h. +.PP +References moeoAchievementFitnessAssignment< MOEOT >::reference. +.SS "template void \fBmoeoAchievementFitnessAssignment\fP< MOEOT >::compute (MOEOT & _moeo)\fC [inline, private]\fP" +.PP +Computes the fitness value for a solution. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo\fP the solution +.RE +.PP + +.PP +Definition at line 153 of file moeoAchievementFitnessAssignment.h. +.PP +References moeoAchievementFitnessAssignment< MOEOT >::inf(), moeoAchievementFitnessAssignment< MOEOT >::lambdas, moeoAchievementFitnessAssignment< MOEOT >::reference, and moeoAchievementFitnessAssignment< MOEOT >::spn. +.PP +Referenced by moeoAchievementFitnessAssignment< MOEOT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAdditiveEpsilonBinaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAdditiveEpsilonBinaryMetric.3 new file mode 100644 index 000000000..2018ae552 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAdditiveEpsilonBinaryMetric.3 @@ -0,0 +1,86 @@ +.TH "moeoAdditiveEpsilonBinaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoAdditiveEpsilonBinaryMetric \- Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "double \fBoperator()\fP (const \fBObjectiveVector\fP &_o1, const \fBObjectiveVector\fP &_o2)" +.br +.RI "\fIReturns the minimal distance by which the objective vector _o1 must be translated in all objectives so that it weakly dominates the objective vector _o2. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBepsilon\fP (const \fBObjectiveVector\fP &_o1, const \fBObjectiveVector\fP &_o2, const unsigned int _obj)" +.br +.RI "\fIReturns the epsilon value by which the objective vector _o1 must be translated in the objective _obj so that it dominates the objective vector _o2. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >" +Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C. + +M., Grunert da Fonseca V.: Performance Assessment of Multiobjective Optimizers: An Analysis and Review. IEEE Transactions on Evolutionary Computation 7(2), pp.117–132 (2003). +.PP +Definition at line 49 of file moeoAdditiveEpsilonBinaryMetric.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoAdditiveEpsilonBinaryMetric\fP< \fBObjectiveVector\fP >::operator() (const \fBObjectiveVector\fP & _o1, const \fBObjectiveVector\fP & _o2)\fC [inline]\fP" +.PP +Returns the minimal distance by which the objective vector _o1 must be translated in all objectives so that it weakly dominates the objective vector _o2. +.PP +\fBWarning:\fP +.RS 4 +don't forget to set the bounds for every objective before the call of this function +.RE +.PP +\fBParameters:\fP +.RS 4 +\fI_o1\fP the first objective vector +.br +\fI_o2\fP the second objective vector +.RE +.PP + +.PP +Definition at line 60 of file moeoAdditiveEpsilonBinaryMetric.h. +.PP +References moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >::epsilon(), and moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(). +.SS "template double \fBmoeoAdditiveEpsilonBinaryMetric\fP< \fBObjectiveVector\fP >::epsilon (const \fBObjectiveVector\fP & _o1, const \fBObjectiveVector\fP & _o2, const unsigned int _obj)\fC [inline, private]\fP" +.PP +Returns the epsilon value by which the objective vector _o1 must be translated in the objective _obj so that it dominates the objective vector _o2. +.PP +\fBParameters:\fP +.RS 4 +\fI_o1\fP the first objective vector +.br +\fI_o2\fP the second objective vector +.br +\fI_obj\fP the index of the objective +.RE +.PP + +.PP +Definition at line 89 of file moeoAdditiveEpsilonBinaryMetric.h. +.PP +References moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >::bounds. +.PP +Referenced by moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAggregativeComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAggregativeComparator.3 new file mode 100644 index 000000000..6a8dc1f04 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAggregativeComparator.3 @@ -0,0 +1,83 @@ +.TH "moeoAggregativeComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoAggregativeComparator \- Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoComparator< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoAggregativeComparator\fP (double _weightFitness=1.0, double _weightDiversity=1.0)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "const bool \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns true if _moeo1 < _moeo2 according to the aggregation of their fitness and diversity values. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBweightFitness\fP" +.br +.RI "\fIthe weight for fitness \fP" +.ti -1c +.RI "double \fBweightDiversity\fP" +.br +.RI "\fIthe weight for diversity \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoAggregativeComparator< MOEOT >" +Functor allowing to compare two solutions according to their fitness and diversity values, each according to its aggregative value. +.PP +Definition at line 47 of file moeoAggregativeComparator.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoAggregativeComparator\fP< MOEOT >::\fBmoeoAggregativeComparator\fP (double _weightFitness = \fC1.0\fP, double _weightDiversity = \fC1.0\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_weightFitness\fP the weight for fitness +.br +\fI_weightDiversity\fP the weight for diversity +.RE +.PP + +.PP +Definition at line 56 of file moeoAggregativeComparator.h. +.SH "Member Function Documentation" +.PP +.SS "template const bool \fBmoeoAggregativeComparator\fP< MOEOT >::operator() (const MOEOT & _moeo1, const MOEOT & _moeo2)\fC [inline]\fP" +.PP +Returns true if _moeo1 < _moeo2 according to the aggregation of their fitness and diversity values. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo1\fP the first solution +.br +\fI_moeo2\fP the second solution +.RE +.PP + +.PP +Definition at line 65 of file moeoAggregativeComparator.h. +.PP +References moeoAggregativeComparator< MOEOT >::weightDiversity, and moeoAggregativeComparator< MOEOT >::weightFitness. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAlgo.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAlgo.3 new file mode 100644 index 000000000..9c9f7f735 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoAlgo.3 @@ -0,0 +1,23 @@ +.TH "moeoAlgo" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoAlgo \- Abstract class for multi-objective algorithms. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherited by \fBmoeoEA< MOEOT >\fP, \fBmoeoLS< MOEOT, Type >\fP, and \fBmoeoLS< MOEOT, MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP +Abstract class for multi-objective algorithms. +.PP +Definition at line 44 of file moeoAlgo.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchive.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchive.3 new file mode 100644 index 000000000..ea5c7d019 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchive.3 @@ -0,0 +1,172 @@ +.TH "moeoArchive" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchive \- An archive is a secondary population that stores non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoPop< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type of an objective vector for a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoArchive\fP ()" +.br +.RI "\fIDefault ctor. \fP" +.ti -1c +.RI "\fBmoeoArchive\fP (\fBmoeoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > &_comparator)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "bool \fBdominates\fP (const \fBObjectiveVector\fP &_objectiveVector) const " +.br +.RI "\fIReturns true if the current archive dominates _objectiveVector according to the \fBmoeoObjectiveVectorComparator\fP given in the constructor. \fP" +.ti -1c +.RI "bool \fBcontains\fP (const \fBObjectiveVector\fP &_objectiveVector) const " +.br +.RI "\fIReturns true if the current archive already contains a solution with the same objective values than _objectiveVector. \fP" +.ti -1c +.RI "void \fBupdate\fP (const MOEOT &_moeo)" +.br +.RI "\fIUpdates the archive with a given individual _moeo. \fP" +.ti -1c +.RI "void \fBupdate\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIUpdates the archive with a given population _pop. \fP" +.ti -1c +.RI "bool \fBequals\fP (const \fBmoeoArchive\fP< MOEOT > &_arch)" +.br +.RI "\fIReturns true if the current archive contains the same objective vectors than the given archive _arch. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > & \fBcomparator\fP" +.br +.RI "\fIThe \fBmoeoObjectiveVectorComparator\fP used to compare solutions. \fP" +.ti -1c +.RI "\fBmoeoParetoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > \fBparetoComparator\fP" +.br +.RI "\fIA \fBmoeoObjectiveVectorComparator\fP based on Pareto dominance (used as default). \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchive< MOEOT >" +An archive is a secondary population that stores non-dominated solutions. +.PP +Definition at line 49 of file moeoArchive.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoArchive\fP< MOEOT >::\fBmoeoArchive\fP ()\fC [inline]\fP" +.PP +Default ctor. +.PP +The \fBmoeoObjectiveVectorComparator\fP used to compare solutions is based on Pareto dominance +.PP +Definition at line 70 of file moeoArchive.h. +.SS "template \fBmoeoArchive\fP< MOEOT >::\fBmoeoArchive\fP (\fBmoeoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > & _comparator)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_comparator\fP the \fBmoeoObjectiveVectorComparator\fP used to compare solutions +.RE +.PP + +.PP +Definition at line 78 of file moeoArchive.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoeoArchive\fP< MOEOT >::dominates (const \fBObjectiveVector\fP & _objectiveVector) const\fC [inline]\fP" +.PP +Returns true if the current archive dominates _objectiveVector according to the \fBmoeoObjectiveVectorComparator\fP given in the constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_objectiveVector\fP the objective vector to compare with the current archive +.RE +.PP + +.PP +Definition at line 86 of file moeoArchive.h. +.PP +References moeoArchive< MOEOT >::comparator. +.SS "template bool \fBmoeoArchive\fP< MOEOT >::contains (const \fBObjectiveVector\fP & _objectiveVector) const\fC [inline]\fP" +.PP +Returns true if the current archive already contains a solution with the same objective values than _objectiveVector. +.PP +\fBParameters:\fP +.RS 4 +\fI_objectiveVector\fP the objective vector to compare with the current archive +.RE +.PP + +.PP +Definition at line 104 of file moeoArchive.h. +.PP +Referenced by moeoArchive< MOEOT >::equals(). +.SS "template void \fBmoeoArchive\fP< MOEOT >::update (const MOEOT & _moeo)\fC [inline]\fP" +.PP +Updates the archive with a given individual _moeo. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo\fP the given individual +.RE +.PP + +.PP +Definition at line 121 of file moeoArchive.h. +.PP +References moeoArchive< MOEOT >::comparator. +.PP +Referenced by moeoArchive< MOEOT >::update(). +.SS "template void \fBmoeoArchive\fP< MOEOT >::update (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline]\fP" +.PP +Updates the archive with a given population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the given population +.RE +.PP + +.PP +Definition at line 164 of file moeoArchive.h. +.PP +References moeoArchive< MOEOT >::update(). +.SS "template bool \fBmoeoArchive\fP< MOEOT >::equals (const \fBmoeoArchive\fP< MOEOT > & _arch)\fC [inline]\fP" +.PP +Returns true if the current archive contains the same objective vectors than the given archive _arch. +.PP +\fBParameters:\fP +.RS 4 +\fI_arch\fP the given archive +.RE +.PP + +.PP +Definition at line 177 of file moeoArchive.h. +.PP +References moeoArchive< MOEOT >::contains(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchiveObjectiveVectorSavingUpdater.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchiveObjectiveVectorSavingUpdater.3 new file mode 100644 index 000000000..539d139b0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchiveObjectiveVectorSavingUpdater.3 @@ -0,0 +1,81 @@ +.TH "moeoArchiveObjectiveVectorSavingUpdater" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchiveObjectiveVectorSavingUpdater \- This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoArchiveObjectiveVectorSavingUpdater\fP (\fBmoeoArchive\fP< MOEOT > &_arch, const std::string &_filename, bool _count=false, int _id=-1)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fISaves the fitness of the archive's members into the file. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoArchive\fP< MOEOT > & \fBarch\fP" +.br +.RI "\fIlocal archive \fP" +.ti -1c +.RI "std::string \fBfilename\fP" +.br +.RI "\fItarget filename \fP" +.ti -1c +.RI "bool \fBcount\fP" +.br +.RI "\fIthis variable is set to true if a new file have to be created each time () is called and to false if the file only HAVE to be updated \fP" +.ti -1c +.RI "unsigned int \fBcounter\fP" +.br +.RI "\fIcounter \fP" +.ti -1c +.RI "int \fBid\fP" +.br +.RI "\fIown ID \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchiveObjectiveVectorSavingUpdater< MOEOT >" +This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation. +.PP +Definition at line 53 of file moeoArchiveObjectiveVectorSavingUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoArchiveObjectiveVectorSavingUpdater\fP< MOEOT >::\fBmoeoArchiveObjectiveVectorSavingUpdater\fP (\fBmoeoArchive\fP< MOEOT > & _arch, const std::string & _filename, bool _count = \fCfalse\fP, int _id = \fC-1\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_arch\fP local archive +.br +\fI_filename\fP target filename +.br +\fI_count\fP put this variable to true if you want a new file to be created each time () is called and to false if you only want the file to be updated +.br +\fI_id\fP own ID +.RE +.PP + +.PP +Definition at line 64 of file moeoArchiveObjectiveVectorSavingUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchiveUpdater.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchiveUpdater.3 new file mode 100644 index 000000000..1a548852d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoArchiveUpdater.3 @@ -0,0 +1,65 @@ +.TH "moeoArchiveUpdater" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchiveUpdater \- This class allows to update the archive at each generation with newly found non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoArchiveUpdater\fP (\fBmoeoArchive\fP< MOEOT > &_arch, const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fIUpdates the archive with newly found non-dominated solutions contained in the main population. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoArchive\fP< MOEOT > & \fBarch\fP" +.br +.RI "\fIthe archive of non-dominated solutions \fP" +.ti -1c +.RI "const \fBeoPop\fP< MOEOT > & \fBpop\fP" +.br +.RI "\fIthe main population \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchiveUpdater< MOEOT >" +This class allows to update the archive at each generation with newly found non-dominated solutions. +.PP +Definition at line 49 of file moeoArchiveUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoArchiveUpdater\fP< MOEOT >::\fBmoeoArchiveUpdater\fP (\fBmoeoArchive\fP< MOEOT > & _arch, const \fBeoPop\fP< MOEOT > & _pop)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_arch\fP an archive of non-dominated solutions +.br +\fI_pop\fP the main population +.RE +.PP + +.PP +Definition at line 58 of file moeoArchiveUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryIndicatorBasedFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryIndicatorBasedFitnessAssignment.3 new file mode 100644 index 000000000..66a53eb19 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryIndicatorBasedFitnessAssignment.3 @@ -0,0 +1,59 @@ +.TH "moeoBinaryIndicatorBasedFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryIndicatorBasedFitnessAssignment \- \fBmoeoIndicatorBasedFitnessAssignment\fP for binary indicators. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoIndicatorBasedFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +Inherited by \fBmoeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type for objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual double \fBupdateByAdding\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)=0" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the new objective vector _objVec into account and returns the fitness value of _objVec. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >" +\fBmoeoIndicatorBasedFitnessAssignment\fP for binary indicators. +.PP +Definition at line 47 of file moeoBinaryIndicatorBasedFitnessAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual double \fBmoeoBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::updateByAdding (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [pure virtual]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the new objective vector _objVec into account and returns the fitness value of _objVec. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implemented in \fBmoeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >\fP. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryMetric.3 new file mode 100644 index 000000000..6788550ec --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryMetric.3 @@ -0,0 +1,27 @@ +.TH "moeoBinaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryMetric \- Base class for binary metrics. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< A1, A2, R >\fP, and \fBmoeoMetric\fP. +.PP +Inherited by \fBmoeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >\fP, \fBmoeoSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >\fP, \fBmoeoSolutionVsSolutionBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, R >\fP, \fBmoeoSolutionVsSolutionBinaryMetric< MOEOT::ObjectiveVector, double >\fP, \fBmoeoVectorVsVectorBinaryMetric< ObjectiveVector, R >\fP, \fBmoeoVectorVsVectorBinaryMetric< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >\fP, and \fBmoeoVectorVsVectorBinaryMetric< MOEOT::ObjectiveVector, double >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryMetric< A1, A2, R >" +Base class for binary metrics. +.PP +Definition at line 63 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryMetricSavingUpdater.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryMetricSavingUpdater.3 new file mode 100644 index 000000000..e3a09c3b7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBinaryMetricSavingUpdater.3 @@ -0,0 +1,91 @@ +.TH "moeoBinaryMetricSavingUpdater" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryMetricSavingUpdater \- This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe objective vector type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryMetricSavingUpdater\fP (\fBmoeoVectorVsVectorBinaryMetric\fP< \fBObjectiveVector\fP, double > &_metric, const \fBeoPop\fP< MOEOT > &_pop, std::string _filename)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fISaves the metric's value for the current generation. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoVectorVsVectorBinaryMetric\fP< \fBObjectiveVector\fP, double > & \fBmetric\fP" +.br +.RI "\fIbinary metric comparing two Pareto sets \fP" +.ti -1c +.RI "const \fBeoPop\fP< MOEOT > & \fBpop\fP" +.br +.RI "\fImain population \fP" +.ti -1c +.RI "\fBeoPop\fP< MOEOT > \fBoldPop\fP" +.br +.RI "\fI(n-1) population \fP" +.ti -1c +.RI "std::string \fBfilename\fP" +.br +.RI "\fItarget filename \fP" +.ti -1c +.RI "bool \fBfirstGen\fP" +.br +.RI "\fIis it the first generation ? \fP" +.ti -1c +.RI "unsigned int \fBcounter\fP" +.br +.RI "\fIcounter \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryMetricSavingUpdater< MOEOT >" +This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file. +.PP +Definition at line 53 of file moeoBinaryMetricSavingUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoBinaryMetricSavingUpdater\fP< MOEOT >::\fBmoeoBinaryMetricSavingUpdater\fP (\fBmoeoVectorVsVectorBinaryMetric\fP< \fBObjectiveVector\fP, double > & _metric, const \fBeoPop\fP< MOEOT > & _pop, std::string _filename)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_metric\fP the binary metric comparing two Pareto sets +.br +\fI_pop\fP the main population +.br +\fI_filename\fP the target filename +.RE +.PP + +.PP +Definition at line 67 of file moeoBinaryMetricSavingUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBitVector.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBitVector.3 new file mode 100644 index 000000000..411438984 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoBitVector.3 @@ -0,0 +1,91 @@ +.TH "moeoBitVector" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBitVector \- This class is an implementationeo of a simple bit-valued \fBmoeoVector\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoBitVector\fP (unsigned int _size=0, bool _value=false)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "virtual std::string \fBclassName\fP () const " +.br +.RI "\fIReturns the class name as a std::string. \fP" +.ti -1c +.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " +.br +.RI "\fIWriting object. \fP" +.ti -1c +.RI "virtual void \fBreadFrom\fP (std::istream &_is)" +.br +.RI "\fIReading object. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >" +This class is an implementationeo of a simple bit-valued \fBmoeoVector\fP. +.PP +Definition at line 47 of file moeoBitVector.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoBitVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::\fBmoeoBitVector\fP (unsigned int _size = \fC0\fP, bool _value = \fCfalse\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_size\fP Length of vector (default is 0) +.br +\fI_value\fP Initial value of all elements (default is default value of type GeneType) +.RE +.PP + +.PP +Definition at line 62 of file moeoBitVector.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoBitVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" +.PP +Writing object. +.PP +\fBParameters:\fP +.RS 4 +\fI_os\fP output stream +.RE +.PP + +.PP +Reimplemented from \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP. +.PP +Definition at line 79 of file moeoBitVector.h. +.SS "template virtual void \fBmoeoBitVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::readFrom (std::istream & _is)\fC [inline, virtual]\fP" +.PP +Reading object. +.PP +\fBParameters:\fP +.RS 4 +\fI_is\fP input stream +.RE +.PP + +.PP +Reimplemented from \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP. +.PP +Definition at line 92 of file moeoBitVector.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCombinedLS.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCombinedLS.3 new file mode 100644 index 000000000..018662fee --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCombinedLS.3 @@ -0,0 +1,101 @@ +.TH "moeoCombinedLS" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoCombinedLS \- This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoLS< MOEOT, Type >< MOEOT, Type >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoCombinedLS\fP (\fBmoeoLS\fP< MOEOT, Type > &_first_mols)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBadd\fP (\fBmoeoLS\fP< MOEOT, Type > &_mols)" +.br +.RI "\fIAdds a new local search to combine. \fP" +.ti -1c +.RI "void \fBoperator()\fP (Type _type, \fBmoeoArchive\fP< MOEOT > &_arch)" +.br +.RI "\fIGives a new solution in order to explore the neigborhood. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "std::vector< \fBmoeoLS\fP< MOEOT, Type > * > \fBcombinedLS\fP" +.br +.RI "\fIthe vector that contains the combined LS \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoCombinedLS< MOEOT, Type >" +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. +.PP +Definition at line 50 of file moeoCombinedLS.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoCombinedLS\fP< MOEOT, Type >::\fBmoeoCombinedLS\fP (\fBmoeoLS\fP< MOEOT, Type > & _first_mols)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_first_mols\fP the first multi-objective local search to add +.RE +.PP + +.PP +Definition at line 58 of file moeoCombinedLS.h. +.PP +References moeoCombinedLS< MOEOT, Type >::combinedLS. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoCombinedLS\fP< MOEOT, Type >::add (\fBmoeoLS\fP< MOEOT, Type > & _mols)\fC [inline]\fP" +.PP +Adds a new local search to combine. +.PP +\fBParameters:\fP +.RS 4 +\fI_mols\fP the multi-objective local search to add +.RE +.PP + +.PP +Definition at line 67 of file moeoCombinedLS.h. +.PP +References moeoCombinedLS< MOEOT, Type >::combinedLS. +.SS "template void \fBmoeoCombinedLS\fP< MOEOT, Type >::operator() (Type _type, \fBmoeoArchive\fP< MOEOT > & _arch)\fC [inline, virtual]\fP" +.PP +Gives a new solution in order to explore the neigborhood. +.PP +The new non-dominated solutions are added to the archive +.PP +\fBParameters:\fP +.RS 4 +\fI_type\fP the object to apply the local search to +.br +\fI_arch\fP the archive of non-dominated solutions +.RE +.PP + +.PP +Implements \fBeoBF< Type, moeoArchive< MOEOT > &, void >\fP. +.PP +Definition at line 78 of file moeoCombinedLS.h. +.PP +References moeoCombinedLS< MOEOT, Type >::combinedLS. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoComparator.3 new file mode 100644 index 000000000..0f7154447 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoComparator.3 @@ -0,0 +1,27 @@ +.TH "moeoComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoComparator \- Functor allowing to compare two solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const MOEOT &, MOEOT &, bool >\fP. +.PP +Inherited by \fBmoeoAggregativeComparator< MOEOT >\fP, \fBmoeoDiversityThenFitnessComparator< MOEOT >\fP, \fBmoeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator\fP, \fBmoeoFitnessThenDiversityComparator< MOEOT >\fP, and \fBmoeoOneObjectiveComparator< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoComparator< MOEOT >" +Functor allowing to compare two solutions. +.PP +Definition at line 47 of file moeoComparator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoContributionMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoContributionMetric.3 new file mode 100644 index 000000000..95dc5edc3 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoContributionMetric.3 @@ -0,0 +1,129 @@ +.TH "moeoContributionMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoContributionMetric \- The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVectorVsVectorBinaryMetric< ObjectiveVector, R >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "double \fBoperator()\fP (const std::vector< \fBObjectiveVector\fP > &_set1, const std::vector< \fBObjectiveVector\fP > &_set2)" +.br +.RI "\fIReturns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "unsigned int \fBcard_C\fP (const std::vector< \fBObjectiveVector\fP > &_set1, const std::vector< \fBObjectiveVector\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions both in '_set1' and '_set2'. \fP" +.ti -1c +.RI "unsigned int \fBcard_W\fP (const std::vector< \fBObjectiveVector\fP > &_set1, const std::vector< \fBObjectiveVector\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions in '_set1' dominating at least one solution of '_set2'. \fP" +.ti -1c +.RI "unsigned int \fBcard_N\fP (const std::vector< \fBObjectiveVector\fP > &_set1, const std::vector< \fBObjectiveVector\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions in '_set1' having no relation of dominance with those from '_set2'. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoParetoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > \fBparetoComparator\fP" +.br +.RI "\fIFunctor to compare two objective vectors according to Pareto dominance relation. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoContributionMetric< ObjectiveVector >" +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. + +of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324) +.PP +Definition at line 49 of file moeoContributionMetric.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoContributionMetric\fP< \fBObjectiveVector\fP >::operator() (const std::vector< \fBObjectiveVector\fP > & _set1, const std::vector< \fBObjectiveVector\fP > & _set2)\fC [inline]\fP" +.PP +Returns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 58 of file moeoContributionMetric.h. +.PP +References moeoContributionMetric< ObjectiveVector >::card_C(), moeoContributionMetric< ObjectiveVector >::card_N(), and moeoContributionMetric< ObjectiveVector >::card_W(). +.SS "template unsigned int \fBmoeoContributionMetric\fP< \fBObjectiveVector\fP >::card_C (const std::vector< \fBObjectiveVector\fP > & _set1, const std::vector< \fBObjectiveVector\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions both in '_set1' and '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 80 of file moeoContributionMetric.h. +.PP +Referenced by moeoContributionMetric< ObjectiveVector >::operator()(). +.SS "template unsigned int \fBmoeoContributionMetric\fP< \fBObjectiveVector\fP >::card_W (const std::vector< \fBObjectiveVector\fP > & _set1, const std::vector< \fBObjectiveVector\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions in '_set1' dominating at least one solution of '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 99 of file moeoContributionMetric.h. +.PP +References moeoContributionMetric< ObjectiveVector >::paretoComparator. +.PP +Referenced by moeoContributionMetric< ObjectiveVector >::operator()(). +.SS "template unsigned int \fBmoeoContributionMetric\fP< \fBObjectiveVector\fP >::card_N (const std::vector< \fBObjectiveVector\fP > & _set1, const std::vector< \fBObjectiveVector\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions in '_set1' having no relation of dominance with those from '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 118 of file moeoContributionMetric.h. +.PP +References moeoContributionMetric< ObjectiveVector >::paretoComparator. +.PP +Referenced by moeoContributionMetric< ObjectiveVector >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoConvertPopToObjectiveVectors.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoConvertPopToObjectiveVectors.3 new file mode 100644 index 000000000..3f054bff8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoConvertPopToObjectiveVectors.3 @@ -0,0 +1,47 @@ +.TH "moeoConvertPopToObjectiveVectors" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoConvertPopToObjectiveVectors \- Functor allowing to get a vector of objective vectors from a population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< A1, R >< eoPop< MOEOT >, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "const std::vector< \fBObjectiveVector\fP > \fBoperator()\fP (const \fBeoPop\fP< MOEOT > _pop)" +.br +.RI "\fIReturns a vector of the objective vectors from the population _pop. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >" +Functor allowing to get a vector of objective vectors from a population. +.PP +Definition at line 48 of file moeoConvertPopToObjectiveVectors.h. +.SH "Member Function Documentation" +.PP +.SS "template const std::vector< \fBObjectiveVector\fP > \fBmoeoConvertPopToObjectiveVectors\fP< MOEOT, \fBObjectiveVector\fP >::operator() (const \fBeoPop\fP< MOEOT > _pop)\fC [inline]\fP" +.PP +Returns a vector of the objective vectors from the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 56 of file moeoConvertPopToObjectiveVectors.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCriterionBasedFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCriterionBasedFitnessAssignment.3 new file mode 100644 index 000000000..66ff10d17 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCriterionBasedFitnessAssignment.3 @@ -0,0 +1,25 @@ +.TH "moeoCriterionBasedFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoCriterionBasedFitnessAssignment \- \fBmoeoCriterionBasedFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP for criterion-based strategies. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoCriterionBasedFitnessAssignment< MOEOT >" +\fBmoeoCriterionBasedFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP for criterion-based strategies. +.PP +Definition at line 47 of file moeoCriterionBasedFitnessAssignment.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCrowdingDiversityAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCrowdingDiversityAssignment.3 new file mode 100644 index 000000000..e61dddeca --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoCrowdingDiversityAssignment.3 @@ -0,0 +1,126 @@ +.TH "moeoCrowdingDiversityAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoCrowdingDiversityAssignment \- Diversity assignment sheme based on crowding proposed in: K. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoDiversityAssignment< MOEOT >< MOEOT >\fP. +.PP +Inherited by \fBmoeoFrontByFrontCrowdingDiversityAssignment< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "double \fBinf\fP () const " +.br +.RI "\fIReturns a big value (regarded as infinite). \fP" +.ti -1c +.RI "double \fBtiny\fP () const " +.br +.RI "\fIReturns a very small value that can be used to avoid extreme cases (where the min bound == the max bound). \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIComputes diversity values for every solution contained in the population _pop. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.in -1c +.SS "Protected Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBsetDistances\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the distance values. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoCrowdingDiversityAssignment< MOEOT >" +Diversity assignment sheme based on crowding proposed in: K. + +Deb, A. Pratap, S. Agarwal, T. Meyarivan, 'A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II', IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). +.PP +Definition at line 50 of file moeoCrowdingDiversityAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoCrowdingDiversityAssignment\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Computes diversity values for every solution contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 80 of file moeoCrowdingDiversityAssignment.h. +.PP +References moeoCrowdingDiversityAssignment< MOEOT >::inf(), and moeoCrowdingDiversityAssignment< MOEOT >::setDistances(). +.SS "template void \fBmoeoCrowdingDiversityAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +\fBWarning:\fP +.RS 4 +NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.RE +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP +\fBWarning:\fP +.RS 4 +NOT IMPLEMENTED, DO NOTHING ! +.RE +.PP + +.PP +Implements \fBmoeoDiversityAssignment< MOEOT >\fP. +.PP +Reimplemented in \fBmoeoFrontByFrontCrowdingDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 103 of file moeoCrowdingDiversityAssignment.h. +.SS "template virtual void \fBmoeoCrowdingDiversityAssignment\fP< MOEOT >::setDistances (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, protected, virtual]\fP" +.PP +Sets the distance values. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Reimplemented in \fBmoeoFrontByFrontCrowdingDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 115 of file moeoCrowdingDiversityAssignment.h. +.PP +References moeoCrowdingDiversityAssignment< MOEOT >::inf(). +.PP +Referenced by moeoCrowdingDiversityAssignment< MOEOT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDetTournamentSelect.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDetTournamentSelect.3 new file mode 100644 index 000000000..5d9a26b41 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDetTournamentSelect.3 @@ -0,0 +1,107 @@ +.TH "moeoDetTournamentSelect" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDetTournamentSelect \- Selection strategy that selects ONE individual by deterministic tournament. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoSelectOne< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoDetTournamentSelect\fP (\fBmoeoComparator\fP< MOEOT > &_comparator, unsigned int _tSize=2)" +.br +.RI "\fIFull Ctor. \fP" +.ti -1c +.RI "\fBmoeoDetTournamentSelect\fP (unsigned int _tSize=2)" +.br +.RI "\fICtor without comparator. \fP" +.ti -1c +.RI "const MOEOT & \fBoperator()\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApply the tournament to the given population. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoComparator\fP< MOEOT > & \fBcomparator\fP" +.br +.RI "\fIthe comparator (used to compare 2 individuals) \fP" +.ti -1c +.RI "\fBmoeoFitnessThenDiversityComparator\fP< MOEOT > \fBdefaultComparator\fP" +.br +.RI "\fIa fitness then diversity comparator can be used as default \fP" +.ti -1c +.RI "unsigned int \fBtSize\fP" +.br +.RI "\fIthe number of individuals in the tournament \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDetTournamentSelect< MOEOT >" +Selection strategy that selects ONE individual by deterministic tournament. +.PP +Definition at line 49 of file moeoDetTournamentSelect.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoDetTournamentSelect\fP< MOEOT >::\fBmoeoDetTournamentSelect\fP (\fBmoeoComparator\fP< MOEOT > & _comparator, unsigned int _tSize = \fC2\fP)\fC [inline]\fP" +.PP +Full Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_comparator\fP the comparator (used to compare 2 individuals) +.br +\fI_tSize\fP the number of individuals in the tournament (default: 2) +.RE +.PP + +.PP +Definition at line 58 of file moeoDetTournamentSelect.h. +.PP +References moeoDetTournamentSelect< MOEOT >::tSize. +.SS "template \fBmoeoDetTournamentSelect\fP< MOEOT >::\fBmoeoDetTournamentSelect\fP (unsigned int _tSize = \fC2\fP)\fC [inline]\fP" +.PP +Ctor without comparator. +.PP +A \fBmoeoFitnessThenDiversityComparator\fP is used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_tSize\fP the number of individuals in the tournament (default: 2) +.RE +.PP + +.PP +Definition at line 74 of file moeoDetTournamentSelect.h. +.PP +References moeoDetTournamentSelect< MOEOT >::tSize. +.SH "Member Function Documentation" +.PP +.SS "template const MOEOT& \fBmoeoDetTournamentSelect\fP< MOEOT >::operator() (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline]\fP" +.PP +Apply the tournament to the given population. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 90 of file moeoDetTournamentSelect.h. +.PP +References moeoDetTournamentSelect< MOEOT >::comparator, and moeoDetTournamentSelect< MOEOT >::tSize. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDistance.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDistance.3 new file mode 100644 index 000000000..4db48d85d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDistance.3 @@ -0,0 +1,93 @@ +.TH "moeoDistance" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDistance \- The base class for distance computation. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const MOEOT &, MOEOT &, Type >\fP. +.PP +Inherited by \fBmoeoNormalizedDistance< MOEOT, Type >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBsetup\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fINothing to do. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (double _min, double _max, unsigned int _obj)" +.br +.RI "\fINothing to do. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (\fBeoRealInterval\fP _realInterval, unsigned int _obj)" +.br +.RI "\fINothing to do. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDistance< MOEOT, Type >" +The base class for distance computation. +.PP +Definition at line 47 of file moeoDistance.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoDistance\fP< MOEOT, Type >::setup (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Nothing to do. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Reimplemented in \fBmoeoNormalizedDistance< MOEOT, Type >\fP, and \fBmoeoNormalizedDistance< MOEOT >\fP. +.PP +Definition at line 55 of file moeoDistance.h. +.SS "template virtual void \fBmoeoDistance\fP< MOEOT, Type >::setup (double _min, double _max, unsigned int _obj)\fC [inline, virtual]\fP" +.PP +Nothing to do. +.PP +\fBParameters:\fP +.RS 4 +\fI_min\fP lower bound +.br +\fI_max\fP upper bound +.br +\fI_obj\fP the objective index +.RE +.PP + +.PP +Reimplemented in \fBmoeoNormalizedDistance< MOEOT, Type >\fP, and \fBmoeoNormalizedDistance< MOEOT >\fP. +.PP +Definition at line 65 of file moeoDistance.h. +.SS "template virtual void \fBmoeoDistance\fP< MOEOT, Type >::setup (\fBeoRealInterval\fP _realInterval, unsigned int _obj)\fC [inline, virtual]\fP" +.PP +Nothing to do. +.PP +\fBParameters:\fP +.RS 4 +\fI_realInterval\fP the \fBeoRealInterval\fP object +.br +\fI_obj\fP the objective index +.RE +.PP + +.PP +Reimplemented in \fBmoeoNormalizedDistance< MOEOT, Type >\fP, and \fBmoeoNormalizedDistance< MOEOT >\fP. +.PP +Definition at line 74 of file moeoDistance.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDistanceMatrix.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDistanceMatrix.3 new file mode 100644 index 000000000..bcf352126 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDistanceMatrix.3 @@ -0,0 +1,79 @@ +.TH "moeoDistanceMatrix" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDistanceMatrix \- A matrix to compute distances between every pair of individuals contained in a population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< const eoPop< MOEOT > &, void >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoDistanceMatrix\fP (unsigned int _size, \fBmoeoDistance\fP< MOEOT, Type > &_distance)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the distance between every pair of individuals contained in the population _pop. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoDistance\fP< MOEOT, Type > & \fBdistance\fP" +.br +.RI "\fIthe distance to use \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDistanceMatrix< MOEOT, Type >" +A matrix to compute distances between every pair of individuals contained in a population. +.PP +Definition at line 49 of file moeoDistanceMatrix.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoDistanceMatrix\fP< MOEOT, Type >::\fBmoeoDistanceMatrix\fP (unsigned int _size, \fBmoeoDistance\fP< MOEOT, Type > & _distance)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_size\fP size for every dimension of the matrix +.br +\fI_distance\fP the distance to use +.RE +.PP + +.PP +Definition at line 62 of file moeoDistanceMatrix.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoDistanceMatrix\fP< MOEOT, Type >::operator() (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets the distance between every pair of individuals contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< const eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 76 of file moeoDistanceMatrix.h. +.PP +References moeoDistanceMatrix< MOEOT, Type >::distance. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDiversityAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDiversityAssignment.3 new file mode 100644 index 000000000..2db0c512f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDiversityAssignment.3 @@ -0,0 +1,81 @@ +.TH "moeoDiversityAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDiversityAssignment \- Functor that sets the diversity values of a whole population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Inherited by \fBmoeoCrowdingDiversityAssignment< MOEOT >\fP, \fBmoeoDummyDiversityAssignment< MOEOT >\fP, and \fBmoeoSharingDiversityAssignment< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type for objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)=0" +.br +.RI "\fIUpdates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, MOEOT &_moeo)" +.br +.RI "\fIUpdates the diversity values of the whole population _pop by taking the deletion of the individual _moeo into account. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDiversityAssignment< MOEOT >" +Functor that sets the diversity values of a whole population. +.PP +Definition at line 48 of file moeoDiversityAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoDiversityAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [pure virtual]\fP" +.PP +Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implemented in \fBmoeoCrowdingDiversityAssignment< MOEOT >\fP, \fBmoeoDummyDiversityAssignment< MOEOT >\fP, \fBmoeoFrontByFrontCrowdingDiversityAssignment< MOEOT >\fP, \fBmoeoFrontByFrontSharingDiversityAssignment< MOEOT >\fP, and \fBmoeoSharingDiversityAssignment< MOEOT >\fP. +.PP +Referenced by moeoDiversityAssignment< MOEOT >::updateByDeleting(). +.SS "template void \fBmoeoDiversityAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, MOEOT & _moeo)\fC [inline]\fP" +.PP +Updates the diversity values of the whole population _pop by taking the deletion of the individual _moeo into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_moeo\fP the individual +.RE +.PP + +.PP +Definition at line 69 of file moeoDiversityAssignment.h. +.PP +References moeoDiversityAssignment< MOEOT >::updateByDeleting(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDiversityThenFitnessComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDiversityThenFitnessComparator.3 new file mode 100644 index 000000000..37fbcc5d1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDiversityThenFitnessComparator.3 @@ -0,0 +1,49 @@ +.TH "moeoDiversityThenFitnessComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDiversityThenFitnessComparator \- Functor allowing to compare two solutions according to their diversity values, then according to their fitness values. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoComparator< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "const bool \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns true if _moeo1 < _moeo2 according to their diversity values, then according to their fitness values. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDiversityThenFitnessComparator< MOEOT >" +Functor allowing to compare two solutions according to their diversity values, then according to their fitness values. +.PP +Definition at line 47 of file moeoDiversityThenFitnessComparator.h. +.SH "Member Function Documentation" +.PP +.SS "template const bool \fBmoeoDiversityThenFitnessComparator\fP< MOEOT >::operator() (const MOEOT & _moeo1, const MOEOT & _moeo2)\fC [inline]\fP" +.PP +Returns true if _moeo1 < _moeo2 according to their diversity values, then according to their fitness values. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo1\fP the first solution +.br +\fI_moeo2\fP the second solution +.RE +.PP + +.PP +Definition at line 56 of file moeoDiversityThenFitnessComparator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDummyDiversityAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDummyDiversityAssignment.3 new file mode 100644 index 000000000..96061853c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDummyDiversityAssignment.3 @@ -0,0 +1,77 @@ +.TH "moeoDummyDiversityAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDummyDiversityAssignment \- \fBmoeoDummyDiversityAssignment\fP is a \fBmoeoDiversityAssignment\fP that gives the value '0' as the individual's diversity for a whole population if it is invalid. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoDiversityAssignment< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type for objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the diversity to '0' for every individuals of the population _pop if it is invalid. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.RI "\fIUpdates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDummyDiversityAssignment< MOEOT >" +\fBmoeoDummyDiversityAssignment\fP is a \fBmoeoDiversityAssignment\fP that gives the value '0' as the individual's diversity for a whole population if it is invalid. +.PP +Definition at line 47 of file moeoDummyDiversityAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoDummyDiversityAssignment\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets the diversity to '0' for every individuals of the population _pop if it is invalid. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 59 of file moeoDummyDiversityAssignment.h. +.SS "template void \fBmoeoDummyDiversityAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implements \fBmoeoDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 77 of file moeoDummyDiversityAssignment.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDummyFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDummyFitnessAssignment.3 new file mode 100644 index 000000000..26f1e253f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoDummyFitnessAssignment.3 @@ -0,0 +1,77 @@ +.TH "moeoDummyFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDummyFitnessAssignment \- \fBmoeoDummyFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP that gives the value '0' as the individual's fitness for a whole population if it is invalid. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type for objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness to '0' for every individuals of the population _pop if it is invalid. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDummyFitnessAssignment< MOEOT >" +\fBmoeoDummyFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP that gives the value '0' as the individual's fitness for a whole population if it is invalid. +.PP +Definition at line 47 of file moeoDummyFitnessAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoDummyFitnessAssignment\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets the fitness to '0' for every individuals of the population _pop if it is invalid. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 59 of file moeoDummyFitnessAssignment.h. +.SS "template void \fBmoeoDummyFitnessAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implements \fBmoeoFitnessAssignment< MOEOT >\fP. +.PP +Definition at line 77 of file moeoDummyFitnessAssignment.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEA.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEA.3 new file mode 100644 index 000000000..237543ca0 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEA.3 @@ -0,0 +1,27 @@ +.TH "moeoEA" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEA \- Abstract class for multi-objective evolutionary algorithms. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoAlgo\fP, and \fBeoAlgo< MOEOT >\fP. +.PP +Inherited by \fBmoeoEasyEA< MOEOT >\fP, \fBmoeoIBEA< MOEOT >\fP, \fBmoeoNSGA< MOEOT >\fP, and \fBmoeoNSGAII< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoEA< MOEOT >" +Abstract class for multi-objective evolutionary algorithms. +.PP +Definition at line 48 of file moeoEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA.3 new file mode 100644 index 000000000..580d9a820 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA.3 @@ -0,0 +1,283 @@ +.TH "moeoEasyEA" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEasyEA \- An easy class to design multi-objective evolutionary algorithms. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoEA< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoBreed\fP< MOEOT > &_breed, \fBmoeoReplacement\fP< MOEOT > &_replace, \fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)" +.br +.RI "\fICtor taking a breed and merge. \fP" +.ti -1c +.RI "\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoPopEvalFunc\fP< MOEOT > &_popEval, \fBeoBreed\fP< MOEOT > &_breed, \fBmoeoReplacement\fP< MOEOT > &_replace, \fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)" +.br +.RI "\fICtor taking a breed, a merge and a eoPopEval. \fP" +.ti -1c +.RI "\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoBreed\fP< MOEOT > &_breed, \fBeoMerge\fP< MOEOT > &_merge, \fBeoReduce\fP< MOEOT > &_reduce, \fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)" +.br +.RI "\fICtor taking a breed, a merge and a reduce. \fP" +.ti -1c +.RI "\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoSelect\fP< MOEOT > &_select, \fBeoTransform\fP< MOEOT > &_transform, \fBmoeoReplacement\fP< MOEOT > &_replace, \fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)" +.br +.RI "\fICtor taking a select, a transform and a replacement. \fP" +.ti -1c +.RI "\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoSelect\fP< MOEOT > &_select, \fBeoTransform\fP< MOEOT > &_transform, \fBeoMerge\fP< MOEOT > &_merge, \fBeoReduce\fP< MOEOT > &_reduce, \fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityEval, bool _evalFitAndDivBeforeSelection=false)" +.br +.RI "\fICtor taking a select, a transform, a merge and a reduce. \fP" +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApplies a few generation of evolution to the population _pop. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBeoContinue\fP< MOEOT > & \fBcontinuator\fP" +.br +.RI "\fIthe stopping criteria \fP" +.ti -1c +.RI "\fBeoEvalFunc\fP< MOEOT > & \fBeval\fP" +.br +.RI "\fIthe evaluation functions \fP" +.ti -1c +.RI "\fBeoPopLoopEval\fP< MOEOT > \fBloopEval\fP" +.br +.RI "\fIto evaluate the whole population \fP" +.ti -1c +.RI "\fBeoPopEvalFunc\fP< MOEOT > & \fBpopEval\fP" +.br +.RI "\fIto evaluate the whole population \fP" +.ti -1c +.RI "\fBeoSelectTransform\fP< MOEOT > \fBselectTransform\fP" +.br +.RI "\fIbreed: a select followed by a transform \fP" +.ti -1c +.RI "\fBeoBreed\fP< MOEOT > & \fBbreed\fP" +.br +.RI "\fIthe breeder \fP" +.ti -1c +.RI "\fBeoMergeReduce\fP< MOEOT > \fBmergeReduce\fP" +.br +.RI "\fIreplacement: a merge followed by a reduce \fP" +.ti -1c +.RI "\fBmoeoReplacement\fP< MOEOT > & \fBreplace\fP" +.br +.RI "\fIthe replacment strategy \fP" +.ti -1c +.RI "\fBmoeoFitnessAssignment\fP< MOEOT > & \fBfitnessEval\fP" +.br +.RI "\fIthe fitness assignment strategy \fP" +.ti -1c +.RI "\fBmoeoDiversityAssignment\fP< MOEOT > & \fBdiversityEval\fP" +.br +.RI "\fIthe diversity assignment strategy \fP" +.ti -1c +.RI "bool \fBevalFitAndDivBeforeSelection\fP" +.br +.RI "\fIif this parameter is set to 'true', the fitness and the diversity of the whole population will be re-evaluated before the selection process \fP" +.ti -1c +.RI "\fBmoeoEasyEA::eoDummyEval\fP \fBdummyEval\fP" +.br +.RI "\fIa dummy eval \fP" +.ti -1c +.RI "\fBmoeoEasyEA::eoDummySelect\fP \fBdummySelect\fP" +.br +.RI "\fIa dummy select \fP" +.ti -1c +.RI "\fBmoeoEasyEA::eoDummyTransform\fP \fBdummyTransform\fP" +.br +.RI "\fIa dummy transform \fP" +.ti -1c +.RI "\fBeoNoElitism\fP< MOEOT > \fBdummyMerge\fP" +.br +.RI "\fIa dummy merge \fP" +.ti -1c +.RI "\fBeoTruncate\fP< MOEOT > \fBdummyReduce\fP" +.br +.RI "\fIa dummy reduce \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBeoDummyEval\fP" +.br +.RI "\fIa dummy eval \fP" +.ti -1c +.RI "class \fBeoDummySelect\fP" +.br +.RI "\fIa dummy select \fP" +.ti -1c +.RI "class \fBeoDummyTransform\fP" +.br +.RI "\fIa dummy transform \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEasyEA< MOEOT >" +An easy class to design multi-objective evolutionary algorithms. +.PP +Definition at line 58 of file moeoEasyEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoEasyEA\fP< MOEOT >::\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoBreed\fP< MOEOT > & _breed, \fBmoeoReplacement\fP< MOEOT > & _replace, \fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = \fCfalse\fP)\fC [inline]\fP" +.PP +Ctor taking a breed and merge. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP the stopping criteria +.br +\fI_eval\fP the evaluation functions +.br +\fI_breed\fP the breeder +.br +\fI_replace\fP the replacement strategy +.br +\fI_fitnessEval\fP the fitness evaluation scheme +.br +\fI_diversityEval\fP the diversity evaluation scheme +.br +\fI_evalFitAndDivBeforeSelection\fP put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process +.RE +.PP + +.PP +Definition at line 72 of file moeoEasyEA.h. +.SS "template \fBmoeoEasyEA\fP< MOEOT >::\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoPopEvalFunc\fP< MOEOT > & _popEval, \fBeoBreed\fP< MOEOT > & _breed, \fBmoeoReplacement\fP< MOEOT > & _replace, \fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = \fCfalse\fP)\fC [inline]\fP" +.PP +Ctor taking a breed, a merge and a eoPopEval. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP the stopping criteria +.br +\fI_popEval\fP the evaluation functions for the whole population +.br +\fI_breed\fP the breeder +.br +\fI_replace\fP the replacement strategy +.br +\fI_fitnessEval\fP the fitness evaluation scheme +.br +\fI_diversityEval\fP the diversity evaluation scheme +.br +\fI_evalFitAndDivBeforeSelection\fP put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process +.RE +.PP + +.PP +Definition at line 90 of file moeoEasyEA.h. +.SS "template \fBmoeoEasyEA\fP< MOEOT >::\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoBreed\fP< MOEOT > & _breed, \fBeoMerge\fP< MOEOT > & _merge, \fBeoReduce\fP< MOEOT > & _reduce, \fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = \fCfalse\fP)\fC [inline]\fP" +.PP +Ctor taking a breed, a merge and a reduce. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP the stopping criteria +.br +\fI_eval\fP the evaluation functions +.br +\fI_breed\fP the breeder +.br +\fI_merge\fP the merge scheme +.br +\fI_reduce\fP the reduce scheme +.br +\fI_fitnessEval\fP the fitness evaluation scheme +.br +\fI_diversityEval\fP the diversity evaluation scheme +.br +\fI_evalFitAndDivBeforeSelection\fP put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process +.RE +.PP + +.PP +Definition at line 109 of file moeoEasyEA.h. +.SS "template \fBmoeoEasyEA\fP< MOEOT >::\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoSelect\fP< MOEOT > & _select, \fBeoTransform\fP< MOEOT > & _transform, \fBmoeoReplacement\fP< MOEOT > & _replace, \fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = \fCfalse\fP)\fC [inline]\fP" +.PP +Ctor taking a select, a transform and a replacement. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP the stopping criteria +.br +\fI_eval\fP the evaluation functions +.br +\fI_select\fP the selection scheme +.br +\fI_transform\fP the tranformation scheme +.br +\fI_replace\fP the replacement strategy +.br +\fI_fitnessEval\fP the fitness evaluation scheme +.br +\fI_diversityEval\fP the diversity evaluation scheme +.br +\fI_evalFitAndDivBeforeSelection\fP put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process +.RE +.PP + +.PP +Definition at line 128 of file moeoEasyEA.h. +.SS "template \fBmoeoEasyEA\fP< MOEOT >::\fBmoeoEasyEA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoSelect\fP< MOEOT > & _select, \fBeoTransform\fP< MOEOT > & _transform, \fBeoMerge\fP< MOEOT > & _merge, \fBeoReduce\fP< MOEOT > & _reduce, \fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessEval, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityEval, bool _evalFitAndDivBeforeSelection = \fCfalse\fP)\fC [inline]\fP" +.PP +Ctor taking a select, a transform, a merge and a reduce. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP the stopping criteria +.br +\fI_eval\fP the evaluation functions +.br +\fI_select\fP the selection scheme +.br +\fI_transform\fP the tranformation scheme +.br +\fI_merge\fP the merge scheme +.br +\fI_reduce\fP the reduce scheme +.br +\fI_fitnessEval\fP the fitness evaluation scheme +.br +\fI_diversityEval\fP the diversity evaluation scheme +.br +\fI_evalFitAndDivBeforeSelection\fP put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process +.RE +.PP + +.PP +Definition at line 148 of file moeoEasyEA.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoEasyEA\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Applies a few generation of evolution to the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 160 of file moeoEasyEA.h. +.PP +References moeoEasyEA< MOEOT >::breed, moeoEasyEA< MOEOT >::continuator, moeoEasyEA< MOEOT >::diversityEval, moeoEasyEA< MOEOT >::evalFitAndDivBeforeSelection, moeoEasyEA< MOEOT >::fitnessEval, moeoEasyEA< MOEOT >::popEval, and moeoEasyEA< MOEOT >::replace. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummyEval.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummyEval.3 new file mode 100644 index 000000000..cfe5e1c64 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummyEval.3 @@ -0,0 +1,33 @@ +.TH "moeoEasyEA::eoDummyEval" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEasyEA::eoDummyEval \- a dummy eval + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoEvalFunc< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (MOEOT &)" +.br +.RI "\fIthe dummy functor \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEasyEA< MOEOT >::eoDummyEval" +a dummy eval +.PP +Definition at line 226 of file moeoEasyEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummySelect.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummySelect.3 new file mode 100644 index 000000000..f60dbe878 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummySelect.3 @@ -0,0 +1,33 @@ +.TH "moeoEasyEA::eoDummySelect" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEasyEA::eoDummySelect \- a dummy select + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoSelect< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (const \fBeoPop\fP< MOEOT > &, \fBeoPop\fP< MOEOT > &)" +.br +.RI "\fIthe dummy functor \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEasyEA< MOEOT >::eoDummySelect" +a dummy select +.PP +Definition at line 234 of file moeoEasyEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummyTransform.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummyTransform.3 new file mode 100644 index 000000000..02dfdf533 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEasyEA_eoDummyTransform.3 @@ -0,0 +1,33 @@ +.TH "moeoEasyEA::eoDummyTransform" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEasyEA::eoDummyTransform \- a dummy transform + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoTransform< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &)" +.br +.RI "\fIthe dummy functor \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEasyEA< MOEOT >::eoDummyTransform" +a dummy transform +.PP +Definition at line 242 of file moeoEasyEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoElitistReplacement.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoElitistReplacement.3 new file mode 100644 index 000000000..0eb5c34c7 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoElitistReplacement.3 @@ -0,0 +1,163 @@ +.TH "moeoElitistReplacement" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoElitistReplacement \- Elitist replacement strategy that consists in keeping the N best individuals. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoReplacement< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoElitistReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessAssignment, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityAssignment, \fBmoeoComparator\fP< MOEOT > &_comparator)" +.br +.RI "\fIFull constructor. \fP" +.ti -1c +.RI "\fBmoeoElitistReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessAssignment, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityAssignment)" +.br +.RI "\fIConstructor without comparator. \fP" +.ti -1c +.RI "\fBmoeoElitistReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessAssignment, \fBmoeoComparator\fP< MOEOT > &_comparator)" +.br +.RI "\fIConstructor without moeoDiversityAssignement. \fP" +.ti -1c +.RI "\fBmoeoElitistReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessAssignment)" +.br +.RI "\fIConstructor without moeoDiversityAssignement nor \fBmoeoComparator\fP. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_parents, \fBeoPop\fP< MOEOT > &_offspring)" +.br +.RI "\fIReplaces the first population by adding the individuals of the second one, sorting with a \fBmoeoComparator\fP and resizing the whole population obtained. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoFitnessAssignment\fP< MOEOT > & \fBfitnessAssignment\fP" +.br +.RI "\fIthe fitness assignment strategy \fP" +.ti -1c +.RI "\fBmoeoDiversityAssignment\fP< MOEOT > & \fBdiversityAssignment\fP" +.br +.RI "\fIthe diversity assignment strategy \fP" +.ti -1c +.RI "\fBmoeoDummyDiversityAssignment\fP< MOEOT > \fBdefaultDiversity\fP" +.br +.RI "\fIa dummy diversity assignment can be used as default \fP" +.ti -1c +.RI "\fBmoeoFitnessThenDiversityComparator\fP< MOEOT > \fBdefaultComparator\fP" +.br +.RI "\fIa fitness then diversity comparator can be used as default \fP" +.ti -1c +.RI "\fBmoeoElitistReplacement::Cmp\fP \fBcomparator\fP" +.br +.RI "\fIthis object is used to compare solutions in order to sort the population \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBCmp\fP" +.br +.RI "\fIthis object is used to compare solutions in order to sort the population \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoElitistReplacement< MOEOT >" +Elitist replacement strategy that consists in keeping the N best individuals. +.PP +Definition at line 51 of file moeoElitistReplacement.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoElitistReplacement\fP< MOEOT >::\fBmoeoElitistReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessAssignment, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityAssignment, \fBmoeoComparator\fP< MOEOT > & _comparator)\fC [inline]\fP" +.PP +Full constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessAssignment\fP the fitness assignment strategy +.br +\fI_diversityAssignment\fP the diversity assignment strategy +.br +\fI_comparator\fP the comparator (used to compare 2 individuals) +.RE +.PP + +.PP +Definition at line 61 of file moeoElitistReplacement.h. +.SS "template \fBmoeoElitistReplacement\fP< MOEOT >::\fBmoeoElitistReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessAssignment, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityAssignment)\fC [inline]\fP" +.PP +Constructor without comparator. +.PP +A moeoFitThenDivComparator is used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessAssignment\fP the fitness assignment strategy +.br +\fI_diversityAssignment\fP the diversity assignment strategy +.RE +.PP + +.PP +Definition at line 71 of file moeoElitistReplacement.h. +.SS "template \fBmoeoElitistReplacement\fP< MOEOT >::\fBmoeoElitistReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessAssignment, \fBmoeoComparator\fP< MOEOT > & _comparator)\fC [inline]\fP" +.PP +Constructor without moeoDiversityAssignement. +.PP +A dummy diversity is used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessAssignment\fP the fitness assignment strategy +.br +\fI_comparator\fP the comparator (used to compare 2 individuals) +.RE +.PP + +.PP +Definition at line 81 of file moeoElitistReplacement.h. +.SS "template \fBmoeoElitistReplacement\fP< MOEOT >::\fBmoeoElitistReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessAssignment)\fC [inline]\fP" +.PP +Constructor without moeoDiversityAssignement nor \fBmoeoComparator\fP. +.PP +A moeoFitThenDivComparator and a dummy diversity are used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessAssignment\fP the fitness assignment strategy +.RE +.PP + +.PP +Definition at line 91 of file moeoElitistReplacement.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoElitistReplacement\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _parents, \fBeoPop\fP< MOEOT > & _offspring)\fC [inline]\fP" +.PP +Replaces the first population by adding the individuals of the second one, sorting with a \fBmoeoComparator\fP and resizing the whole population obtained. +.PP +\fBParameters:\fP +.RS 4 +\fI_parents\fP the population composed of the parents (the population you want to replace) +.br +\fI_offspring\fP the offspring population +.RE +.PP + +.PP +Definition at line 101 of file moeoElitistReplacement.h. +.PP +References moeoElitistReplacement< MOEOT >::comparator, moeoElitistReplacement< MOEOT >::diversityAssignment, and moeoElitistReplacement< MOEOT >::fitnessAssignment. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoElitistReplacement_Cmp.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoElitistReplacement_Cmp.3 new file mode 100644 index 000000000..144257588 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoElitistReplacement_Cmp.3 @@ -0,0 +1,57 @@ +.TH "moeoElitistReplacement::Cmp" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoElitistReplacement::Cmp \- this object is used to compare solutions in order to sort the population + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBCmp\fP (\fBmoeoComparator\fP< MOEOT > &_comp)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns true if _moeo1 is greater than _moeo2 according to the comparator _moeo1 the first individual _moeo2 the first individual. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoComparator\fP< MOEOT > & \fBcomp\fP" +.br +.RI "\fIthe comparator \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoElitistReplacement< MOEOT >::Cmp" +this object is used to compare solutions in order to sort the population +.PP +Definition at line 130 of file moeoElitistReplacement.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoElitistReplacement\fP< MOEOT >::Cmp::Cmp (\fBmoeoComparator\fP< MOEOT > & _comp)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_comp\fP the comparator +.RE +.PP + +.PP +Definition at line 137 of file moeoElitistReplacement.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEntropyMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEntropyMetric.3 new file mode 100644 index 000000000..29931fc81 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEntropyMetric.3 @@ -0,0 +1,163 @@ +.TH "moeoEntropyMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEntropyMetric \- The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVectorVsVectorBinaryMetric< ObjectiveVector, R >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "double \fBoperator()\fP (const std::vector< \fBObjectiveVector\fP > &_set1, const std::vector< \fBObjectiveVector\fP > &_set2)" +.br +.RI "\fIReturns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBremoveDominated\fP (std::vector< \fBObjectiveVector\fP > &_f)" +.br +.RI "\fIRemoves the dominated individuals contained in _f. \fP" +.ti -1c +.RI "void \fBprenormalize\fP (const std::vector< \fBObjectiveVector\fP > &_f)" +.br +.RI "\fIPrenormalization. \fP" +.ti -1c +.RI "void \fBnormalize\fP (std::vector< \fBObjectiveVector\fP > &_f)" +.br +.RI "\fINormalization. \fP" +.ti -1c +.RI "void \fBcomputeUnion\fP (const std::vector< \fBObjectiveVector\fP > &_f1, const std::vector< \fBObjectiveVector\fP > &_f2, std::vector< \fBObjectiveVector\fP > &_f)" +.br +.RI "\fIComputation of the union of _f1 and _f2 in _f. \fP" +.ti -1c +.RI "unsigned int \fBhowManyInNicheOf\fP (const std::vector< \fBObjectiveVector\fP > &_f, const \fBObjectiveVector\fP &_s, unsigned int _size)" +.br +.RI "\fIHow many in niche. \fP" +.ti -1c +.RI "double \fBeuclidianDistance\fP (const \fBObjectiveVector\fP &_set1, const \fBObjectiveVector\fP &_to, unsigned int _deg=2)" +.br +.RI "\fIEuclidian distance. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "std::vector< double > \fBvect_min_val\fP" +.br +.RI "\fIvector of min values \fP" +.ti -1c +.RI "std::vector< double > \fBvect_max_val\fP" +.br +.RI "\fIvector of max values \fP" +.ti -1c +.RI "\fBmoeoParetoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > \fBparetoComparator\fP" +.br +.RI "\fIFunctor to compare two objective vectors according to Pareto dominance relation. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEntropyMetric< ObjectiveVector >" +The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. + +of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156) +.PP +Definition at line 50 of file moeoEntropyMetric.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoEntropyMetric\fP< \fBObjectiveVector\fP >::operator() (const std::vector< \fBObjectiveVector\fP > & _set1, const std::vector< \fBObjectiveVector\fP > & _set2)\fC [inline]\fP" +.PP +Returns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 59 of file moeoEntropyMetric.h. +.PP +References moeoEntropyMetric< ObjectiveVector >::computeUnion(), moeoEntropyMetric< ObjectiveVector >::howManyInNicheOf(), moeoEntropyMetric< ObjectiveVector >::normalize(), moeoEntropyMetric< ObjectiveVector >::prenormalize(), and moeoEntropyMetric< ObjectiveVector >::removeDominated(). +.SS "template void \fBmoeoEntropyMetric\fP< \fBObjectiveVector\fP >::removeDominated (std::vector< \fBObjectiveVector\fP > & _f)\fC [inline, private]\fP" +.PP +Removes the dominated individuals contained in _f. +.PP +\fBParameters:\fP +.RS 4 +\fI_f\fP a Pareto set +.RE +.PP + +.PP +Definition at line 113 of file moeoEntropyMetric.h. +.PP +References moeoEntropyMetric< ObjectiveVector >::paretoComparator. +.PP +Referenced by moeoEntropyMetric< ObjectiveVector >::operator()(). +.SS "template void \fBmoeoEntropyMetric\fP< \fBObjectiveVector\fP >::prenormalize (const std::vector< \fBObjectiveVector\fP > & _f)\fC [inline, private]\fP" +.PP +Prenormalization. +.PP +\fBParameters:\fP +.RS 4 +\fI_f\fP a Pareto set +.RE +.PP + +.PP +Definition at line 138 of file moeoEntropyMetric.h. +.PP +References moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(), moeoEntropyMetric< ObjectiveVector >::vect_max_val, and moeoEntropyMetric< ObjectiveVector >::vect_min_val. +.PP +Referenced by moeoEntropyMetric< ObjectiveVector >::operator()(). +.SS "template void \fBmoeoEntropyMetric\fP< \fBObjectiveVector\fP >::normalize (std::vector< \fBObjectiveVector\fP > & _f)\fC [inline, private]\fP" +.PP +Normalization. +.PP +\fBParameters:\fP +.RS 4 +\fI_f\fP a Pareto set +.RE +.PP + +.PP +Definition at line 163 of file moeoEntropyMetric.h. +.PP +References moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(), moeoEntropyMetric< ObjectiveVector >::vect_max_val, and moeoEntropyMetric< ObjectiveVector >::vect_min_val. +.PP +Referenced by moeoEntropyMetric< ObjectiveVector >::operator()(). +.SS "template void \fBmoeoEntropyMetric\fP< \fBObjectiveVector\fP >::computeUnion (const std::vector< \fBObjectiveVector\fP > & _f1, const std::vector< \fBObjectiveVector\fP > & _f2, std::vector< \fBObjectiveVector\fP > & _f)\fC [inline, private]\fP" +.PP +Computation of the union of _f1 and _f2 in _f. +.PP +\fBParameters:\fP +.RS 4 +\fI_f1\fP the first Pareto set +.br +\fI_f2\fP the second Pareto set +.br +\fI_f\fP the final Pareto set +.RE +.PP + +.PP +Definition at line 177 of file moeoEntropyMetric.h. +.PP +Referenced by moeoEntropyMetric< ObjectiveVector >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEnvironmentalReplacement.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEnvironmentalReplacement.3 new file mode 100644 index 000000000..227330701 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEnvironmentalReplacement.3 @@ -0,0 +1,171 @@ +.TH "moeoEnvironmentalReplacement" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEnvironmentalReplacement \- Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoReplacement< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type for objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoEnvironmentalReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessAssignment, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityAssignment, \fBmoeoComparator\fP< MOEOT > &_comparator)" +.br +.RI "\fIFull constructor. \fP" +.ti -1c +.RI "\fBmoeoEnvironmentalReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessAssignment, \fBmoeoDiversityAssignment\fP< MOEOT > &_diversityAssignment)" +.br +.RI "\fIConstructor without comparator. \fP" +.ti -1c +.RI "\fBmoeoEnvironmentalReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessAssignment, \fBmoeoComparator\fP< MOEOT > &_comparator)" +.br +.RI "\fIConstructor without moeoDiversityAssignement. \fP" +.ti -1c +.RI "\fBmoeoEnvironmentalReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > &_fitnessAssignment)" +.br +.RI "\fIConstructor without moeoDiversityAssignement nor \fBmoeoComparator\fP. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_parents, \fBeoPop\fP< MOEOT > &_offspring)" +.br +.RI "\fIReplaces the first population by adding the individuals of the second one, sorting with a \fBmoeoComparator\fP and resizing the whole population obtained. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoFitnessAssignment\fP< MOEOT > & \fBfitnessAssignment\fP" +.br +.RI "\fIthe fitness assignment strategy \fP" +.ti -1c +.RI "\fBmoeoDiversityAssignment\fP< MOEOT > & \fBdiversityAssignment\fP" +.br +.RI "\fIthe diversity assignment strategy \fP" +.ti -1c +.RI "\fBmoeoDummyDiversityAssignment\fP< MOEOT > \fBdefaultDiversity\fP" +.br +.RI "\fIa dummy diversity assignment can be used as default \fP" +.ti -1c +.RI "\fBmoeoFitnessThenDiversityComparator\fP< MOEOT > \fBdefaultComparator\fP" +.br +.RI "\fIa fitness then diversity comparator can be used as default \fP" +.ti -1c +.RI "\fBmoeoEnvironmentalReplacement::Cmp\fP \fBcomparator\fP" +.br +.RI "\fIthis object is used to compare solutions in order to sort the population \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBCmp\fP" +.br +.RI "\fIthis object is used to compare solutions in order to sort the population \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEnvironmentalReplacement< MOEOT >" +Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion. +.PP +Definition at line 51 of file moeoEnvironmentalReplacement.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoEnvironmentalReplacement\fP< MOEOT >::\fBmoeoEnvironmentalReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessAssignment, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityAssignment, \fBmoeoComparator\fP< MOEOT > & _comparator)\fC [inline]\fP" +.PP +Full constructor. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessAssignment\fP the fitness assignment strategy +.br +\fI_diversityAssignment\fP the diversity assignment strategy +.br +\fI_comparator\fP the comparator (used to compare 2 individuals) +.RE +.PP + +.PP +Definition at line 65 of file moeoEnvironmentalReplacement.h. +.SS "template \fBmoeoEnvironmentalReplacement\fP< MOEOT >::\fBmoeoEnvironmentalReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessAssignment, \fBmoeoDiversityAssignment\fP< MOEOT > & _diversityAssignment)\fC [inline]\fP" +.PP +Constructor without comparator. +.PP +A moeoFitThenDivComparator is used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessAssignment\fP the fitness assignment strategy +.br +\fI_diversityAssignment\fP the diversity assignment strategy +.RE +.PP + +.PP +Definition at line 75 of file moeoEnvironmentalReplacement.h. +.SS "template \fBmoeoEnvironmentalReplacement\fP< MOEOT >::\fBmoeoEnvironmentalReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessAssignment, \fBmoeoComparator\fP< MOEOT > & _comparator)\fC [inline]\fP" +.PP +Constructor without moeoDiversityAssignement. +.PP +A dummy diversity is used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessAssignment\fP the fitness assignment strategy +.br +\fI_comparator\fP the comparator (used to compare 2 individuals) +.RE +.PP + +.PP +Definition at line 85 of file moeoEnvironmentalReplacement.h. +.SS "template \fBmoeoEnvironmentalReplacement\fP< MOEOT >::\fBmoeoEnvironmentalReplacement\fP (\fBmoeoFitnessAssignment\fP< MOEOT > & _fitnessAssignment)\fC [inline]\fP" +.PP +Constructor without moeoDiversityAssignement nor \fBmoeoComparator\fP. +.PP +A moeoFitThenDivComparator and a dummy diversity are used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_fitnessAssignment\fP the fitness assignment strategy +.RE +.PP + +.PP +Definition at line 95 of file moeoEnvironmentalReplacement.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoEnvironmentalReplacement\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _parents, \fBeoPop\fP< MOEOT > & _offspring)\fC [inline]\fP" +.PP +Replaces the first population by adding the individuals of the second one, sorting with a \fBmoeoComparator\fP and resizing the whole population obtained. +.PP +\fBParameters:\fP +.RS 4 +\fI_parents\fP the population composed of the parents (the population you want to replace) +.br +\fI_offspring\fP the offspring population +.RE +.PP + +.PP +Definition at line 105 of file moeoEnvironmentalReplacement.h. +.PP +References moeoEnvironmentalReplacement< MOEOT >::comparator, moeoEnvironmentalReplacement< MOEOT >::diversityAssignment, and moeoEnvironmentalReplacement< MOEOT >::fitnessAssignment. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEnvironmentalReplacement_Cmp.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEnvironmentalReplacement_Cmp.3 new file mode 100644 index 000000000..d98bc1de6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEnvironmentalReplacement_Cmp.3 @@ -0,0 +1,57 @@ +.TH "moeoEnvironmentalReplacement::Cmp" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEnvironmentalReplacement::Cmp \- this object is used to compare solutions in order to sort the population + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBCmp\fP (\fBmoeoComparator\fP< MOEOT > &_comp)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "bool \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns true if _moeo1 is greater than _moeo2 according to the comparator _moeo1 the first individual _moeo2 the first individual. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoComparator\fP< MOEOT > & \fBcomp\fP" +.br +.RI "\fIthe comparator \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEnvironmentalReplacement< MOEOT >::Cmp" +this object is used to compare solutions in order to sort the population +.PP +Definition at line 146 of file moeoEnvironmentalReplacement.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoEnvironmentalReplacement\fP< MOEOT >::Cmp::Cmp (\fBmoeoComparator\fP< MOEOT > & _comp)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_comp\fP the comparator +.RE +.PP + +.PP +Definition at line 153 of file moeoEnvironmentalReplacement.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEuclideanDistance.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEuclideanDistance.3 new file mode 100644 index 000000000..25b4c13c4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEuclideanDistance.3 @@ -0,0 +1,61 @@ +.TH "moeoEuclideanDistance" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEuclideanDistance \- A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoNormalizedDistance< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "const double \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns the euclidian distance between _moeo1 and _moeo2 in the objective space. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEuclideanDistance< MOEOT >" +A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e. + +between 0 and 1). A distance value then lies between 0 and sqrt(nObjectives). +.PP +Definition at line 49 of file moeoEuclideanDistance.h. +.SH "Member Function Documentation" +.PP +.SS "template const double \fBmoeoEuclideanDistance\fP< MOEOT >::operator() (const MOEOT & _moeo1, const MOEOT & _moeo2)\fC [inline]\fP" +.PP +Returns the euclidian distance between _moeo1 and _moeo2 in the objective space. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo1\fP the first solution +.br +\fI_moeo2\fP the second solution +.RE +.PP + +.PP +Definition at line 62 of file moeoEuclideanDistance.h. +.PP +References moeoNormalizedDistance< MOEOT >::bounds, and moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEvalFunc.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEvalFunc.3 new file mode 100644 index 000000000..3822b1025 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoEvalFunc.3 @@ -0,0 +1,21 @@ +.TH "moeoEvalFunc" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEvalFunc \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoEvalFunc< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoEvalFunc< MOEOT >" + +.PP +Definition at line 47 of file moeoEvalFunc.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoExpBinaryIndicatorBasedFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoExpBinaryIndicatorBasedFitnessAssignment.3 new file mode 100644 index 000000000..82a537d41 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoExpBinaryIndicatorBasedFitnessAssignment.3 @@ -0,0 +1,225 @@ +.TH "moeoExpBinaryIndicatorBasedFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoExpBinaryIndicatorBasedFitnessAssignment \- Fitness assignment sheme based on an indicator proposed in: E. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBinaryIndicatorBasedFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type of objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP (\fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > &_metric, const double _kappa=0.05)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness values for every solution contained in the population _pop. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. \fP" +.ti -1c +.RI "double \fBupdateByAdding\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the adding of the objective vector _objVec into account and returns the fitness value of _objVec. \fP" +.in -1c +.SS "Protected Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetup\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the bounds for every objective using the min and the max value for every objective vector of _pop. \fP" +.ti -1c +.RI "void \fBcomputeValues\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fICompute every indicator value in values (values[i] = I(_v[i], _o)). \fP" +.ti -1c +.RI "void \fBsetFitnesses\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness value of the whple population. \fP" +.ti -1c +.RI "double \fBcomputeFitness\fP (const unsigned int _idx)" +.br +.RI "\fIReturns the fitness value of the _idx th individual of the population. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & \fBmetric\fP" +.br +.RI "\fIthe quality indicator \fP" +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIthe scaling factor \fP" +.ti -1c +.RI "std::vector< std::vector< double > > \fBvalues\fP" +.br +.RI "\fIthe computed indicator values \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >" +Fitness assignment sheme based on an indicator proposed in: E. + +Zitzler, S. Künzli, 'Indicator-Based Selection in Multiobjective Search', Proc. 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 832-842, Birmingham, UK (2004). This strategy is, for instance, used in IBEA. +.PP +Definition at line 54 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::\fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP (\fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & _metric, const double _kappa = \fC0.05\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_metric\fP the quality indicator +.br +\fI_kappa\fP the scaling factor +.RE +.PP + +.PP +Definition at line 67 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets the fitness values for every solution contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 75 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.PP +References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::computeValues(), moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::setFitnesses(), and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::setup(). +.SS "template void \fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implements \fBmoeoFitnessAssignment< MOEOT >\fP. +.PP +Definition at line 91 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.PP +References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::kappa, and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::metric. +.SS "template double \fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::updateByAdding (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the adding of the objective vector _objVec into account and returns the fitness value of _objVec. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implements \fBmoeoBinaryIndicatorBasedFitnessAssignment< MOEOT >\fP. +.PP +Definition at line 112 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.PP +References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::kappa, and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::metric. +.SS "template void \fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::setup (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline, protected]\fP" +.PP +Sets the bounds for every objective using the min and the max value for every objective vector of _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 155 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.PP +References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::metric, and moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(). +.PP +Referenced by moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +.SS "template void \fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::computeValues (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline, protected]\fP" +.PP +Compute every indicator value in values (values[i] = I(_v[i], _o)). +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 177 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.PP +References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::metric, and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::values. +.PP +Referenced by moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +.SS "template void \fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::setFitnesses (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, protected]\fP" +.PP +Sets the fitness value of the whple population. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 199 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.PP +References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::computeFitness(). +.PP +Referenced by moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +.SS "template double \fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT >::computeFitness (const unsigned int _idx)\fC [inline, protected]\fP" +.PP +Returns the fitness value of the _idx th individual of the population. +.PP +\fBParameters:\fP +.RS 4 +\fI_idx\fP the index +.RE +.PP + +.PP +Definition at line 212 of file moeoExpBinaryIndicatorBasedFitnessAssignment.h. +.PP +References moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::kappa, and moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::values. +.PP +Referenced by moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >::setFitnesses(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFastNonDominatedSortingFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFastNonDominatedSortingFitnessAssignment.3 new file mode 100644 index 000000000..02df11a23 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFastNonDominatedSortingFitnessAssignment.3 @@ -0,0 +1,189 @@ +.TH "moeoFastNonDominatedSortingFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoFastNonDominatedSortingFitnessAssignment \- Fitness assignment sheme based on Pareto-dominance count proposed in: N. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoParetoBasedFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoFastNonDominatedSortingFitnessAssignment\fP ()" +.br +.RI "\fIDefault ctor. \fP" +.ti -1c +.RI "\fBmoeoFastNonDominatedSortingFitnessAssignment\fP (\fBmoeoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > &_comparator)" +.br +.RI "\fICtor where you can choose your own way to compare objective vectors. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness values for every solution contained in the population _pop. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoneObjective\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness values for mono-objective problems. \fP" +.ti -1c +.RI "void \fBtwoObjectives\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size. \fP" +.ti -1c +.RI "void \fBmObjectives\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness values for problems with more than two objectives with a complexity of O(n² log n), where n stands for the population size. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > & \fBcomparator\fP" +.br +.RI "\fIFunctor to compare two objective vectors. \fP" +.ti -1c +.RI "\fBmoeoParetoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > \fBparetoComparator\fP" +.br +.RI "\fIFunctor to compare two objective vectors according to Pareto dominance relation. \fP" +.ti -1c +.RI "\fBmoeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator\fP \fBobjComparator\fP" +.br +.RI "\fIFunctor allowing to compare two solutions according to their first objective value, then their second, and so on. \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBObjectiveComparator\fP" +.br +.RI "\fIFunctor allowing to compare two solutions according to their first objective value, then their second, and so on. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoFastNonDominatedSortingFitnessAssignment< MOEOT >" +Fitness assignment sheme based on Pareto-dominance count proposed in: N. + +Srinivas, K. Deb, 'Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms', Evolutionary Computation vol. 2, no. 3, pp. 221-248 (1994) and in: K. Deb, A. Pratap, S. Agarwal, T. Meyarivan, 'A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II', IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). This strategy is, for instance, used in NSGA and NSGA-II. +.PP +Definition at line 57 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT >::\fBmoeoFastNonDominatedSortingFitnessAssignment\fP (\fBmoeoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > & _comparator)\fC [inline]\fP" +.PP +Ctor where you can choose your own way to compare objective vectors. +.PP +\fBParameters:\fP +.RS 4 +\fI_comparator\fP the functor used to compare objective vectors +.RE +.PP + +.PP +Definition at line 76 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets the fitness values for every solution contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 84 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.PP +References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::mObjectives(), and moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::oneObjective(). +.SS "template void \fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implements \fBmoeoFitnessAssignment< MOEOT >\fP. +.PP +Definition at line 126 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.PP +References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::comparator. +.SS "template void \fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT >::oneObjective (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, private]\fP" +.PP +Sets the fitness values for mono-objective problems. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 169 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.PP +References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::objComparator. +.PP +Referenced by moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::operator()(). +.SS "template void \fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT >::twoObjectives (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, private]\fP" +.PP +Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 191 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.SS "template void \fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT >::mObjectives (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, private]\fP" +.PP +Sets the fitness values for problems with more than two objectives with a complexity of O(n² log n), where n stands for the population size. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 201 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.PP +References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::comparator. +.PP +Referenced by moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFastNonDominatedSortingFitnessAssignment_ObjectiveComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFastNonDominatedSortingFitnessAssignment_ObjectiveComparator.3 new file mode 100644 index 000000000..4da272bb2 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFastNonDominatedSortingFitnessAssignment_ObjectiveComparator.3 @@ -0,0 +1,57 @@ +.TH "moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoFastNonDominatedSortingFitnessAssignment::ObjectiveComparator \- Functor allowing to compare two solutions according to their first objective value, then their second, and so on. + +.PP +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoComparator< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "const bool \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns true if _moeo1 < _moeo2 on the first objective, then on the second, and so on. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoObjectiveObjectiveVectorComparator\fP< \fBObjectiveVector\fP > \fBcmp\fP" +.br +.RI "\fIthe corresponding comparator for objective vectors \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator" +Functor allowing to compare two solutions according to their first objective value, then their second, and so on. +.PP +Definition at line 146 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template const bool \fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT >::ObjectiveComparator::operator() (const MOEOT & _moeo1, const MOEOT & _moeo2)\fC [inline]\fP" +.PP +Returns true if _moeo1 < _moeo2 on the first objective, then on the second, and so on. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo1\fP the first solution +.br +\fI_moeo2\fP the second solution +.RE +.PP + +.PP +Definition at line 154 of file moeoFastNonDominatedSortingFitnessAssignment.h. +.PP +References moeoFastNonDominatedSortingFitnessAssignment< MOEOT >::ObjectiveComparator::cmp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFitnessAssignment.3 new file mode 100644 index 000000000..e3d3f5885 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFitnessAssignment.3 @@ -0,0 +1,81 @@ +.TH "moeoFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoFitnessAssignment \- Functor that sets the fitness values of a whole population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Inherited by \fBmoeoCriterionBasedFitnessAssignment< MOEOT >\fP, \fBmoeoDummyFitnessAssignment< MOEOT >\fP, \fBmoeoIndicatorBasedFitnessAssignment< MOEOT >\fP, \fBmoeoParetoBasedFitnessAssignment< MOEOT >\fP, and \fBmoeoScalarFitnessAssignment< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type for objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)=0" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, MOEOT &_moeo)" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the deletion of the individual _moeo into account. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoFitnessAssignment< MOEOT >" +Functor that sets the fitness values of a whole population. +.PP +Definition at line 48 of file moeoFitnessAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoFitnessAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [pure virtual]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implemented in \fBmoeoAchievementFitnessAssignment< MOEOT >\fP, \fBmoeoDummyFitnessAssignment< MOEOT >\fP, \fBmoeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >\fP, and \fBmoeoFastNonDominatedSortingFitnessAssignment< MOEOT >\fP. +.PP +Referenced by moeoFitnessAssignment< MOEOT >::updateByDeleting(). +.SS "template void \fBmoeoFitnessAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, MOEOT & _moeo)\fC [inline]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the deletion of the individual _moeo into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_moeo\fP the individual +.RE +.PP + +.PP +Definition at line 69 of file moeoFitnessAssignment.h. +.PP +References moeoFitnessAssignment< MOEOT >::updateByDeleting(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFitnessThenDiversityComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFitnessThenDiversityComparator.3 new file mode 100644 index 000000000..678a60d0b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFitnessThenDiversityComparator.3 @@ -0,0 +1,49 @@ +.TH "moeoFitnessThenDiversityComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoFitnessThenDiversityComparator \- Functor allowing to compare two solutions according to their fitness values, then according to their diversity values. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoComparator< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "const bool \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns true if _moeo1 < _moeo2 according to their fitness values, then according to their diversity values. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoFitnessThenDiversityComparator< MOEOT >" +Functor allowing to compare two solutions according to their fitness values, then according to their diversity values. +.PP +Definition at line 47 of file moeoFitnessThenDiversityComparator.h. +.SH "Member Function Documentation" +.PP +.SS "template const bool \fBmoeoFitnessThenDiversityComparator\fP< MOEOT >::operator() (const MOEOT & _moeo1, const MOEOT & _moeo2)\fC [inline]\fP" +.PP +Returns true if _moeo1 < _moeo2 according to their fitness values, then according to their diversity values. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo1\fP the first solution +.br +\fI_moeo2\fP the second solution +.RE +.PP + +.PP +Definition at line 56 of file moeoFitnessThenDiversityComparator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFrontByFrontCrowdingDiversityAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFrontByFrontCrowdingDiversityAssignment.3 new file mode 100644 index 000000000..03d190875 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFrontByFrontCrowdingDiversityAssignment.3 @@ -0,0 +1,112 @@ +.TH "moeoFrontByFrontCrowdingDiversityAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoFrontByFrontCrowdingDiversityAssignment \- Diversity assignment sheme based on crowding proposed in: K. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoCrowdingDiversityAssignment< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetDistances\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the distance values. \fP" +.ti -1c +.RI "unsigned int \fBlastIndex\fP (\fBeoPop\fP< MOEOT > &_pop, unsigned int _start)" +.br +.RI "\fIReturns the index of the last individual having the same fitness value than _pop[_start]. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >" +Diversity assignment sheme based on crowding proposed in: K. + +Deb, A. Pratap, S. Agarwal, T. Meyarivan, 'A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II', IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). Tis strategy assigns diversity values FRONT BY FRONT. It is, for instance, used in NSGA-II. +.PP +Definition at line 50 of file moeoFrontByFrontCrowdingDiversityAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoFrontByFrontCrowdingDiversityAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +\fBWarning:\fP +.RS 4 +NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.RE +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP +\fBWarning:\fP +.RS 4 +NOT IMPLEMENTED, DO NOTHING ! +.RE +.PP + +.PP +Reimplemented from \fBmoeoCrowdingDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 65 of file moeoFrontByFrontCrowdingDiversityAssignment.h. +.SS "template void \fBmoeoFrontByFrontCrowdingDiversityAssignment\fP< MOEOT >::setDistances (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +Sets the distance values. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Reimplemented from \fBmoeoCrowdingDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 80 of file moeoFrontByFrontCrowdingDiversityAssignment.h. +.PP +References moeoCrowdingDiversityAssignment< MOEOT >::inf(), moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >::lastIndex(), and moeoCrowdingDiversityAssignment< MOEOT >::tiny(). +.SS "template unsigned int \fBmoeoFrontByFrontCrowdingDiversityAssignment\fP< MOEOT >::lastIndex (\fBeoPop\fP< MOEOT > & _pop, unsigned int _start)\fC [inline, private]\fP" +.PP +Returns the index of the last individual having the same fitness value than _pop[_start]. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_start\fP the index to start from +.RE +.PP + +.PP +Definition at line 146 of file moeoFrontByFrontCrowdingDiversityAssignment.h. +.PP +Referenced by moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >::setDistances(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFrontByFrontSharingDiversityAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFrontByFrontSharingDiversityAssignment.3 new file mode 100644 index 000000000..f1ea4d53f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoFrontByFrontSharingDiversityAssignment.3 @@ -0,0 +1,130 @@ +.TH "moeoFrontByFrontSharingDiversityAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoFrontByFrontSharingDiversityAssignment \- Sharing assignment scheme on the way it is used in NSGA. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoSharingDiversityAssignment< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoFrontByFrontSharingDiversityAssignment\fP (\fBmoeoDistance\fP< MOEOT, double > &_distance, double _nicheSize=0.5, double _alpha=2.0)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "\fBmoeoFrontByFrontSharingDiversityAssignment\fP (double _nicheSize=0.5, double _alpha=2.0)" +.br +.RI "\fICtor with an euclidean distance (with normalized objective values) in the objective space is used as default. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetSimilarities\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets similarities FRONT BY FRONT for every solution contained in the population _pop. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoFrontByFrontSharingDiversityAssignment< MOEOT >" +Sharing assignment scheme on the way it is used in NSGA. +.PP +Definition at line 47 of file moeoFrontByFrontSharingDiversityAssignment.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoFrontByFrontSharingDiversityAssignment\fP< MOEOT >::\fBmoeoFrontByFrontSharingDiversityAssignment\fP (\fBmoeoDistance\fP< MOEOT, double > & _distance, double _nicheSize = \fC0.5\fP, double _alpha = \fC2.0\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_distance\fP the distance used to compute the neighborhood of solutions (can be related to the decision space or the objective space) +.br +\fI_nicheSize\fP neighborhood size in terms of radius distance (closely related to the way the distances are computed) +.br +\fI_alpha\fP parameter used to regulate the shape of the sharing function +.RE +.PP + +.PP +Definition at line 61 of file moeoFrontByFrontSharingDiversityAssignment.h. +.SS "template \fBmoeoFrontByFrontSharingDiversityAssignment\fP< MOEOT >::\fBmoeoFrontByFrontSharingDiversityAssignment\fP (double _nicheSize = \fC0.5\fP, double _alpha = \fC2.0\fP)\fC [inline]\fP" +.PP +Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_nicheSize\fP neighborhood size in terms of radius distance (closely related to the way the distances are computed) +.br +\fI_alpha\fP parameter used to regulate the shape of the sharing function +.RE +.PP + +.PP +Definition at line 70 of file moeoFrontByFrontSharingDiversityAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoFrontByFrontSharingDiversityAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +\fBWarning:\fP +.RS 4 +NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.RE +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP +\fBWarning:\fP +.RS 4 +NOT IMPLEMENTED, DO NOTHING ! +.RE +.PP + +.PP +Reimplemented from \fBmoeoSharingDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 81 of file moeoFrontByFrontSharingDiversityAssignment.h. +.SS "template void \fBmoeoFrontByFrontSharingDiversityAssignment\fP< MOEOT >::setSimilarities (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +Sets similarities FRONT BY FRONT for every solution contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Reimplemented from \fBmoeoSharingDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 98 of file moeoFrontByFrontSharingDiversityAssignment.h. +.PP +References moeoSharingDiversityAssignment< MOEOT >::distance, moeoSharingDiversityAssignment< MOEOT >::nicheSize, and moeoSharingDiversityAssignment< MOEOT >::sh(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoGDominanceObjectiveVectorComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoGDominanceObjectiveVectorComparator.3 new file mode 100644 index 000000000..27408a0e1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoGDominanceObjectiveVectorComparator.3 @@ -0,0 +1,107 @@ +.TH "moeoGDominanceObjectiveVectorComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoGDominanceObjectiveVectorComparator \- This functor class allows to compare 2 objective vectors according to g-dominance. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoObjectiveVectorComparator< ObjectiveVector >< moeoRealObjectiveVector< ObjectiveVectorTraits > >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoGDominanceObjectiveVectorComparator\fP (\fBObjectiveVector\fP &_ref)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "const bool \fBoperator()\fP (const \fBObjectiveVector\fP &_objectiveVector1, const \fBObjectiveVector\fP &_objectiveVector2)" +.br +.RI "\fIReturns true if _objectiveVector1 is g-dominated by _objectiveVector2. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "unsigned int \fBflag\fP (const \fBObjectiveVector\fP &_objectiveVector)" +.br +.RI "\fIReturns the flag of _objectiveVector according to the reference point. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBObjectiveVector\fP & \fBref\fP" +.br +.RI "\fIthe reference point \fP" +.ti -1c +.RI "\fBmoeoParetoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > \fBparetoComparator\fP" +.br +.RI "\fIPareto comparator. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoGDominanceObjectiveVectorComparator< ObjectiveVector >" +This functor class allows to compare 2 objective vectors according to g-dominance. + +The concept of g-dominance as been introduced in: J. Molina, L. V. Santana, A. G. Hernandez-Diaz, C. A. Coello Coello, R. Caballero, 'g-dominance: Reference point based dominance' (2007) +.PP +Definition at line 50 of file moeoGDominanceObjectiveVectorComparator.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoGDominanceObjectiveVectorComparator\fP< \fBObjectiveVector\fP >::\fBmoeoGDominanceObjectiveVectorComparator\fP (\fBObjectiveVector\fP & _ref)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_ref\fP the reference point +.RE +.PP + +.PP +Definition at line 58 of file moeoGDominanceObjectiveVectorComparator.h. +.SH "Member Function Documentation" +.PP +.SS "template const bool \fBmoeoGDominanceObjectiveVectorComparator\fP< \fBObjectiveVector\fP >::operator() (const \fBObjectiveVector\fP & _objectiveVector1, const \fBObjectiveVector\fP & _objectiveVector2)\fC [inline]\fP" +.PP +Returns true if _objectiveVector1 is g-dominated by _objectiveVector2. +.PP +\fBParameters:\fP +.RS 4 +\fI_objectiveVector1\fP the first objective vector +.br +\fI_objectiveVector2\fP the second objective vector +.RE +.PP + +.PP +Definition at line 67 of file moeoGDominanceObjectiveVectorComparator.h. +.PP +References moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::flag(), and moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::paretoComparator. +.SS "template unsigned int \fBmoeoGDominanceObjectiveVectorComparator\fP< \fBObjectiveVector\fP >::flag (const \fBObjectiveVector\fP & _objectiveVector)\fC [inline, private]\fP" +.PP +Returns the flag of _objectiveVector according to the reference point. +.PP +\fBParameters:\fP +.RS 4 +\fI_objectiveVector\fP the first objective vector +.RE +.PP + +.PP +Definition at line 101 of file moeoGDominanceObjectiveVectorComparator.h. +.PP +References moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >::nObjectives(), and moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::ref. +.PP +Referenced by moeoGDominanceObjectiveVectorComparator< ObjectiveVector >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoGenerationalReplacement.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoGenerationalReplacement.3 new file mode 100644 index 000000000..08520ac27 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoGenerationalReplacement.3 @@ -0,0 +1,51 @@ +.TH "moeoGenerationalReplacement" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoGenerationalReplacement \- Generational replacement: only the new individuals are preserved. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoReplacement< MOEOT >< MOEOT >\fP, and \fBeoGenerationalReplacement< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_parents, \fBeoPop\fP< MOEOT > &_offspring)" +.br +.RI "\fISwaps _parents and _offspring. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoGenerationalReplacement< MOEOT >" +Generational replacement: only the new individuals are preserved. +.PP +Definition at line 48 of file moeoGenerationalReplacement.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoGenerationalReplacement\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _parents, \fBeoPop\fP< MOEOT > & _offspring)\fC [inline]\fP" +.PP +Swaps _parents and _offspring. +.PP +\fBParameters:\fP +.RS 4 +\fI_parents\fP the parents population +.br +\fI_offspring\fP the offspring population +.RE +.PP + +.PP +Reimplemented from \fBeoGenerationalReplacement< MOEOT >\fP. +.PP +Definition at line 57 of file moeoGenerationalReplacement.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoHybridLS.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoHybridLS.3 new file mode 100644 index 000000000..f909c0627 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoHybridLS.3 @@ -0,0 +1,77 @@ +.TH "moeoHybridLS" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoHybridLS \- This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoHybridLS\fP (\fBeoContinue\fP< MOEOT > &_term, \fBeoSelect\fP< MOEOT > &_select, \fBmoeoLS\fP< MOEOT, MOEOT > &_mols, \fBmoeoArchive\fP< MOEOT > &_arch)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fIApplies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoContinue\fP< MOEOT > & \fBterm\fP" +.br +.RI "\fIstopping criteria \fP" +.ti -1c +.RI "\fBeoSelect\fP< MOEOT > & \fBselect\fP" +.br +.RI "\fIselector \fP" +.ti -1c +.RI "\fBmoeoLS\fP< MOEOT, MOEOT > & \fBmols\fP" +.br +.RI "\fImulti-objective local search \fP" +.ti -1c +.RI "\fBmoeoArchive\fP< MOEOT > & \fBarch\fP" +.br +.RI "\fIarchive \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoHybridLS< MOEOT >" +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. +.PP +Definition at line 53 of file moeoHybridLS.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoHybridLS\fP< MOEOT >::\fBmoeoHybridLS\fP (\fBeoContinue\fP< MOEOT > & _term, \fBeoSelect\fP< MOEOT > & _select, \fBmoeoLS\fP< MOEOT, MOEOT > & _mols, \fBmoeoArchive\fP< MOEOT > & _arch)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_term\fP stopping criteria +.br +\fI_select\fP selector +.br +\fI_mols\fP a multi-objective local search +.br +\fI_arch\fP the archive +.RE +.PP + +.PP +Definition at line 64 of file moeoHybridLS.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoHypervolumeBinaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoHypervolumeBinaryMetric.3 new file mode 100644 index 000000000..1238a1e85 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoHypervolumeBinaryMetric.3 @@ -0,0 +1,120 @@ +.TH "moeoHypervolumeBinaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoHypervolumeBinaryMetric \- Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >< moeoRealObjectiveVector< ObjectiveVectorTraits >, double >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoHypervolumeBinaryMetric\fP (double _rho=1.1)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "double \fBoperator()\fP (const \fBObjectiveVector\fP &_o1, const \fBObjectiveVector\fP &_o2)" +.br +.RI "\fIReturns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBhypervolume\fP (const \fBObjectiveVector\fP &_o1, const \fBObjectiveVector\fP &_o2, const unsigned int _obj, const bool _flag=false)" +.br +.RI "\fIReturns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho for the objective _obj. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBrho\fP" +.br +.RI "\fIvalue used to compute the reference point from the worst values for each objective \fP" +.ti -1c +.RI "\fBmoeoParetoObjectiveVectorComparator\fP< \fBObjectiveVector\fP > \fBparetoComparator\fP" +.br +.RI "\fIFunctor to compare two objective vectors according to Pareto dominance relation. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoHypervolumeBinaryMetric< ObjectiveVector >" +Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S. + +: Indicator-Based Selection in Multiobjective Search. In Parallel Problem Solving from Nature (PPSN VIII). Lecture Notes in Computer Science 3242, Springer, Birmingham, UK pp.832–842 (2004). This indicator is based on the hypervolume concept introduced in Zitzler, E., Thiele, L.: Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study. Parallel Problem Solving from Nature (PPSN-V), pp.292-301 (1998). +.PP +Definition at line 54 of file moeoHypervolumeBinaryMetric.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoHypervolumeBinaryMetric\fP< \fBObjectiveVector\fP >::\fBmoeoHypervolumeBinaryMetric\fP (double _rho = \fC1.1\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_rho\fP value used to compute the reference point from the worst values for each objective (default : 1.1) +.RE +.PP + +.PP +Definition at line 62 of file moeoHypervolumeBinaryMetric.h. +.PP +References moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(), and moeoHypervolumeBinaryMetric< ObjectiveVector >::rho. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoHypervolumeBinaryMetric\fP< \fBObjectiveVector\fP >::operator() (const \fBObjectiveVector\fP & _o1, const \fBObjectiveVector\fP & _o2)\fC [inline]\fP" +.PP +Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho. +.PP +\fBWarning:\fP +.RS 4 +don't forget to set the bounds for every objective before the call of this function +.RE +.PP +\fBParameters:\fP +.RS 4 +\fI_o1\fP the first objective vector +.br +\fI_o2\fP the second objective vector +.RE +.PP + +.PP +Definition at line 88 of file moeoHypervolumeBinaryMetric.h. +.PP +References moeoHypervolumeBinaryMetric< ObjectiveVector >::hypervolume(), and moeoHypervolumeBinaryMetric< ObjectiveVector >::paretoComparator. +.SS "template double \fBmoeoHypervolumeBinaryMetric\fP< \fBObjectiveVector\fP >::hypervolume (const \fBObjectiveVector\fP & _o1, const \fBObjectiveVector\fP & _o2, const unsigned int _obj, const bool _flag = \fCfalse\fP)\fC [inline, private]\fP" +.PP +Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho for the objective _obj. +.PP +\fBParameters:\fP +.RS 4 +\fI_o1\fP the first objective vector +.br +\fI_o2\fP the second objective vector +.br +\fI_obj\fP the objective index +.br +\fI_flag\fP used for iteration, if _flag=true _o2 is not talen into account (default : false) +.RE +.PP + +.PP +Definition at line 121 of file moeoHypervolumeBinaryMetric.h. +.PP +References moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >::bounds, and moeoHypervolumeBinaryMetric< ObjectiveVector >::rho. +.PP +Referenced by moeoHypervolumeBinaryMetric< ObjectiveVector >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoIBEA.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoIBEA.3 new file mode 100644 index 000000000..8c28e0534 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoIBEA.3 @@ -0,0 +1,231 @@ +.TH "moeoIBEA" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEA \- IBEA (Indicator-Based Evolutionary Algorithm) as described in: E. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoEA< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type of objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoGenOp\fP< MOEOT > &_op, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > &_metric, const double _kappa=0.05)" +.br +.RI "\fISimple ctor with a \fBeoGenOp\fP. \fP" +.ti -1c +.RI "\fBmoeoIBEA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoTransform\fP< MOEOT > &_op, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > &_metric, const double _kappa=0.05)" +.br +.RI "\fISimple ctor with a \fBeoTransform\fP. \fP" +.ti -1c +.RI "\fBmoeoIBEA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoQuadOp\fP< MOEOT > &_crossover, double _pCross, \fBeoMonOp\fP< MOEOT > &_mutation, double _pMut, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > &_metric, const double _kappa=0.05)" +.br +.RI "\fICtor with a crossover, a mutation and their corresponding rates. \fP" +.ti -1c +.RI "\fBmoeoIBEA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoGenOp\fP< MOEOT > &_op, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > &_metric, const double _kappa=0.05)" +.br +.RI "\fICtor with a continuator (instead of _maxGen) and a \fBeoGenOp\fP. \fP" +.ti -1c +.RI "\fBmoeoIBEA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoTransform\fP< MOEOT > &_op, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > &_metric, const double _kappa=0.05)" +.br +.RI "\fICtor with a continuator (instead of _maxGen) and a \fBeoTransform\fP. \fP" +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApply a few generation of evolution to the population _pop until the stopping criteria is verified. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBeoGenContinue\fP< MOEOT > \fBdefaultGenContinuator\fP" +.br +.RI "\fIa continuator based on the number of generations (used as default) \fP" +.ti -1c +.RI "\fBeoContinue\fP< MOEOT > & \fBcontinuator\fP" +.br +.RI "\fIstopping criteria \fP" +.ti -1c +.RI "\fBeoPopLoopEval\fP< MOEOT > \fBpopEval\fP" +.br +.RI "\fIevaluation function used to evaluate the whole population \fP" +.ti -1c +.RI "\fBmoeoDetTournamentSelect\fP< MOEOT > \fBselect\fP" +.br +.RI "\fIbinary tournament selection \fP" +.ti -1c +.RI "\fBmoeoExpBinaryIndicatorBasedFitnessAssignment\fP< MOEOT > \fBfitnessAssignment\fP" +.br +.RI "\fIfitness assignment used in IBEA \fP" +.ti -1c +.RI "\fBmoeoDummyDiversityAssignment\fP< MOEOT > \fBdummyDiversityAssignment\fP" +.br +.RI "\fIdummy diversity assignment \fP" +.ti -1c +.RI "\fBmoeoEnvironmentalReplacement\fP< MOEOT > \fBreplace\fP" +.br +.RI "\fIelitist replacement \fP" +.ti -1c +.RI "\fBeoSGAGenOp\fP< MOEOT > \fBdefaultSGAGenOp\fP" +.br +.RI "\fIan object for genetic operators (used as default) \fP" +.ti -1c +.RI "\fBeoGeneralBreeder\fP< MOEOT > \fBgenBreed\fP" +.br +.RI "\fIgeneral breeder \fP" +.ti -1c +.RI "\fBeoBreed\fP< MOEOT > & \fBbreed\fP" +.br +.RI "\fIbreeder \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEA< MOEOT >" +IBEA (Indicator-Based Evolutionary Algorithm) as described in: E. + +Zitzler, S. Künzli, 'Indicator-Based Selection in Multiobjective Search', Proc. 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 832-842, Birmingham, UK (2004). This class builds the IBEA algorithm only by using the fine-grained components of the ParadisEO-MOEO framework. +.PP +Definition at line 63 of file moeoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIBEA\fP< MOEOT >::\fBmoeoIBEA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoGenOp\fP< MOEOT > & _op, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & _metric, const double _kappa = \fC0.05\fP)\fC [inline]\fP" +.PP +Simple ctor with a \fBeoGenOp\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.br +\fI_metric\fP metric +.br +\fI_kappa\fP scaling factor kappa +.RE +.PP + +.PP +Definition at line 79 of file moeoIBEA.h. +.SS "template \fBmoeoIBEA\fP< MOEOT >::\fBmoeoIBEA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoTransform\fP< MOEOT > & _op, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & _metric, const double _kappa = \fC0.05\fP)\fC [inline]\fP" +.PP +Simple ctor with a \fBeoTransform\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.br +\fI_metric\fP metric +.br +\fI_kappa\fP scaling factor kappa +.RE +.PP + +.PP +Definition at line 93 of file moeoIBEA.h. +.SS "template \fBmoeoIBEA\fP< MOEOT >::\fBmoeoIBEA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoQuadOp\fP< MOEOT > & _crossover, double _pCross, \fBeoMonOp\fP< MOEOT > & _mutation, double _pMut, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & _metric, const double _kappa = \fC0.05\fP)\fC [inline]\fP" +.PP +Ctor with a crossover, a mutation and their corresponding rates. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_crossover\fP crossover +.br +\fI_pCross\fP crossover probability +.br +\fI_mutation\fP mutation +.br +\fI_pMut\fP mutation probability +.br +\fI_metric\fP metric +.br +\fI_kappa\fP scaling factor kappa +.RE +.PP + +.PP +Definition at line 110 of file moeoIBEA.h. +.SS "template \fBmoeoIBEA\fP< MOEOT >::\fBmoeoIBEA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoGenOp\fP< MOEOT > & _op, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & _metric, const double _kappa = \fC0.05\fP)\fC [inline]\fP" +.PP +Ctor with a continuator (instead of _maxGen) and a \fBeoGenOp\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP stopping criteria +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.br +\fI_metric\fP metric +.br +\fI_kappa\fP scaling factor kappa +.RE +.PP + +.PP +Definition at line 125 of file moeoIBEA.h. +.SS "template \fBmoeoIBEA\fP< MOEOT >::\fBmoeoIBEA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoTransform\fP< MOEOT > & _op, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & _metric, const double _kappa = \fC0.05\fP)\fC [inline]\fP" +.PP +Ctor with a continuator (instead of _maxGen) and a \fBeoTransform\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP stopping criteria +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.br +\fI_metric\fP metric +.br +\fI_kappa\fP scaling factor kappa +.RE +.PP + +.PP +Definition at line 139 of file moeoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoIBEA\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Apply a few generation of evolution to the population _pop until the stopping criteria is verified. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 149 of file moeoIBEA.h. +.PP +References moeoIBEA< MOEOT >::breed, moeoIBEA< MOEOT >::continuator, moeoIBEA< MOEOT >::dummyDiversityAssignment, moeoIBEA< MOEOT >::fitnessAssignment, moeoIBEA< MOEOT >::popEval, and moeoIBEA< MOEOT >::replace. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoIndicatorBasedFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoIndicatorBasedFitnessAssignment.3 new file mode 100644 index 000000000..b118d34c5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoIndicatorBasedFitnessAssignment.3 @@ -0,0 +1,27 @@ +.TH "moeoIndicatorBasedFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIndicatorBasedFitnessAssignment \- \fBmoeoIndicatorBasedFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP for Indicator-based strategies. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +Inherited by \fBmoeoBinaryIndicatorBasedFitnessAssignment< MOEOT >\fP, and \fBmoeoUnaryIndicatorBasedFitnessAssignment< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoIndicatorBasedFitnessAssignment< MOEOT >" +\fBmoeoIndicatorBasedFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP for Indicator-based strategies. +.PP +Definition at line 47 of file moeoIndicatorBasedFitnessAssignment.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoLS.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoLS.3 new file mode 100644 index 000000000..802f68c17 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoLS.3 @@ -0,0 +1,29 @@ +.TH "moeoLS" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoLS \- Abstract class for local searches applied to multi-objective optimization. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoAlgo\fP, and \fBeoBF< Type, moeoArchive< MOEOT > &, void >\fP. +.PP +Inherited by \fBmoeoCombinedLS< MOEOT, Type >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoLS< MOEOT, Type >" +Abstract class for local searches applied to multi-objective optimization. + +Starting from a Type (i.e.: an individual, a pop, an archive...), it produces a set of new non-dominated solutions. +.PP +Definition at line 50 of file moeoLS.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoManhattanDistance.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoManhattanDistance.3 new file mode 100644 index 000000000..4e9fb0a50 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoManhattanDistance.3 @@ -0,0 +1,61 @@ +.TH "moeoManhattanDistance" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoManhattanDistance \- A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoNormalizedDistance< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "const double \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns the Manhattan distance between _moeo1 and _moeo2 in the objective space. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoManhattanDistance< MOEOT >" +A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e. + +between 0 and 1). A distance value then lies between 0 and nObjectives. +.PP +Definition at line 49 of file moeoManhattanDistance.h. +.SH "Member Function Documentation" +.PP +.SS "template const double \fBmoeoManhattanDistance\fP< MOEOT >::operator() (const MOEOT & _moeo1, const MOEOT & _moeo2)\fC [inline]\fP" +.PP +Returns the Manhattan distance between _moeo1 and _moeo2 in the objective space. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo1\fP the first solution +.br +\fI_moeo2\fP the second solution +.RE +.PP + +.PP +Definition at line 62 of file moeoManhattanDistance.h. +.PP +References moeoNormalizedDistance< MOEOT >::bounds, and moeoObjectiveVector< ObjectiveVectorTraits, double >::nObjectives(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoMetric.3 new file mode 100644 index 000000000..7d7bcdd3e --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoMetric.3 @@ -0,0 +1,25 @@ +.TH "moeoMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoMetric \- Base class for performance metrics (also known as quality indicators). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoFunctorBase\fP. +.PP +Inherited by \fBmoeoBinaryMetric< A1, A2, R >\fP, \fBmoeoBinaryMetric< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, double >\fP, \fBmoeoBinaryMetric< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, R >\fP, \fBmoeoBinaryMetric< const const MOEOT::ObjectiveVector &, MOEOT::ObjectiveVector &, double >\fP, \fBmoeoBinaryMetric< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, double >\fP, \fBmoeoBinaryMetric< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R >\fP, \fBmoeoBinaryMetric< const const std::vector< MOEOT::moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< MOEOT::moeoRealObjectiveVector< ObjectiveVectorTraits > > &, double >\fP, \fBmoeoUnaryMetric< A, R >\fP, \fBmoeoUnaryMetric< const moeoRealObjectiveVector< ObjectiveVectorTraits > &, R >\fP, and \fBmoeoUnaryMetric< const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R >\fP. +.PP +.SH "Detailed Description" +.PP +Base class for performance metrics (also known as quality indicators). +.PP +Definition at line 47 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNSGA.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNSGA.3 new file mode 100644 index 000000000..c970f7b67 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNSGA.3 @@ -0,0 +1,213 @@ +.TH "moeoNSGA" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNSGA \- NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoEA< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoNSGA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoGenOp\fP< MOEOT > &_op, double _nicheSize=0.5)" +.br +.RI "\fISimple ctor with a \fBeoGenOp\fP. \fP" +.ti -1c +.RI "\fBmoeoNSGA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoTransform\fP< MOEOT > &_op, double _nicheSize=0.5)" +.br +.RI "\fISimple ctor with a \fBeoTransform\fP. \fP" +.ti -1c +.RI "\fBmoeoNSGA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoQuadOp\fP< MOEOT > &_crossover, double _pCross, \fBeoMonOp\fP< MOEOT > &_mutation, double _pMut, double _nicheSize=0.5)" +.br +.RI "\fICtor with a crossover, a mutation and their corresponding rates. \fP" +.ti -1c +.RI "\fBmoeoNSGA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoGenOp\fP< MOEOT > &_op, double _nicheSize=0.5)" +.br +.RI "\fICtor with a continuator (instead of _maxGen) and a \fBeoGenOp\fP. \fP" +.ti -1c +.RI "\fBmoeoNSGA\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoTransform\fP< MOEOT > &_op, double _nicheSize=0.5)" +.br +.RI "\fICtor with a continuator (instead of _maxGen) and a \fBeoTransform\fP. \fP" +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApply a few generation of evolution to the population _pop until the stopping criteria is verified. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBeoGenContinue\fP< MOEOT > \fBdefaultGenContinuator\fP" +.br +.RI "\fIa continuator based on the number of generations (used as default) \fP" +.ti -1c +.RI "\fBeoContinue\fP< MOEOT > & \fBcontinuator\fP" +.br +.RI "\fIstopping criteria \fP" +.ti -1c +.RI "\fBeoPopLoopEval\fP< MOEOT > \fBpopEval\fP" +.br +.RI "\fIevaluation function used to evaluate the whole population \fP" +.ti -1c +.RI "\fBmoeoDetTournamentSelect\fP< MOEOT > \fBselect\fP" +.br +.RI "\fIbinary tournament selection \fP" +.ti -1c +.RI "\fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT > \fBfitnessAssignment\fP" +.br +.RI "\fIfitness assignment used in NSGA-II \fP" +.ti -1c +.RI "\fBmoeoFrontByFrontSharingDiversityAssignment\fP< MOEOT > \fBdiversityAssignment\fP" +.br +.RI "\fIdiversity assignment used in NSGA-II \fP" +.ti -1c +.RI "\fBmoeoElitistReplacement\fP< MOEOT > \fBreplace\fP" +.br +.RI "\fIelitist replacement \fP" +.ti -1c +.RI "\fBeoSGAGenOp\fP< MOEOT > \fBdefaultSGAGenOp\fP" +.br +.RI "\fIan object for genetic operators (used as default) \fP" +.ti -1c +.RI "\fBeoGeneralBreeder\fP< MOEOT > \fBgenBreed\fP" +.br +.RI "\fIgeneral breeder \fP" +.ti -1c +.RI "\fBeoBreed\fP< MOEOT > & \fBbreed\fP" +.br +.RI "\fIbreeder \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNSGA< MOEOT >" +NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N. + +Srinivas, K. Deb, 'Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms'. Evolutionary Computation, Vol. 2(3), No 2, pp. 221-248 (1994). This class builds the NSGA algorithm only by using the fine-grained components of the ParadisEO-MOEO framework. +.PP +Definition at line 62 of file moeoNSGA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoNSGA\fP< MOEOT >::\fBmoeoNSGA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoGenOp\fP< MOEOT > & _op, double _nicheSize = \fC0.5\fP)\fC [inline]\fP" +.PP +Simple ctor with a \fBeoGenOp\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.br +\fI_nicheSize\fP niche size +.RE +.PP + +.PP +Definition at line 73 of file moeoNSGA.h. +.SS "template \fBmoeoNSGA\fP< MOEOT >::\fBmoeoNSGA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoTransform\fP< MOEOT > & _op, double _nicheSize = \fC0.5\fP)\fC [inline]\fP" +.PP +Simple ctor with a \fBeoTransform\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.br +\fI_nicheSize\fP niche size +.RE +.PP + +.PP +Definition at line 86 of file moeoNSGA.h. +.SS "template \fBmoeoNSGA\fP< MOEOT >::\fBmoeoNSGA\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoQuadOp\fP< MOEOT > & _crossover, double _pCross, \fBeoMonOp\fP< MOEOT > & _mutation, double _pMut, double _nicheSize = \fC0.5\fP)\fC [inline]\fP" +.PP +Ctor with a crossover, a mutation and their corresponding rates. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_crossover\fP crossover +.br +\fI_pCross\fP crossover probability +.br +\fI_mutation\fP mutation +.br +\fI_pMut\fP mutation probability +.br +\fI_nicheSize\fP niche size +.RE +.PP + +.PP +Definition at line 102 of file moeoNSGA.h. +.SS "template \fBmoeoNSGA\fP< MOEOT >::\fBmoeoNSGA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoGenOp\fP< MOEOT > & _op, double _nicheSize = \fC0.5\fP)\fC [inline]\fP" +.PP +Ctor with a continuator (instead of _maxGen) and a \fBeoGenOp\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP stopping criteria +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.br +\fI_nicheSize\fP niche size +.RE +.PP + +.PP +Definition at line 116 of file moeoNSGA.h. +.SS "template \fBmoeoNSGA\fP< MOEOT >::\fBmoeoNSGA\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoTransform\fP< MOEOT > & _op, double _nicheSize = \fC0.5\fP)\fC [inline]\fP" +.PP +Ctor with a continuator (instead of _maxGen) and a \fBeoTransform\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP stopping criteria +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.br +\fI_nicheSize\fP niche size +.RE +.PP + +.PP +Definition at line 129 of file moeoNSGA.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoNSGA\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Apply a few generation of evolution to the population _pop until the stopping criteria is verified. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 139 of file moeoNSGA.h. +.PP +References moeoNSGA< MOEOT >::breed, moeoNSGA< MOEOT >::continuator, moeoNSGA< MOEOT >::diversityAssignment, moeoNSGA< MOEOT >::fitnessAssignment, moeoNSGA< MOEOT >::popEval, and moeoNSGA< MOEOT >::replace. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNSGAII.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNSGAII.3 new file mode 100644 index 000000000..28889d6ab --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNSGAII.3 @@ -0,0 +1,211 @@ +.TH "moeoNSGAII" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNSGAII \- NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoEA< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoNSGAII\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoGenOp\fP< MOEOT > &_op)" +.br +.RI "\fISimple ctor with a \fBeoGenOp\fP. \fP" +.ti -1c +.RI "\fBmoeoNSGAII\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoTransform\fP< MOEOT > &_op)" +.br +.RI "\fISimple ctor with a \fBeoTransform\fP. \fP" +.ti -1c +.RI "\fBmoeoNSGAII\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoQuadOp\fP< MOEOT > &_crossover, double _pCross, \fBeoMonOp\fP< MOEOT > &_mutation, double _pMut)" +.br +.RI "\fICtor with a crossover, a mutation and their corresponding rates. \fP" +.ti -1c +.RI "\fBmoeoNSGAII\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoGenOp\fP< MOEOT > &_op)" +.br +.RI "\fICtor with a continuator (instead of _maxGen) and a \fBeoGenOp\fP. \fP" +.ti -1c +.RI "\fBmoeoNSGAII\fP (\fBeoContinue\fP< MOEOT > &_continuator, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBeoTransform\fP< MOEOT > &_op)" +.br +.RI "\fICtor with a continuator (instead of _maxGen) and a \fBeoTransform\fP. \fP" +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApply a few generation of evolution to the population _pop until the stopping criteria is verified. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBeoGenContinue\fP< MOEOT > \fBdefaultGenContinuator\fP" +.br +.RI "\fIa continuator based on the number of generations (used as default) \fP" +.ti -1c +.RI "\fBeoContinue\fP< MOEOT > & \fBcontinuator\fP" +.br +.RI "\fIstopping criteria \fP" +.ti -1c +.RI "\fBeoPopLoopEval\fP< MOEOT > \fBpopEval\fP" +.br +.RI "\fIevaluation function used to evaluate the whole population \fP" +.ti -1c +.RI "\fBmoeoDetTournamentSelect\fP< MOEOT > \fBselect\fP" +.br +.RI "\fIbinary tournament selection \fP" +.ti -1c +.RI "\fBmoeoFastNonDominatedSortingFitnessAssignment\fP< MOEOT > \fBfitnessAssignment\fP" +.br +.RI "\fIfitness assignment used in NSGA-II \fP" +.ti -1c +.RI "\fBmoeoFrontByFrontCrowdingDiversityAssignment\fP< MOEOT > \fBdiversityAssignment\fP" +.br +.RI "\fIdiversity assignment used in NSGA-II \fP" +.ti -1c +.RI "\fBmoeoElitistReplacement\fP< MOEOT > \fBreplace\fP" +.br +.RI "\fIelitist replacement \fP" +.ti -1c +.RI "\fBeoQuadCloneOp\fP< MOEOT > \fBdefaultQuadOp\fP" +.br +.RI "\fIa default crossover \fP" +.ti -1c +.RI "\fBeoMonCloneOp\fP< MOEOT > \fBdefaultMonOp\fP" +.br +.RI "\fIa default mutation \fP" +.ti -1c +.RI "\fBeoSGAGenOp\fP< MOEOT > \fBdefaultSGAGenOp\fP" +.br +.RI "\fIan object for genetic operators (used as default) \fP" +.ti -1c +.RI "\fBeoGeneralBreeder\fP< MOEOT > \fBgenBreed\fP" +.br +.RI "\fIgeneral breeder \fP" +.ti -1c +.RI "\fBeoBreed\fP< MOEOT > & \fBbreed\fP" +.br +.RI "\fIbreeder \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNSGAII< MOEOT >" +NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S. + +Agrawal, A. Pratap, and T. Meyarivan : 'A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II'. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197 (April 2002). This class builds the NSGA-II algorithm only by using the fine-grained components of the ParadisEO-MOEO framework. +.PP +Definition at line 65 of file moeoNSGAII.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoNSGAII\fP< MOEOT >::\fBmoeoNSGAII\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoGenOp\fP< MOEOT > & _op)\fC [inline]\fP" +.PP +Simple ctor with a \fBeoGenOp\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.RE +.PP + +.PP +Definition at line 75 of file moeoNSGAII.h. +.SS "template \fBmoeoNSGAII\fP< MOEOT >::\fBmoeoNSGAII\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoTransform\fP< MOEOT > & _op)\fC [inline]\fP" +.PP +Simple ctor with a \fBeoTransform\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.RE +.PP + +.PP +Definition at line 88 of file moeoNSGAII.h. +.SS "template \fBmoeoNSGAII\fP< MOEOT >::\fBmoeoNSGAII\fP (unsigned int _maxGen, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoQuadOp\fP< MOEOT > & _crossover, double _pCross, \fBeoMonOp\fP< MOEOT > & _mutation, double _pMut)\fC [inline]\fP" +.PP +Ctor with a crossover, a mutation and their corresponding rates. +.PP +\fBParameters:\fP +.RS 4 +\fI_maxGen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_crossover\fP crossover +.br +\fI_pCross\fP crossover probability +.br +\fI_mutation\fP mutation +.br +\fI_pMut\fP mutation probability +.RE +.PP + +.PP +Definition at line 104 of file moeoNSGAII.h. +.SS "template \fBmoeoNSGAII\fP< MOEOT >::\fBmoeoNSGAII\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoGenOp\fP< MOEOT > & _op)\fC [inline]\fP" +.PP +Ctor with a continuator (instead of _maxGen) and a \fBeoGenOp\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP stopping criteria +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.RE +.PP + +.PP +Definition at line 117 of file moeoNSGAII.h. +.SS "template \fBmoeoNSGAII\fP< MOEOT >::\fBmoeoNSGAII\fP (\fBeoContinue\fP< MOEOT > & _continuator, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBeoTransform\fP< MOEOT > & _op)\fC [inline]\fP" +.PP +Ctor with a continuator (instead of _maxGen) and a \fBeoTransform\fP. +.PP +\fBParameters:\fP +.RS 4 +\fI_continuator\fP stopping criteria +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.RE +.PP + +.PP +Definition at line 130 of file moeoNSGAII.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoNSGAII\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Apply a few generation of evolution to the population _pop until the stopping criteria is verified. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 141 of file moeoNSGAII.h. +.PP +References moeoNSGAII< MOEOT >::breed, moeoNSGAII< MOEOT >::continuator, moeoNSGAII< MOEOT >::diversityAssignment, moeoNSGAII< MOEOT >::fitnessAssignment, moeoNSGAII< MOEOT >::popEval, and moeoNSGAII< MOEOT >::replace. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNormalizedDistance.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNormalizedDistance.3 new file mode 100644 index 000000000..7b0279e82 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNormalizedDistance.3 @@ -0,0 +1,123 @@ +.TH "moeoNormalizedDistance" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNormalizedDistance \- The base class for double distance computation with normalized objective values (i.e. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoDistance< MOEOT, Type >< MOEOT, Type >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoNormalizedDistance\fP ()" +.br +.RI "\fIDefault ctr. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the lower and the upper bounds for every objective using extremes values for solutions contained in the population _pop. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (double _min, double _max, unsigned int _obj)" +.br +.RI "\fISets the lower bound (_min) and the upper bound (_max) for the objective _obj. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (\fBeoRealInterval\fP _realInterval, unsigned int _obj)" +.br +.RI "\fISets the lower bound and the upper bound for the objective _obj using a \fBeoRealInterval\fP object. \fP" +.in -1c +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static double \fBtiny\fP ()" +.br +.RI "\fIReturns a very small value that can be used to avoid extreme cases (where the min bound == the max bound). \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "std::vector< \fBeoRealInterval\fP > \fBbounds\fP" +.br +.RI "\fIthe bounds for every objective (bounds[i] = bounds for the objective i) \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNormalizedDistance< MOEOT, Type >" +The base class for double distance computation with normalized objective values (i.e. + +between 0 and 1). +.PP +Definition at line 49 of file moeoNormalizedDistance.h. +.SH "Member Function Documentation" +.PP +.SS "template virtual void \fBmoeoNormalizedDistance\fP< MOEOT, Type >::setup (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets the lower and the upper bounds for every objective using extremes values for solutions contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Reimplemented from \fBmoeoDistance< MOEOT, Type >\fP. +.PP +Definition at line 84 of file moeoNormalizedDistance.h. +.PP +Referenced by moeoNormalizedDistance< MOEOT >::setup(). +.SS "template virtual void \fBmoeoNormalizedDistance\fP< MOEOT, Type >::setup (double _min, double _max, unsigned int _obj)\fC [inline, virtual]\fP" +.PP +Sets the lower bound (_min) and the upper bound (_max) for the objective _obj. +.PP +\fBParameters:\fP +.RS 4 +\fI_min\fP lower bound +.br +\fI_max\fP upper bound +.br +\fI_obj\fP the objective index +.RE +.PP + +.PP +Reimplemented from \fBmoeoDistance< MOEOT, Type >\fP. +.PP +Definition at line 108 of file moeoNormalizedDistance.h. +.SS "template virtual void \fBmoeoNormalizedDistance\fP< MOEOT, Type >::setup (\fBeoRealInterval\fP _realInterval, unsigned int _obj)\fC [inline, virtual]\fP" +.PP +Sets the lower bound and the upper bound for the objective _obj using a \fBeoRealInterval\fP object. +.PP +\fBParameters:\fP +.RS 4 +\fI_realInterval\fP the \fBeoRealInterval\fP object +.br +\fI_obj\fP the objective index +.RE +.PP + +.PP +Reimplemented from \fBmoeoDistance< MOEOT, Type >\fP. +.PP +Definition at line 124 of file moeoNormalizedDistance.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNormalizedSolutionVsSolutionBinaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNormalizedSolutionVsSolutionBinaryMetric.3 new file mode 100644 index 000000000..a04026728 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoNormalizedSolutionVsSolutionBinaryMetric.3 @@ -0,0 +1,93 @@ +.TH "moeoNormalizedSolutionVsSolutionBinaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNormalizedSolutionVsSolutionBinaryMetric \- Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >< moeoRealObjectiveVector< ObjectiveVectorTraits >, R >\fP. +.PP +Inherited by \fBmoeoAdditiveEpsilonBinaryMetric< ObjectiveVector >\fP, and \fBmoeoHypervolumeBinaryMetric< ObjectiveVector >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP ()" +.br +.RI "\fIDefault ctr for any \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP object. \fP" +.ti -1c +.RI "void \fBsetup\fP (double _min, double _max, unsigned int _obj)" +.br +.RI "\fISets the lower bound (_min) and the upper bound (_max) for the objective _obj. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (\fBeoRealInterval\fP _realInterval, unsigned int _obj)" +.br +.RI "\fISets the lower bound and the upper bound for the objective _obj using a \fBeoRealInterval\fP object. \fP" +.in -1c +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static double \fBtiny\fP ()" +.br +.RI "\fIReturns a very small value that can be used to avoid extreme cases (where the min bound == the max bound). \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "std::vector< \fBeoRealInterval\fP > \fBbounds\fP" +.br +.RI "\fIthe bounds for every objective (bounds[i] = bounds for the objective i) \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >" +Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values. + +Then, indicator values lie in the interval [-1,1]. Note that you have to set the bounds for every objective before using the operator(). +.PP +Definition at line 51 of file moeoNormalizedSolutionVsSolutionBinaryMetric.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, R >::setup (double _min, double _max, unsigned int _obj)\fC [inline]\fP" +.PP +Sets the lower bound (_min) and the upper bound (_max) for the objective _obj. +.PP +\fBParameters:\fP +.RS 4 +\fI_min\fP lower bound +.br +\fI_max\fP upper bound +.br +\fI_obj\fP the objective index +.RE +.PP + +.PP +Definition at line 75 of file moeoNormalizedSolutionVsSolutionBinaryMetric.h. +.SS "template virtual void \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, R >::setup (\fBeoRealInterval\fP _realInterval, unsigned int _obj)\fC [inline, virtual]\fP" +.PP +Sets the lower bound and the upper bound for the objective _obj using a \fBeoRealInterval\fP object. +.PP +\fBParameters:\fP +.RS 4 +\fI_realInterval\fP the \fBeoRealInterval\fP object +.br +\fI_obj\fP the objective index +.RE +.PP + +.PP +Definition at line 91 of file moeoNormalizedSolutionVsSolutionBinaryMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveObjectiveVectorComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveObjectiveVectorComparator.3 new file mode 100644 index 000000000..9656aaac5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveObjectiveVectorComparator.3 @@ -0,0 +1,49 @@ +.TH "moeoObjectiveObjectiveVectorComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoObjectiveObjectiveVectorComparator \- Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoObjectiveVectorComparator< ObjectiveVector >< moeoRealObjectiveVector< ObjectiveVectorTraits > >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "const bool \fBoperator()\fP (const \fBObjectiveVector\fP &_objectiveVector1, const \fBObjectiveVector\fP &_objectiveVector2)" +.br +.RI "\fIReturns true if _objectiveVector1 < _objectiveVector2 on the first objective, then on the second, and so on. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoObjectiveObjectiveVectorComparator< ObjectiveVector >" +Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on. +.PP +Definition at line 47 of file moeoObjectiveObjectiveVectorComparator.h. +.SH "Member Function Documentation" +.PP +.SS "template const bool \fBmoeoObjectiveObjectiveVectorComparator\fP< \fBObjectiveVector\fP >::operator() (const \fBObjectiveVector\fP & _objectiveVector1, const \fBObjectiveVector\fP & _objectiveVector2)\fC [inline]\fP" +.PP +Returns true if _objectiveVector1 < _objectiveVector2 on the first objective, then on the second, and so on. +.PP +\fBParameters:\fP +.RS 4 +\fI_objectiveVector1\fP the first objective vector +.br +\fI_objectiveVector2\fP the second objective vector +.RE +.PP + +.PP +Definition at line 56 of file moeoObjectiveObjectiveVectorComparator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVector.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVector.3 new file mode 100644 index 000000000..83e79e177 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVector.3 @@ -0,0 +1,123 @@ +.TH "moeoObjectiveVector" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoObjectiveVector \- Abstract class allowing to represent a solution in the objective space (phenotypic representation). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef \fBObjectiveVectorTraits\fP \fBTraits\fP" +.br +.RI "\fIThe traits of objective vectors. \fP" +.ti -1c +.RI "typedef ObjectiveVectorType \fBType\fP" +.br +.RI "\fIThe type of an objective value. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoObjectiveVector\fP (\fBType\fP _value=\fBType\fP())" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "\fBmoeoObjectiveVector\fP (std::vector< \fBType\fP > &_v)" +.br +.RI "\fICtor from a vector of Type. \fP" +.in -1c +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static void \fBsetup\fP (unsigned int _nObjectives, std::vector< bool > &_bObjectives)" +.br +.RI "\fI\fBParameters\fP setting (for the objective vector of any solution). \fP" +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (unsigned int _i)" +.br +.RI "\fIReturns true if the _ith objective have to be minimized. \fP" +.ti -1c +.RI "static bool \fBmaximizing\fP (unsigned int _i)" +.br +.RI "\fIReturns true if the _ith objective have to be maximized. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoObjectiveVector< ObjectiveVectorTraits, ObjectiveVectorType >" +Abstract class allowing to represent a solution in the objective space (phenotypic representation). + +The template argument \fBObjectiveVectorTraits\fP defaults to \fBmoeoObjectiveVectorTraits\fP, but it can be replaced at will by any other class that implements the static functions defined therein. Some static funtions to access to the traits characteristics are re-defined in order not to write a lot of typedef's. +.PP +Definition at line 50 of file moeoObjectiveVector.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoObjectiveVector\fP< \fBObjectiveVectorTraits\fP, ObjectiveVectorType >::\fBmoeoObjectiveVector\fP (std::vector< \fBType\fP > & _v)\fC [inline]\fP" +.PP +Ctor from a vector of Type. +.PP +\fBParameters:\fP +.RS 4 +\fI_v\fP the std::vector < Type > +.RE +.PP + +.PP +Definition at line 71 of file moeoObjectiveVector.h. +.SH "Member Function Documentation" +.PP +.SS "template static void \fBmoeoObjectiveVector\fP< \fBObjectiveVectorTraits\fP, ObjectiveVectorType >::setup (unsigned int _nObjectives, std::vector< bool > & _bObjectives)\fC [inline, static]\fP" +.PP +\fBParameters\fP setting (for the objective vector of any solution). +.PP +\fBParameters:\fP +.RS 4 +\fI_nObjectives\fP the number of objectives +.br +\fI_bObjectives\fP the min/max vector (true = min / false = max) +.RE +.PP + +.PP +Definition at line 80 of file moeoObjectiveVector.h. +.SS "template static bool \fBmoeoObjectiveVector\fP< \fBObjectiveVectorTraits\fP, ObjectiveVectorType >::minimizing (unsigned int _i)\fC [inline, static]\fP" +.PP +Returns true if the _ith objective have to be minimized. +.PP +\fBParameters:\fP +.RS 4 +\fI_i\fP the index +.RE +.PP + +.PP +Definition at line 99 of file moeoObjectiveVector.h. +.SS "template static bool \fBmoeoObjectiveVector\fP< \fBObjectiveVectorTraits\fP, ObjectiveVectorType >::maximizing (unsigned int _i)\fC [inline, static]\fP" +.PP +Returns true if the _ith objective have to be maximized. +.PP +\fBParameters:\fP +.RS 4 +\fI_i\fP the index +.RE +.PP + +.PP +Definition at line 109 of file moeoObjectiveVector.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVectorComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVectorComparator.3 new file mode 100644 index 000000000..b87335e83 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVectorComparator.3 @@ -0,0 +1,29 @@ +.TH "moeoObjectiveVectorComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoObjectiveVectorComparator \- Abstract class allowing to compare 2 objective vectors. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, bool >\fP. +.PP +Inherited by \fBmoeoGDominanceObjectiveVectorComparator< ObjectiveVector >\fP, \fBmoeoObjectiveObjectiveVectorComparator< ObjectiveVector >\fP, and \fBmoeoParetoObjectiveVectorComparator< ObjectiveVector >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoObjectiveVectorComparator< ObjectiveVector >" +Abstract class allowing to compare 2 objective vectors. + +The template argument ObjectiveVector have to be a \fBmoeoObjectiveVector\fP. +.PP +Definition at line 49 of file moeoObjectiveVectorComparator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVectorTraits.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVectorTraits.3 new file mode 100644 index 000000000..c80492548 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoObjectiveVectorTraits.3 @@ -0,0 +1,109 @@ +.TH "moeoObjectiveVectorTraits" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoObjectiveVectorTraits \- A traits class for \fBmoeoObjectiveVector\fP to specify the number of objectives and which ones have to be minimized or maximized. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherited by \fBFlowShopObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, \fBObjectiveVectorTraits\fP, and \fBSch1ObjectiveVectorTraits\fP. +.PP +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static void \fBsetup\fP (unsigned int _nObjectives, std::vector< bool > &_bObjectives)" +.br +.RI "\fI\fBParameters\fP setting. \fP" +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.ti -1c +.RI "static bool \fBminimizing\fP (unsigned int _i)" +.br +.RI "\fIReturns true if the _ith objective have to be minimized. \fP" +.ti -1c +.RI "static bool \fBmaximizing\fP (unsigned int _i)" +.br +.RI "\fIReturns true if the _ith objective have to be maximized. \fP" +.ti -1c +.RI "static double \fBtolerance\fP ()" +.br +.RI "\fIReturns the tolerance value (to compare solutions). \fP" +.in -1c +.SS "Static Private Attributes" + +.in +1c +.ti -1c +.RI "static unsigned int \fBnObj\fP" +.br +.RI "\fIThe number of objectives. \fP" +.ti -1c +.RI "static std::vector< bool > \fBbObj\fP" +.br +.RI "\fIThe min/max vector. \fP" +.in -1c +.SH "Detailed Description" +.PP +A traits class for \fBmoeoObjectiveVector\fP to specify the number of objectives and which ones have to be minimized or maximized. +.PP +Definition at line 48 of file moeoObjectiveVectorTraits.h. +.SH "Member Function Documentation" +.PP +.SS "static void moeoObjectiveVectorTraits::setup (unsigned int _nObjectives, std::vector< bool > & _bObjectives)\fC [inline, static]\fP" +.PP +\fBParameters\fP setting. +.PP +\fBParameters:\fP +.RS 4 +\fI_nObjectives\fP the number of objectives +.br +\fI_bObjectives\fP the min/max vector (true = min / false = max) +.RE +.PP + +.PP +Definition at line 57 of file moeoObjectiveVectorTraits.h. +.PP +References bObj, and nObj. +.PP +Referenced by moeoObjectiveVector< ObjectiveVectorTraits, double >::setup(). +.SS "static bool moeoObjectiveVectorTraits::minimizing (unsigned int _i)\fC [inline, static]\fP" +.PP +Returns true if the _ith objective have to be minimized. +.PP +\fBParameters:\fP +.RS 4 +\fI_i\fP the index +.RE +.PP + +.PP +Definition at line 93 of file moeoObjectiveVectorTraits.h. +.PP +References bObj. +.PP +Referenced by maximizing(). +.SS "static bool moeoObjectiveVectorTraits::maximizing (unsigned int _i)\fC [inline, static]\fP" +.PP +Returns true if the _ith objective have to be maximized. +.PP +\fBParameters:\fP +.RS 4 +\fI_i\fP the index +.RE +.PP + +.PP +Definition at line 106 of file moeoObjectiveVectorTraits.h. +.PP +References minimizing(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoOneObjectiveComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoOneObjectiveComparator.3 new file mode 100644 index 000000000..d4872b2c1 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoOneObjectiveComparator.3 @@ -0,0 +1,79 @@ +.TH "moeoOneObjectiveComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoOneObjectiveComparator \- Functor allowing to compare two solutions according to one objective. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoComparator< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoOneObjectiveComparator\fP (unsigned int _obj)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "const bool \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.RI "\fIReturns true if _moeo1 < _moeo2 on the obj objective. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBobj\fP" +.br +.RI "\fIthe index of objective \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoOneObjectiveComparator< MOEOT >" +Functor allowing to compare two solutions according to one objective. +.PP +Definition at line 47 of file moeoOneObjectiveComparator.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoOneObjectiveComparator\fP< MOEOT >::\fBmoeoOneObjectiveComparator\fP (unsigned int _obj)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_obj\fP the index of objective +.RE +.PP + +.PP +Definition at line 55 of file moeoOneObjectiveComparator.h. +.PP +References moeoOneObjectiveComparator< MOEOT >::obj. +.SH "Member Function Documentation" +.PP +.SS "template const bool \fBmoeoOneObjectiveComparator\fP< MOEOT >::operator() (const MOEOT & _moeo1, const MOEOT & _moeo2)\fC [inline]\fP" +.PP +Returns true if _moeo1 < _moeo2 on the obj objective. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo1\fP the first solution +.br +\fI_moeo2\fP the second solution +.RE +.PP + +.PP +Definition at line 69 of file moeoOneObjectiveComparator.h. +.PP +References moeoOneObjectiveComparator< MOEOT >::obj. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoParetoBasedFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoParetoBasedFitnessAssignment.3 new file mode 100644 index 000000000..07f60d893 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoParetoBasedFitnessAssignment.3 @@ -0,0 +1,27 @@ +.TH "moeoParetoBasedFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoBasedFitnessAssignment \- \fBmoeoParetoBasedFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP for Pareto-based strategies. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +Inherited by \fBmoeoFastNonDominatedSortingFitnessAssignment< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoBasedFitnessAssignment< MOEOT >" +\fBmoeoParetoBasedFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP for Pareto-based strategies. +.PP +Definition at line 47 of file moeoParetoBasedFitnessAssignment.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoParetoObjectiveVectorComparator.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoParetoObjectiveVectorComparator.3 new file mode 100644 index 000000000..f19f6aadd --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoParetoObjectiveVectorComparator.3 @@ -0,0 +1,49 @@ +.TH "moeoParetoObjectiveVectorComparator" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoObjectiveVectorComparator \- This functor class allows to compare 2 objective vectors according to Pareto dominance. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoObjectiveVectorComparator< ObjectiveVector >< moeoRealObjectiveVector< ObjectiveVectorTraits > >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "const bool \fBoperator()\fP (const \fBObjectiveVector\fP &_objectiveVector1, const \fBObjectiveVector\fP &_objectiveVector2)" +.br +.RI "\fIReturns true if _objectiveVector1 is dominated by _objectiveVector2. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoObjectiveVectorComparator< ObjectiveVector >" +This functor class allows to compare 2 objective vectors according to Pareto dominance. +.PP +Definition at line 47 of file moeoParetoObjectiveVectorComparator.h. +.SH "Member Function Documentation" +.PP +.SS "template const bool \fBmoeoParetoObjectiveVectorComparator\fP< \fBObjectiveVector\fP >::operator() (const \fBObjectiveVector\fP & _objectiveVector1, const \fBObjectiveVector\fP & _objectiveVector2)\fC [inline]\fP" +.PP +Returns true if _objectiveVector1 is dominated by _objectiveVector2. +.PP +\fBParameters:\fP +.RS 4 +\fI_objectiveVector1\fP the first objective vector +.br +\fI_objectiveVector2\fP the second objective vector +.RE +.PP + +.PP +Definition at line 56 of file moeoParetoObjectiveVectorComparator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRandomSelect.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRandomSelect.3 new file mode 100644 index 000000000..44edcc9e6 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRandomSelect.3 @@ -0,0 +1,37 @@ +.TH "moeoRandomSelect" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoRandomSelect \- Selection strategy that selects only one element randomly from a whole population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoSelectOne< MOEOT >< MOEOT >\fP, and \fBeoRandomSelect< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoRandomSelect\fP ()" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "const MOEOT & \fBoperator()\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIReturn one individual at random by using an \fBeoRandomSelect\fP. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoRandomSelect< MOEOT >" +Selection strategy that selects only one element randomly from a whole population. +.PP +Definition at line 48 of file moeoRandomSelect.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRealObjectiveVector.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRealObjectiveVector.3 new file mode 100644 index 000000000..f91345a2b --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRealObjectiveVector.3 @@ -0,0 +1,181 @@ +.TH "moeoRealObjectiveVector" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoRealObjectiveVector \- This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoObjectiveVector< ObjectiveVectorTraits, double >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoRealObjectiveVector\fP (double _value=0.0)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "\fBmoeoRealObjectiveVector\fP (std::vector< double > &_v)" +.br +.RI "\fICtor from a vector of doubles. \fP" +.ti -1c +.RI "bool \fBdominates\fP (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > &_other) const " +.br +.RI "\fIReturns true if the current objective vector dominates _other according to the Pareto dominance relation (but it's better to use a \fBmoeoObjectiveVectorComparator\fP object to compare solutions). \fP" +.ti -1c +.RI "bool \fBoperator==\fP (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > &_other) const " +.br +.RI "\fIReturns true if the current objective vector is equal to _other (according to a tolerance value). \fP" +.ti -1c +.RI "bool \fBoperator!=\fP (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > &_other) const " +.br +.RI "\fIReturns true if the current objective vector is different than _other (according to a tolerance value). \fP" +.ti -1c +.RI "bool \fBoperator<\fP (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > &_other) const " +.br +.RI "\fIReturns true if the current objective vector is smaller than _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \fP" +.ti -1c +.RI "bool \fBoperator>\fP (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > &_other) const " +.br +.RI "\fIReturns true if the current objective vector is greater than _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \fP" +.ti -1c +.RI "bool \fBoperator<=\fP (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > &_other) const " +.br +.RI "\fIReturns true if the current objective vector is smaller than or equal to _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \fP" +.ti -1c +.RI "bool \fBoperator>=\fP (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > &_other) const " +.br +.RI "\fIReturns true if the current objective vector is greater than or equal to _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoRealObjectiveVector< ObjectiveVectorTraits >" +This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e. + +that an objective value is represented using a double, and this for any objective. +.PP +Definition at line 52 of file moeoRealObjectiveVector.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP >::\fBmoeoRealObjectiveVector\fP (std::vector< double > & _v)\fC [inline]\fP" +.PP +Ctor from a vector of doubles. +.PP +\fBParameters:\fP +.RS 4 +\fI_v\fP the std::vector < double > +.RE +.PP + +.PP +Definition at line 70 of file moeoRealObjectiveVector.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP >::dominates (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > & _other) const\fC [inline]\fP" +.PP +Returns true if the current objective vector dominates _other according to the Pareto dominance relation (but it's better to use a \fBmoeoObjectiveVectorComparator\fP object to compare solutions). +.PP +\fBParameters:\fP +.RS 4 +\fI_other\fP the other \fBmoeoRealObjectiveVector\fP object to compare with +.RE +.PP + +.PP +Definition at line 79 of file moeoRealObjectiveVector.h. +.SS "template bool \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP >::operator== (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > & _other) const\fC [inline]\fP" +.PP +Returns true if the current objective vector is equal to _other (according to a tolerance value). +.PP +\fBParameters:\fP +.RS 4 +\fI_other\fP the other \fBmoeoRealObjectiveVector\fP object to compare with +.RE +.PP + +.PP +Definition at line 90 of file moeoRealObjectiveVector.h. +.PP +References moeoObjectiveVectorTraits::tolerance(). +.PP +Referenced by moeoRealObjectiveVector< ObjectiveVectorTraits >::operator!=(), and moeoRealObjectiveVector< ObjectiveVectorTraits >::operator>=(). +.SS "template bool \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP >::operator!= (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > & _other) const\fC [inline]\fP" +.PP +Returns true if the current objective vector is different than _other (according to a tolerance value). +.PP +\fBParameters:\fP +.RS 4 +\fI_other\fP the other \fBmoeoRealObjectiveVector\fP object to compare with +.RE +.PP + +.PP +Definition at line 107 of file moeoRealObjectiveVector.h. +.PP +References moeoRealObjectiveVector< ObjectiveVectorTraits >::operator==(). +.SS "template bool \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP >::operator< (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > & _other) const\fC [inline]\fP" +.PP +Returns true if the current objective vector is smaller than _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +.PP +\fBParameters:\fP +.RS 4 +\fI_other\fP the other \fBmoeoRealObjectiveVector\fP object to compare with +.RE +.PP + +.PP +Definition at line 118 of file moeoRealObjectiveVector.h. +.PP +Referenced by moeoRealObjectiveVector< ObjectiveVectorTraits >::operator<=(). +.SS "template bool \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP >::operator> (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > & _other) const\fC [inline]\fP" +.PP +Returns true if the current objective vector is greater than _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +.PP +\fBParameters:\fP +.RS 4 +\fI_other\fP the other \fBmoeoRealObjectiveVector\fP object to compare with +.RE +.PP + +.PP +Definition at line 130 of file moeoRealObjectiveVector.h. +.PP +Referenced by moeoRealObjectiveVector< ObjectiveVectorTraits >::operator>=(). +.SS "template bool \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP >::operator<= (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > & _other) const\fC [inline]\fP" +.PP +Returns true if the current objective vector is smaller than or equal to _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +.PP +\fBParameters:\fP +.RS 4 +\fI_other\fP the other \fBmoeoRealObjectiveVector\fP object to compare with +.RE +.PP + +.PP +Definition at line 141 of file moeoRealObjectiveVector.h. +.PP +References moeoRealObjectiveVector< ObjectiveVectorTraits >::operator<(). +.SS "template bool \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP >::operator>= (const \fBmoeoRealObjectiveVector\fP< \fBObjectiveVectorTraits\fP > & _other) const\fC [inline]\fP" +.PP +Returns true if the current objective vector is greater than or equal to _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). +.PP +\fBParameters:\fP +.RS 4 +\fI_other\fP the other \fBmoeoRealObjectiveVector\fP object to compare with +.RE +.PP + +.PP +Definition at line 152 of file moeoRealObjectiveVector.h. +.PP +References moeoRealObjectiveVector< ObjectiveVectorTraits >::operator==(), and moeoRealObjectiveVector< ObjectiveVectorTraits >::operator>(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRealVector.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRealVector.3 new file mode 100644 index 000000000..ffb580639 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRealVector.3 @@ -0,0 +1,55 @@ +.TH "moeoRealVector" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoRealVector \- This class is an implementation of a simple double-valued \fBmoeoVector\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >\fP. +.PP +Inherited by \fBSch1\fP, \fBSolution\fP, \fBSolution\fP, \fBSolution\fP, \fBSolution\fP, and \fBSolution\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoRealVector\fP (unsigned int _size=0, double _value=0.0)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "virtual std::string \fBclassName\fP () const " +.br +.RI "\fIReturns the class name as a std::string. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >" +This class is an implementation of a simple double-valued \fBmoeoVector\fP. +.PP +Definition at line 47 of file moeoRealVector.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoRealVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::\fBmoeoRealVector\fP (unsigned int _size = \fC0\fP, double _value = \fC0.0\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_size\fP Length of vector (default is 0) +.br +\fI_value\fP Initial value of all elements (default is default value of type GeneType) +.RE +.PP + +.PP +Definition at line 56 of file moeoRealVector.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoReplacement.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoReplacement.3 new file mode 100644 index 000000000..f12a5f309 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoReplacement.3 @@ -0,0 +1,27 @@ +.TH "moeoReplacement" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoReplacement \- Replacement strategy for multi-objective optimization. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoReplacement< MOEOT >\fP. +.PP +Inherited by \fBmoeoElitistReplacement< MOEOT >\fP, \fBmoeoEnvironmentalReplacement< MOEOT >\fP, and \fBmoeoGenerationalReplacement< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoReplacement< MOEOT >" +Replacement strategy for multi-objective optimization. +.PP +Definition at line 47 of file moeoReplacement.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRouletteSelect.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRouletteSelect.3 new file mode 100644 index 000000000..ec2a35186 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoRouletteSelect.3 @@ -0,0 +1,84 @@ +.TH "moeoRouletteSelect" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoRouletteSelect \- Selection strategy that selects ONE individual by using roulette wheel process. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoSelectOne< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoRouletteSelect\fP (unsigned int _tSize=2)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "const MOEOT & \fBoperator()\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApply the tournament to the given population. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "double & \fBtSize\fP" +.br +.RI "\fIsize \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoRouletteSelect< MOEOT >" +Selection strategy that selects ONE individual by using roulette wheel process. + +\fBWarning:\fP +.RS 4 +This selection only uses fitness values (and not diversity values). +.RE +.PP + +.PP +Definition at line 49 of file moeoRouletteSelect.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoRouletteSelect\fP< MOEOT >::\fBmoeoRouletteSelect\fP (unsigned int _tSize = \fC2\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_tSize\fP the number of individuals in the tournament (default: 2) +.RE +.PP + +.PP +Definition at line 57 of file moeoRouletteSelect.h. +.PP +References moeoRouletteSelect< MOEOT >::tSize. +.SH "Member Function Documentation" +.PP +.SS "template const MOEOT& \fBmoeoRouletteSelect\fP< MOEOT >::operator() (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline]\fP" +.PP +Apply the tournament to the given population. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 73 of file moeoRouletteSelect.h. +.PP +References moeoRouletteSelect< MOEOT >::tSize. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoScalarFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoScalarFitnessAssignment.3 new file mode 100644 index 000000000..d3c1375da --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoScalarFitnessAssignment.3 @@ -0,0 +1,27 @@ +.TH "moeoScalarFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoScalarFitnessAssignment \- \fBmoeoScalarFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP for scalar strategies. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +Inherited by \fBmoeoAchievementFitnessAssignment< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoScalarFitnessAssignment< MOEOT >" +\fBmoeoScalarFitnessAssignment\fP is a \fBmoeoFitnessAssignment\fP for scalar strategies. +.PP +Definition at line 47 of file moeoScalarFitnessAssignment.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSelectFromPopAndArch.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSelectFromPopAndArch.3 new file mode 100644 index 000000000..2eb0ce38f --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSelectFromPopAndArch.3 @@ -0,0 +1,105 @@ +.TH "moeoSelectFromPopAndArch" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSelectFromPopAndArch \- Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoSelectOne< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoSelectFromPopAndArch\fP (\fBmoeoSelectOne\fP< MOEOT > &_popSelectOne, \fBmoeoSelectOne\fP< MOEOT > _archSelectOne, \fBmoeoArchive\fP< MOEOT > &_arch, double _ratioFromPop=0.5)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "\fBmoeoSelectFromPopAndArch\fP (\fBmoeoSelectOne\fP< MOEOT > &_popSelectOne, \fBmoeoArchive\fP< MOEOT > &_arch, double _ratioFromPop=0.5)" +.br +.RI "\fIDefaulr ctor - the archive's selection operator is a random selector. \fP" +.ti -1c +.RI "virtual const MOEOT & \fBoperator()\fP (const \fBeoPop\fP< MOEOT > &pop)" +.br +.RI "\fIThe selection process. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISetups some population stats. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoSelectOne\fP< MOEOT > & \fBpopSelectOne\fP" +.br +.RI "\fIThe population's selection operator. \fP" +.ti -1c +.RI "\fBmoeoSelectOne\fP< MOEOT > & \fBarchSelectOne\fP" +.br +.RI "\fIThe archive's selection operator. \fP" +.ti -1c +.RI "\fBmoeoArchive\fP< MOEOT > & \fBarch\fP" +.br +.RI "\fIThe archive. \fP" +.ti -1c +.RI "double \fBratioFromPop\fP" +.br +.RI "\fIThe ratio of selected individuals from the population. \fP" +.ti -1c +.RI "\fBmoeoRandomSelect\fP< MOEOT > \fBrandomSelectOne\fP" +.br +.RI "\fIA random selection operator (used as default for archSelectOne). \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoSelectFromPopAndArch< MOEOT >" +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. +.PP +Definition at line 51 of file moeoSelectFromPopAndArch.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoSelectFromPopAndArch\fP< MOEOT >::\fBmoeoSelectFromPopAndArch\fP (\fBmoeoSelectOne\fP< MOEOT > & _popSelectOne, \fBmoeoSelectOne\fP< MOEOT > _archSelectOne, \fBmoeoArchive\fP< MOEOT > & _arch, double _ratioFromPop = \fC0.5\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_popSelectOne\fP the population's selection operator +.br +\fI_archSelectOne\fP the archive's selection operator +.br +\fI_arch\fP the archive +.br +\fI_ratioFromPop\fP the ratio of selected individuals from the population +.RE +.PP + +.PP +Definition at line 62 of file moeoSelectFromPopAndArch.h. +.SS "template \fBmoeoSelectFromPopAndArch\fP< MOEOT >::\fBmoeoSelectFromPopAndArch\fP (\fBmoeoSelectOne\fP< MOEOT > & _popSelectOne, \fBmoeoArchive\fP< MOEOT > & _arch, double _ratioFromPop = \fC0.5\fP)\fC [inline]\fP" +.PP +Defaulr ctor - the archive's selection operator is a random selector. +.PP +\fBParameters:\fP +.RS 4 +\fI_popSelectOne\fP the population's selection operator +.br +\fI_arch\fP the archive +.br +\fI_ratioFromPop\fP the ratio of selected individuals from the population +.RE +.PP + +.PP +Definition at line 73 of file moeoSelectFromPopAndArch.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSelectOne.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSelectOne.3 new file mode 100644 index 000000000..3a4ad0a45 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSelectOne.3 @@ -0,0 +1,27 @@ +.TH "moeoSelectOne" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSelectOne \- Selection strategy for multi-objective optimization that selects only one element from a whole population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoSelectOne< MOEOT >\fP. +.PP +Inherited by \fBmoeoDetTournamentSelect< MOEOT >\fP, \fBmoeoRandomSelect< MOEOT >\fP, \fBmoeoRouletteSelect< MOEOT >\fP, \fBmoeoSelectFromPopAndArch< MOEOT >\fP, and \fBmoeoStochTournamentSelect< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoSelectOne< MOEOT >" +Selection strategy for multi-objective optimization that selects only one element from a whole population. +.PP +Definition at line 47 of file moeoSelectOne.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSharingDiversityAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSharingDiversityAssignment.3 new file mode 100644 index 000000000..dee541bfd --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSharingDiversityAssignment.3 @@ -0,0 +1,198 @@ +.TH "moeoSharingDiversityAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSharingDiversityAssignment \- Sharing assignment scheme originally porposed by: D. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoDiversityAssignment< MOEOT >< MOEOT >\fP. +.PP +Inherited by \fBmoeoFrontByFrontSharingDiversityAssignment< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIthe objective vector type of the solutions \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoSharingDiversityAssignment\fP (\fBmoeoDistance\fP< MOEOT, double > &_distance, double _nicheSize=0.5, double _alpha=1.0)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "\fBmoeoSharingDiversityAssignment\fP (double _nicheSize=0.5, double _alpha=1.0)" +.br +.RI "\fICtor with an euclidean distance (with normalized objective values) in the objective space is used as default. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets diversity values for every solution contained in the population _pop. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.in -1c +.SS "Protected Member Functions" + +.in +1c +.ti -1c +.RI "virtual void \fBsetSimilarities\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets similarities for every solution contained in the population _pop. \fP" +.ti -1c +.RI "double \fBsh\fP (double _dist)" +.br +.RI "\fISharing function. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoDistance\fP< MOEOT, double > & \fBdistance\fP" +.br +.RI "\fIthe distance used to compute the neighborhood of solutions \fP" +.ti -1c +.RI "\fBmoeoEuclideanDistance\fP< MOEOT > \fBdefaultDistance\fP" +.br +.RI "\fIeuclidean distancein the objective space (can be used as default) \fP" +.ti -1c +.RI "double \fBnicheSize\fP" +.br +.RI "\fIneighborhood size in terms of radius distance \fP" +.ti -1c +.RI "double \fBalpha\fP" +.br +.RI "\fIparameter used to regulate the shape of the sharing function \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoSharingDiversityAssignment< MOEOT >" +Sharing assignment scheme originally porposed by: D. + +E. Goldberg, 'Genetic Algorithms in Search, Optimization and Machine Learning', Addision-Wesley, MA, USA (1989). +.PP +Definition at line 53 of file moeoSharingDiversityAssignment.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoSharingDiversityAssignment\fP< MOEOT >::\fBmoeoSharingDiversityAssignment\fP (\fBmoeoDistance\fP< MOEOT, double > & _distance, double _nicheSize = \fC0.5\fP, double _alpha = \fC1.0\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_distance\fP the distance used to compute the neighborhood of solutions (can be related to the decision space or the objective space) +.br +\fI_nicheSize\fP neighborhood size in terms of radius distance (closely related to the way the distances are computed) +.br +\fI_alpha\fP parameter used to regulate the shape of the sharing function +.RE +.PP + +.PP +Definition at line 67 of file moeoSharingDiversityAssignment.h. +.SS "template \fBmoeoSharingDiversityAssignment\fP< MOEOT >::\fBmoeoSharingDiversityAssignment\fP (double _nicheSize = \fC0.5\fP, double _alpha = \fC1.0\fP)\fC [inline]\fP" +.PP +Ctor with an euclidean distance (with normalized objective values) in the objective space is used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_nicheSize\fP neighborhood size in terms of radius distance (closely related to the way the distances are computed) +.br +\fI_alpha\fP parameter used to regulate the shape of the sharing function +.RE +.PP + +.PP +Definition at line 76 of file moeoSharingDiversityAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoSharingDiversityAssignment\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets diversity values for every solution contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 84 of file moeoSharingDiversityAssignment.h. +.PP +References moeoSharingDiversityAssignment< MOEOT >::setSimilarities(). +.SS "template void \fBmoeoSharingDiversityAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +\fBWarning:\fP +.RS 4 +NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.RE +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP +\fBWarning:\fP +.RS 4 +NOT IMPLEMENTED, DO NOTHING ! +.RE +.PP + +.PP +Implements \fBmoeoDiversityAssignment< MOEOT >\fP. +.PP +Reimplemented in \fBmoeoFrontByFrontSharingDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 105 of file moeoSharingDiversityAssignment.h. +.SS "template virtual void \fBmoeoSharingDiversityAssignment\fP< MOEOT >::setSimilarities (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, protected, virtual]\fP" +.PP +Sets similarities for every solution contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Reimplemented in \fBmoeoFrontByFrontSharingDiversityAssignment< MOEOT >\fP. +.PP +Definition at line 127 of file moeoSharingDiversityAssignment.h. +.PP +References moeoSharingDiversityAssignment< MOEOT >::distance, and moeoSharingDiversityAssignment< MOEOT >::sh(). +.PP +Referenced by moeoSharingDiversityAssignment< MOEOT >::operator()(). +.SS "template double \fBmoeoSharingDiversityAssignment\fP< MOEOT >::sh (double _dist)\fC [inline, protected]\fP" +.PP +Sharing function. +.PP +\fBParameters:\fP +.RS 4 +\fI_dist\fP the distance value +.RE +.PP + +.PP +Definition at line 150 of file moeoSharingDiversityAssignment.h. +.PP +References moeoSharingDiversityAssignment< MOEOT >::alpha, and moeoSharingDiversityAssignment< MOEOT >::nicheSize. +.PP +Referenced by moeoSharingDiversityAssignment< MOEOT >::setSimilarities(), and moeoFrontByFrontSharingDiversityAssignment< MOEOT >::setSimilarities(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSolutionUnaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSolutionUnaryMetric.3 new file mode 100644 index 000000000..14595f4a4 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSolutionUnaryMetric.3 @@ -0,0 +1,25 @@ +.TH "moeoSolutionUnaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSolutionUnaryMetric \- Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoUnaryMetric< A, R >< const moeoRealObjectiveVector< ObjectiveVectorTraits > &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoSolutionUnaryMetric< ObjectiveVector, R >" +Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector. +.PP +Definition at line 71 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSolutionVsSolutionBinaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSolutionVsSolutionBinaryMetric.3 new file mode 100644 index 000000000..cf912f3e8 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoSolutionVsSolutionBinaryMetric.3 @@ -0,0 +1,27 @@ +.TH "moeoSolutionVsSolutionBinaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSolutionVsSolutionBinaryMetric \- Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBinaryMetric< A1, A2, R >< const const moeoRealObjectiveVector< ObjectiveVectorTraits > &, moeoRealObjectiveVector< ObjectiveVectorTraits > &, R >\fP. +.PP +Inherited by \fBmoeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >" +Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors. +.PP +Definition at line 87 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoStochTournamentSelect.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoStochTournamentSelect.3 new file mode 100644 index 000000000..08d002e9c --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoStochTournamentSelect.3 @@ -0,0 +1,107 @@ +.TH "moeoStochTournamentSelect" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoStochTournamentSelect \- Selection strategy that selects ONE individual by stochastic tournament. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoSelectOne< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoStochTournamentSelect\fP (\fBmoeoComparator\fP< MOEOT > &_comparator, double _tRate=1.0)" +.br +.RI "\fIFull Ctor. \fP" +.ti -1c +.RI "\fBmoeoStochTournamentSelect\fP (double _tRate=1.0)" +.br +.RI "\fICtor without comparator. \fP" +.ti -1c +.RI "const MOEOT & \fBoperator()\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApply the tournament to the given population. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoComparator\fP< MOEOT > & \fBcomparator\fP" +.br +.RI "\fIthe comparator (used to compare 2 individuals) \fP" +.ti -1c +.RI "\fBmoeoFitnessThenDiversityComparator\fP< MOEOT > \fBdefaultComparator\fP" +.br +.RI "\fIa fitness then diversity comparator can be used as default \fP" +.ti -1c +.RI "double \fBtRate\fP" +.br +.RI "\fIthe tournament rate \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoStochTournamentSelect< MOEOT >" +Selection strategy that selects ONE individual by stochastic tournament. +.PP +Definition at line 49 of file moeoStochTournamentSelect.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoStochTournamentSelect\fP< MOEOT >::\fBmoeoStochTournamentSelect\fP (\fBmoeoComparator\fP< MOEOT > & _comparator, double _tRate = \fC1.0\fP)\fC [inline]\fP" +.PP +Full Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_comparator\fP the comparator (used to compare 2 individuals) +.br +\fI_tRate\fP the tournament rate +.RE +.PP + +.PP +Definition at line 58 of file moeoStochTournamentSelect.h. +.PP +References moeoStochTournamentSelect< MOEOT >::tRate. +.SS "template \fBmoeoStochTournamentSelect\fP< MOEOT >::\fBmoeoStochTournamentSelect\fP (double _tRate = \fC1.0\fP)\fC [inline]\fP" +.PP +Ctor without comparator. +.PP +A \fBmoeoFitnessThenDiversityComparator\fP is used as default. +.PP +\fBParameters:\fP +.RS 4 +\fI_tRate\fP the tournament rate +.RE +.PP + +.PP +Definition at line 78 of file moeoStochTournamentSelect.h. +.PP +References moeoStochTournamentSelect< MOEOT >::tRate. +.SH "Member Function Documentation" +.PP +.SS "template const MOEOT& \fBmoeoStochTournamentSelect\fP< MOEOT >::operator() (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline]\fP" +.PP +Apply the tournament to the given population. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 98 of file moeoStochTournamentSelect.h. +.PP +References moeoStochTournamentSelect< MOEOT >::comparator, and moeoStochTournamentSelect< MOEOT >::tRate. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoUnaryIndicatorBasedFitnessAssignment.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoUnaryIndicatorBasedFitnessAssignment.3 new file mode 100644 index 000000000..751f51ca5 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoUnaryIndicatorBasedFitnessAssignment.3 @@ -0,0 +1,25 @@ +.TH "moeoUnaryIndicatorBasedFitnessAssignment" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoUnaryIndicatorBasedFitnessAssignment \- \fBmoeoIndicatorBasedFitnessAssignment\fP for unary indicators. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoIndicatorBasedFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >" +\fBmoeoIndicatorBasedFitnessAssignment\fP for unary indicators. +.PP +Definition at line 47 of file moeoUnaryIndicatorBasedFitnessAssignment.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoUnaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoUnaryMetric.3 new file mode 100644 index 000000000..e4f390f63 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoUnaryMetric.3 @@ -0,0 +1,27 @@ +.TH "moeoUnaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoUnaryMetric \- Base class for unary metrics. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< A, R >\fP, and \fBmoeoMetric\fP. +.PP +Inherited by \fBmoeoSolutionUnaryMetric< ObjectiveVector, R >\fP, and \fBmoeoVectorUnaryMetric< ObjectiveVector, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoUnaryMetric< A, R >" +Base class for unary metrics. +.PP +Definition at line 55 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVector.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVector.3 new file mode 100644 index 000000000..220584a2d --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVector.3 @@ -0,0 +1,141 @@ +.TH "moeoVector" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVector \- Base class for fixed length chromosomes, just derives from \fBMOEO\fP and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP. +.PP +Inherited by \fBFlowShop\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef GeneType \fBAtomType\fP" +.br +.RI "\fIthe atomic type \fP" +.ti -1c +.RI "typedef std::vector< GeneType > \fBContainerType\fP" +.br +.RI "\fIthe container type \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoVector\fP (unsigned int _size=0, GeneType _value=GeneType())" +.br +.RI "\fIDefault ctor. \fP" +.ti -1c +.RI "void \fBvalue\fP (const std::vector< GeneType > &_v)" +.br +.RI "\fIWe can't have a Ctor from a std::vector as it would create ambiguity with the copy Ctor. \fP" +.ti -1c +.RI "bool \fBoperator<\fP (const \fBmoeoVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > &_moeo) const " +.br +.RI "\fITo avoid conflicts between \fBMOEO::operator<\fP and std::vector::operator<. \fP" +.ti -1c +.RI "virtual void \fBprintOn\fP (std::ostream &_os) const " +.br +.RI "\fIWriting object. \fP" +.ti -1c +.RI "virtual void \fBreadFrom\fP (std::istream &_is)" +.br +.RI "\fIReading object. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >" +Base class for fixed length chromosomes, just derives from \fBMOEO\fP and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison). + +GeneType must have the following methods: void ctor (needed for the std::vector<>), copy ctor. +.PP +Definition at line 50 of file moeoVector.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::\fBmoeoVector\fP (unsigned int _size = \fC0\fP, GeneType _value = \fCGeneType()\fP)\fC [inline]\fP" +.PP +Default ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_size\fP Length of vector (default is 0) +.br +\fI_value\fP Initial value of all elements (default is default value of type GeneType) +.RE +.PP + +.PP +Definition at line 72 of file moeoVector.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value (const std::vector< GeneType > & _v)\fC [inline]\fP" +.PP +We can't have a Ctor from a std::vector as it would create ambiguity with the copy Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_v\fP a vector of GeneType +.RE +.PP + +.PP +Definition at line 81 of file moeoVector.h. +.PP +Referenced by FlowShopOpCrossoverQuad::operator()(). +.SS "template bool \fBmoeoVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::operator< (const \fBmoeoVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > & _moeo) const\fC [inline]\fP" +.PP +To avoid conflicts between \fBMOEO::operator<\fP and std::vector::operator<. +.PP +\fBParameters:\fP +.RS 4 +\fI_moeo\fP the object to compare with +.RE +.PP + +.PP +Definition at line 104 of file moeoVector.h. +.SS "template virtual void \fBmoeoVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" +.PP +Writing object. +.PP +\fBParameters:\fP +.RS 4 +\fI_os\fP output stream +.RE +.PP + +.PP +Reimplemented from \fBMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP. +.PP +Reimplemented in \fBmoeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP. +.PP +Definition at line 114 of file moeoVector.h. +.SS "template virtual void \fBmoeoVector\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::readFrom (std::istream & _is)\fC [inline, virtual]\fP" +.PP +Reading object. +.PP +\fBParameters:\fP +.RS 4 +\fI_is\fP input stream +.RE +.PP + +.PP +Reimplemented from \fBMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP. +.PP +Reimplemented in \fBmoeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP. +.PP +Definition at line 127 of file moeoVector.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVectorUnaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVectorUnaryMetric.3 new file mode 100644 index 000000000..d499bd145 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVectorUnaryMetric.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorUnaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVectorUnaryMetric \- Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoUnaryMetric< A, R >< const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoVectorUnaryMetric< ObjectiveVector, R >" +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors). +.PP +Definition at line 79 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code. diff --git a/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVectorVsVectorBinaryMetric.3 b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVectorVsVectorBinaryMetric.3 new file mode 100644 index 000000000..316a06d47 --- /dev/null +++ b/tags/paradiseo-1.1/paradiseo-moeo/doc/man/man3/moeoVectorVsVectorBinaryMetric.3 @@ -0,0 +1,27 @@ +.TH "moeoVectorVsVectorBinaryMetric" 3 "13 Mar 2008" "Version 1.1" "ParadisEO-MOEO-MultiObjectiveEvolvingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVectorVsVectorBinaryMetric \- Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBinaryMetric< A1, A2, R >< const const std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, std::vector< moeoRealObjectiveVector< ObjectiveVectorTraits > > &, R >\fP. +.PP +Inherited by \fBmoeoContributionMetric< ObjectiveVector >\fP, and \fBmoeoEntropyMetric< ObjectiveVector >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >" +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors). +.PP +Definition at line 95 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO-MultiObjectiveEvolvingObjects from the source code.