1 / 28

A global constraint combining a sum constraint and binary inequalities

2 August, 2000 1. A global constraint combining a sum constraint and binary inequalities. Jean-Charles REGIN Michel RUEHER

buzz
Download Presentation

A global constraint combining a sum constraint and binary inequalities

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2 August, 2000 1 A global constraint combining a sum constraint and binaryinequalities Jean-Charles REGIN Michel RUEHER regin@ilog.fr rueher@essi.fr ILOG Sophia Antipolis Université de Nice – Sophia Antipolis

  2. 2 August, 2000 2 Global constraint IS • Combination of: • A sum constraint:y=xi • and binary Inequalities:xi  xj + cij • Example: • x1 + x2 = y & x1  x2 + 1

  3. 2 August, 2000 3 Motivations • to improve • “back” propagation • when solving Optimization Problems • in the CP Framework

  4. 2 August, 2000 4 Optimization Problems • Objective function : a sum z=xi • CP Framework • solving a sequence of decision problems (B&B) where z< z*(each solution must be better than the previous one) • Local consistency algorithms on each constraint • poorly propagate (not very effective) • Global constraint IS : • to improve the back propagation when the bounds of z are modified

  5. 2 August, 2000 5 Applications indeterministic scheduling problems • Minimizing mean flow time • F=1/n j=1…n (Cj-rj) • Minimizing tardiness • D=1/n j=1…nDj • Where • Dj=max(Cj-dj,0) • Cj , rj , dj : completion time, ready time, and duration of task Tj • Difference constraints : precedence/distance constraints between thetasks

  6. 2 August, 2000 6 Example 1 • D(x1)=[0,6] D(x2)=[1,7]D(y)=[1,13] • C1: x1 + x2 =yC2: x1x2- 1 • This system is arc consistent : each value belongs to a solution of every constraint • If the lower bound of y is set to 6this system remains arc consistent no pruning can be achieved

  7. 2 August, 2000 7 Example 1 (continued) • D(x1)=[0,6] D(x2)=[1,7] D(y)=[6,13] • C1: x1 + x2 =yC2: x1x2-1 • However, when x2 belongs to [1,3] • C1cannot be satisfied • Global constraint IS will delete [1,3]from the domain D(x2)

  8. 2 August, 2000 8 Summary of our framework • ConstraintSum : y= j=1…n xj • InequalitiesIneq : {xj - xj cji (i,j  [1,n])} • Domain constraints Dom : {ljxj uj (i  [1,n])} • Global constraint IS = {Sum}  Dom Ineq • Algorithm (scheme): • If a bound of x is modified •  Filtering Dom Ineqby interval consistency • If a bound of some y is modified •  Filtering Sum by interval consistency • Updating the bounds of every xj with respect to IS

  9. 2 August, 2000 9 Summary of our frameworkContribution •  Filtering Sumby interval consistency : • 0(n) •  Filtering Ineq by interval consistency : • 0(mn) •  Filtering IS by interval consistency : • O(n(m + nlogn))

  10. 2 August, 2000 10 Sum constraint • y=xiis interval consistent iff: • min(y)  j=1…nmin(xj) • max(y)  j=1…nmax(xj) • xi: min(xi)  min(y) - jimax(xj) • xi: max(xi)  max(y) - ji min(xj)

  11. 2 August, 2000 11 Sum constraint(continued) • Checking interval consistency of y=xiis in 0(n) • (3) xi: min(xi)  min(y) - jimax(xj) • jimax(xj)= j=1…nmax(xj)- max(xi)

  12. 2 August, 2000 12 Binary inequalities • Filtering by AC • complexity depends on the size of the domains • Filtering by interval consistency can be achieved in O(mn)  simple temporal CSP (Dechter et al)

  13. 2 August, 2000 13 Simple Temporal CSP Shortest path :  (s,xj)   (s,xi) + c (xi,xj) Distance GraphG=(N,E)N:source node s with D(s) ={0} + one node for each variableE:xi xj + cjiarc (xj, xi) withcost cjiD(x) =[minx, maxx] s x –min(x)arc (x,s)withcost -min(x) x s +max(x)arc (s,x)withcost max(x)

  14. 2 August, 2000 14 Distance graph(continued) • Example • D(xi)=[1,6]D(xj)=[2,5]xj xi - 3 i -1 -3 6 5 s j -2

  15. 2 August, 2000 15 Distance graph(continued) • xi is interval consistant if • D(xi)=[-(xi,s) ,(s,xi )] • Example • D(xi)=[1 5,6]D(xj)=[2,53]xj xi - 3 i -1 -5 -3 6 5 3 s j -2 Computing shortest path : 0(nm) but after ONE computation we can use reduced costs 0(m+nlog(n))

  16. 2 August, 2000 16 IS constraint(Sum & binary Inequalities) • (3) xi: min(xi)  min(y) - ji max (xj) • is too weak to enforce interval consistency on IS • Example: • D(x1)=[0,6] D(x2)=[1,7] D(y)=[6,13] • C1: x1 + x2 =yC2: x1x2-1 • min(x2) min(y) - max (x1) = 0 • although IS cannot be satisfied when x1 3

  17. 2 August, 2000 17 IS constraint(Sum & binary Inequalities) • Interval consistent iff: • min(y)  i=1…nmin(xi) • max(y)  i=1…nmax(xi) • (3b) xi: min(xi)  min(y) • - ji max xi  min(xi) (xj) • (4b) xi: max(xi)  max(y) • - ji min xi  max(xi)(xj) • max xi  min(xi) (xj) : maximum value of D(xj) • which satisfies Ineq when xi is set to min(xi)

  18. 2 August, 2000 18 IS constraint(Sum & binary Inequalities) • (3b) xi: min(xi)  min(y) • - ji max xi  min(xi) (xj) • Example: • D(x1)=[0,6] D(x2)=[1,7] D(y)=[6,13] • C1: x1 + x2 =yC2: x1x2-1 • min(x2) min(y) - max x2  min(x2) (x1) = 4

  19. 2 August, 2000 19 How to compute min(xi) ? • (3b) xi: min(xi)  min(y) • - ji max xi  min(xi) (xj) •  • xi= min(y) - j imax xi  xi (xj)

  20. 2 August, 2000 20 Computing xi max (xj)depends only on the upper-bounds of the variables xkthat belong to a shortest path fromsto xj • max (xj)=min((s,xj), xi+ ’(xi,xj)) (1) • xi  xi • where ’(xi,xj)) is the shortest path from xi to xj in G-{s} • and thus • xi= min(y) - j imin((s,xj), xi + ’(xi,xj)) (2)

  21. 2 August, 2000 21 Computing min(xi) (continued) • xi= min(y) - j imin((s,xj), xi + ’(xi,xj)) (2) algorithm (1)Computing  ’(xi,xj))for all j i and be (s,xj)- (xi,xj)=j (2)L  sorted sorted list of j S  {xj : j 0} S is the set of the xj’s for which min((s,xj), xi + ’(xi,xj)) = (s,xj) Loop xi= min(y) - j imin((s,xj), xi + ’(xi,xj)) S  S  {xj : j xi} until of S does no more change

  22. 2 August, 2000 22 Computing min(xi) (continued)  (xi,xj) can be computed on the graph of reduced costs of G-{s} in O(nlogn)  Identifying the shortest paths from xito xjwhich go through s  iteration step : O(nlogn)  Filtering of IS by interval consistency : O(n(m + nlogn))(no propagation step is required when min(xi) is increased)

  23. 2 August, 2000 23 Extensions • Works also for ixi=y(3b) xi 1 (min(y) - jij(xi,xj)) • |X| • Works also if all the variables do not occur in the sum constraint

  24. 2 August, 2000 24 Conclusion • An original combination and an efficient algorithm for a new global constraint •  to improve propagation • in optimization problems •  Further work : implementation & • experimentation

  25. 2 August, 2000 25 Computing min(xi) (continued) • xi  1 (min(y) - ji(xi,xj)) • |X|  (xi,xj) can be computed on the graph of reduced costs of G-{s}  Identifying the shortest paths from xito xjwhich go through s  iteration step : O(nlogn)  Filtering of IS by interval consistency : O(n(m + nlogn))(no propagation step is required when min(xi) is increased)

  26. 2 August, 2000 26 Computing xi max (xj)depends only on the upper-bounds of the variables xkthat belong to a shortest path fromsto xj • max (xj)=min((s,xj), xi+(xi,xj)) (1) • xi  xi • and thus • max (xj)xi+(xi,xj)(2) • xi  xi • and • xi  1 (min(y) - ji(xi,xj)) (3) • |X|

  27. 2 August, 2000 27 Computing min(xi)(continued) • max (xj)= xi+(xi,xj)(2) • xi  min(xi) Proof (scheme) Two cases : 1.xibelongs to a shortest path from s to xj when xi is set to the value ofxiwe are searching for  maxxi  min(xi)(xj)=xi +(xi,xj) 2.xidoes not belong to ashortest from s to xj (whatever value is assigned to xi) xi=min(xi)=-(xi,s) maxxi  min(xi)(xj)= (s,xj)=xi +(xi,s) + (s,xj) and s belongs toa shortest path from s to xj

  28. 2 August, 2000 28 Computing min(xi) (improvement) • 3b) requires • xi  = 1 (min(y) - j i(xi,xj)) • |X| • (xi,xj)can be approximated by its lower bound max(xj)-max(xi) • Computation can be stopped earlier

More Related