Solving Finite Domain Hierarchical Constraint Optimization Problems By Lua Seet Chong Supervised By A.P. Martin Henz 9th March 2001
Outline Motivation, Project Background Constraint Hierarchies Tree Search Local Search Experimental Results: –Gate Allocation Problem –Sports Scheduling Problem Conclusion
“Integrate” Project Background Solve the gate allocation problem Domain knowledge provided by CAAS and Changi Airport KRDL provides the management support Sponsored by NSTB
Motivation Gate Allocation Problems: –large combinatorial optimization problems with many complex soft and “easy” hard constraints Local Search Constraint Hierarchies Flexibility of using symbolic constraints
Previous Works Constraint Hierarchies Hierarchical Constraint Logic Programming, Alan Borning, 1992 Over-constrained Integer Programming WSAT(OIP), Joachim Paul Walser, 1997
Problem Encoding Propositional Satisfiability Problems (SAT) –represent the problem in CNF Constraint Satisfaction Problems (CSP) –allow many types of formulation –example: linear programming
Why CSP is successful Clean separation between problem encodings and problem solving techniques Flexibility to extend the problem encoding by adding new constraint type Synergy: problem solving techniques for all constraint types work with each other.
Over-Constrained Problems Constraint problems where conflicting constraints exist Hierarchical Constraints
Constraint Hierarchies
Constraint Hierarchy Example Constraints c a : y = -x + 10 c b : y 4x c c : y x + 8 c d : y 5 Constraint Hierarchy C 0 : { c a } C 1 : {c b, c c } C 2 : { c d }
Feasible Region Bounded by Cb and Cb
Constraint Hierarchy Example e(c a ) = 0 e(c b ) = 2.3 e(c c ) = 0 e(c d ) = 1 e(c a ) = 0 e(c b ) = 0 e(c c ) = 0 e(c d ) = 4 Weighted-Sum-Better P2:{x 4, y 6} P3:{x 1, y 9}
Constraint Hierarchy Example e(c a ) = 0 e(c b ) = 0 e(c c ) = 0 e(c d ) = 3 e(c a ) = 0 e(c b ) = 0 e(c c ) = 0 e(c d ) = 4 Weighted-Sum-Better P4:{x 2, y 8} P3:{x 1, y 9}
Constraint Hierarchy X : set of variables For each x X, D x : finite set of values that x can take k-nary constraint over variables x 1,…, x k is a relation over D x 1 … D x k
Constraint Hierarchy Constraint Hierarchy, C H is a vector C 0,C 1,…,C n where for each 0 i n, C i is a multiset constraints of rank i C 0 contains required (hard) constraints C 1,…,C n denote preferential (soft) constraints
Constraint Hierarchy A valuation is a function that maps the variables in X to elements in the domain D Solution set S 0 = { | c C 0, c holds} Optimal solution set, S better = { S 0 | S 0, better( , )}
Constraint Hierarchy Comparator weighted-sum-better( , ) k. 1 k n such that i {1…k-1}. rank-sum( ,C i ) = rank-sum( , C i ) rank-sum( ,C k ) < rank-sum( , C k )
Constraint Hierarchy rank-sum( ,C i ) c Ci w(c)e(c ) where w(c) is a real number weight for constraint c and e(c ) is an error function
Tree Search
Finite Domain Constraint Programming Successful technique for solving combinatorial problems. 3 main components: –Propagation Algorithms –Branching Algorithms –Exploration Algorithms
Branching Algorithms Assume –a stable constraint store s and –a branching constraint c A branching algorithm make use of a branching constraint c looking into 2 new constraint stores s c and s c
Enumeration Algorithms Enumeration algorithm if c is in the form of x = v 2 heuristics: –variable selection heuristic –value selection heuristic
Cost Driven Value Selection A value selection heuristic that order the values using the cost variable 2 Variant of Search: Cost Driven Search Cost Driven Descent
Cost Driven Value Selection
Hierarchical Cost Driven Value Selection Order the values within a variable according to the hierarchical comparator instead of a integer comparator
Local Search
Walk Search Background GSAT, WSAT WSAT(OIP) [Bart Selman and Henry Kautz, 1993] WSAT(OIP) generalized the SAT problem solving techniques to solve over- constrained integer programming problems [Walser 1997]
WalkSearch Algorithm Proc WalkSearch(C, X, Max_moves, Max_tries) for i:= 1 to Max_tries do := an initial assignment ; _best := ; for j := 1 to Max_moves do if meets solution stopping condition then return ; if is feasible improve( , _best, C) then _best := ; c := select-unsatisfied-constraint(C, X, ); := select-partial-repair(C, X, c, ); := [x k v]; end return _best; end
Generalization of WSAT(OIP) Any constraints (i.e non-linear, symbolic) –select-partial-repair Constraint hierarchy –improve –select-unsatisfied-constraint
select-partial-repair Generate the VarValue pairs Remove tabued VarValue pairs Choose VarValue pair that give the highest score. Tie breaking using i) least frequently ii) longest time ago If the chosen VarValue pair does not improve the global score, choose any pair from VarValue with probability p noise
select-unsatisfied-constraint hardOrSoft, select a violated constraint in C 0 with probability P hard topOrRest, select a violated constraint in top most unsatisfied rank with probability P top rankProb, select a violated constraint in C i with probability P i consProb, select a violated constraint in C i with a dynamic probability D p i which is P i |C i | violated j {0,…,n} P j |C j | violated
Why consProb? CiCi Rank i PiPi rankProb consProb 1/111 100 = /111 10 = /111 1000 = Prob. for selecting a constraint in rank i (10) (100) (1)(1)
Gate Allocation Problem
Gate Allocation Problem (GAP) Allocating gates to arriving and departing aircrafts, Haghani, 1998, Yu Cheng, 1998 Minimizing Transfer Walking Distance Work on instances from Changi Airport
GAP constraints No Overlapping - No two aircraft can be allocated to the same gate simultaneously Aircraft Type - Particular gates can be restricted to admit only certain aircraft types Push Back - An aircraft leaving a gate (push- back) will restrict other operations in close temporal and spatial vicinity 22 more constraints
GAP 0/1 Model GAP with m aircrafts and n gates m n 0/1 variables Y ij are introduced where 1 i m and 1 j n Y ij = 1 iff aircraft i is allocated to gate j
Example: 0/1 Model of No Overlapping If aircraft i and k has overlapping ground time, for every gate j where 1 j n Y ij + Y kj 1
GAP Finite Domain Model GAP with m aircrafts and n gates For each aircraft i, X i is introduced to represent the gate aircraft i uses The domain of X i is 1 to n X i = j iff aircraft i is allocated to gate j
Example: FD Model of No Overlapping For each maximal set of aircraft S whose ground time overlaps, a symbolic constraint alldiff(S) is introduced
Objectives of Experiments Comparing 0/1 model vs finite domain model Comparing the performance of proposed constraint selection scheme
Setup of Experiments For each problem model, benchmark problem and constraint selection scheme –pNoise (0.0, 0.1, …, 0.5) –5 probability distributions among ranks 8:4:2:1 9:0.33:0.33:0.33 8:0.5:0.5:1 6:1:1:2 1000:100:10:1
Setup of Experiments Small benchmarks allow optimality comparison –use CPLEX to find optimal solution –count how often optimal solution is reached Large benchmarks –compare scaling behavior –use relative solution quality to compare
Benchmark Problems Small Problem (P1 - P6) –ranging from flights Bigger Problem (P7 - P15) –ranging from flights
Comparison of Solving Time
Performance of Finite Domain vs 0/1 Model using Best select-unsatisfied-constraint
Performance of Finite Domain vs 0/1 Model for Bigger Test Cases
Performance of Different Constraint Selection Scheme on FD Model
Performance of Different Constraint Selection Scheme on 0/1 Model
Performance of Different Constraint Selection Scheme on FD Model for Bigger Test Cases
Performance of Different Constraint Selection Scheme on 0/1 Model for Bigger Test Cases
Hierarchical Cost Driven Descent on GAP ProblemsPessimistic HCDSOptimistic HCDS P1[ ] P2[ ][ ] P3[ ][ ] P4[ ][ ] P5[ ][ ] P6-- P7[ ][ ] P8[ ][ ]
Experimental Result Summary Finite Domain model allows WalkSearch solver to works better than 0/1 model Constraint hierarchy specific select-unsatisfied-constraint perform better (ConsProb, RankProb) Hierarchical Cost Driven Descent is able to find reasonably good solution
Sports Scheduling Problem
Number of Moves to Solve ACC Problem WalkSearch WSAT(OIP)
CPU Time Taken to Solve ACC Problem WalkSearch WSAT(OIP)
Experimental Result Summary WalkSearch solver works for a non- hierarchical constraint problem WalkSearch solver works as good as WSAT(OIP) WalkSearch find solution more frequently than WSAT(OIP) but it runs slower
Conclusion
Empirical Study on Changi Airport Gate Allocation Problem Hierarchical Cost Driven Descent is able to solve Gate Allocation Problem
Conclusion Adapted Contraint Hierarchies to Finite Domain Problem –Hierarchy-specific constraint selection scheme helps to find better solutions WalkSearch Solver can solve both 0/1 and Finite Domain Hierarchical Constraint Problems
Acknowledgement Integrate project members –Roland H. C. Yap –J. Paul Walser –Lim Yun Fong –Shi Xiao Ping –Hu You Lan We thank Civil Aviation Authority of Singapore, Kent Ridge Digital Labs for providing documents and test data sets on the Changi Airport gate allocation problem.
Thank You