Issue No. 01 - January/February (2000 vol. 15)
Many problems are naturally viewed as constraint-satisfaction or optimization problems. For example, if you need to schedule employees to carry out tasks, and two tasks must be undertaken at the same time, you cannot use the same employee for both: this is a constraint. In general, constraint-satisfaction problems involve assigning values (for example, employees) to problem variables (for example, tasks) subject to constraints on which combinations of values are permitted (or more generally, how desirable certain combinations are). Scheduling, planning, configuration, design, diagnosis, vision, language—almost any aspect of intelligent systems that you can imagine involves an element of constraint satisfaction.
Artificial intelligence has developed a variety of methods for modeling and solving constraint problems that exhibit considerable combinatorial difficulty. Together with methods from other disciplines, notably operations research, these have been embodied in constraint languages and systems, particularly variants of constraint-logic programming. Commercial tools are available and commercial applications are widespread, although commercialization of the technology has proceeded more quickly in Europe than in the US. This issue of IEEE Intelligent Systems includes an interview with Pierre Haren and Mehmet Dincbas, the heads of ILOG and Cosytec, two major commercial vendors of constraint technology.
Constraint technology has made a significant industrial impact. Many industrial scheduling problems use constraints, especially problems that require fine-grained scheduling. Personnel scheduling and transportation problems are two industrial applications where constraint technology is increasingly the technology of choice.
Constraint programming is very declarative. For basic problems, you need only model the problem as a constraint-satisfaction problem, not specify how to solve it. Powerful, general search and inference methods can operate behind the scenes to provide solutions. For more difficult problems, you might need to choose carefully among alternative algorithms and heuristics, combine them, or even develop new variations. It might also become more important to model the problem in a manner that facilitates efficient processing. Automating these responses to difficult problems is on the research frontier.
Constraint-satisfaction methods can successfully navigate enormous search spaces. In some cases, we can apply formal complexity results to the constraint model to prove tractability. More usually, constraint problems are formally intractable, but we can still solve them by a judicious combination of algorithms and heuristics. Specialized languages and packages can greatly reduce programming effort.
In This Issue
In putting together this special issue, we opted for a variety of diverse applications of constraint technology. Each application emphasizes different advantages of the technology. As a whole, the applications give an impression of the expressive power of constraints and the extraordinary adaptability of constraint solving as a mechanism for constructing complex algorithms.
"Constraint Handling in an Integrated Transportation Problem," by Helmut Simonis, Philippe Charlier, and Philip Kay, describes a fielded application in use today that has been installed at many different factories over several years. It addresses several problems—personnel rostering, routing, vehicle scheduling, resource allocation, and just-in-time delivery—that are traditionally handled as separate optimization problems. The integration of these aspects into a single optimization algorithm, letting the user interact with the system and modify solutions, reveals something of constraint technology's power and maturity.
Production scheduling is a common industrial application, but "Distributed Constraint Processing for Production Logistics," by Hartwig Baumgärtel, tackles the problem very elegantly, using distributed constraint processing. The innovation here is that several constraint systems cooperate to solve a large, global problem and manage conflicts between the partial solutions of the different solvers.
The industrial applications of constraint technology typically involve optimization. Unfortunately, as operations researchers know only too well, the "optimal" solution, even when it can be found, is rarely practicable. The migration from a business's current operation to the optimal one is often complex and difficult. "Predictive Personnel Management," by Claude Le Pape, Jean-Francois Puget, Colonel Moreau, and Philippe Darneau, shows how the French army addressed this migration problem using constraint technology. The army found a way to move toward its long-term personnel objective by making small steps from the current state toward the optimal one. In this case, the constraints balanced the "flows" between the different groups defined by a combination of category, corps, rank, and origin.
"Placing Base Stations in Wireless Indoor Communication Networks," by Thom Frühwirth and Pascal Brisset, addresses a new and important telecommunications problem. The problem involves application-specific constraints, which are naturally constructed in the constraint-programming framework. The authors adapt the constraint solving for the application's constraints.
"Identifying Buildings in Aerial Images Using Constraint Relaxation and Variable Elimination," by Thomas Kolbe, Lutz Plümer, and Armin Cremers, tackles the problem of image recognition. Again, user-defined constraints and constraint behaviors are important. The constraint solving is tightly integrated with many other facilities, such as database access, object transformation, and graphics. The overall system shows how far visual processing has advanced since constraints were first used for this purpose in the 1970s.
"Hardware-Software Partitioning: A Case for Constraint Satisfaction," by Raj Mitra and Anupam Basu, addresses a variation on the design problem. In hardware and software configuration, timing plays an important role in design. The use of constraints makes this extension easy and natural, and this work opens up new possibilities for designing optimal embedded-computing systems. (See also the Intelligent Systems special issue on configuration, Vol. 13, No. 4, July/Aug. 1998.)
The final article shows the power of constraints for modeling complex situations. For some years, object-oriented modeling has been perceived as the generic solution to most modeling requirements. However, for many industrial applications, the real complexity lies in the application constraints and business rules. Indeed, recent object-modeling approaches have incorporated some forms of constraints. "A Constraint-Satisfaction Approach to Clerical Work," by Megumi Ishii, Yutaka Sasaki, and Shigeo Kaneda, gives an example of modeling business processes using constraints. It shows how constraints made possible a more complete correct model of the business constraints than had been enforced by the installed business-process-management system.
The articles in this issue provide merely a sampling of the variety of applications possible for constraint technology. For additional applications, see the proceedings of the International Conference on Practical Applications of Constraint Technologies and Logic Programming ( www.practical-applications.co.uk/PACLP99) and its predecessors, from which some of these articles are derived. Good general sources of information on constraint technology include the proceedings of the International Conference on Principles and Practice of Constraint Programming ( www.cs.ualberta.ca/~ai/cp), the journal Constraints: An International Journal ( www.wkap.nl/journalhome.htm/1383-7133), and the Constraints Archive ( www.cs.unh.edu/ccc/archive).
Constraint technology is being combined with other forms of AI technology—for example, case-based reasoning. It has proven very effective in traditional AI problem domains, such as temporal reasoning. Constraints are playing a role in the new vistas being opened up by software agents and Internet commerce. We hope this issue will inspire others to view their problems in constraint-based terms. The constraints community has developed powerful tools and techniques to assist those who choose to do so.
Eugene C. Freuder is a professor in the University of New Hampshire's Department of Computer Science and the director of its Constraint Computation Center. His research interests center around constraint satisfaction and optimization in artificial intelligence, including applications to telecommunications, product configuration and sales force automation, network management, scheduling and planning, Internet commerce, and interoperability testing. He is the founding editor of Constraints: An International Journal and a member of the editorial board of the Journal of Artificial Intelligence Research. He received his BA in mathematics from Harvard and his PhD in computer science from MIT. He is a fellow of the AAAI. Contact him at the Constraint Computation Center, Dept. of Computer Science, Univ. of New Hampshire, Durham, NH 03824; firstname.lastname@example.org; www.cs.unh.edu/~ecf.
Mark Wallace is the deputy director of Imperial College's Centre for Planning and Resource Control. His research interests are in constraint modeling, hybrid algorithms for constraint solving, and the application of constraint technology to large-scale industrial combinatorial optimization problems. He is on the editorial boards of Constraints: An International Journal, the ICL Systems Journal, and the Journal of Artificial Intelligence Research. He received his BA in mathematics and philosophy from Oxford University. His PhD on "Communicating with Databases in Natural Language" was completed on secondment to the University of Southampton. He also spent 10 years at the European Computer-Industry Research Centre in Munich, Germany. Contact him at IC-Parc, Imperial College, London SW7 2AZ, UK; email@example.com; www.icparc.ic.ac.uk/~mgw.