Integrating TCP-Nets and CSPs - Springer Link

6 downloads 79079 Views 225KB Size Report
2006[4]. Furthermore, to our best knowledge there is no implementation of TCP-. Nets. .... effect. eg. “I do not want to buy a black laptop if the brand is Sony”. The.
Integrating TCP-Nets and CSPs: The Constrained TCP-Net (CTCP-Net) Model Shu Zhang, Malek Mouhoub(B) , and Samira Sadaoui Department of Computer Science, University of Regina, Regina, Canada {mouhoubm,sadaouis}@uregina.ca

Abstract. In this paper, a new framework for constraint and preference representation and reasoning is proposed, including the related definitions, algorithms and implementations. A Conditional Preference Network (CPNet) is a widely used graphical model for expressing the preferences among various outcomes. While it allows users to describe their preferences over variables values, the CP-Net does not express the preferences over the variables themselves, thus making the orders of outcomes incomplete. Due to this limitation, an extension of CP-Nets called Tradeoffs-enhanced Conditional Preference Networks (TCP-Nets) has been proposed to represent the relative importance between variables. Nonetheless, there is no research work reporting on the implementation of TCP-Nets as a solver. Moreover, the TCP-Net only deals with preferences (soft constraints). Hard constraints are not explicitly considered. This is a real limitation when dealing with a wide variety of real life problems including both constraints and preferences. This has motivated us to propose a new model integrating TCP-Nets with the well known Constraint Satisfaction Problem (CSP) framework for constraint processing. The new model, called Constrained TCP-Net (CTCP-Net), has been implemented as a three-layer architecture system using Java and provides a GUI for users to freely describe their problem as a set of constraints and preferences. The system will then solve the problem and returns the solutions in a reasonable time. Finally, this work provides precious information for other researchers who are interested in CSPs and graphical models for preferences from the theoretical and practical aspects. Keywords: Constraint Satisfaction · Qualitative preferences · CP-Nets · TCP-Nets

1

Introduction

Preference elicitation, representation and reasoning plays an important role in many real life applications, such as collaborative filtering, product configuration, automated decision making system and recommender systems. In most cases, we cannot require the users to have enough patience and knowledge to make a decision or a choice. Thus, helping the users to make a decision efficiently and correctly is important as discussed by the researchers in the field. c Springer International Publishing Switzerland 2015  M. Ali et al. (Eds.): IEA/AIE 2015, LNAI 9101, pp. 201–211, 2015. DOI: 10.1007/978-3-319-19066-2 20

202

S. Zhang et al.

While past research work has focused on the quantitative representation of preferences through a utility function based on the well-known Multi-Attribute Utility Theory(MAUT) for example [1] or the C-semiring framework for preferences in temporal problems [2], it is more natural to describe preferences in a qualitative way. Conditional Preference Networks(CP-Nets)[3] is a qualitative graphical model for representing qualitative preference information to reflect the conditional dependency of preferences under ceteris paribus (all else being equal) interpretation. It provides a convenient and intuitive tool for specifying the problem, and in particular, the decision maker’s preferences. Tradeoffs-enhanced Conditional Preference Network(TCP-nets)[4] is introduced by extending CP-nets, allowing users to describe their relative importance on variables, thus improving the limitations of CP-Nets. However, research on a TCP-Net is very scarce as this latter is a very new model initially proposed in 2006[4]. Furthermore, to our best knowledge there is no implementation of TCPNets. In other words, we do not know the performance of TCP-Nets for real wold applications. Moreover, hard constraints are not considered. In this paper, we extended the TCP-Net with constraints, producing a more powerful and novel model called Constrained TCP-Net (CTCP-Net) to address problems under constraints and preferences. The CTCP-Net allows users to add their unconditional and conditional constraints into a Condition-Constraint Table (CCT). The Constraint Satisfaction Problem (CSP) framework [5] has been used to filter the variables values which do not satisfy the CCT. This filter greatly reduces the search space, thus enhancing the efficiency of the solving algorithm. Our proposed model comes with a friendly GUI and can constitute the core of an online shopping system as long as it connects to the corresponding online shopping databases, for electronic selections, air ticket selections and more. The rest of the paper is organized as follows. Section 2 reviews the related research work on constraints and preferences representation and reasoning. Basic concepts, CSPs, CP-Nets and TCP-Nets are discussed in details in this section. In Section 3, our proposed CTCP-Net model is defined. The solving algorithm is then presented in section 4. Finally, section 5 concludes this research works and prospects possible future works.

2

Background

2.1

CSPs

A Constraint Network (CN) includes a finite set of variables with finite domains, and a finite set of constraints restricting the possible combinations of variable values [5]. Given a CN, a Constraint Satisfaction Problem (CSP) consists of finding a set of assigned values to variables that satisfy all the constraints. A CSP is known to be an NP-hard problem in general1 , and is solved with a backtrack search algorithm of exponential time cost. In order to reduce this 1

There are special cases where CSPs are solved in polynomial time, for instance, the case where a CSP network is a tree [6, 7].

Integrating TCP-Nets and CSPs

203

cost in practice, constraint propagation techniques have been proposed [5,6,8]. The idea here is to reduce the size of the search space before and during the backtrack search. In the past four decades the CSP framework, with its solving techniques, has demonstrated its ability to efficiently model and solve a large size real-life applications, such as scheduling and planning problems, configuration, bioinformatics, vehicle routing and scene analysis [9]. 2.2

CP-Nets and TCP-Nets

A Conditional Preference Network (CP-Net) is a graph model for representing and reasoning on conditional ceteris paribus preferences in a compact, intuitive and structural manner. This model allows users to express their preferences in a qualitative way, which is more natural and comfortable for users compared to quantitative descriptions. Non-conditional preferential independence is used to represent the fact that customers’ preference relation over values of a given feature is the same regardless of the values given to other features. The definition [4] is shown as follows. Definition 1. [4] Let x1 , x2 ∈ D(X) for some X ⊆ V and y1 , y2 ∈ D(Y ), where Y = V − X. We say that X is preferentially independent of Y iff, for all x1 , x2 , y1 , y2 we have that x1 y1  x2 y1 ⇔ x1 y2  x2 y2 In reality, the domains of features and customers’ preference are much more complex. In most cases, the preferential independence relies on a certain value of other features, hence we call it conditionally preferentially independent and the corresponding definition [4] is as follows. Definition 2. [4] Let X, Y and Z be a partition of V and let z ∈ D(Z). X is conditionally preferentially independent of Y given z iff, for all x1 , x2 , y1 , y2 we have that x1 y1 z  x2 y1 z ⇐⇒ x1 y2 z  x2 y2 z Moreover, we can say that X is conditionally preferentially independent of Y under Z if the above formula is satisfied for every value of Z. In order to address the limitations of CP-Nets, tradeoffs-enhanced CP-nets (TCP-Nets) have been proposed by extending the relative preferences to the variables themselves through the non-conditional and conditional relative importance properties [4] defined below. Definition 3. [4] Let a pair of variables X and Y be mutually preferentially independent given W = V − X, Y . We say that X is more important than Y , denoted by X  Y , if for every assignment w ∈ D(W ) and for every xi , xj ∈ D(X), ya , yb ∈ D(Y ), such that xi  xj given w, we have that: xi ya w  xj yb w. The above definition also works if yb  ya given w. In general, customers describe their preference under certain conditions, hence the conditional relative importance is more commonly used.

204

S. Zhang et al.

Definition 4. [4] Let X and Y be a pair of variables from V , and let Z ⊆ W = V − X, Y . We say that X is more important than Y given z ∈ D(Z) iff,  for every assignment w on W  = V − ({X, Y } Z) we have: xi ya zw  xj yb zw whenever xi  xj given zw . We denote this relation by X Z Y . Finally, if for some z ∈ D(Z) we have either X Z Y , or Y Z X, then we say that the relative importance of X and Y is conditioned on Z, and write RI(X, Y |Z). Accordingly, if for some z ∈ Z, we can also find Y Z X, then we can conclude that the relative importance of X and Y relies on Z, denoted as RI(X, Y | Z).

3

Constrained TCP-Nets (CTCP-Nets)

3.1

Definition of the CTCP-Net

Following the definition of the TCP-Nets in [4] we define the CTCP-Net T as a tuple < G, cc, cp, i, ci, cct, cpt, cit >, where: 1 G is the set of nodes corresponding to a set of problem variables {X1 , X2 , . . . , Xn }. 2 cc is the set of directed cc − arcs{α1 , α2 , . . . , αn } corresponding to condi−−−−→ tional constraints. A cc − arc[Xi , Xj ] means that Xj is restricted by a given condition on Xi ’s values. 3 cp is the set of directed cp−arcs{β1 , β2 , . . . , βn } corresponding to conditional −−−−→ preferences. A cp−arc < Xi , Xj > means that the preferences over the values of Xj depend on the actual value of Xi . 4 i is the set of directed i-arcs {γ1 , γ2 , . . . , γn } corresponding to non-conditional −−−−→ relative importance relations. An i-arc (Xi , Xj ) corresponds to the following relative importance: Xi  Xj . 5 ci is the set of undirected ci − arc{λ1 , λ2 , . . . , λ3 }, where ci stands for condi tional relative importance. A ci − arc(X i , Xj ) is in T if f there is RI(Xi , Xj |Z) for some Z ⊆ G − {Xi , Xj }. 6 cct associates with conditional constraint table with every node X ∈ G. A cct is from D(Cd(X)) (ie..assignments to X’s conditional nodes) to constraint value over D(X). Where Cd(X) is X  s corresponding conditional variable. 7 cpt associates a Conditional Preference Table (CPT) with every node X ∈ G. CP T (X) is a mapping from D(P a(X)) (ie., assignments to X’s parents nodes) to strict partial order over D(X). P a(X) is X  s conditional (dependent) variable.  8 cit associates with every ci − arc γ = (X i , Xj ), a (possibly partial) mapping CIT (γ) from D(S(Xi , Xj )) to orders over the set {Xi , Xj }. Note that the sub tuple < cp, i, ci, cpt, cit > corresponds to a TCP-Net. Moreover, if the sets i and ci are empty then we have a CP-Net.

Integrating TCP-Nets and CSPs

3.2

205

Constraint Propagation for CTCP-Nets

We define two types of constraints: non-conditional and conditional and we propagate them respectively using our node and arc consistency algorithms in the preprocessing stage as well as the backtrack search of our solving algorithm. A non-conditional constraint is a constraint where the condition clause is null. We define it as follows: N U LL =⇒ rel. rel denotes a relationship between an attribute value and a constant and is defined as X rel a, where X is an attribute and a is a constant. There are 5 relationships in our model,that is rel ∈ {=, =, ≺, , , }. For this type of constraints, we remove the unsatisfied values according to each constraint. After enforcing node consistency, all the unsatisfied values will be removed from the corresponding domains. In other words, the remaining values satisfy all the non-conditional constraints. A conditional constraint cci is defined as follows. cci = (rel1 ) and|or (rel2 ) and|or . . . (relm ) =⇒ rel

(1)

We denote by varsCd(cci ) the set of variables in the condition of cci and by varCc(cci ) the variable present in the conclusion of cci . Here rel is dependent on the condition (rel1 ) and \ or (rel2 ) and \ or , ..., and \ or (relm ). If this latter condition is true then rel takes effect. eg. “I do not want to buy a black laptop if the brand is Sony”. The “brand is Sony” is the condition here while no black laptop is the constraint, which can be noted as (Brand = Sony) =⇒ Color = black. Note that m = 0 corresponds to a non conditional constraint. The following is the general procedure we use to manage non conditional and conditional constraints. – m=0. This is a non-conditional constraint. We process it as a unary constraint in the pre-processing step to restrict the values that each attribute can take. This is done by removing any attribute value that is inconsistent with the unary constraint. – m=1. This is conditional constraint involving one relation in the premise of the condition. We process it as a form of binary constraint using Algorithm 1 in the pre-processing step to remove the inconsistent values. Note that Algorithm 1 enforces directional arc consistency between the variable in the premise and the one in the conclusion of the conditional constraint. For instance, if the conditional constraint is X = a =⇒ Y = b and value a has been removed from the domain of X then b has to be removed from the domain of Y . As well, the conditional constraint is also used to propagate the effect of an assignment during the backtrack search following the look ahead strategy. For instance, if the conditional constraint is X = a =⇒ Y ≥ b and the current assignment is X = a then all values from the domain of Y that are less than b should be removed. – m > 1. This is a conditional constraint involving more than one relation in the condition of the conditional constraint. We process it similarly to the

206

S. Zhang et al.

case where m = 1 but using generalized directional arc consistency as we are dealing with a form of n-ary constraint in this particular case. For instance, let us assume we have the following conditional constraint: A = a or B = b =⇒ C < c then if a is removed from the domain of A or b is removed from the domain of B then all the values from C’s domain that are greater or equal to c should be removed. This propagation can happen in the pre processing stage as well as the search phase. For example, if during the backtrack search A (or B) is assigned a value other than a (or b) then C cannot be assigned a value that is greater or equal to c. Algorithm CTCP-GAC 1. Given a CTCP-Net T =< G, cc, cp, i, ci, cct, cpt, cit > (X: set of variables, C: set of constraints between variables) 2. Q ← {(i, j) | i ∈ cc ∧ j ∈ varCc(i)} 3. While Q = N il Do 4. Q ← Q − {(i, j)} 5. If REV ISE(i, j) Then 6. If Domain(j) = N il Then return false 7. Q ← Q  {(k, l) | k ∈ cc ∧ j ∈ varsCd(k) 8. ∧ l ∈ varCc(k) ∧ k = i ∧ j = l} 9. End-If 10. End-While 11. Return true Function REV ISE(i, j) Function REV ISE(i, j) (REVISE for bound consistency) (REVISE for arc consistency) 1. domainSize ← |Domain(j)| 1. REV ISE ← f alse 2. While |Domain(j)| > 0 2. nbElts ← |Domain(j)| ∧¬seekSupportArc(i, j, min(j)) Do 3. For each value a ∈ Domain(j) Do 3. remove min(j) from Domain(j) 4. If ¬seekSupport(i, j, a) Then 4. End-While 5. remove a from Domain(j) 5. While |Domain(j)| > 1 6. REV ISE ← true ∧¬seekSupportArc(i, j, max(j)) Do 7. End-If 6. remove max(j) from Domain(j) 8. End-For 7. End-While 9. Return Revise 8. Return domainSize = |Domain(j)|

Fig. 1. CTCP-GAC algorithm for CTCP-Nets, updated from [10]

Arc consistency is enforced with an arc consistency algorithm [5,8]. Since we are dealing with n-ary constraints, we use an adapted version of the Generalized Arc Consistency (GAC) algorithm presented in [10]. This latter is a revised version of the original GAC algorithm proposed in [11] as well as a modified version of the bound consistency algorithm for discrete CSPs in the case of inequality relations [12]. More precisely, bounds consistency is first used through inequality relations to reduce the bounds of the different domains of variables. The adapted GAC is then used to further reduce the domains of the variables. Let us describe now the details of our method. The modified GAC algorithm that we call CT CP − GAC is described in figure 1. This algorithm enforces arc consistency on all variables domains. CT CP − GAC starts with all possible pairs (i, j) where j is a variable involved by the constraint i. Each pair is then processed, through the function REV ISE as follows. Each value v of the domain of j should have a value supporting it (such that the constraint j is satisfied) on the domain on every variable involved

Integrating TCP-Nets and CSPs

207

by i otherwise v will be removed. If there is a change in the domain of j (after removing values without support) after calling the function REV ISE then this change should be propagated to all the other variables sharing a constraint with j. When used as a bound consistency algorithm, cc involves inequality relations and the REV ISE function (the function that does the actual revision of the domains) is defined as shown in figure 1 [12]. In the other case, the REV ISE function is defined as shown in the bottom right of figure 1 [11]. In the function REV ISE (for bound consistency) of figure 1, the function seekSupportArc (respectively the function seekSupport of REV ISE for semantic constraints in figure 1) is called to find a support for a given variable with a particular value. For instance when called in line 2 of the function REV ISE for bound consistency, the function seekSupportArc looks, starting from the lower bound of j’s domain, for the first value that has a support in i’s domain. When doing so, any value not supported will be removed. We also propose a Condition-Constraint Table (CCT) in our model to clearly present all the unconditional and non-conditional constraints. It consists of two columns, conditions and constraints, and each consists of the following parts: variables, relations, value and connectives (if applicable). The fist column can be empty (Null). Each row is a full description of constraints, which must be completely satisfied. For a certain attribute Xi , its CCT is noted as CCT (Xi ). The CCT including all the constraints is called CCT (U ), where U is set of all variables. An example is presented in Table 1. After enforcing node and arc consistency in the preprocessing stage of our proposed solving method, we run a backrack search algorithm with a look ahead strategy [5] to find the Pareto optimal solutions of a given CTCP-Net. In order to improve the time performance of the backtrack search, variables are first ordered following the most constrained variables first heuristic [13]. Some of these variables will then be reordered according to the dependencies imposed by the CTCP-Net. In this regard, variables need to be sorted after their respective parents in the corresponding conditional constraint, conditional preference or unconditional relative importance relation. In addition to this static variable ordering that occurs before the backtrack search, some variables are rearranged dynamically during the backtrack search according to the conditional relative importance relations (anytime the variable, the relative importance relies on, is assigned a particular value). Variables values are ordered according to the CPTs. Note that, like for variable ordering, some of these orders depend on values assigned to some other variables and this is done dynamically during the backtrack search. We adopt the Forward Check strategy [6] as the constraint propagation technique during the backtrack search. Anytime a variable (that we call current variable) is assigned a value during the search, we propagate this decision to the non assigned variables using our CTCP-GAC algorithm as described above in our general procedure. In addition to reducing the size of the search space, this propagation will also detect earlier later failure. For instance, if one of the domains of the non assigned variables becomes empty then we assign another value to the current variable or backtrack to the previously assigned variable

208

S. Zhang et al.

if there are no more values to assign to the current one. This backtrack search method will continue until all the variables are assigned in which case we obtain an optimal solution or the search space is exhausted. In this latter case the CTCP-Net is inconsistent. Table 1. Condition-Constraint table Conditions N ull Brand = sony (Color = red) ∧ (P rice > 1000) (Brand = dell) ∨ (Brand = sony)

4

Constraints Color = black P rice ≤ 1000 Brand = sony Color = silver

Experimentation

In order to evaluate the time performance of our solving method, we conducted several experiments on real data selected from Kjiji.ca2 . The experiments are conducted on a PC with the following specifications: Inter(R) Core(TM)i7-4500U CPU @1.8GHz and 16GB RAM; and running Windows 8 64-bit operating system. The test platform is MyEclipse 8.5. The application corresponds here to purchasing a vehicle online. 50 products are used for the experiments and for each product the following attributes are considered: brand, model, year, engine size, color, milage, price, transmission, body type and seller name. The constraints and preferences are represented in our model as shown below. – (ncc1) (ncc2) (ncc3) (ncc4) (ncc5) – (cc1) (cc2) (cc3) (cc4) (cc4) – (ncp1) (ncp2) (ncp3) (ncp4) – (cp1)

2

Non-conditional constraints (NCC): N ull → Saleby = capital N ull → Saleby = roadway N ull → Kilometers ≤ 150000 N ull → Brand = Kia N ull → Y ear ≥ 2002 Conditional constraints (CC): Saleby = nelson → Bodytype = hatchback Bodytype = hatchback → Saleby = owner (Brand = Honda)or(Bodytype = suv) → Color = red (Kilometer ≥ 13)and(T ransmission = manual) → Brand = F ord (P rice ≥ 8000) → Kilometers ≤ 120000 Non-Conditional preferences (NCP): N ull → Y ear(descendingorder) N ull → P rice(ascendingorder) N ull → Kilometers(ascendingorder) N ull → T ransmission(auto  manumatic  manual) Conditional preferences (CP): (Y ear ≥ 2005)and(Kilometers ≤ 15) → Brand(T oyota  P ontiac  N issan  M azda  Kia succHyundai  Honda  F ord  Dogde  Chrysler  Chevrolet  Buick  Benz  BM W  Audi); otherwise : Brand(Audi  BM W  Benz  Buick  Chevrolet  Chrysler  Dodge  F ord  Honda  Hyundai  Kia  M azda  N issan  P ontiac  T oyota)

http://www.kijiji.ca/b-cars-vehicles/regina-area/c27l1700194

Integrating TCP-Nets and CSPs

209

(cp2) (Saleby = owner)or(T ransmission = manual) → Color(yellow  white  silver  red  grey  green  gold  brown  blue  black); otherwise : Color(black  blue  brown  gold  green  grey  red  silver  white  yellow) (cp3) Brand = Honda → Bodytye(convertible  wagon  suv  coupe  sedan  truck  van succhatchback); otherwise : Bodytye(hatchback  coupe  sedan  suv  truck  van  wagon  convertible) (cp4) P rice ≤ 10000 → Saleby(owner  nelson  capital  roadway); otherwise : Saleby(nelson  capital  owner  roadway) – Non-conditional relative importance(NCIR): (ncri1) N ull → P rice  Y ear (ncri2) N ull → P rice  Saleby (ncri3) N ull → Y ear  Brand (ncri4) N ull → Brand  Bodytype – Conditional Relative importance(CIR): (cri1) Saleby = owner → Y ear  Kilometers; otherwise : Kilometers  Y ear (cri2) T ransmission = auto → Color  Bodytype; otherwise : Bodytype  Color

Fig. 2. Execution time(s) vs number of products

Figure 2 reports the running time required in seconds to return the optimal solution when varying the number of products from 20 to 100. For each experiment, 30 run are conducted and the average running time is taken. As we can see from the figure our proposed method is capable of provide an answer in less than 2 seconds even when the number of products is 100.

5

Conclusion and Future Work

Constraints and preferences handling is a complex but interesting problem that is related to a wide variety of real world applications. Our proposed CTCP-Nets

210

S. Zhang et al.

has the ability to represent and solve these constraint problems under preferences by returning one or more solutions satisfying all the constraints and maximizing the preferences. This process can be done in a very efficient running time, thanks to the constraint propagation techniques that we propose. The proposed CTCP-Net has been implemented with a generic design that offers the flexibility for future maintenance and extensibility. It will be therefore possible in the future to add other modules dealing with new features and properties such as the case of cyclic CTCP-Nets. In the near future we intend to deal with dynamic CTCP-Nets in the case of the addition or retraction of constraints and preferences. The case of constraint of preference addition can be relevant when looking for all k Pareto solutions. k can however be very large and not practical. In this particular situation, instead of returning all these optimal solutions we can ask the user to input more information in order to distinguish between them. These information can be in the form of new constraints or preferences. The system should then use these new information to search in an incremental way for new Pareto optimal solutions. On the other hand, the retraction of constraints can happen when the CTCP-Net is inconsistent and solving it will return no solutions. In this case we need to think about relaxing some constraints in an incremental way in order to obtain the consistency of the network. We have previously proposed constraint propagation as well as search algorithms for managing constraints in a dynamic environment [14,15] and are planning to adapt these techniques for the CTCP-Net.

References 1. Sadaoui, S., Shil, S.K.: Constraint and qualitative preference specification in multiattribute reverse auctions. In: Ali, M., Pan, J.-S., Chen, S.-M., Horng, M.-F. (eds.) IEA/AIE 2014, Part II. LNCS, vol. 8482, pp. 497–506. Springer, Heidelberg (2014) 2. Mouhoub, M., Sukpan, A.: Managing temporal constraints with preferences. Spatial Cognition & Computation 8(1–2), 131–149 (2008) 3. Boutilier, C., Brafman, R.I., Domshlak, C., Hoos, H.H., Poole, D.: Cp-nets: A tool for representing and reasoning with conditional ceteris paribus preference statements. Journal of Artificail Intelligence Research 21, 135–191 (2004) 4. Brafman, R.I., Domshlak, C., Shimony, S.E.: On graphical modeling of preference and importance. Journal of Artificial Intelligence Research 25, 389–424 (2006) 5. Dechter, R.: Constraint Processing. Morgan Kaufmann (2003) 6. Haralick, R., Elliott, G.: Increasing tree search efficiency for Constraint Satisfaction Problems. Artificial Intelligence 14, 263–313 (1980) 7. Mackworth, A.K., Freuder, E.: The complexity of some polynomial networkconsistency algorithms for constraint satisfaction problems. Artificial Intelligence 25, 65–74 (1985) 8. Mackworth, A.K.: Consistency in networks of relations. Artificial Intelligence 8, 99–118 (1977) 9. Meseguer, P., Rossi, F., Schiex, T.: Soft constraints. In: Handbook of Constraint Programming (2006) 10. Mouhoub, M., Feng, C.: CSP techniques for solving combinatorial queries within relational databases. In: Chiong, R., Dhakal, S. (eds.) Natural Intelligence for

Integrating TCP-Nets and CSPs

11.

12.

13. 14.

15.

211

Scheduling, Planning and Packing Problems. Studies in Computational Intelligence, vol. 250, pp. 131–151. Springer (2009) Lecoutre, C., Szymanek, R.: Generalized arc consistency for positive table constraints. In: Benhamou, F. (ed.) CP 2006. LNCS, vol. 4204, pp. 284–298. Springer, Heidelberg (2006) Lecoutre, C., Vion, J.: Bound consistencies for the csp. In: Proceeding of the Second International Workshop ”Constraint Propagation and Implementation (CPAI 2005)” Held With the 10th International Conference on Principles and Practice of Constraint Programming (CP 2005), Sitges, Spain, September 2005 Mouhoub, M., Jashmi, B.J.: Heuristic techniques for variable and value ordering in csps. In: Krasnogor, N., Lanzi, P.L. (eds.) GECCO, pp. 457–464. ACM (2011) Mouhoub, M.: Dynamic path consistency for interval-based temporal reasoning. In: 21st International Conference on Artificial Intelligence and Applications (AIA 2003), pp. 10–13 (2003) Mouhoub, M., Sukpan, A.: Conditional and composite temporal csps. Applied Intelligence (2010)

Suggest Documents