Mindsuite Optimization Technology


What Is Constraint-Based Programming (CBP) ?

The CBP paradigm consists of a set of variables, each of which have a discrete and finite set of possible values (their domain) and a set of constraints between the variables that specify which combinations of values are allowed and which are not. For this reason, this type of system is sometimes referred to as a finite domain constraint solver. Variables may have integer or symbolic domains. A solution to a CBP is a set of variable-value assignments that satisfies all the constraints.

Mindsuite Optimization Technology solves problems by limiting possible solutions through definition of complex constraints. In particular, Mindsuite Optimization Technology resolves problems where complex constraints create exponential possibilities. The technology combines fixed constraints, fuzzy constraints and polynomials to achieve the best possible solution in cases where no exact solution exists. New constraints can be added or deleted at any time. The dynamic nature of the Mindsuite Optimization Technology makes real-time simulation of complex planning, scheduling and diagnostics possible. The technology is a very complete language in its own right, integrating the following variables and constraints:

Variables: Real, with integer values, enumerated, sets, matrices and vectors, intervals, fuzzy subsets, and more.

Arithmetic Constraints: =, +, -, *, /, /=, >, <, >=, <=, interval addition, interval subtraction, interval multiplication and interval division, max, min, intersection, union, exponential, modulo, logarithm, and more.

Temporal (Allen) Constraints: allows you to write any temporal constraints including Equal, Nequal, Before, After, Meets, Overlaps, Starts, Finishes, and personal temporal operators such as Disjoint, Started-by, Overlapped-by, Met-by, Finished-by, and more.

Boolean Constraints: Or, And, Not, Xor, Implication, Equivalence

Symbolic Constraints: Inclusion, Union, Intersection, Cardinality, Belonging, and more.

Mindsuite Optimization Technology includes a library of different ways to arrange subsystems, constraints and variables. Further, strategies and operators can be defined using traditional languages such as C, C++, Java, etc. By providing an in-depth library and utilizing traditional tools, Mindsuite Optimization Technology relieves programmers of the burden of learning a new language and provides an easy-to-master programming interface. Most programmers can generate their first optimization program in less than one hour.