Explaining Producer/Consumer Constraints
Resource-constrained project scheduling problems are one of the most studied scheduling problem, and constraint programming with nogood learning provides the state-of-the-art solving technology for them, at least when the aim is minimizing makespan. In this paper we examine the closely related problem of scheduling producers and consumers of discrete resources and reservoirs. Producer/consumer con- straints model consumable resources, such as raw materials (e.g., water) and money, in which event times relate to a production or consumption event. In this paper, we investigate what is the most appropriate language of learning: Should we learn about the event times for production and consumption, or should be instead learn about the temporal relationships between events? For this reason, we explore global constraint propagators with explanation for producer/consumer constraints and contrast this with simple decomposition approaches. Experiments on resource-constrained project scheduling problems involving producer/consumer constraints show that nogood learning solvers are highly effective at these problems.
|Conference/location:||International Conference on Principles and Practice of Constraint Programming|