toulbar2
|
Public Member Functions | |
CSProblem (int nbvar, int nbconst) | |
CSProblem (int nbvar, int nbconst, int lower) | |
virtual int | variable_domainsize (int var) |
virtual int | random_variable (Configuration *configuration) |
virtual int | random_conflict_variable (Configuration *configuration) |
virtual int | random_value (int var, int val) |
virtual int | min_conflict_value (int var, int val, Configuration *configuration) |
virtual void | init_domains (int nbvar, int s) |
virtual void | init_tabdomains (int s) |
void | compute_var_conflict (Configuration *configuration) |
virtual void | set_domains_connections (int *dom, vector< int > *tabledom, vector< int > *connect) |
virtual void | init_domain_tabdomain () |
![]() | |
virtual void | incr_update_conflicts (IncrCSPConfiguration *configuration, Move *move) |
virtual void | fullincr_update_conflicts (FullincrCSPConfiguration *configuration, Move *move) |
virtual void | allocate_moves () |
virtual void | best_config_verification () |
virtual Long | compute_conflict (Configuration *configuration, int var, int val) |
virtual Long | config_evaluation (Configuration *configuration) |
virtual int | index2value (int index, int var) |
virtual int | value2index (int value, int var) |
Public Attributes | |
int | nbconst |
vector< int > * | tabdomains |
int * | domains |
vector< int > * | connections |
![]() | |
Configuration * | best_config |
int | nbvar |
int | domainsize |
Long | lower_bound |
Move * | currentmove |
Move * | firstmove |
Move * | bestmove |
Finite domain CSP class
CSProblem::CSProblem | ( | int | nbvar, |
int | nbconst | ||
) |
constructor
CSProblem::CSProblem | ( | int | nbvar, |
int | nbconst, | ||
int | lower | ||
) |
constructor with lower bound (stopping condition when it is reached)
References Configuration::config.
|
virtual |
compute the variables in conflict : rebuilding the vector of conflict variables of the configuration
Reimplemented from OpProblem.
References Configuration::config, Configuration::get_conflicts_problem(), and Configuration::var_conflict.
|
virtual |
initialization of the domains : call init_domains and init_tabdomains
References Configuration::config.
|
virtual |
standard domain initialization : a unique domain number 0 for all variables
|
virtual |
standard unique domain : integers from 0 to s-1
|
virtual |
a value in the domain minimizing the conflict with the configuration (implementation of Minton min-conflict heuristics) returns the index of the value in the domain
References Configuration::config, Configuration::get_conflicts_problem(), NeighborhoodSearch::val_conflict, and NeighborhoodSearch::var_conflict.
|
virtual |
a variable taking part to a conflict in the configuration
References Configuration::var_conflict.
|
virtual |
a value for variable var, randomly chosen in its domain, if possible distinct with val : returns the index of the value in the domain
|
virtual |
a variable randomly chosen
References Configuration::var_conflict.
|
virtual |
set the domains and connections of a problem
Referenced by INCOP::NaryCSProblem::create_configuration().
|
virtual |
the domain size of variable var
vector<int>* CSProblem::connections |
connections table : for each variable, vector of connected variables
int* CSProblem::domains |
for each variable, domain number : index in tabdomains array
int CSProblem::nbconst |
constraint number
vector<int>* CSProblem::tabdomains |
domain array : each domain is implemented by a vector of integers