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

CSProblem Class Reference

#include <csproblem.h>

Inheritance diagram for CSProblem:

OpProblem BinaryCSProblem CelarCSProblem CliqueProblem ColorCSProblem ExtensionBinaryCSProblem Nqueen ImpasseColor WeightExtensionBinaryCSProblem SwNqueen SwNiNqueen List of all members.

Public Member Functions

 CSProblem (int nbvar, int nbconst)
 CSProblem (int nbvar, int nbconst, int lower)
void move_execution (Configuration *configuration, Move *move)
virtual int variable_domainsize (int var)
void random_configuration (Configuration *configuration)
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)
void best_config_analysis ()
void best_config_write ()
int move_evaluation (Configuration *configuration, Move *move)
void init_population (Configuration **population, int populationsize)
Configurationcreate_configuration ()
Movecreate_move ()
void adjust_parameters (Configuration *configuration, int &maxneighbors, int &minneighbors)
void next_move (Configuration *configuration, Move *move, NeighborhoodSearch *nbhs)
virtual void set_domains_connections (int *dom, vector< int > *tabledom, vector< int > *connect)
virtual void init_domain_tabdomain ()

Public Attributes

int nbconst
vector< int > * tabdomains
int domainsize
int * domains
vector< int > * connections

Detailed Description

Finite domain CSP class


Constructor & Destructor Documentation

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)


Member Function Documentation

void CSProblem::adjust_parameters Configuration configuration,
int &  maxneighbors,
int &  minneighbors
[virtual]
 

adjustment of the neighborhood parameters (when the size of the actual neighborhood is greater than maxneighbors)

Reimplemented from OpProblem.

Reimplemented in SwNqueen, and SwNiNqueen.

void CSProblem::best_config_analysis  )  [virtual]
 

analysis of the best configuration

Reimplemented from OpProblem.

Reimplemented in ColorCSProblem, and ImpasseColor.

void CSProblem::best_config_write  )  [virtual]
 

writing the best solution

Reimplemented from OpProblem.

Reimplemented in CelarCSProblem, ColorCSProblem, and ImpasseColor.

void CSProblem::compute_var_conflict Configuration configuration  )  [virtual]
 

compute the variables in conflict : rebuilding the vector of conflict variables of the configuration

Reimplemented from OpProblem.

Reimplemented in CelarCSProblem, ImpasseColor, and SwNqueen.

Configuration * CSProblem::create_configuration  )  [virtual]
 

create a configuration (the exact class depends on the problem and must defined in subclasses)

Reimplemented from OpProblem.

Reimplemented in CelarCSProblem, ColorCSProblem, ExtensionBinaryCSProblem, CliqueProblem, Nqueen, SwNiNqueen, and WeightExtensionBinaryCSProblem.

Move * CSProblem::create_move  )  [virtual]
 

creation of 1 Move object (the class of the Move depends on the problem) : this method is implemented in subclasses

Reimplemented from OpProblem.

Reimplemented in CliqueProblem, and SwNqueen.

void CSProblem::init_domain_tabdomain  )  [virtual]
 

initialization of the domains : call init_domains and init_tabdomains

void CSProblem::init_domains int  nbvar,
int  s
[virtual]
 

standard domain initialization : a unique domain number 0 for all variables

Reimplemented in ColorCSProblem, and ImpasseColor.

void CSProblem::init_population Configuration **  population,
int  populationsize
[virtual]
 

initialization of the population of size populationsize

Reimplemented from OpProblem.

void CSProblem::init_tabdomains int  s  )  [virtual]
 

standard unique domain : integers from 0 to s-1

Reimplemented in ImpasseColor.

int CSProblem::min_conflict_value int  var,
int  val,
Configuration configuration
[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

int CSProblem::move_evaluation Configuration configuration,
Move move
[virtual]
 

evaluation of a configuration if the move is done

Reimplemented from OpProblem.

Reimplemented in CelarCSProblem, CliqueProblem, SwNqueen, and SwNiNqueen.

void CSProblem::move_execution Configuration configuration,
Move move
[virtual]
 

move execution (modification of the current configuration)

Reimplemented from OpProblem.

Reimplemented in CelarCSProblem, ImpasseColor, CliqueProblem, and SwNqueen.

void CSProblem::next_move Configuration configuration,
Move move,
NeighborhoodSearch nbhs
[virtual]
 

next move to be tested (implemented in subclasses)

Reimplemented from OpProblem.

Reimplemented in CliqueProblem, and SwNqueen.

void CSProblem::random_configuration Configuration configuration  )  [virtual]
 

random assignment of the variables of a configuration

Reimplemented from OpProblem.

Reimplemented in CelarCSProblem, ImpasseColor, CliqueProblem, and SwNqueen.

int CSProblem::random_conflict_variable Configuration configuration  )  [virtual]
 

a variable taking part to a conflict in the configuration

Reimplemented in CelarCSProblem, and SwNqueen.

int CSProblem::random_value int  var,
int  val
[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

int CSProblem::random_variable Configuration configuration  )  [virtual]
 

a variable randomly chosen

Reimplemented in CelarCSProblem.

void CSProblem::set_domains_connections int *  dom,
vector< int > *  tabledom,
vector< int > *  connect
[virtual]
 

set the domains and connections of a problem

int CSProblem::variable_domainsize int  var  )  [virtual]
 

the domain size of variable var


Member Data Documentation

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::domainsize
 

maximum domain size

int CSProblem::nbconst
 

constraint number

vector<int>* CSProblem::tabdomains
 

domain array : each domain is implemented by a vector of integers


The documentation for this class was generated from the following files:
Generated on Fri Sep 26 17:27:26 2003 for INCOP by doxygen 1.3.3