Constraint solving is the solving of problems by giving constraints (conditions, properties) which must be satisified by a solution to the problem. For example, consider a bicycle number lock. We forgot the first digit, but remember some constraints about it: The digit was an odd number but no prime number. Combining the pieces of partial information expressed by the constraints we are able to derive that the digit we are looking for is "9".
Since the beginning of the 90ties, constraint-based programming is commercially successful. The world-wide revenue generated by constraint technology for 1995 was estimated to be on the order of 100 Million Dollar.
Experience from practice has shown that typically in an application, we are confronted with a heterogeneous mixture of different types of constraints. To be able to express constraints as they appear in the application, we are developing a special purpose language for writing constraint systems called Constraint Handling Rules (CHRs). CHRs come as a library that enhance a host language with constraint solving capabilities. We developed real life applications in such diverse areas such as optimal planning of wireless transmitter locations and rent advise over the internet.
Contact person: Dr. Thom Frühwirth