Constraint Programming Clause Samples
The Constraint Programming clause establishes the use of constraint-based methods to solve complex problems by defining variables and the rules or limitations (constraints) that govern their possible values. In practice, this clause applies to scenarios where solutions must satisfy a set of specific requirements, such as scheduling tasks without conflicts or optimizing resource allocation under strict conditions. Its core function is to ensure that solutions generated within the agreement adhere strictly to predefined rules, thereby providing a systematic approach to problem-solving and reducing the risk of infeasible or suboptimal outcomes.
Constraint Programming. Constraint programming [92] is a research field of its own, with a huge body of work and results of a huge quality in certain domains where there could be many possible solutions to one problem. Depending on the encoding of the underlying optimization problem, however, it shares many links to AI search and planning. In this former field, there are planners like SATPlan [81], ones based on integer programming [141], SMTPlan [12] or Constraint Satisfaction Problems [139], that compile a planning problem into a SAT, IP, SMT or CSP problem, leaving the native solver to resolve the problem and then parse it back to a plan. In our work on solving the BPP, we initially looked at finding solutions quickly by using suboptimal approximations. However, we wanted to look at how results would change if the Pattern Selection would be optimised based on memory, by trying to get as many variables possible in each pattern database. By doing this, our hypothesis was that it would increase the chances of having more important variables for solving the task in any given PDB, and as this could have a huge pool of solutions, Constrain Programming would cater well for this task. For our work, we have integrated into the Fast Downward implementation of the CPC heuristic [43], MiniZinc [107], a solver-independent declarative modelling language for Con- straint Programming. We defined Pattern Selection as a bin packing problem, which would be parsed into MiniZinc format and submitted to a CP solver. The solution would then be used as the final pattern for our heuristic.
