Abstract

Symmetry is a common property of man-made systems, appearing frequently in interesting problems in research and industry. When modelling constraint satisfaction and optimisation problems, underlying symmetries can make the search for solutions or optimal solutions much harder. In contrast, when symmetries are known, they can be used to speed up solving by avoiding considering symmetric parts of the solution space. This can be achieved by using static or dynamic symmetry breaking approaches. Unfortunately symmetry breaking approaches are hard to compare. Each method is typically only implemented in one or two systems, and symmetry papers use different problems to compare and illustrate their ideas. In this paper we add symmetry declarations to the constraint modelling language MiniZinc, which is supported by a variety of solvers. These symmetries can then either be handled using static symmetry breaking constraints, or passed to a dynamic symmetry breaking method if the underlying solver supports it. The addition of symmetry declarations to a modelling language allows for specification of generic symmetries by the modeller as well as lower level handling by the solver.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call