POLYSA: A Polynomal Algorthm for Non-bnary Constrant Satsfacton Problems wth and Mguel A. Saldo, Federco Barber Dpto. Sstemas Informátcos y Computacón Unversdad Poltécnca de Valenca, Camno de Vera s/n 46071 Valenca, Span {msaldo, fbarber}@dsc.upv.es Abstract. Nowadays, many real problems can be naturally modelled as Constrant Satsfacton Problems (CSPs). It s well known that any non-bnary CSP can be transformed nto an equvalent bnary one, usng some of the current technques. However, ths transformaton may not be practcal n problems wth certan propertes. Therefore, t s necessary to manage these non-bnary constrants drectly. In ths paper, we propose a heurstc called "POLYSA" that solves non-bnary constrant satsfacton problems n a natural way as an ncremental and non-bnary CSP solver. Ths non-bnary CSP solver carres out the search through a polyhedron that mantans n ts vertces those solutons that satsfy all non-bnary constrants. 1. Introducton Nowadays, many problems n the 'real world' can be effcently modelled as constrant satsfacton problems and solved usng constrant programmng technques. These nclude problems from felds such as artfcal ntellgence, operatonal research, databases, expert systems, etc. Most of these problems can be modelled naturally as non-bnary constrant satsfacton problems. Modellng a problem wth non-bnary constrants has several advantages. It facltates the expresson of the problem, enables more powerful constrant propagaton as more global nformaton s avalable, etc. It s well known that any non-bnary CSP can be solved drectly by means of non-bnary CSPs solvers or transformed nto a bnary one [10]. However, ths transformaton has several drawbacks: - The translaton process generates new varables, so t produces a sgnfcant ncrease n the problems sze, causng extra memory requrements for algorthms. In some cases, solvng the bnary formulaton can be very neffcent [1] [3] [8]. - In any case, ths forced bnarzaton generates unnatural formulatons, whch cause extra dffcultes for constrant solver nterfaces wth human users [2]. In ths paper, we propose an algorthm called "Polyhedron Search Algorthm " (POLYSA) that manages non-bnary CSPs n a natural way as an ncremental and non-bnary CSP solver. Ths algorthm s based on HSA [11][12] whch s the
complete algorthm because t mantans all the vertces generated by the Cartesan Product of the varable doman bounds. Although HSA obtans good expermental results, ts computatonal complexty s O(2 n ), so the use of heurstcs s necessary to solve these problems n polynomal tme. Therefore, we present POLYSA whch shares the same phlosophy as HSA, (.e) the vertces are generated by the Cartesan Product of some varable doman bounds. However ts computatonal complexty s reduced to O(n 3 ), although POLYSA s not a complete algorthm. POLYSA effcently manages non-bnary CSPs wth many varables, many constrants and very large domans. Ths proposal overcomes some of the weaknesses of other typcal technques, lke Forward-Checkng and Real Full Look- Ahead, snce ts complexty does not change when the doman sze and the number of dsequatonal constrants ncrease. Moreover, we can manage constrants (nequaltes ) and (dsequatons ) that can be nserted ncrementally and dynamcally nto the problem wthout havng to solve the whole problem agan. Thus, we can manage non-bnary dynamc constrants whch are very frequent n many real applcatons. Ths paper s structured as follows: Frst, we present the prelmnares and the constrant typology that POLYSA can manage. Then, we present the algorthm and evaluate ts behavour wth some of the current technques. Fnally, we present the conclusons and future work proposals. 2. Prelmnares Brefly, a constrant satsfacton problem (CSP) that POLYSA manages conssts of: A set of varables X = { x 1,..., x n }. For each varable x X there s a doman of possble values D. A set of constrants C = { c 1,..., c p } restrctng the values that the varables can smultaneously take. A soluton to a CSP s an assgnment of a value from ts doman to every varable, such that all constrants are satsfed. The objectve n a CSP may be: - to determne whether a soluton exsts - to fnd one soluton, (wth no preference as to whch one), many or all solutons - to fnd the varable domans - to fnd an optmal, or a good soluton by means of an objectve or multobjectve functon defned n terms of certan varables. 2.1 Notaton and defntons We wll summarze the notaton that we wll use n ths paper.
Generc: The number of varables n a CSP wll be denoted by n. The doman of the varable x wll be denoted by D. The constrants wll be noted by c, and all the constrants have the maxmum arty n. We wll always use ths notaton when analysng the complextes of algorthms. Varables: To represent varables we wll use x wth an ndex, for example, x 1, x, x n. Domans: The doman of the varable x wll be denoted by D [ l, u ] =, so the doman length of the varable x s u l. It s mportant to realse that the doman s contnuous. Constrants: Let X = { x 1,..., x n } be a set of real-valued varables. Let α be a n polynomal of degree n (.e., α = p x ) over X and b an nteger. A lnear relaton = 1 over X s an expresson of the form αrb where r {<,, =,,, >}. A lnear dsequaton over X s an expresson of the form α b. A lnear equalty over X s an expresson of the form α = b. The constrants that we are gong to manage are lnear relatons and lnear dsequatons of the form: Inequaltes: n p x b =1 (1) Dsequatons: n p x = 1 b F( x) b : F( x) non lnear (2) where are varables rangng over contnuous ntervals x l, u, b s a real constant, and n 1. Usng the above constrants, equaltes can be wrtten as conjunctons of two nequaltes. Smlarly, strct nequaltes can be wrtten as the conjuncton of an nequalty and an dsequaton. Thus, we can manage all possble combnatons: {<,, =,,, >}. x [ ] Defnton 1. Gven two ponts x,y R n, a convex combnaton of x and y s any pont of the form z = λx + ( 1 λ) y where 0 λ 1. A set S R n s convex ff t contans all convex combnatons of all pars of ponts x,y S. Defnton 2. Let r {,, }. A Koubaraks formula [7] s a formula of ether of the two forms (1) (x-y) r c or (2) x r c.
Defnton 3. A smple temporal constrant [4] s a formula of the form c (x-y) d. Defnton 4. A smple metrc constrant [6] s a formula of the form -c r 1 (x-y) r 2 d where r 1, r 2 {<, }. Defnton 5. A CPA/sngle nterval formula [9] s a formula of one of the followng two forms: (1) c r 1 (x-y) r 2 d; or (2) x r y where r {<,, =,,, >} and r 1, r 2 {<, }. Defnton 6. A TG-II formula [5] s a formula of one of the followng forms: (1) c x d, (2) c x-y d or (3) xry where r {<,, =,,, >}. Note that the tractable formalsms defned n Defntons 2-6 can be trvally expressed n order to be managed by our proposal POLYSA. 2.2 Constrants We now gve more defntons on constrants and dstngush between bnary and non-bnary constrants. The arty of a constrant s the number of varables that the constrant nvolves. A unary constrant s a constrant nvolvng one varable. A bnary constrant s a constrant nvolvng a par of varables. A non-bnary constrant s a constrant nvolvng an arbtrary number of varables. When referrng to a non-bnary CSP we mean a CSP where some or all of the constrants have an arty of more than 2. POLYSA s a CSP solver that manages non-bnary constrants. Example. The followng are examples of non-bnary constrants: ( x 6x + 3x 9x 4 ), ( x x 2x 3x 4 ), ( x x 4x + x 4 ) 2 1 2 3 4 3 3 1 3 4 5 1 2 2 3 4 < The frst and second constrants are managed drectly by POLYSA, the last constrant s transformed nto two constrants: x 2x 4x + x < 4 ) ( x 2x 4x + x 4 ) ( x 2x 4x + x 4 ) ( 1 2 3 4 1 2 3 4 1 2 3 4 3. Specfcaton of the Polyhedron Search Algorthm Intally, POLYSA can be consdered as a classc CSP solver, where there s a statc set of constrants that the soluton must satsfy. The man steps are shown n
Fg1. POLYSA generates an ntal polyhedron (step 1) wth 2n 3 vertces created by means of the Cartesan product of the varable doman bounds ( D 1 D2 L Dn ), but randomly selectng the vertces such that each polyhedron face mantans n 2 vertces that have not ever been selected by any other adjacent face. For each nput ( ) constrant, POLYSA carres out the consstency check (step 2). If the ( ) constrant s not consstent, POLYSA returns not consstent problem; otherwse, POLYSA determnes whether the ( ) constrant s not redundant, and updates the polyhedron (step 3), (.e.) POLYSA elmnates the not consstent vertces and creates the new ones. When all statc ( ) constrants are studed, MAS checks the consstency wth the ( ) constrants (step 4). Thus, solutons to CSP are all vertces and all convex combnatons between any two vertces satsfyng all dsequatonal constrants. Fnally, POLYSA can obtan some mportant results such as: (1) the problem consstency; (2) one or many problem solutons; (3) the new varable domans; and (4) the vertex of the polyhedron that mnmses or maxmses some objectve or multobjectve functon. It must be taken nto account that the POLYSA mght fal due to the fact that the polyhedron generated by the heurstc does not mantan all the vertces of the complete polyhedron. Furthermore, when POLYSA fnshes ts statc behavour (classc CSP solver), new constrants can be ncrementally nserted nto the problem, and POLYSA studes the consstency check as an ncremental CSP solver. Varable Domans x l, u [ ] Polyhedron Creaton (Step 1) n p x b =1 For each constrant Consstent? No Not consstent Problem (Step 2) (Step 3) Yes Redundant? Yes No Polyhedron Updatng (Step 4) Problem Consstency wth ( ) -Consstent Problem -One, many or all Solutons -Mnmal Domans -Optmal pont of Multobjectve functons Fg. 1. General Scheme of the Polyhedron Search Algorthm.
3.1 The Polyhedron Search Algorthm The man goal of POLYSA s to solve a problem as an ncremental and non-bnary CSP solver. The man specfcaton of POLYSA s defned n Fg. 4. Ths specfcaton ncludes three procedures: Polyhedron_Creaton (Dmenson, domans) (Fg 2) s a module that generates the polyhedron vertces by means of the Cartesan Product of the varable domans obtanng some of the polyhedron vertces: v l, l, L, l ), L, v = ( l, l, L, l, u, L, u ), L, v = ( u, u, L, u ) 1 = ( 1 2 n 1 2 j j+ 1 n n 1 2 n Polyhedron_creaton (Dmenson, Domans) { For =0 to 2*Dmensons do: // For each face do the followng { For j=0 to Dmensons*Dmensons do: { Make(NewVertex); // New empty vertex s generated NewVertex Assgns a new unrepeated vertex n the current face LstV NewVertex; } } Return LstV ; // the module returns a lst wth 2*Dmenson 3 vertces. } Fg. 2. Polyhedron_creaton (step 1) Satsfy(C, v ) s a module that determnes whether the vertex v satsfes the constrant C. Thus, ths functon only returns true f the result s b, when the varables ( x 1, x2, L, x n ) are set to values v =( v 1, v2, L, v n ). Polyhedron_Updaton (v, L, ) (Fg 3) s a module that updates the yes L no polyhedron elmnatng all nconsstent vertces ( L no are the vertces that do not satsfy the constrant) and ncludes the new vertces generated by the ntersecton between arcs that contan a consstent extreme (vertex) and the other v. Polyhedron_Updaton ( v, L, L ) yes no { For each adjacent vertex v of v do: POLYSA obtans the straght lne l that untes both v and v ponts. POLYSA ntersects l wth the polyhedron obtanng the new pont v L yes L yes v return L yes ; } Fg. 3. Polyhedron_Updaton (step 3)
POLYSA (Dmenson, Domans, Constrants,Constrants, Solutons) { Step 1 LstV Polyhedron_Creaton (Dmenson, Domans, Constrants ); L φ; L φ; Step 2..For each C Constrants do: { v LstV do: If { If Satsfy(C, v ) then: // checks f the v satsfes the constrant C L L { v } ; // C s consstent wth the system yes yes else L L { v } ; no no } = φ STOP ; // C s not consstent wth the system L yes no = φ If L " C s consstent and redundant "; else Step 3 v L no Polyhedron_Updaton ( v, L yes, L no ) ; } Step 4 Satsfacton(Constrants, L yes, Solutons); // see secton 3.2 return output; // OFHH returns the consstency check, and some extreme solutons } yes no Fg. 4. Polyhedron Search Algorthm. Theorem 1: POLYSA s correct n N. Proof: POLYSA s correct n N because the resultng polyhedron s convex and s a subset of the resultng convex polyhedron obtaned by the complete algorthm HSA[12]. So, we can conclude that POLYSA s correct n N. Theorem 2: For n < 10, POLYSA s complete. Proof: Suppose by contradcton that POLYSA s not complete for n<10. The ntal polyhedron whch s generated by the Cartesan Product of the varable doman bounds, contans 2n faces and 2 n vertces. POLYSA generates n 2 unrepeated vertces n each face. Thus, POLYSA generates 2 3 2n n = 2n vertces. If POLYSA s not complete for n<10, then there are some vertces that POLYSA does not mantan for n<10. So 2n 3 < 2 n for n<10. Ths s a contradcton, because 2 n < 2n 3 for n<10. So, POLYSA s complete for n<10.
3.2 Consstency study wth constrants In ths secton, we present the behavor of POLYSA when there are some ( ) constrants. The consstency study of constrants of ths type has a lnear complexty wth the number of ( ) constrants. Followng, n Fg. 5, we present an example n R 2 that summarzes the possble stuatons that mght be reached. - Polyhedron (1) represents the ntal polyhedron created by the Cartesan Product of the two varables. - Polyhedron (2) represents the resultng polyhedron when all the ( ) constrants have been analyzed. So, when POLYSA has checked the problem consstency wth the constrants ( ) and t s consstent, POLYSA carres out the consstency check of the constrants ( ). Therefore, POLYSA mantans n a lst, L yes, all the resultng polyhedron vertces. The consstency check wth the constrants ( ) and the lst, L yes, can generate four dfferent cases: (a) Some vertces of the lst, L yes, are consstent wth all the ( ) constrants. In ths case, the problem s consstent. (b) Any vertex of the lst ' L yes ' s consstent wth all the ( ) constrant. However, some convex combnatons between two vertces are consstent wth the ( ) constrant. In ths case, the problem s consstent. (c) There s a ( ) constrant that reduces the polyhedron to a unque face, and the resultant vertces are not consstent wth the ( ) constrants. However, some convex combnatons between two vertces are consstent wth the constrant ( ). In ths case, the problem s consstent. (d) The last stuaton occurs when there s a (<) constrant, that s, a ( ) constrant that reduces the polyhedron to a unque face and a ( ) constrant that elmnates ths face. Thus, no vertex s consstent wth the constrants and no convex combnaton s consstent. Therefore, the problem s not consstent. These constrants can be dynamcally nserted or deleted from the problem due to the fact that the management of the ( ) constrants has a low computatonal complexty. When a new ( ) constrant s nserted, the consstent vertces to ths pont are checked wth the new one. It must be taken nto account that f at least one vertex s consstent, the whole problem wll be consstent. If a non-bnary ( ) constrant s deleted from the problem, the algorthm looks for the vertces that have been elmnated by ths constrant and determne whether these vertces have also been elmnated by other constrants. The vertces whch have been elmnated by ths constrant only are returned to the lst ' L yes '. If ths lst s not empty, the problem s consstent. Otherwse, the problem contnues to be not consstent.
R 2 (a) Consstent (1) (b) Consstent (2) Constrant types (c) Consstent (d) Not Consstent Consstent Not consstent Fg. 5. Dfferent stuatons n ( ) constrants. 3.3 Graphcal Interface POLYSA allows the user to ntroduce the necessary parameters n order to randomly or manually run problems. The graphcal nterface s presented n Fg 6. The upper part of the screen shows the parameters that the user must confgure: the number of varables, the number of ( ) constrants, the number of ( ) constrant, the doman length, the number of desred solutons f the problem s consstent, and fnally, the number of problems f the user wants the program to generate several random problems. Then, when the parameters are set, the selected problems are randomly generated and solved by POLYSA. However, f the user wants to manually generate a problem, t s possble to ntroduce the varable domans and the selected constrants n the correspondng parameters. The problems generated and solved n the lower wndow of Fg. 6 are shown. Ths screen shows the selected parameters, the random or manual varable domans and constrants. Also, ths screen dsplays some nformaton about the executon, showng a partal soluton and the CPU tme for checkng each ( ) constrant. Fnally, ths screen dsplays the consstency problem and the total CPU tme. If the problem s consstent, the desred solutons are shown.
Fg. 6. Graphcal Interface 4. Analyss of the Polyhedron Search Algorthm POLYSA spatal cost s determned by the number of vertces generated. Intally, POLYSA generates 2n 3 vertces, where n s the number of problem varables. For each ( ) constrant (step 2), POLYSA mght generate n new vertces and elmnate only one. Thus, the number of polyhedron vertces s 2n 3 +k(n-1) where k s the number of constrants. Therefore, the spatal cost s O(n 3 ). However, HSA spatal cost s O(2 n ) due to the fact that the algorthm generates all the polyhedron vertces, and t would be mpractcal n problems wth many varables. The temporal cost s dvded nto three steps: ntalsaton, consstency check and actualsaton. The ntalsaton cost (step 1) s O(n 3 ) because the algorthm only generates 2n vertces. For each ( ) constrant (step 2), the consstency check cost depends lnearly on the number of polyhedron vertces, but not on the varable domans. Thus, the temporal cost s O(n 3 ). Fnally, the actualsaton cost (step 3) depends on the number of varables O(n 3 ). Thus, the temporal cost s: 3 3 3 3 O( n ) + k O( n ) + O( n ) O( k n. ( ) )
5. Evaluaton of the Polyhedron Search Algorthm In ths secton, we compare the performance of POLYSA wth some of the more current CSP solvers. We have selected Forward-checkng (FC) and Real Full Lookahead (RFLA) 1 because they are the most approprate technques that can manage ths problem typology. To evaluate ths performance, the computer used for the tests was a PIII-800 wth 128 Mb. of memory and Wndows NT operatng system. The problems generated to evaluate the performance depended on four parameters <v,c,c,d>, where v was the number of varables, c the number of ( ) constrants, c the number of ( ) constrants and d the length of the varable domans. The problems were randomly generated by modfyng the parameters and the c and c constrants were constrants of type (1) and (2), respectvely, wth the coeffcents p 0. Thus, each of the graphs shown sets three parameters and vares the other n order to evaluate the algorthm performance when ths parameter ncreases. We tested 100 test cases for each problem and the value of the varable parameter, and we present the mean CPU tme for each of the technques. Followng, four sets of graphs are shown. (Fgures 7,8,9,10) correspondng to the four sgnfcant parameters. Each set summarses the algorthm behavour from two dfferent perspectves. (a) Mean CPU tme for each technque. It must be taken nto account that the unsolved problems were assgned a 200-second run-tme Thus, ths graph contans a horzontal asymptote n tme=200. (b) Number of unsolved problems. That s, those problems that were not solved n 200 seconds and problems that dd not obtan the desred soluton. In Fg.7, the number of ( ) and ( ) constrants and doman length were set <v,6,20,2000>, and the number of varables was ncreased from 3 to 13. Mean CPU tme n problems <v,6,20,2000> Number of unsolved problems 180 160 140 120 100 80 60 40 20 0 3 5 7 9 11 13 FC RFLA POLYSA 3 5 7 9 11 13 FC 34 64 72 77 78 80 RFLA 0 52 54 63 64 73 POLYSA 0 0 0 0 0 0 Number of varables Number of Varables Fg. 7. Temporal Cost n problems <v,6,20,2000>. 1 Forward-checkng and Real Full Look-ahead were obtaned from CON'FLEX, that s a C++ solver that can handle constrant problems wth nterval varables. It can be found n: http://www-ba.nra.fr/t/conflex/logcels/adressesconflex.html.
The graph shows a global vew of the behavour of the algorthms. The mean CPU tme n FC and RFLA ncreased exponentally wth the number of varables. POLYSA only ncreased ts temporal complexty polynomally. When the unsolved problems were set to tme=200, and the others mantaned ther real tme cost, we observed that FC was worse than RFLA. However, as the number of varables ncreased, POLYSA had a better behavour. The number of unsolved problems ncreased n FC and RFLA. POLYSA was able to solve all problem satsfactorly. In Fg.8 the number of varables, the number of ( ) constrants and the doman length were set <15, c, 40, 2000>, and the number of random ( ) constrants ranged from 2 to 10. Mean CPU tme n problems <15,c,40,2000> Number of unsolved problems 200 150 100 50 0 2 4 6 8 10 Number of nequatonal constrants FC RFLA POLYSA 2 4 6 8 10 FC 14 52 80 94 96 RFLA 10 69 71 77 85 POLYSA 0 0 0 5 10 Number of nequatonal constrants Fg. 8. Temporal Cost n problems <15, c, 40, 2000> The graph shows that the mean CPU tmes n FC and RFLA ncreased exponentally and were near the horzontal asymptote for problems wth 10 ( ) constrant, however, RFLA had a better behavour than FC. POLYSA only ncreased ts temporal complexty polynomal, but when the number of constrants ncreased, the probablty of falure also ncreased. The number of unsolved problems ncreased n FC and RFLA much more than n POLYSA, whch was unable to solve only 10% of the problems wth 10 ( ) constrants. In Fg.9, the number of varables, the number of ( ) constrants and doman length were set <15, 6, c, 2000>, and the number of random ( ) constrants ranged from 10 to 1000. Mean CPU tme n problems <15,6,c,2000> Number of unsolved problems 200 150 100 50 0 10 20 40 100 200 500 1000 Number of dsequatonal constrants FC RFLA POLYSA 10 20 40 100 200 10000 FC 75 85 86 92 96 100 RFLA 75 82 86 90 95 100 POLYSA 0 0 0 0 0 0 Number of dsequatonal constrants Fg.9. Temporal Cost n problems <15, 6, c, 2000>
The graph shows that the behavor of FC and RFLA got worse when the number of ( ) constrants ncreased. POLYSA dd not ncrease ts temporal complexty due to the fact that t carred out the consstency check of the ( ) constrants n lnear complexty. The number of unsolved problems was very hgh for both FC and RFLA, whle POLYSA had a good behavor. In Fg.10 the number of varables and the number of random constrants were set <15, 6, 40, d>, and the doman length was ncreased from 50 to 10000. Mean CPU tme n problems <15,6,40,d> Number of unsolved problems 200 150 FC RFLA POLYSA 50 100 500 1000 5000 10000 100 50 FC 62 70 74 76 88 90 RFLA 66 70 78 82 84 90 POLYSA 0 0 0 0 0 0 0 50 100 500 1000 5000 10000 Doman length Doman Length Fg. 10. Temporal Cost n problems <15, 6, 40, d>. The graph shows that the behavor of FC and RFLA got worse when the doman length ncreased. POLYSA had a constant temporal complexty because ths complexty s ndependent from the doman length. The number of unsolved problems was very hgh for both FC and RFLA, whle POLYSA had a good behavor. 6. Conclusons and Future Works In ths paper, we have proposed an algorthm called POLYSA as an ncremental and non-bnary CSP solver. Ths proposal carres out the consstency study through a polyhedron that mantans n ts vertces, those values that satsfy all metrc temporal constrants. Thus, solutons to CSP are all vertces and all convex combnatons between any two vertces that satsfy the dsequatonal constrants. The computatonal cost depends polynomal on the number of varables, whle other approaches depend exponentally on the number of varables, the number of constrants and the doman sze. Because of the low temporal cost, an unsolved problem can be run several tmes to reduce the probablty of POLYSA falng. Ths technque s carred out by varyng the selected vertces that compose the polyhedron. Currently, we are workng on more complete heurstcs n order to decrease the probablty of unsolved problems. We are workng on dsjunctve and non-bnary
constrant satsfacton problems to be modelled as dstrbuted and ncremental CSP solvers. These proposals would work on a polyhedron whose vertces are also polyhedra, and the dsjunctve and non-bnary CSPs are solved by means of metaheurstc technques. Also t s approprate to generate algorthms to be confgured dynamcally dependng on user nputs. Ths proposal wll be composed of HSA as a complete algorthm, helped by heurstcs lke POLYSA and NFHH [13]. Thus, when the user nsert the problem parameters, ths proposal wll study these parameters and wll apply the most sutable algorthm. References 1. Bacchus F., van Beek P.: On the converson between non-bnary and bnary constrant satsfacton problems. In proceedng of AAAI-98, (1998) 311-318 2. Bessère C., Meseguer P., Freuder E.C., Larrosa J.: On Forward Checkng for Non-bnary Constrant Satsfacton. In Proc. Prncples and Practce of Constrant Programmng (CP- 99), (1999) 88-102 3. Bessère C.: Non-Bnary Constrants. In Proc. Prncples and Practce of Constrant Programmng (CP-99), (1999) 24-27 4. Dechter, R., Mer, I., Pearl, J.: Temporal Constrant Network, Artfcal Intellgence 49, (1991) 61-95 5. Gerevn A., Schubert L., Schaeffer S.: Temporal Reasonng n Tme Graph I-II, SIGART Bull 4 (3) (1993) 21-25 6. Kautz H., Ladkn P.: Integratng metrc and temporal qualtatve temporal reasonng. In Proc. 9 th Natonal Conference Artfcal Intellgence (AAAI-91), (1991) 241-246 7. Koubaraks M.: Dense tme and temporal constrants wth. In Proc. 3 rd Internatonal Conference on Prncples of Knowledge Representaton and Reasonng (KR-92), (1992) 24-35 8. Larrosa J.: Algorthms and Heurstcs for total and partal Constrant Satsfacton, Phd Dssertaton, Barcelona, Span, 1998 9. Mer I.: Combnng qualtatve and quanttatve constrants n temporal reasonng. Artfcal Intellgence 87 (1996) 343-385 10. Ross F., Petre C., Dhar V.: On the equvalence of constrant satsfacton problems. In proceedng of European Conference of Artfcal Intellgence, ECAI-90, (1990) 550-556 11. Saldo M. A., Gret A., Barber F.: Constrant Satsfacton by means of Dynamc Polyhedra. In Operatons Research Proceedng (OR2001), (2001) 12. Saldo M.A., Barber F.: An Incremental and Non-bnary CSP Solver: The Hyperpolyhedron Search Algorthm. In Proceedngs of Seventh Internatonal Conference on Prncples and Practce of Constrant Programmng, (CP2001), 2001. 13. Saldo M. A., Gret A., Barber F.: A combnaton of AI and OR methods for solvng Nonbnary Constrant Satsfacton problems. In Proceedngs of Jont German/Austran Conference on Artfcal Intellgence (KI-2001) Workshop on New Results n Plannng, Schedulng and Desgn (PUK2001). 2001