Abstract:Domain-specific constraint patterns are introduced, which form the counterpart to design patterns in software engineering for the constraint programming setting. These patterns describe the expert knowledge and best-practice solution to recurring problems and include example implementations. We aim to reach a stage where, for common problems, the modelling process consists of simply picking the applicable patterns from a library of patterns and combining them in a model. This vastly simplifies the modelling process and makes the models simple to adapt. By making the patterns domain-specific we can further include problem-specific modelling ideas, including specific global constraints and search strategies that are known for the problem, into the pattern description. This ensures that the model we obtain from patterns is not only correct but also of high quality. We introduce domain-specific constraint patterns on the example of job shop and flow shop, discuss their advantages and show how the occurrence of patterns can automatically be checked in an event log.
Abstract:Cable trees are used in industrial products to transmit energy and information between different product parts. To this date, they are mostly assembled by humans and only few automated manufacturing solutions exist using complex robotic machines. For these machines, the wiring plan has to be translated into a wiring sequence of cable plugging operations to be followed by the machine. In this paper, we study and formalize the problem of deriving the optimal wiring sequence for a given layout of a cable tree. We summarize our investigations to model this cable tree wiring Problem (CTW) as a traveling salesman problem with atomic, soft atomic, and disjunctive precedence constraints as well as tour-dependent edge costs such that it can be solved by state-of-the-art constraint programming (CP), Optimization Modulo Theories (OMT), and mixed-integer programming (MIP) solvers. It is further shown, how the CTW problem can be viewed as a soft version of the coupled tasks scheduling problem. We discuss various modeling variants for the problem, prove its NP-hardness, and empirically compare CP, OMT, and MIP solvers on a benchmark set of 278 instances. The complete benchmark set with all models and instance data is available on github and is accepted for inclusion in the MiniZinc challenge 2020.