Upload
delilah-bell
View
216
Download
0
Embed Size (px)
Citation preview
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
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 Boundedby Cb and Cb
Constraint Hierarchy Example
e(ca ) = 0
e(cb ) = 2.3e(cc ) = 0
e(cd ) = 1
e(ca ) = 0
e(cb ) = 0e(cc ) = 0
e(cd ) = 4
Weighted-Sum-Better
P2:{x 4, y 6} P3:{x 1, y 9}
Constraint Hierarchy Example
e(ca ) = 0
e(cb ) = 0e(cc ) = 0
e(cd ) = 3
e(ca ) = 0
e(cb ) = 0e(cc ) = 0
e(cd ) = 4
Weighted-Sum-Better
P4:{x 2, y 8} P3:{x 1, y 9}
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,
CH is 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
Tree Search
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 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, ); <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 C0 with 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?
Ci
1
10
100
Rank i Pi
2
1
0
100
10
1000
rankProb consProb
1/111 100= 0.00009009
10/111 10= 0.009009
100/111 1000= 0.0009009
1
10
100
Prob. for selecting a constraint in rank i
(10)
(100)
(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
• 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
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 Schemeon FD Model for Bigger Test Cases
Performance of Different Constraint Selection Scheme on 0/1 Modelfor Bigger Test Cases
Hierarchical Cost Driven Descent on GAP
Problems Pessimistic HCDS Optimistic HCDS
P1 [0 0 5 1442] [0 0 5 1442]
P2 [0 2 25 11096] [0 2 15 34168]
P3 [0 2 25 11096] [0 2 20 22442]
P4 [0 2 25 11096] [0 2 20 22442]
P5 [0 3 21 14214] [0 3 15 39386]
P6 - -
P7 [0 4 31 48630] [0 4 46 73942]
P8 [0 4 41 50107] [0 4 56 73942]
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
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