Title: Solving Finite Domain Hierarchical Constraint Optimization Problems
1Solving Finite Domain Hierarchical Constraint
Optimization Problems
- By
- Lua Seet Chong
- Supervised By A.P. Martin Henz
- 9th March 2001
2Outline
- Motivation, Project Background
- Constraint Hierarchies
- Tree Search
- Local Search
- Experimental Results
- Gate Allocation Problem
- Sports Scheduling Problem
- Conclusion
3Integrate Project Background
- Solve the gate allocation problem
- Domain knowledge provided by CAAS and Changi
Airport - KRDL provides the management support
- Sponsored by NSTB
4Motivation
- Gate Allocation Problems
- large combinatorial optimization problems with
many complex soft and easy hard constraints - Local Search
- Constraint Hierarchies
- Flexibility of using symbolic constraints
5Previous Works
- Constraint Hierarchies
- Hierarchical Constraint Logic Programming, Alan
Borning, 1992 - Over-constrained Integer Programming
- WSAT(OIP), Joachim Paul Walser, 1997
6Problem Encoding
- Propositional Satisfiability Problems (SAT)
- represent the problem in CNF
- Constraint Satisfaction Problems (CSP)
- allow many types of formulation
- example linear programming
7Why 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.
8Over-Constrained Problems
- Constraint problems where conflicting constraints
exist - Hierarchical Constraints
9Constraint Hierarchies
10Constraint 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
11Feasible Region Bounded by Cb and Cb
12Constraint Hierarchy Example
P2x ? 4, y ? 6
P3x ? 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
13Constraint Hierarchy Example
P4x ? 2, y ? 8
P3x ? 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
14Constraint 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
15Constraint 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
16Constraint 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(? , ? )
17Constraint Hierarchy
- Comparator
- weighted-sum-better(? , ? ) ?
- ?k. 1 ? k ? n such that
- ?i ?1k-1.
- rank-sum(? ,Ci) rank-sum(? , Ci)
- ? rank-sum(? ,Ck) lt rank-sum(? , Ck)
18Constraint Hierarchy
- rank-sum(? ,Ci) ? ?c?Ciw(c)e(c? )
- where w(c) is a real number weight for
constraint c and e(c? ) is an error function
19Tree Search
20Finite DomainConstraint Programming
- Successful technique for solving combinatorial
problems. - 3 main components
- Propagation Algorithms
- Branching Algorithms
- Exploration Algorithms
21Branching 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
22Enumeration Algorithms
- Enumeration algorithm if
- c is in the form of x v
- 2 heuristics
- variable selection heuristic
- value selection heuristic
23Cost 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
24Cost Driven Value Selection
25Hierarchical Cost Driven Value Selection
- Order the values within a variable according to
the hierarchical comparator instead of a integer
comparator
26Local Search
27Walk 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
28WalkSearch 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,
?) - ltxk,vgt select-partial-repair(C, X, c,
?) - ? ?xk ? v
- end
- end
- return ?_best
- end
29Generalization of WSAT(OIP)
- Any constraints (i.e non-linear, symbolic)
- select-partial-repair
- Constraint hierarchy
- improve
- select-unsatisfied-constraint
30select-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
31select-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 Civiolated
- ?j?0,,n Pj Cjviolated
32Why consProb?
Prob. for selecting a constraint in rank i
?Ci?
Rank i
Pi
rankProb
consProb
100
0
1000
100/111 ? 1000 0.0009009
100
(10)
10/111 ? 10 0.009009
10
1
10
10
(100)
1/111 ? 100 0.00009009
1
2
100
1
(1)
33Gate Allocation Problem
34Gate 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
35GAP 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
36GAP 0/1 Model
- GAP with m aircrafts and n gates
- m?n 0/1 variables Yij are introduced where
- 1 ? i ? m and 1 ? j ? n
- Yij 1 iff aircraft i is allocated to gate j
37Example 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
38GAP 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
39Example FD Model of No Overlapping
- For each maximal set of aircraft S whose ground
time overlaps, a symbolic constraint alldiff(S)
is introduced
40Objectives of Experiments
- Comparing 0/1 model vs finite domain model
- Comparing the performance of proposed constraint
selection scheme
41Setup of Experiments
- For each problem model, benchmark problem and
constraint selection scheme - pNoise (0.0, 0.1, , 0.5)
- 5 probability distributions among ranks
- 8421
- 90.330.330.33
- 80.50.51
- 6112
- 1000100101
42Setup 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
43Benchmark Problems
- Small Problem (P1 - P6)
- ranging from 10 - 30 flights
- Bigger Problem (P7 - P15)
- ranging from 50 -257 flights
44Comparison of Solving Time
45Performance of Finite Domain vs 0/1 Model using
Best select-unsatisfied-constraint
46Performance of Finite Domain vs 0/1 Model for
Bigger Test Cases
47Performance of Different Constraint Selection
Scheme on FD Model
48Performance of Different Constraint Selection
Scheme on 0/1 Model
49Performance of Different Constraint Selection
Scheme on FD Model for Bigger Test Cases
50Performance of Different Constraint Selection
Scheme on 0/1 Model for Bigger Test Cases
51Hierarchical Cost Driven Descent on GAP
52Experimental 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
53Sports Scheduling Problem
54Number of Moves to Solve ACC Problem
WalkSearch
WSAT(OIP)
55CPU Time Taken to Solve ACC Problem
WalkSearch
WSAT(OIP)
56Experimental 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
57Conclusion
58Conclusion
- Empirical Study on Changi Airport Gate Allocation
Problem - Hierarchical Cost Driven Descent is able to solve
Gate Allocation Problem
59Conclusion
- 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
60Acknowledgement
- 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.
61? Thank You ?