• No results found

the implementation of the pruning rules are discussed in Section 5.7. In order to assess the efficiency of the developed pruning rules in practice, experiments were performed and results are discussed in Section 5.8.

5.2

Personalized Branch And Bound

In B & B, in order to personalize the bounding rule used to check the optimality of the search space below some node in the search tree, we define specific pruning rules that are based on some kind of preference relation. B&B can be personalized by the means of conditions to be tested at each node of the search tree. We describe the model of the search tree in Section 5.2.1 and present, in Section 5.2.2, the preference relation we are considering in the preference-based B&B presented in Section 5.2.3.

5.2.1

Model of the search tree

Let V be the set of variables associated with the problem. Variables are instanti- ated in a particular order in the search tree used to gather optimal solutions of a CSP, which is described in Section 2.11 of Chapter 2, augmented by a set of user preferences.

Similarly to a CSP search tree, described in Section 2.11.2 of Chapter 3, each node of the search tree is associated with a variable X ∈ V . At any node of a depth-first search algorithm, we have an associated partial assignment b to the variables B ⊆ V that have already been instantiated, and we have the current domain D(X) of each variable X. We formalise this notion of a collection of domains as follows:

Definition 21. A collection of domains is a function D on V such that D(X) ⊆ X (X is the initial domain of X), so that D(X) is a set of possible values of X. For an outcomeβ, we say that β is of D if β(X) ∈ D(X) for all X ∈ V .

When a variable Y ∈ V \B is instantiated to some value y, a new node N , consid- ered as a child of the previously created node that is associated with the previously- instantiated variable’s value, is created, the partial assignment b is extended with Y = y and D(Y ) is fixed to {y} (i.e., D(Y ) = {y}). Domains D(X), for X ∈ V \ B, are then determined by constraint propagation (Bessière 2006) as elements of X that are inconsistent with b regarding the constraints in the CSP are eliminated (see Def- inition 2 in Section 2.11 of Chapter 2). In our experiments, we use arc consistency to prune away inconsistent values from D(X). Backtracking takes place when a com- plete assignment is created or there is no point in going deeper in the search tree, because there exists X such that D(X) = ∅, or there is a proof that there will not be an optimal solution that can extend the current partial assignment. Thus, the process

backtracks to the parent node to assign an untried value of the variable associated with the parent node.

Let Ω be the set of optimal solutions found so far when the search reaches some node N . Let Ω0 be the subset of Ω that will be the only solutions involved in any computation or comparison below the current node. Other solutions β ∈ Ω \ Ω0 are irrelevant for the comparisons that will be performed below node N . The state of the search at some node of the search tree is characterized by (b, B, D, Ω, Ω0).

5.2.2

Preference relation for optimisation

In order to select optimal solutions, we need to use a preference relationD between outcomes. In this chapter, we use the dominance relation described in Section 3.4.2 of Chapter 3. Thus, an outcome α dominates another outcome β (α D β) if and only if all the cp-trees with γ = 1 that satisfy the set of user preferences Γ order α before β (a cp-tree with γ = 1 corresponds to the pos-tree introduced in (Wilson 2006) and mentioned in Definition 12 Section 3.4.2.1 of Chapter 3). Γ is a set of preference statements expressed as a conditional preference theory (see Section 3.3.1 of Chapter 3). Let V be a set of variables and U and W be two subsets of V . Each preference statement is denoted by ϕ as follows: u : x > x0[W ], (W ⊆ (V \ (U ∪ X))) meaning that given an assignment u for a set of variables U , we prefer value x to value x0 for variable X, as long as variables outside of W are held equal.

5.2.3

Preference-based branch and bound

In the search tree, when branching, bounding requires checking whether a partial assignment b can be extended to an undominated (i.e., optimal) solution. In order to aid the search for optimal solutions, we are looking for new preference-based methods that find the way to discover dominated paths (regarding preferences) in the search tree, and so allow for pruning uninteresting sub-spaces from the search tree.

At some node N of the search tree, an optimal solution α might be able to domi- nate every β of D. Thus, we say that α dominates D. The other side of dominance is that α might not be able to dominate any β of D. We then say that α non-dominates D.

Definition 22. Letα be an outcome and D be a collection of domains. We define: • α dominates D if α D β for all β of D.

α non-dominates D if for all β of D, α 4 β.