# Category: Constraint programming

Consensus dynamics
Consensus dynamics or agreement dynamics is an area of research lying at the intersection of systems theory and graph theory. A major topic of investigation is the agreement or consensus problem in mu
Cassowary (software)
Cassowary is an incremental constraint solving toolkit that efficiently solves systems of linear equalities and inequalities. Constraints may be either requirements or preferences. Client code specifi
Constraint satisfaction
In artificial intelligence and operations research, constraint satisfaction is the process of finding a solution through a set of constraints that impose conditions that the variables must satisfy. A
Test functions for optimization
In applied mathematics, test functions, known as artificial landscapes, are useful to evaluate characteristics of optimization algorithms, such as: * Convergence rate. * Precision. * Robustness. *
Difference-map algorithm
The difference-map algorithm is a search algorithm for general constraint satisfaction problems. It is a meta-algorithm in the sense that it is built from more basic algorithms that perform projection
Narrowing of algebraic value sets
Like logic programming, narrowing of algebraic value sets gives a method of reasoning about the values in unsolved or partially solved equations. Where logic programming relies on resolution, the alge
Constraint graph
In constraint satisfaction research in artificial intelligence and operations research, constraint graphs and hypergraphs are used to represent relations among constraints in a constraint satisfaction
Satisfiability modulo theories
In computer science and mathematical logic, satisfiability modulo theories (SMT) is the problem of determining whether a mathematical formula is satisfiable. It generalizes the Boolean satisfiability
Local consistency
In constraint satisfaction, local consistency conditions are properties of constraint satisfaction problems related to the consistency of subsets of variables or constraints. They can be used to reduc
Constraint logic programming
Constraint logic programming is a form of constraint programming, in which logic programming is extended to include concepts from constraint satisfaction. A constraint logic program is a logic program
Decomposition method (constraint satisfaction)
In constraint satisfaction, a decomposition method translates a constraint satisfaction problem into another constraint satisfaction problem that is binary and acyclic. Decomposition methods work by g
Schaefer's dichotomy theorem
In computational complexity theory, a branch of computer science, Schaefer's dichotomy theorem states necessary and sufficient conditions under which a finite set S of relations over the Boolean domai
SWI-Prolog
SWI-Prolog is a free implementation of the programming language Prolog, commonly used for teaching and semantic web applications. It has a rich set of features, libraries for constraint logic programm
Regular constraint
In artificial intelligence and operations research, a regular constraint is a kind of . It can be used to solve a particular type of puzzle called a nonogram or logigrams.
Minion (solver)
Minion is a solver for constraint satisfaction problems. Unlike constraint programming toolkits, which expect users to write programs in a traditional programming language like C++, Java or Prolog, Mi
AC-3 algorithm
In constraint satisfaction, the AC-3 algorithm (short for Arc Consistency Algorithm #3) is one of a series of algorithms used for the solution of constraint satisfaction problems (or CSP's). It was de
Constraint satisfaction dual problem
The dual problem is a reformulation of a constraint satisfaction problem expressing each constraint of the original problem as a variable. Dual problems only contain binary constraints, and are theref
JaCoP (solver)
JaCoP is a constraint solver for constraint satisfaction problems. It is written in Java and it is provided as a Java library. JaCoP has an interface to the MiniZinc and AMPL modeling languages. Its m
Traveling tournament problem
The traveling tournament problem (TTP) is a mathematical optimization problem. The question involves scheduling a series of teams such that: 1. * Each team plays every other team twice, once at home
Symmetry-breaking constraints
In the field of mathematics called combinatorial optimization, the method of symmetry-breaking constraints can be used to take advantage of symmetries in many constraint satisfaction and optimization
DPLL(T)
In computer science, DPLL(T) is a framework for determining the satisfiability of SMT problems. The algorithm extends the original SAT-solving DPLL algorithm with the ability to reason about an arbitr
Constraint satisfaction problem
Constraint satisfaction problems (CSPs) are mathematical questions defined as the set of objects whose state must satisfy a number of constraints or/ limitations. CSPs represent a entities in a proble
Barrier function
In constrained optimization, a field of mathematics, a barrier function is a continuous function whose value on a point increases to infinity as the point approaches the boundary of the feasible regio
Min-conflicts algorithm
In computer science, the min-conflicts algorithm is a search algorithm or heuristic method to solve constraint satisfaction problems. Given an initial assignment of values to all the variables of a co
Intertemporal budget constraint
In economics and finance, an intertemporal budget constraint is a constraint faced by a decision maker who is making choices for both the present and the future. The term intertemporal is used to desc
Complexity of constraint satisfaction
The complexity of constraint satisfaction is the application of computational complexity theory on constraint satisfaction. It has mainly been studied for discriminating between tractable and intracta
Backjumping
In backtracking algorithms, backjumping is a technique that reduces search space, therefore increasing efficiency. While backtracking always goes up one level in the search tree when all values for a
Algorithm selection
Algorithm selection (sometimes also called per-instance algorithm selection or offline algorithm selection) is a meta-algorithmic technique to choose an algorithm from a portfolio on an instance-by-in
Region connection calculus
The region connection calculus (RCC) is intended to serve for qualitative spatial representation and reasoning. RCC abstractly describes regions (in Euclidean space, or in a topological space) by thei
Distributed constraint optimization
Distributed constraint optimization (DCOP or DisCOP) is the distributed analogue to constraint optimization. A DCOP is a problem in which a group of agents must distributedly choose values for a set o
Kaleidoscope (programming language)
The Kaleidoscope programming language is a constraint programming language embedding constraints into an imperative object-oriented language. It adds keywords always, once, and assert..during (formerl
WalkSAT
In computer science, GSAT and WalkSAT are local search algorithms to solve Boolean satisfiability problems. Both algorithms work on formulae in Boolean logic that are in, or have been converted into c
Hybrid algorithm (constraint satisfaction)
Within artificial intelligence and operations research for constraint satisfaction a hybrid algorithm solves a constraint satisfaction problem by the combination of two different methods, for example
GNU Prolog
GNU Prolog (also called gprolog) is a compiler developed by Daniel Diaz with an interactive debugging environment for Prolog available for Unix, Windows, Mac OS X and Linux. It also supports some exte
Reasoning system
In information technology a reasoning system is a software system that generates conclusions from available knowledge using logical techniques such as deduction and induction. Reasoning systems play a
In backtracking algorithms, look ahead is the generic term for a subprocedure that attempts to foresee the effects of choosing a branching variable to evaluate one of its values. The two main aims of
Allen's interval algebra
For the type of boolean algebra called interval algebra, see Boolean algebra (structure) Allen's interval algebra is a calculus for temporal reasoning that was introduced by James F. Allen in 1983. Th
Constrained optimization
In mathematical optimization, constrained optimization (in some contexts called constraint optimization) is the process of optimizing an objective function with respect to some variables in the presen
Local search (constraint satisfaction)
In constraint satisfaction, local search is an incomplete method for finding a solution to a problem. It is based on iteratively improving an assignment of the variables until all constraints are sati
Interchangeability algorithm
In computer science, an interchangeability algorithm is a technique used to more efficiently solve constraint satisfaction problems (CSP). A CSP is a mathematical problem in which objects, represented
Constraint programming
Constraint programming (CP) is a paradigm for solving combinatorial problems that draws on a wide range of techniques from artificial intelligence, computer science, and operations research. In constr
Ordered graph
An ordered graph is a graph with a total order over its nodes. In an ordered graph, the parents of a node are the nodes that are adjacent to it and precede it in the ordering. More precisely, is a par
Weighted constraint satisfaction problem
In artificial intelligence and operations research, a Weighted Constraint Satisfaction Problem (WCSP) is a generalization of a constraint satisfaction problem (CSP) where some of the constraints can b
Backmarking
In constraint satisfaction, backmarking is a variant of the backtracking algorithm. Backmarking works like backtracking by iteratively evaluating variables in a given order, for example, . It improves
Geometric constraint solving
Geometric constraint solving is constraint satisfaction in a computational geometry setting, which has primary applications in computer aided design. A problem to be solved consists of a given set of
BNR Prolog
BNR Prolog, also known as CLP(BNR) is a declarative constraint logic programming language based on relational interval arithmetic developed at Bell-Northern Research in the 1980s and 1990s. Embedding
Constraint inference
In constraint satisfaction, constraint inference is a relationship between constraints and their consequences. A set of constraints entails a constraint if every solution to is also a solution to . In
Basis pursuit
Basis pursuit is the mathematical optimization problem of the form where x is a N-dimensional solution vector (signal), y is a M-dimensional vector of observations (measurements), A is a M × N transfo
Constraint learning
In constraint satisfaction backtracking algorithms, constraint learning is a technique for improving efficiency. It works by recording new constraints whenever an inconsistency is found. This new cons
DPLL algorithm
In logic and computer science, the Davis–Putnam–Logemann–Loveland (DPLL) algorithm is a complete, backtracking-based search algorithm for deciding the satisfiability of propositional logic formulae in
Davis–Putnam algorithm
The Davis–Putnam algorithm was developed by Martin Davis and Hilary Putnam for checking the validity of a first-order logic formula using a resolution-based decision procedure for propositional logic.
Hidden transformation
The hidden transformation reformulates a constraint satisfaction problem in such a way all constraints have at most two variables. The new problem is satisfiable if and only if the original problem wa
Nurse scheduling problem
The nurse scheduling problem (NSP), also called the nurse rostering problem (NRP), is the operations research problem of finding an optimal way to assign nurses to shifts, typically with a set of hard
Gecode
Gecode (for Generic Constraint Development Environment) is a software library for solving Constraint satisfaction problems. It is programmed in C++ and distributed as free software under the permissiv
CLP(R)
CLP(R) is a declarative programming language. It stands for constraint logic programming (Real) where real refers to the real numbers. It can be considered and is generally implemented as a superset o
ILOG
ILOG S.A. was an international software company purchased and incorporated into IBM announced in January, 2009. It created enterprise software products for supply chain, business rule management, visu
Binary constraint
A binary constraint, in mathematical optimization, is a constraint that involves exactly two variables. For example, consider the n-queens problem, where the goal is to place n chess queens on an n-by
Constraint composite graph
The constraint composite graph is a node-weighted undirected graph associated with a given combinatorial optimization problem posed as a weighted constraint satisfaction problem. Developed and introdu
Hierarchical constraint satisfaction
In artificial intelligence and operations research, hierarchical constraint satisfaction (HCS) is a method of handling constraint satisfaction problems where the variables have large domains by exploi
Constraint (mathematics)
In mathematics, a constraint is a condition of an optimization problem that the solution must satisfy. There are several types of constraints—primarily equality constraints, inequality constraints, an
Max/min CSP/Ones classification theorems
In computational complexity theory, a branch of computer science, the Max/min CSP/Ones classification theorems state necessary and sufficient conditions that determine the complexity classes of proble
Chaff algorithm
Chaff is an algorithm for solving instances of the Boolean satisfiability problem in programming. It was designed by researchers at Princeton University, United States. The algorithm is an instance of