1 Introduction
Constraint satisfaction has proven to be an indispensable paradigm for solving complex problems in A.I. and industry. Indeed, many such problems can be expressed as a conjunction of constraints over variables, including logical constrains, mathematical relations and sophisticated global constraints such as automata.
However, for many applications, the true problem to be solved is not a satisfaction problem, though satisfaction is a critical component. For example, in many cases one is interested in finding a solution that minimizes an objective function, rather than any satisfying solution. Many other settings exist in which some satisfying solutions are more interesting or preferred than others, that is, some solutions dominate other solutions.
We introduce solution dominance as a way to express such dominance relations over the solutions of a CSP. A dominance relation here defines a preorder over the solutions. In line with Constraint Satisfaction Problems and Constraint Optimization Problems, we call the resulting problems Constraint Dominance Problems (CDPs). The goal is to find all nondominating solutions to the CDP, that is, the Pareto optimal set. We discuss two variants, depending on whether equivalent solutions are allowed in the solution set or not.
Our work generalizes the work on preferences in SAT [7], where a strict partial order over literals is used. This captures MinOne, MaxSAT and Minimum Correction Subsets. Our work generalizes this and other works expressing preference as strict (irreflexive) partial orders, because: 1) (reflexive) preorders give us the freedom to reason both about solution sets that do or do not allow for equivalent solutions; 2) the goal is not to find all dominated (preferred) solutions, but rather all nondominated solutions; hence 3) the investigated approach also capture multiobjective optimization and more. The set of nondominated solutions is known as the Pareto frontier or the efficient set in multiobjective optimization [9] and our formalization is inspired by that, but can reason over arbitrary partial orders.
Preferences in SAT [7] are methodologically different from preferences expressed through Conditional Preference networks (CPnets, [1]), because the latter requires expensive dominance checks. We investigate a novel dominance relation for CPnets, and show that all these types of preferences can fit in the same framework and methodology. The framework can also express arbitrary solution dominance relations, including other forms of conditional preferences than CPnets. This is motivated by recently studied data mining problems involving conditional dominance relations over CSPs [20]. A further discussion of related work is provided in Section 7.
Inspired by declarative languages for modeling CSPs [21, 10, 28] we propose an extension to the MiniZinc modeling language that enables the formulation of CDPs. The idea is to specify a dominance nogood, a constraint pattern that can be used whenever a solution is found during search to exclude dominated solutions in the remaining search (analogous to the wellknown branchandbound approach for optimization). Dominance nogoods can be derived from the solution dominance relation in a principled way. We present an intuitive implementation of a generic algorithm for dominance nogoods in the MiniSearch [24] metasearch language. We explore the possibilities of this approach on a number of problems and with a range of different solvers to show the potential of such a generic approach.
2 CSPs and solution dominance
Conceptually, solution dominance can be used to solve problems of the form: find where is the set of all solutions of a CSP.
A Constraint Satisfaction Problem (CSP) is a triple where is a set of variables, is a mapping from variables to a set of values, and is a set of constraints over (a subset of) . Constraints can represent arbitrary complex relations over the variables. A valuation is a mapping of variables to values: . A solution of CSP is a valuation that satisfies each constraint . We denote by the value of in solution .
Dominance relation.
A dominance relation over CSP solutions expresses when one solution dominates or is equivalent to another one. A simple example is that of a constrained optimization problem, where the optimization function defines a total (pre)order on the solutions. We follow the optimisation convention that smaller is better.
We define a dominance relation as a preorder over the set of solutions of a CSP . A preorder is a reflexive () and transitive () relation. It can be thought of as a partial order over equivalence classes. In other words, given two solutions either one dominates the other, or they are equivalent, or they are incomparable. The use of (reflexive) preorders instead of (irreflexive) partial orders allows us to discriminate between incomparable and equivalent solutions. This is also a key difference between the problem of finding all dominant/preferred solutions and all nondominated solutions: neither of two equivalent solutions is strictly dominant, while both are nondominant; incomparable solutions are also nondominant.
More formally, we define the equivalence relation ; and the negations and . Now, let be the set of all solutions of a CSP, and a dominance relation. We identify three possible properties for sets :
 complete:

every solution in is dominated by or equivalent to a solution in : .
 dominationfree:

the solutions in are not dominated by any other in , except equivalent ones: . Equivalently, no is strictly dominated: .
 equivalencefree:

no two solutions in are equivalent to each other: . In preference terms, they are indifferent to each other.
The set of complete and dominationfree solutions is unique and defined as follows: . In the multiobjective optimization literature [9], this set is known as the Pareto frontier or the efficient set. In that context it is often written in the form .
In practice though, one is typically just interested in a complete and dominationfree set that is also equivalencefree: with . This set is not unique (it contains one arbitrary solution per equivalence class).
3 Constraint Dominance Problems
We now show how a wide range of problems that are not captured by the classical CSP framework can be expressed with a dominance relation over a CSP. Generic solving methods are discussed in the next section.
A Constraint Optimization Problem (COP) is typically defined as a tuple where is a CSP as defined before and is a function over a valuation of the variables . A solution to a COP is a solution to the corresponding CSP that minimizes the function . One is typically interested in finding one such optimal solution, that is, one solution of for which .
In line with COPs we define a Constraint Dominance Problem (CDP) as a tuple where is a CSP and a dominance relation. Two types of queries exist for this problem (with or without equivalent solutions). We call the full solution to the CDP the set of complete and dominationfree solutions of the CSP. A (nonunique) complete and dominationfree set that is also equivalence free is simply called a solution to the CDP.
 Optimization.

Given a COP , let be the total order corresponding to : . Then, finding a solution to the COP corresponds to finding a solution to the CDP .
 Lexicographic optimization.

Let be a CSP and a set of functions . The goal is to find a solution that lexicographically minimizes the functions. Given the preorder . A solution to the CDP is a lexicographically optimal solution.
 Multiobjective optimization.

The goal in multiobjective optimization is to find all Pareto optimal (nondominated) solutions given a set of functions. Let be the following preorder: .
Lemma 1
The full solution to the CDP corresponds to the set of all Pareto optimal solutions.
Proof
which is the classical definition of multiobjective optimization [9].
 minimal models.

Let be Boolean (0/1) variables of a CSP . Given a solution , let be the variables of assigned to in solution . An minimal model is a solution to the CSP such that there is no solution with . The set of all minimal models is: .
We can define the preorder as: , that is, for each variable of an assignment to (domain value ) is preferred over (domain value ).
Lemma 2
The full solution to the CDP corresponds to the set of minimal models.
Proof
Using the same rewriting as for multiobjective optimization, we obtain that the set of nondominated solutions is:
which equals .
The concept of minimal models can be extended to nonBoolean CSPs by defining a total order over the possible values of each variable , in line with .
 Weighted (partial) MaxCSP.

Given a CSP and a function that represents the weight of a constraint. Let be a valuation which need not be a solution to the CSP. The total weight of is the sum of the weights of the constraints that are satisfied by : . The goal is to find an assignment to that maximizes this weight. As our dominance relation is over solutions of a CSP, we define a new CSP as follows: a set of new Boolean variables is added to : , and each (soft) constraint is replaced by a reified version: . Let preorder be , with , then, the weighted MaxCSP problem given is equivalent to the CDP . Because is a total order, this is equivalent to a COP over .
 Valued CSPs.

A valued CSP with annotated constraints [26] has a valuation structure . Each constraint is mapped to a problem specific value in . The values are aggregated using operator , and defines a total over . Because of the total order, a similar encoding to that for weighted MaxCSP can be obtained.
 Maximally satisfiable subsets.

A maximally satisfiable subset of is such that is satisfiable and adding any other constraint leads to unsatisfiability: is unsatisfiable. Dually, we call a minimal correction subset.
Applying the same transformation of to as for MaxCSP problems, the goal is to find solutions with set of active constraints such that no additional constraints in can be added to it: . This corresponds to finding all maximal models. In line with minimal models, we can define the preorder and corresponding CDP .
Figure 1: CPnet example over 3 variables.  CPnets.

A CPnet is an acyclic directed graph over a set of variables [1]. Each node in a CPnet corresponds to a variable and has a conditional preference table . A CPT associates with each possible partial valuation of the parent variables in the graph, a strict total order over the values of (consistent with the rest of this paper, means is preferred over ). Figure 1 shows an example.
A CPnet induces a set of preference rankings that are consistent with all CPTs, where a preference ranking is a total ordering over all complete valuations of . Traditionally, dominance in a CPnet is defined in terms of its preference rankings: dominates if in all of the preference rankings of the CPnet is ordered before . Even for binaryvalued CPnets, the complexity of a dominance check for an arbitrary network is NPhard [1].
An easier to compute query is the ordering query [1]: given two valuations and , is there a CPT where for all ancestor variables and have the same value and is preferred to according to the CPT: ? If so, there must exist a preference ordering where and hence this implies that does not dominate . It only implies nondominance though (sufficient but not necessary), meaning that there may not exists such a CPT and yet does not dominate . This is because only CPTs are checked for which all ancestors have the same value in and ; hence there may be a CPT with that induces preference rankings in which but the CPT is not checked because of the ancestor condition.
We hence propose the following weaker form of CPnet dominance:
Definition 1
Given CPnet , a valuation locally dominates iff for all CPTs: when its parents have equal value in and but the CPT variable does not, then must be preferred to by the CPT;
(1) Note that there is always at least one with corresponding CPT active, because a CPnet is acyclic and hence there is at least one node with an empty parent set.
Lemma 3
Local dominance in a CPnet is a necessary but not a sufficient condition for traditional (preference rankingbased) dominance.
Proof
All preference rankings have to agree with all CPTs. Hence, if dominates then for all applicable (parent variables equal, current variable not) CPTs: , so local dominance must necessarily be true. However, if then by negation there must exists a node with applicable CPT for which and hence because of : . However, it may still be the case that dominates , because of an interaction between the grandparent variables and CPTs such that no preference ranking actually uses this entry of . This cannot be observed from the local CPTs directly, but must be verified through a (NPhard) dominance check over the preference rankings.
Definition 2
Because each CPT in a CPnet encodes strict relations, two valuations can only be equivalent if they are identical: . We hence define .
Local dominance can be checked in time linear in the number of CPTs in the CPnet. We can hence realistically use it to enumerate all nonlocallydominated solutions of a CPnet by solving CDP . The resulting solution will be an overapproximation of the actual set of traditional nondominated solutions. Should the application demand it, one could still filter the resulting set by postprocessing with the NPhard traditional dominance check.
 Domainspecific dominance relations.

We showcase the need for domainspecific dominance relations in data mining. Increasingly, constraint programming is used for data mining problems such as searching for patterns that appear frequently in a database [13]. A pattern can be a set of items, a sequence or another structure such as a graph [14]. A pattern is frequent if it is a subpattern of sufficiently many objects in the database. The problem is typically encoded as a set of constraints that define the pattern type, and that define when a pattern is frequent. One solution to this CSP is then one frequent pattern.
However, there are a number of pattern mining settings that do not fit the classical CSP framework, most notably closed and maximal patterns, relevant patterns and skyline patterns. Using the concept of dominance though, these problems can be modeled declaratively and combined with arbitrary constraints [20].
For example, a frequent pattern is maximal if there is no other frequent pattern that is a superpattern of this pattern. Let represent the subpattern relation, e.g. subset, subsequence or subgraph relation depending on the pattern type. The general dominance relation for maximal patterns is: . Let be the set of all frequent patterns, then the full solutions is , the set of all maximally large patterns such that no other frequent pattern is a superpattern of it. For patterns represented by a set , the subpattern relation is the subset relation over , hence; . Note that this is equivalent to an maximal model with .
Closed frequent patterns have the weaker condition that there should not be a superpattern with the same frequency: dominance relation . The resulting full solution set is the set of all frequent patterns for which no superpattern exists that has the same frequency: , this is true for all pattern types. An algebra inspired by databases is used in [20] to show how a number of other pattern mining problems can be expressed as a combination of a constraint algebra and a dominance algebra. The framework we propose here focuses on one CSP and one dominance relation, which is sufficient for most settings.
4 Search and dominance nogoods
The main task that we consider is to find a solution to the constraint dominance problem , that is, a complete, dominationfree and optionally equivalencefree set of solutions. Our methodology is to solve the problem through a chain of constraint satisfaction problems, similar in spirit to [7].
Let be an oracle that returns a satisfying solution to the CSP or fails if no such solution exists.
Complete.
the following algorithm returns a complete solution to a CSP with dominance relation , using oracle :
Note how on line 4, a constraint is added over variables such that any (future) assignment to these variables may not be strictly dominated by the found solution . As the constraint set is monotonically increasing, the oracle can be incremental in that it can continue its search from where its last solution was found; the result is a branchandbound style algorithm where the bound is represented by .
Let be the sequence of solutions as found by the oracle in Algorithm 1.
Theorem 4.1
The set returned by Algorithm 1 is a complete set: .
Proof
The set is complete: let be the CSP that yields solution , let be the set of all solutions of . is the original CSP and hence contains all solutions of the CSP and this set is complete. The subsequent only forbids solutions that are dominated and not equivalent to , hence is also complete as any solution is either dominated by or in . By induction, any set is complete. Hence, is complete as the stopping criterion on line 2 dictates that .
Complete and equivalencefree.
Algorithm 1 can easily be modified to return a complete and equivalencefree set. In this case, line 4 has to be changed to . This set is equivalencefree as now any solution to cannot be equivalent to . The set is still complete as only equivalent solutions are additionally removed by the modification, and hence for each solution in it will still be the case that .
Dominationfree.
Any solution found after cannot be strictly dominated by , as this is explicitly forbidden by the added constraint. That means that if the oracle enumerates the solutions from most to least preferred according to the preorder (e.g. first assign variables to 1, then to 0 for MaxCSP), then the complete and equivalencefree set is also dominationfree. This is the approach used by [7].
However, if we assume no order on the solutions found by the oracle, it is possible to find, with , an that strictly dominates : . We can remove these by doing a backwards pass over the solutions in which we check for each that and if not we drop .
Note that we reuse oracle for this though it merely has to check whether a fixed assignment to the variables satisfies the constraints.
The same procedure can be applied to a complete and equivalencefree set to make it dominationfree; this set is already equivalencefree so the process will only remove the strictly dominated solutions.
From dominance relation to dominance nogood.
We refer to the constraint added on line 4 of Algorithm 1 as the dominance nogood. It can be derived from the preorder in a principled way. We will demonstrate this for a number of earlier examples.
Since one is often interested in a complete, dominationfree and equivalencefree set, we will demonstrate it for the equivalencefree dominance nogood . We denote the relation representing the dominance nogood as . It can often be obtained by negating the logical definition of the preorder . The dominance nogood with equivalence can be obtained following similar methods as well, perhaps more easily in the equivalent form . Recall that is the set of variables of the CSP and is a previously found solution.
 Optimization.

For dominance relation the dominance nogood is . This guarantees that every new assignment to will have a smaller score than the previously found solution .
 Lexicographic optimization.

The dominance relation is . The negation is the dominance nogood: . Using the observation that we obtain . One could also use a
lex_less
global constraint.  Multiobjective optimization

. The dominance relation has the dominance nogood . Recall that as in the previous examples, this is the dominance nogood to obtain the equivalencefree set of complete and dominationfree solutions.
 minimal models

We have and dominance nogood .
 Minimal correction subsets

We noted earlier that minimal correction subsets is dual to finding the maximal satisfiable subsets, which corresponds to the problem of finding all maximal models of with . The corresponding dominance nogood is .
 CPnets

For CPnets we have .
Each line in a CPT is mutuallyexclusive, so the relation that is more preferred to according to , , can be formalized using a disjunction over all CPT entries. The preference in each entry can be modeled using implications. For example, for the first entry of in Figure 1 as follows: . Indeed, the parents have to take a specific (identical) value, and in that case if then is preferred only if takes value or ; if then must be to be preferred. Because of the mutual exclusivity and because is a solution of which we know the values, when posting the dominance nogood, at most one entry per CPT will be part of the logical formula.
Complexity.
Each time the oracle is called, it has to solve an NPhard CSP in general. Furthermore, there can be an exponential number of nondominated solutions and hence calls to the oracle: there exists a search order such that the algorithm has to enumerate all solutions to find all nondominant ones. Brafman et al [3] show that the simpler problem of computing the next solution in a CSP or preference problem is in general also NPhard, although there are some special cases (like tree CSPs) where it can be easier.
5 Integration in a modeling language
Any constraint solver that supports incrementally adding constraints and retrieving the next solution can implement Algorithm 1. From the modeling perspective, we describe how MiniZinc [21], a modeling language for CSPs and COPs, can be extended to handle CDPs as new modeling primitive.
Instead of extending MiniZinc to express dominance relations, we instead add syntax for dominance nogoods, for two reasons: 1) users can explicitly specify either an equivalencefree dominance nogood, or a dominance nogood with equivalence; 2) we found it more intuitive to declare an invariant for the search (e.g. minimization as where is a previously found solution), rather then declaring when a previous solution dominates or is equivalent to a new one (e.g. ).
MiniZinc has keywords to define variables, constraints, predicates and a minimal search specification.
We add the keyword dominance_nogood for specifying dominance
nogoods.
Furthermore, the builtin MiniSearch [24] function sol(X) can be used to refer to the value of variable in a previously found solution. Hence, the dominance nogood for a minimization problem: can be expressed as:
dominance_nogood f(V) < f(sol(V));
with some array of variables of the accompanying CSP.
Here is an example for finding minimal correction subsets (note the not in the output statement, where we convert the maximal satisfiable subset to a minimal correction subset).
5.1 Solving
Algorithm 1 can be specified in a straightforward way using the recently introduced MiniSearch language [24]
. MiniSearch is an extension of MiniZinc with support for specifying metalevel search heuristics. The integration with MiniZinc allows any existing FlatZinc solver to be used by MiniSearch, and hence also for solving CDPs.
At the language level, a declaration dominance_nogood e is simply translated into a predicate declaration predicate post_dng() = e that posts the dominance nogood. Algorithm 1 is then specified as follows in MiniSearch:
The dominance_search function repeatedly queries a blackbox solver for the next solution (next()), and if a solution is found, it remembers it (commit()), prints it, and then posts the dominance nogood before continuing to search for the next solution. In MiniSearch, next() can either call an external solver process through a file based interface, restarting the search from scratch for each call; or use an incremental C++ API that permits adding constraints during the search.
6 Experiments
We evaluate the viability of the framework and the opportunities of modeling constraint dominance problems in a declarative solverindependent language. We do not aim to beat the stateoftheart on any one specific task, as they typically employ specialized bounds or additional inference mechanisms. The experiments below evaluate different categories of dominance nogoods and show that they can be handled through the generic framework presented in this paper, including the novel setting of optimizing over CPnets using generic CSP solvers.
The experiments use MiniSearch with the following solvers: Gecode 4.4.0 (gecode), ortools v201509 (ortools), Opturion CPX 1.0.2 (optcpx) and Chuffed b776ac2 (chuffed). Gecode and ortools are classical depthfirst search CP solvers, while Opturion CPX and Chuffed are lazy clause generation solvers [22]. All solvers are called by MiniSearch as external processes using the standard filebased interface. Gecode additionally supports the direct, incremental C++ API (gecodeapi).
6.1 MaxCSP
We use benchmarks from the 2008 XCSP competition, MaxCSP with globals category. Table 1 shows a comparison of MiniSearch with different solvers on a selection of instances. For each solver, we compare a model where no variable order is given (’free’) with the specification of a mosttoleast preferred strategy over the variables only (’ord’, e.g. assign to before ). The latter forces the solvers to first consider all constraints, then all but one (arbitrary) constraint, and so on.
Instance  gecodeapi  gecode  ortools  chuffed  optcpx  
free  ord  free  ord  free  ord  free  ord  free  ord  
cabinet5570  —  0.9  —  —  36  0.2  257  —  3.9  0.3 
cabinet5571  —  0.9  —  —  36  0.2  257  —  3.9  0.4 
latinSqdg3_all  0.2  0.1  0.5  0.3  0.1  0.1  0.2  0.3  0.1  0.1 
latinSqdg4_all  0.6  0.9  0.8  6.8  0.5  1.3  0.5  13  0.6  0.3 
quasigrp44  46  —  —  —  4.5  —  3.8  18  1.4  7.7 
quasigrp54  0.4  1651  1158  —  1.1  —  1.6  5.4  1.6  1.3 
q131110973670  479  1.1  32  0.9  540  0.7  635  43  11  7.5 
q131111219348  569  1.1  32  1.3  385  0.9  641  72  8.8  7.0 
We can see in Table 1 that providing the search order often leads to improved runtimes, but not always (quasigrp for gecode, cabinet for chuffed). gecode is slower than the incremental API approach gecodeapi in case an order is given; when doing free search, the restarts of the filebased approach seem to improve runtime for q13 (and others, not shown). The remaining solvers seem to handle this task pretty well, especially optcpx. For a rough comparison, in the 2008 competition the quasigrp and latinSq instances were also solved within seconds, however runtimes of 600+ seconds were reported for cabinet and 40+ seconds for q13.
6.2 Multiobjective
We consider traveling saleseman problems where two different costs are given between any two cities, e.g. duration and fuel cost. We report on the generation of all complete and equivalencefree solutions. The straightforward backward pass needed to make the set dominationfree is omitted for reasons of simplicity. The instances are from the Oscar repository [23].
Instance  gecodeapi  gecode  ortools  chuffed  oscar  

time  sols  time  sols  time  sols  time  sols  time  sols  
ren10  0.5  108  7.5  108  6.8  108  38  105  2.3  110 
ren15  368  949  —  545  –  565  —  343  61  891 
ren20  —  998  —  382  –  392  —  381  —  — 
ren10mg  1.8  41  2.8  41  1.3  45  5  38  n.a.  n.a. 
ren15mg  14  135  247  135  541  145  —  128  n.a.  n.a. 
ren20mg  —  925  —  292  —  294  —  171  n.a.  n.a. 
In Table 2 we compare the MiniSearch approach with different solvers and Oscar [23], which has an efficient dedicated propagator for multiobjective optimisation [15]. The first three lines use the firstfail variable ordering used in Oscar, the last three use a maxregret ordering over the distance variables, as found in MiniZinc’s TSP models. The gecodeapi results indicate that filebased restarts lead to much slower solving times. The number of intermediate solutions also has a big influence on runtime, as using a better variable order leads to both smaller solution sets and smaller runtimes.
6.3 CPnet
The following experiments consider a variant of the Photo problem, where the goal is to find an ordering of friends such that the number of preferences regarding whom to stand next to for a group photo is maximized. We here consider the case that preferences are supplied as a CPnet: each person indicates a number of people (parents in the CPnet) and their preferences considering the locations of these people. Such a CPnet can be partial, i.e., it can contain disconnected components, which our method can handle without any modification.
We randomly generated CPnets with people () and for each person between 0 and parents (sampled uniformly per person, ). The induced order in the CPTs corresponds to preferring smaller average distance to the parent(s). We again report only the forward pass of computing all complete and equivalencefree solutions. Larger and larger lead to larger CPnets and runtimes, though that depends very much on the actual CPnet generated.
Instance  gecodeapi  gecode  ortools  chuffed  optcpx  

time  sols  time  sols  time  sols  time  sols  time  sols  
10v4p1  109  76  126  78  144  81  110  61  192  112 
10v4p2  14  14  46  43  17  16  7  7  20  18 
10v4p3  31  29  51  43  14  12  80  57  78  61 
10v4p4  397  673  782  285  496  331  547  378  —  753 
10v4p5  15  68  101  289  34  95  14  42  24  76 
Table 3 shows results on 5 different networks generated with and . No variable/value ordering strategy was imposed. The number of solutions found clearly has an influence on runtime, where the number of solutions is not only specific to the problem at hand, but also to the search order chosen by the solver. We expect a method that uses the expensive (traditional) dominance checks to perform worse.
7 Related Work and discussion
As discussed in the introduction, most related is the work on preferences in SAT [25, 7], where a preference can be defined over individual literals. They identify preference formulas for these tasks, which correspond to dominance nogoods, and use incremental SAT solving. Our framework generalizes this to a wider range of tasks and different solving technology.
As with any generic method, one cannot expect to obtain the most efficient method for each of the covered tasks. Indeed, specialized methods have been developed for MaxSAT [6], minimum correction subsets [19] and Xminimal models [29] that can be more efficient than a SAT with preferences approach, but only for their specific task. For multiobjective optimization in CSPs, specialized propagation algorithms exist that filter the search space more effectively [11, 15]. Similarly for other forms of preference [17].
Nevertheless, recent applications of data mining using SAT [16] and CSP [20] demonstrate the need for generic methods for handling novel solution dominance settings, for example involving conditional dominance relations.
Many works in CPnets focus on consistency and dominance testing [8, 1, 2]. A branchandbound style algorithm for finding all nondominated solutions given additional constraints has been studied [2]; it uses expensive (PSPACE complete [12]) dominance checks in case the ordering query returns false. Furthermore the search (variable order) in their method is driven by the CPnet’s structure. In contrast, our method proposes a novel dominance relation that is cheap to evaluate and provides an overapproximation; it can be used with any existing solver and for any variable order.
A recent extension of Answer Set Programming [4] covers some of the tasks in this paper too (no CPnets or domainspecific relations), but within the stable model semantics. They provide a language extension for expressing preference relations with a preference type (e.g. less, subset, pareto) and preference elements (the variables). Our language extension is closer to the original dominance relation which can make it easier to specify domainspecific dominance nogoods.
The concept of dominance is also used in different contexts in the constraint programming community. Dominance breaking [5] for COPs creates constraints that, given a mapping , prevent the finding of solutions such that is a better solution of the COP. They can drastically improve solving performance. [5] rely on a notion of dominance relation that applies to all valuations and not just solutions, so that subtrees can be pruned during the search. In that sense they are complementary to the solution dominance we consider in this paper. Indeed an interesting direction for further work is to extend dominance breaking to arbitrary solution dominance problems.
8 Conclusions
We introduced the concept of solution dominance, where the dominance relation is a preorder over the solutions of a CSP. We call the resulting problems Constraint Dominance Problems, and this captures single/lexicographic/multiobjective optimization, Xminimal models, weighted MaxCSP, minimum correction subsets as well as a novel dominance relation for reasoning over CPnets, as well as other dominance relations. We provide a natural and declarative extension to MiniZinc for specifying Constraint Dominance Problems, based on MiniSearch.
Preferences and (solution) dominance have a history in CP research, as discussed above. Two directions for future work hence emerge: 1) which other preference [17] or dynamic solving settings [27] fit the solution dominance framework; and 2) what specialised solving methods that have been investigated for one category (e.g. MaxCSP or Multiobjective) can also be applied to other settings? From a modeling perspective one can also ask the question whether it can be automatically detected from a dominance nogood specification, that a more specialised algorithm could be used (e.g. for lexicographic or biobjective optimisation).
References
 [1] Boutilier, C., Brafman, R.I., Domshlak, C., Hoos, H.H., Poole, D.: Cpnets: A tool for representing and reasoning with conditional ceteris paribus preference statements. J. Artif. Intell. Res. (JAIR) 21, 135–191 (2004)
 [2] Boutilier, C., Brafman, R.I., Domshlak, C., Hoos, H.H., Poole, D.: Preferencebased constrained optimization with cpnets. Computational Intelligence 20, 137–157 (2004)
 [3] Brafman, R., Rossi, F., Salvagnin, D., Venable, K., Walsh, T.: Finding the next solution in constraint and preferencebased knowledge representation formalism. In: Proceedings of the Twelfth International Conference on the Principles of Knowledge Representation and Reasoning (KR2010). pp. 425–433. AAAI Peess (2010)

[4]
Brewka, G., Delgrande, J.P., Romero, J., Schaub, T.: asprin: Customizing answer set preferences without a headache. In: Proceedings of the TwentyNinth AAAI Conference on Artificial Intelligence, January 2530, 2015, Austin, Texas, USA. pp. 1467–1474 (2015)
 [5] Chu, G., Stuckey, P.J.: Dominance breaking constraints. Constraints 20(2), 155–182 (2015)
 [6] Davies, J., Bacchus, F.: Exploiting the power of mip solvers in maxsat. In: Theory and Applications of Satisfiability Testing  SAT 2013  16th International Conference, Helsinki, Finland, July 812, 2013. Proceedings. pp. 166–181 (2013)
 [7] Di Rosa, E., Giunchiglia, E., Maratea, M.: Solving satisfiability problems with preferences. Constraints 15(4), 485–515 (Oct 2010)
 [8] Domshlak, C., Brafman, R.I.: Cpnets  reasoning and consistency testing. In: In Proceedings of the Eighth International Conference on Principles of Knowledge Representation and Reasoning. pp. 121–132. Morgan Kaufmann (2002)
 [9] Ehrgott, M.: Multicriteria optimization. Lecture Notes in Economics and Mathematical Systems, SpringerVerlag (2000)
 [10] Frisch, A., Harvey, W., Jefferson, C., Hernández, B.M., Miguel, I.: Essence: A constraint language for specifying combinatorial problems. Constraints 13(3), 268–306 (2008)
 [11] Gavanelli, M.: An algorithm for multicriteria optimization in csps. In: Proceedings of the 15th Eureopean Conference on Artificial Intelligence, ECAI’2002, Lyon, France, July 2002. pp. 136–140 (2002)
 [12] Goldsmith, J., Lang, J., Truszczynski, M., Wilson, N.: The computational complexity of dominance and consistency in cpnets. J. Artif. Intell. Res. (JAIR) 33, 403–432 (2008)
 [13] Guns, T.: Declarative pattern mining using constraint programming. Constraints 20(4), 492–493 (2015)
 [14] Guns, T., Paramonov, S., Negrevergne, B.: On declarative modeling of structured pattern mining. In: AAAI Workshop on Declarative Learning Based Programming, Phoenix, Arizona USA, 1213 February 2016 (2016)
 [15] Hartert, R., Schaus, P.: A supportbased algorithm for the biobjective pareto constraint. In: Brodley, C.E., Stone, P. (eds.) AAAI 2014. pp. 2674–2679. AAAI Press (2014)

[16]
Jabbour, S., Sais, L., Salhi, Y.: The topk frequent closed itemset mining using topk SAT problem. In: Machine Learning and Knowledge Discovery in Databases  European Conference, ECML PKDD 2013, Prague, Czech Republic, September 2327, 2013, Proceedings, Part III. pp. 403–418 (2013)
 [17] Junker, U.: Preferencebased search and multicriteria optimization. Annals of Operations Research 130(14), 75–115 (2004)
 [18] Lecoutre, C., Sais, L., Tabary, S., Vidal, V.: Nogood recording from restarts. In: IJCAI 2007, Proceedings of the 20th International Joint Conference on Artificial Intelligence, Hyderabad, India, January 612, 2007. pp. 131–136 (2007)
 [19] MarquesSilva, J., Heras, F., Janota, M., Previti, A., Belov, A.: On computing minimal correction subsets. In: IJCAI 2013, Proceedings of the 23rd International Joint Conference on Artificial Intelligence, Beijing, China, August 39, 2013 (2013)
 [20] Négrevergne, B., Dries, A., Guns, T., Nijssen, S.: Dominance programming for itemset mining. In: 2013 IEEE 13th International Conference on Data Mining, Dallas, TX, USA, December 710, 2013. pp. 557–566 (2013)
 [21] Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: Towards a standard CP modelling language. In: CP. LNCS, vol. 4741, pp. 529–543. Springer (2007)
 [22] Ohrimenko, O., Stuckey, P., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)
 [23] OscaR Team: OscaR: Scala in OR (2015), available from https://bitbucket.org/oscarlib/oscar
 [24] Rendl, A., Guns, T., Stuckey, P.J., Tack, G.: MiniSearch: A solverindependent metasearch language for minizinc. In: Pesant, G. (ed.) CP2 015. LNCS, vol. 9255, pp. 376–392. Springer (2015)
 [25] Rosa, E.D., Giunchiglia, E., Maratea, M.: A new approach for solving satisfiability problems with qualitative preferences. In: ECAI 2008  18th European Conference on Artificial Intelligence, Patras, Greece, July 2125, 2008, Proceedings. pp. 510–514 (2008)
 [26] Schiex, T., Fargier, H., Verfaillie, G.: Valued constraint satisfaction problems: Hard and easy problems. In: Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence, IJCAI 95, Montréal Québec, Canada, August 2025 1995, 2 Volumes. pp. 631–639 (1995)
 [27] Ugarte Rojas, W., Boizumault, P., Loudni, S., Crémilleux, B., Lepailleur, A.: Mining (soft) skypatterns using dynamic csp. In: Simonis, H. (ed.) Integration of AI and OR Techniques in Constraint Programming. pp. 71–87. Springer International Publishing, Cham (2014)
 [28] Van Hentenryck, P.: The OPL optimization programming language. MIT Press (1999)
 [29] Zohary, R.B.E. .: An incremental algorithm for generating all minimal models. Artificial Intelligence 169(1), 1 – 22 (2005)
Comments
There are no comments yet.