FlowShopEval.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
00002 
00003 //-----------------------------------------------------------------------------
00004 // FlowShopEval.h
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 #ifndef FLOWSHOPEVAL_H_
00014 #define FLOWSHOPEVAL_H_
00015 
00016 #include <vector>
00017 #include <core/moeoEvalFunc.h>
00018 #include <FlowShop.h>
00019 
00023 class FlowShopEval : public moeoEvalFunc<FlowShop>
00024 {
00025 public:
00026 
00034     FlowShopEval(unsigned int _M, unsigned int _N, const std::vector< std::vector<unsigned int> > & _p, const std::vector<unsigned int> & _d);
00035 
00036 
00041     void operator()(FlowShop & _flowshop);
00042 
00043 
00044 private:
00045 
00047     unsigned int M;
00049     unsigned int N;
00051     std::vector< std::vector < unsigned int > > p;
00053     std::vector < unsigned int > d;
00054 
00055 
00060     double makespan(const FlowShop & _flowshop);
00061 
00062 
00067     double tardiness(const FlowShop & _flowshop);
00068 
00069 
00075     std::vector< std::vector<unsigned int> > completionTime (const FlowShop & _flowshop);
00076 
00077 };
00078 
00079 #endif /*FLOWSHOPEVAL_H_*/

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  doxygen 1.4.7