Towards Stochastic Constraint Programming: A Study of On-Line Multi-Choice Knapsack with Deadlines Thierry Benoist, Eric Bourreau, Yves Caseau and Benoît Rottembourg Bouygues e-lab, 1 av. Eugène Freyssinet, 78061 St Quentin en Yvelines Cedex, France {tbenoist,ebourreau,ycs,brottembourg}@bouygues.com Abstract. Constraint Programming (CP) is a very general programming para- digm that proved its efficiency on solving complex industrial problems. Most real-life problems are stochastic in nature, which is usually taken into account through different compromises, such as applying a deterministic algorithm to the average values of the input, or performing multiple runs of simulation. Our goal in this paper is to analyze different techniques taken either from practical CP applications or from stochastic optimization approaches. We propose a benchmark issued from our industrial experience, which may be described as an On-Line Multi-Choice Knapsack with Deadlines. This benchmark is used to test a framework with four different dynamic strategies that utilize a different combination of the stochastic and combinatorial aspects of the problem. To evaluate the expected future state of the reservations at the time horizon, we ei- ther use simulation, average values, systematic study of the most probable sce- narios, or yield management techniques. 1. Introduction One of Constraint Programming (CP) major claims to success has been its applica- tion to solving complex industrial application problems. The strength of CP is its ability to represent complex domain-dependent constraints, which yield interesting modeling abilities, that have been completed, over the previous years, with resolution techniques such as meta-heuristics [CLS99]. Interestingly, most industrial combinato- rial problems are stochastic in nature, due to the uncertainty that is characteristic of real world situations. Our own experience with industrial problems include construc- tion planning, call center scheduling, equipment inventory management or TV adver- tisement booking, to name a few. In all these situations, the resolution of a static prob- lem is only a compromise, since the data that is given to the algorithm only reflects the situation that is expected in the future. As a consequence, the algorithm needs to be run often and incrementally, to adjust to real-time events that modify the validity of the solution. When the future is widely unpredictable, this may be the wisest thing to do, but most often, probabilistic information is available (mean, standard deviation and distribution characterization), that should be used to derive more robust solutions. When confronted with this challenge, practitioners of constraint programming have often developed and used ad hoc techniques. There is a large lore of practical advise