00001
00004 class CelarCSProblem : public BinaryCSProblem
00005 {public :
00006 int* numerovariable;
00007 vector<int> tabsymindex[8];
00008 int tabsymdomaines[800];
00009 int* tabindex[8];
00010 int tailledomaines[8];
00011 int* distance;
00012 int* valconst;
00013 int neighborhoodlength;
00014 CelarCSProblem(int nvar, int nconst);
00015 int index2value(int index,int var);
00016 int value2index(int index,int var);
00017 int config_evaluation(Configuration* configuration);
00018 int move_evaluation(Configuration* configuration,Move* move);
00019 int move_evaluation1(Configuration* configuration,int valeur,int var_changee,int val_changee);
00020 void inittables(vector<int>* tabledomaines);
00021 void incr_update_conflicts(IncrCSPConfiguration* configuration,Move* move);
00022 void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00023 void incr_update_conflicts_1(IncrCSPConfiguration* configuration,int var_changee, int val_changee);
00024 void fullincr_update_conflicts_1(FullincrCSPConfiguration* configuration,int var_changee, int val_changee);
00025 void move_execution(Configuration* configuration, Move* move);
00026 int compute_conflict(Configuration* configuration,int var,int val);
00027 void random_configuration(Configuration* configuration);
00028 void compute_var_conflict(Configuration* configuration);
00029 Configuration* create_configuration();
00030 int random_variable(Configuration* configuration);
00031 int random_conflict_variable(Configuration* configuration);
00032 void best_config_write ();
00033 };
00034
00035 CelarCSProblem* probleme_celar(int nbvar,int nbconst,vector<int>* tabdomaines,
00036 int * domaines,int **constraint1,int *distance,
00037 int * valconst,int *numerovariable);
00038 CelarCSProblem* celar_problem_creation (ifstream & file);
00039
00040
00041 void lire_fichier_celar (ifstream& file, int nbvar, vector<int>* connexions,int ** constraint1, int* distance,
00042 int* valconst,int* numerovariable);
00043
00044 void lire_debut_celar(ifstream & file, int & nbvar, int & nbconst);
00045 void lire_suite_celar(ifstream & file,int nbvar,int* domaines,int * numerovariable);