com.exigen.ie.constrainer.package.html Maven / Gradle / Ivy
Provides classes and interfaces for Constraint Programming in Java.
Classical Constraint Satisfaction Problem
is represented in terms of the decision variables
and constraints, which define relationships between these variables. The decision variables
could be represented in form of Java objects which may use the predefined constrained
variables such as IntVar. The constraints itselves are objects inherited from a
generic class Constraint. There are a lot of predefined constraints and constrained expressions.
A developer can defined new business-specific constrained objects and constraints.
To find the problem solutions, the search algorithms could be represented
using objects called Goals. There are a lot of predefined search goals like GoalGenerate
and GoalMinimize. A user could define a new search algorithms using the
goals as building blocks. Constrainer supports a reversible
environment with multiple choice points: when constraints or goals fail,
the Constrainer automatically backtracks to a previous choice point (if any).
Constrainer supports integer, boolean and floating-points variables and
constraints on them.
The user has complete control over modeling and resolution of his/her problem.
The user may choose from a comprehensive set of predefined constrained
objects and algorithms without any limitations to the power of Java programming.