280 likes | 428 Views
2 August, 2000 1. A global constraint combining a sum constraint and binary inequalities. Jean-Charles REGIN Michel RUEHER
E N D
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 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
2 August, 2000 3 Motivations • to improve • “back” propagation • when solving Optimization Problems • in the CP Framework
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
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
2 August, 2000 6 Example 1 • D(x1)=[0,6] D(x2)=[1,7]D(y)=[1,13] • C1: x1 + x2 =yC2: x1x2- 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
2 August, 2000 7 Example 1 (continued) • D(x1)=[0,6] D(x2)=[1,7] D(y)=[6,13] • C1: x1 + x2 =yC2: x1x2-1 • However, when x2 belongs to [1,3] • C1cannot be satisfied • Global constraint IS will delete [1,3]from the domain D(x2)
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 : {ljxj 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
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))
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) - jimax(xj) • xi: max(xi) max(y) - ji min(xj)
2 August, 2000 11 Sum constraint(continued) • Checking interval consistency of y=xiis in 0(n) • (3) xi: min(xi) min(y) - jimax(xj) • jimax(xj)= j=1…nmax(xj)- max(xi)
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)
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 + cjiarc (xj, xi) withcost cjiD(x) =[minx, maxx] s x –min(x)arc (x,s)withcost -min(x) x s +max(x)arc (s,x)withcost max(x)
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
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))
2 August, 2000 16 IS constraint(Sum & binary Inequalities) • (3) xi: min(xi) min(y) - ji 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: x1x2-1 • min(x2) min(y) - max (x1) = 0 • although IS cannot be satisfied when x1 3
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) • - ji max xi min(xi) (xj) • (4b) xi: max(xi) max(y) • - ji 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)
2 August, 2000 18 IS constraint(Sum & binary Inequalities) • (3b) xi: min(xi) min(y) • - ji max xi min(xi) (xj) • Example: • D(x1)=[0,6] D(x2)=[1,7] D(y)=[6,13] • C1: x1 + x2 =yC2: x1x2-1 • min(x2) min(y) - max x2 min(x2) (x1) = 4
2 August, 2000 19 How to compute min(xi) ? • (3b) xi: min(xi) min(y) • - ji max xi min(xi) (xj) • • xi= min(y) - j imax xi xi (xj)
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)
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
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)
2 August, 2000 23 Extensions • Works also for ixi=y(3b) xi 1 (min(y) - jij(xi,xj)) • |X| • Works also if all the variables do not occur in the sum constraint
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
2 August, 2000 25 Computing min(xi) (continued) • xi 1 (min(y) - ji(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)
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) - ji(xi,xj)) (3) • |X|
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
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