Pursuing the Optimal CP Model: A Batch Scheduling Case Study
摘要
The process of coming up with an effective constraint programming (CP) model for complex industrial optimization problems constitutes a cumbersome engineering task. Not only the problem representation itself, but also hyper-parameters steering the search and constraint propagation can have a significant impact on the solving performance. In this paper, we illustrate the evolution of a CP implementation (i.e. model and parameters), from the first functioning version with default hyper-parameters, to a more effective implementation through equivalence-preserving model changes and parameter tunings. In particular, we use four different problem representations in combination with three different levels of constraint propagation and a grid of parameter configurations for the employed search strategy. In this case study, we focus on the Oven Scheduling Problem, a formulation of a job scheduling problem variant that often occurs in production industry (e.g. the semiconductor domain). Concerning CP solvers, we use IBM CP Optimizer, currently one of the strongest suits for scheduling problems. By iteratively evolving a given CP implementation that was not able to solve all benchmark instances within the given limit of one hour, we increased the performance to the point where all instances could be solved, and solution quality is at par with the best known solutions in literature.