610 likes | 759 Views
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
E N D
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 Hierarchy Example • Constraints ca : y = -x + 10 cb : y 4x cc : y x + 8 cd : y 5 • Constraint Hierarchy C0 : { ca } C1 : {cb ,cc } C2: { cd }
Feasible Region Bounded by Cb and Cb
Constraint Hierarchy Example P2:{x 4, y 6} P3:{x 1, y 9} e(cd ) = 1 e(cd ) = 4 e(cc ) = 0 e(cc ) = 0 e(cb ) = 2.3 e(cb ) = 0 e(ca ) = 0 e(ca ) = 0 Weighted-Sum-Better
Constraint Hierarchy Example P4:{x 2, y 8} P3:{x 1, y 9} e(cd ) = 3 e(cd ) = 4 e(cc ) = 0 e(cc ) = 0 e(cb ) = 0 e(cb ) = 0 e(ca ) = 0 e(ca ) = 0 Weighted-Sum-Better
Constraint Hierarchy • X : set of variables • For each x X, Dx : finite set of values that x can take • k-nary constraint over variables x1,…, xk is a relation over Dx1 … Dxk
Constraint Hierarchy • Constraint Hierarchy, CHis a vector C0 ,C1 ,…,Cn where for each 0 i n, Ci is a multiset constraints of rank i • C0 contains required (hard) constraints • C1,…,Cn 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 S0 = { |c C0, c holds} • Optimal solution set, Sbetter = { S0 | S0 , better( , )}
Constraint Hierarchy • Comparator weighted-sum-better( , ) k. 1 k n such that i {1…k-1}. rank-sum( ,Ci) = rank-sum( , Ci) rank-sum( ,Ck) < rank-sum( , Ck)
Constraint Hierarchy • rank-sum( ,Ci) cCiw(c)e(c ) where w(c) is a real number weight for constraint c and e(c ) is an error function
Finite DomainConstraint 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 sc
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
Hierarchical Cost Driven Value Selection • Order the values within a variable according to the hierarchical comparator instead of a integer comparator
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, ); <xk,v> := select-partial-repair(C, X, c, ); := [xk v]; end 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 pnoise
select-unsatisfied-constraint • hardOrSoft, select a violated constraint in C0with probability Phard • topOrRest, select a violated constraint in top most unsatisfied rank with probability Ptop • rankProb, select a violated constraint in Ci with probability Pi • consProb, select a violated constraint in Ci with a dynamic probability Dpi which is Pi |Ci|violated j{0,…,n}Pj |Cj|violated
Why consProb? Prob. for selecting a constraint in rank i Pi Ci Rank i rankProb consProb 0 100 1000 100/111 1000 = 0.0009009 100 (10) 10/111 10 = 0.009009 1 10 10 10 (100) 1/111 100 = 0.00009009 2 1 100 1 (1)
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 • mn 0/1 variables Yij are introduced where 1 i m and 1 j n • Yij = 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 Yij + Ykj 1
GAP Finite Domain Model • GAP with m aircrafts and n gates • For each aircraft i, Xi is introduced to represent the gate aircraft i uses • The domain of Xi is 1 to n • Xi = 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 10 - 30 flights • Bigger Problem (P7 - P15) • ranging from 50 -257 flights
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