00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef two_opt_tabu_list_h
00013 #define two_opt_tabu_list_h
00014
00015 #include <moTabuList.h>
00016 #include "two_opt.h"
00017 #include "route.h"
00018
00020 class TwoOptTabuList : public moTabuList <TwoOpt>
00021 {
00022 public :
00023
00024 bool operator () (const TwoOpt & __move, const Route & __sol) ;
00025
00026 void add (const TwoOpt & __move, const Route & __sol) ;
00027
00028 void update () ;
00029
00030 void init () ;
00031
00032 private :
00033
00034 std :: vector <std :: vector <unsigned> > tabu_span ;
00035
00036 } ;
00037
00038 #endif