00001
00002
00003 class Nqueen: public BinaryCSProblem
00004 { public :
00005 Nqueen(int nvar);
00006 int config_evaluation(Configuration * Configuration);
00007 void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00008 void init_domaines(int nbvar, int s );
00009 Configuration* create_configuration();
00010 };
00011
00012 Nqueen* probleme_reines(int nbvar);
00013 Nqueen* queen_problem_creation(int nbvar);
00014
00016
00017 class SwNqueen : public Nqueen
00018 { public :
00019 int var_conflict_size;
00020 SwNqueen(int nvar);
00021 int config_evaluation(Configuration * Configuration);
00022 void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00023 virtual void update_conflicts1(Configuration* configuration,Move* move);
00024 void move_execution(Configuration* configuration, Move* move);
00025 Move* create_move();
00026 void next_move(Configuration* configuration, Move* move, NeighborhoodSearch* nbhs);
00027 void random_configuration(Configuration* configuration);
00028 int move_evaluation(Configuration* configuration,Move* move);
00029 void adjust_parameters(Configuration* configuration, int& maxneighbors, int& minneighbors);
00030 int random_conflict_variable(Configuration* configuration);
00031 void compute_var_conflict(Configuration* configuration);
00032 int compute_var_conflict_size(Configuration* configuration);
00033 };
00034
00035 SwNqueen* probleme_swreines(int nbvar);
00036 SwNqueen* swqueen_problem_creation(int nbvar);
00037
00038
00041
00042
00043 class SwNiNqueen : public SwNqueen
00044 { public :
00045 SwNiNqueen(int nvar);
00046 int config_evaluation(Configuration * Configuration);
00047 int move_evaluation(Configuration* configuration,Move* move);
00048 void adjust_parameters(Configuration* configuration, int& maxneighbors, int& minneighbors);
00049 Configuration* create_configuration();
00050
00051 };
00052
00053 SwNiNqueen* probleme_swnireines(int nbvar);
00054 SwNiNqueen* swniqueen_problem_creation(int nbvar);
00055
00056