diff --git a/tags/paradiseo-ix86-1.0/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html b/tags/paradiseo-ix86-1.0/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html index bae6d394f..e9a6ef9ac 100644 --- a/tags/paradiseo-ix86-1.0/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html +++ b/tags/paradiseo-ix86-1.0/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html @@ -21,108 +21,133 @@ -
00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- -00002 -00003 //----------------------------------------------------------------------------- -00004 // FlowShopBenchmarkParser.cpp -00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007 -00006 /* -00007 This library... -00008 -00009 Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr -00010 */ -00011 //----------------------------------------------------------------------------- -00012 -00013 #include <stdexcept> -00014 #include <FlowShopBenchmarkParser.h> -00015 -00016 FlowShopBenchmarkParser::FlowShopBenchmarkParser(const std::string _benchmarkFileName) -00017 { -00018 init(_benchmarkFileName); -00019 } -00020 -00021 -00022 const unsigned int FlowShopBenchmarkParser::getM() -00023 { -00024 return M; -00025 } -00026 -00027 -00028 const unsigned int FlowShopBenchmarkParser::getN() -00029 { -00030 return N; -00031 } -00032 -00033 -00034 const std::vector< std::vector<unsigned int> > FlowShopBenchmarkParser::getP() -00035 { -00036 return p; -00037 } -00038 -00039 -00040 const std::vector<unsigned int> FlowShopBenchmarkParser::getD() -00041 { -00042 return d; -00043 } -00044 +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 void FlowShopBenchmarkParser::printOn(std::ostream & _os) const -00047 { -00048 _os << "M=" << M << " N=" << N << std::endl; -00049 _os << "*** processing times" << std::endl; -00050 for (unsigned int i=0; i<M; i++) { -00051 for (unsigned int j=0; j<N; j++) { -00052 _os << p[i][j] << " "; -00053 } -00054 _os << std::endl; -00055 } -00056 _os << "*** due-dates" << std::endl; -00057 for (unsigned int j=0; j<N; j++) { -00058 _os << d[j] << " "; -00059 } -00060 _os << std::endl << std::endl; -00061 } -00062 +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 void FlowShopBenchmarkParser::init(const std::string _benchmarkFileName) -00065 { -00066 std::string buffer; -00067 std::string::size_type start, end; -00068 std::ifstream inputFile(_benchmarkFileName.data(), std::ios::in); -00069 // opening of the benchmark file -00070 if (! inputFile) -00071 throw std::runtime_error("*** ERROR : Unable to open the benchmark file"); -00072 // number of jobs (N) -00073 getline(inputFile, buffer, '\n'); -00074 N = atoi(buffer.data()); -00075 // number of machines M -00076 getline(inputFile, buffer, '\n'); -00077 M = atoi(buffer.data()); -00078 // initial and current seeds (not used) -00079 getline(inputFile, buffer, '\n'); -00080 // processing times and due-dates -00081 p = std::vector< std::vector<unsigned int> > (M,N); -00082 d = std::vector<unsigned int> (N); -00083 // for each job... -00084 for (unsigned int j=0 ; j<N ; j++) { -00085 // index of the job (<=> j) -00086 getline(inputFile, buffer, '\n'); -00087 // due-date of the job j -00088 getline(inputFile, buffer, '\n'); -00089 d[j] = atoi(buffer.data()); -00090 // processing times of the job j on each machine -00091 getline(inputFile, buffer, '\n'); -00092 start = buffer.find_first_not_of(" "); -00093 for (unsigned int i=0 ; i<M ; i++) { -00094 end = buffer.find_first_of(" ", start); -00095 p[i][j] = atoi(buffer.substr(start, end-start).data()); -00096 start = buffer.find_first_not_of(" ", end); -00097 } -00098 } -00099 // closing of the input file -00100 inputFile.close(); -00101 } -
Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by +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 for (unsigned int j=0; j<N; j++) { +00077 _os << p[i][j] << " "; +00078 } +00079 _os << std::endl; +00080 } +00081 _os << "*** due-dates" << std::endl; +00082 for (unsigned int j=0; j<N; j++) { +00083 _os << d[j] << " "; +00084 } +00085 _os << std::endl << std::endl; +00086 } +00087 +00088 +00089 void FlowShopBenchmarkParser::init(const std::string _benchmarkFileName) +00090 { +00091 std::string buffer; +00092 std::string::size_type start, end; +00093 std::ifstream inputFile(_benchmarkFileName.data(), std::ios::in); +00094 // opening of the benchmark file +00095 if (! inputFile) +00096 throw std::runtime_error("*** ERROR : Unable to open the benchmark file"); +00097 // number of jobs (N) +00098 getline(inputFile, buffer, '\n'); +00099 N = atoi(buffer.data()); +00100 // number of machines M +00101 getline(inputFile, buffer, '\n'); +00102 M = atoi(buffer.data()); +00103 // initial and current seeds (not used) +00104 getline(inputFile, buffer, '\n'); +00105 // processing times and due-dates +00106 p = std::vector< std::vector<unsigned int> > (M,N); +00107 d = std::vector<unsigned int> (N); +00108 // for each job... +00109 for (unsigned int j=0 ; j<N ; j++) { +00110 // index of the job (<=> j) +00111 getline(inputFile, buffer, '\n'); +00112 // due-date of the job j +00113 getline(inputFile, buffer, '\n'); +00114 d[j] = atoi(buffer.data()); +00115 // processing times of the job j on each machine +00116 getline(inputFile, buffer, '\n'); +00117 start = buffer.find_first_not_of(" "); +00118 for (unsigned int i=0 ; i<M ; i++) { +00119 end = buffer.find_first_of(" ", start); +00120 p[i][j] = atoi(buffer.substr(start, end-start).data()); +00121 start = buffer.find_first_not_of(" ", end); +00122 } +00123 } +00124 // closing of the input file +00125 inputFile.close(); +00126 } +
1.4.7