00001
00002
00003
00007
00008
00009
00010
00011
00012
00013
00018 class CliqueProblem : public BinaryCSProblem
00019 { public :
00020
00022 int cliquesize;
00023
00025 int* clique(Configuration* configuration);
00026
00028 int* remainvariables(Configuration* configuration);
00029 CliqueProblem(int nvar, int nconst, int clsize);
00030 int config_evaluation(Configuration* configuration);
00031 int config_evaluation_verif(Configuration* configuration);
00032 int move_evaluation (Configuration* configuration, Move* move);
00033 void incr_update_conflicts(IncrCSPConfiguration* configuration,Move* move);
00034 void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00035 void init_domains(int nbvar);
00036
00037
00038 void random_configuration(Configuration* configuration);
00039 void move_execution(Configuration* configuration,Move* move);
00040 void solution_write();
00041 void next_move (Configuration* configuration, Move* move, NeighborhoodSearch* nbhs);
00042 Move* create_move();
00043 Configuration* create_configuration();
00044 int minconflict_invariable(Configuration* configuration);
00045 void adjust_parameters (Configuration* configuration, int& maxneighbors, int& minneighbors);
00046 };
00047
00048 CliqueProblem* probleme_maxclique(int nbvar,int nbconst,int clsize,int** constraint1);
00049 CliqueProblem* clique_problem_creation (int clsize,ifstream & file);
00050 void lire_debut_fichier_clique(ifstream & file, int& nbvar, int& nbconst);
00051 void lire_fichier_clique (ifstream& file, vector<int>* connexions,int ** constraint1);
00052
00053
00054
00055
00056
00057
00058
00059
00064 class CliqueConfiguration: public FullincrCSPConfiguration
00065 { public :
00066 int cliquesize;
00067
00070 int* clique;
00071
00073 int* remainvariables;
00074 CliqueConfiguration(int nbvar,int cliquesize);
00075 ~CliqueConfiguration();
00076 void copy_element (Configuration* config2);
00077
00078 };
00079
00080 int maxclique (int argc, char** argv, int tuningmode);