This is a base implementation for all types of problem objects
that refer to the problem and have an associated name, business objects, implementation, etc.
This is a linear constraints for a constrained integer variable that is equal to the maximal
variable in the array "vars" when they are all instantiated.
This is a linear constraint for a constrained integer variable that is equal to the minimal
variable in the array "vars" when they are all instantiated.
Creates and returns a new constraint stating that all variables from "vars"
must take values compatible with the table "table",
which represents the set of (permitted)/(not permitted) combinations.