| Class | ConstraintSolver::Problem |
| In: |
lib/Problem.rb
|
| Parent: | Object |
Representation of a constraint satisfaction problem.
| constraints | [R] | |
| meritMap | [R] | |
| variables | [R] |
Creates a new instances of a constraint satisfaction problem. The constructor takes the lists of variables and constraints as parameters. Optionally, a map that maps domain elements to their merit can be specified.
# File lib/Problem.rb, line 11 def initialize(variables, constraints, meritMap={}) if not variables.kind_of?(Array) variables = [ variables ] end if not constraints.kind_of?(ConstraintList) constraints = ConstraintList.new([ constraints ]) end if variables.empty? or constraints.empty? raise ArgumentError, "Variables and constraints must not be empty!" end @variables = variables @constraints = constraints @meritMap = meritMap end