Main Page | Class Hierarchy | Class List | File List | Class Members

latinsquare.h

00001 
00002 /* Problème du carré latin équilibré (cf CPAIOR'04) */
00004 class Latinsquare : public CSProblem
00005 { public :
00006   int squaresize;
00007   Latinsquare(int size);
00008 int config_evaluation(Configuration * Configuration);
00009   void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00010   void init_domaines(int nbvar, int s );
00011   Configuration* create_configuration();
00012 void move_execution(Configuration* configuration,Move* move);
00013 int move_evaluation (Configuration* configuration,Move* move);
00014 Move* Latinsquare::create_move();
00015 void next_move (Configuration* configuration, Move* move, NeighborhoodSearch* nbhs);
00016 void random_configuration(Configuration* configuration);
00017 void compute_var_conflict(Configuration* configuration);
00018 void adjust_parameters(Configuration* configuration, int& maxneighbors, int& minneighbors);
00019 
00020 };
00021 
00022 
00023 class SBLatinsquare : public Latinsquare
00024 { public : 
00025   SBLatinsquare(int size);
00026 int config_evaluation(Configuration * Configuration);
00027   void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00028 int move_evaluation (Configuration* configuration,Move* move);}
00029 ;
00030 
00031 Latinsquare* latinsquare_problem_creation(int size);
00032 SBLatinsquare* sblatinsquare_problem_creation(int size);
00033 Latinsquare* probleme_carrelatin (int nbvar);
00034 
00035 /* Mouvement : échange de deux valeurs dans une ligne */
00037 class ColSwMove : public Move
00038 {public :
00039 /* ligne modifiée */
00041  int line;
00042 /* 1ere variable échangée */
00044  int variable1;
00045 /* 2eme variable échangée */
00047  int variable2;
00048  ColSwMove();
00049  ~ColSwMove() {;};
00050 int eqmove(Move* move);
00051 void copymove (Move* move);
00052 Move* computetabumove(Configuration* config);
00053 };
00054 
00055 void arguments_carre(char** argv, int& narg, int & s);
00056 
00057 int latinsquare(int argc, char** argv, int automatic_tuningmode, int sb);

Generated on Wed Sep 15 17:58:38 2004 for INCOP by doxygen 1.3.5