Analysis and Visualization Tools for Constraint Programming
Coordinating production across a supply chain, designing a new VLSI chip, allocating classrooms or scheduling maintenance crews at an airport are just a few examples of complex (combinatorial) problems that can be modeled as a set of decision variables whose values are subject to a set of constraints. The decision variables may be the time when production of a particular lot will start or the plane that a maintenance crew will be working on at a given time. Constraints may range from the number of students you can ?t in a given classroom to the time it takes to transfer a lot from one plant to another.Despiteadvancesincomputingpower,manyformsoftheseandother combinatorial problems have continued to defy conventional programming approaches. Constraint Logic Programming (CLP) ?rst emerged in the mid-eighties as a programming technique with the potential of signi?cantly reducing the time it takes to develop practical solutions to many of these problems, by combining the expressiveness of languages such as Prolog with the compu- tional power of constrained search. While the roots of CLP can be traced to Monash University in Australia, it is without any doubt in Europe that this new software technology has gained the most prominence, bene?ting, among other things, from sustained funding from both industry and public R&D programs over the past dozen years. These investments have already paid o?, resulting in a number of popular commercial solutions as well as the creation of several successful European startups.