Title: An implementation of Pareto Optimality in CLP(FD)
1An implementation of Pareto Optimality in CLP(FD)
- Marco Gavanelli
- University of Ferrara
- Italy
2Summary
- Multi-criteria Optimization Problems
- Current Approaches
- New Method
- Case studies
- Multi-Knapsack
- Randomly generated problems
3Constraint Optimization Problem
- A COP a CSP (X,D,C) with a cost function f to
minimize - fD1 x ... x DN St
- where (St, ) is a total order
- An assignment A is an optimal solution to a COP
iff it is a solution of the CSP and A s.t.
f(A) lt f(A) - Total order among solutions
- Only the best assignment satisfying constraints
is considered solution of the COP
4Multi-criteria Optimization Problems
- A MOP is a CSP (X,D,C) with functions
- f ? f1,f2,...,fn, that should be optimized at
the same time - The user is not able to synthesize the functions
into only one - usually, tradeoff solutions are considered more
interesting, extreme solutions are seldom
accepted - In most cases there is not only one optimal point
5Non-Dominated Frontier
- In a MOP, the concept of better solution turns
into the concept of Domination - X d Y Û " k1..n, Xk Yk
- A Solution of the CSP is Pareto-Optimal or
Non-Dominated iff - A s.t. f(A) ltd f(A)
- Only points in the nondominated frontier are
interesting to the user
Criterion Space
6Current Approaches Models
- Transform Partial Order into Total Order
introducing assumptions - Hierarchies
- Linear Combinations
- Distance from the ideal point
- Interactive Methods
- (MP) Methods that require properties of the
problem structure - linear problems
- continuous/differentiable constraints/functions
7Current Approaches Methods
- Incomplete Methods Tabu Search, Genetic
Algorithms, ... - van Wassenhove-Gelders WS80 Split the
criterion space into strips and optimize only one
function. - 1. repeat
- 2. j lt- j 1
- 3. BB minimize f1 -gt Oj
- 4. impose f2 gt f2(Oj)
- 5. until search successful
8Wassenhove-Gelders
Search Tree
f1
f2
9Wassenhove-Gelders restart
Search Tree
f1
f2
10Wassenhove-Gelders restart 4
Search Tree
f1
f2
11van Wassenhove-Gelders Limitations
- ? 2 Objective functions
- ? Restarts the search for each non-dominated
solution found - ? Complete (finds the whole non-dominated
frontier) - ? General (no assumptions on the problem
structure)
12Our Approach Specifications
- Avoid restarts
- Allow more than 2 objective functions
- Complete (find the whole non-dominated frontier)
- General (no assumptions on the problem structure)
- Impose constraints that forbid only the dominated
solutions, taking into account the partial order
13PCOP-BB
Search Tree
f1
f2
14Branch Bound COP
- 1. Problem ltX,D,C,fgt
- 2. Sol Æ
- 3. while search successful
- 4. find solution S, f(S)Cost
- 5. Sol S
- 6. C C È (f lt Cost)
- 7. End while
- 8. Return Sol
15PCOP-Branch Bound MOP
- 1. P ltX,D,C,fgt, fltf1,...fngt
- 2. Sol Æ
- 3. while search successful
- 4. find solution S, f(S)Cost
- 5. Sol SolÈ S\xf(x)gtmCost
- 6. C C È
- 7. End while
- 8. Return Sol
S\xf(x)gtdCost
not(f gtd Cost)
16Propagation of unbacktrackable constraints
f1
f2
17Propagation of unback
- Each time the unbacktrackable constraint is
activated, only N of the recorded solutions can
reduce domains - The problem reduces to finding if N points are in
the forbidden area - Use efficient, spatial data structures
18Point Quad-Trees
19Point Quad-Trees Features
- ? Access in O(log(Nondominated Solutions))
- ? Easily extendable to N dimensions (Oct-Trees,
...) - ? Insertion of new points in O(log(Nondominated
Solutions)) - Drawbacks
- ? Elimination of one point implies re-insertion
of some of its children - ? Efficiency depends on the balancing of the tree
20Point Quad-Trees for MOP
- Dominated area is one of the children
- Points that dominate the node are searched in one
of the children - We only delete points if they become dominated,
i.e., if we insert another point
212D Quad-Trees for MOP
- In general, deleting a point means
- Finding a new root for the sub-tree
- re-arranging the children
- In our case
- The new root is the inserted point
- The children that need re-arrangement are
dominated
22Case Study Multi-Knapsack Problem
- pi,j profit of object j according to knapsack i
- wi,j weight of object j according to knapsack i
- ci capacity of knapsack i
- "i, Sj xjwi,j ci
- xj Î0,1
- max(f1,...,fN) fi Sj xjpi,j
- multi_minimize_ks(SolList,N) -
- def_ks(1,L,N,F1), def_ks(2,L,N,F2),
- multi_minimize(labeling(L),F1,F2,SolList).
23Multi-Knapsack Problem
24Multi-Knapsack
25Multi-Knapsack gt 2D
26Randomly Generated Problems
- Problems generated with parameters
- N10, D15, P 50, Q 10 .. 90
- Linear functions with random weights. Average of
10 problems each - Tightness WG PCOP
- 90 0.07 0.079
- 80 0.282 0.287
- 70 0.4922 0.4977
- 60 1.22 1.16
- 50 2.184 1.658
- 40 19.81 2.879
- 30 75.463 21.454
- 20 149.57 20.766
- 10 141.57 20.122
27Randomly-Generated Problems
28Conclusions Future Work
- Extension of BB for multicriteria with
Quad-Trees in CLP(FD) - complete (finds all the nondominated frontier)
- general (no assumptions on the functions,
constraints, ...) - N criteria
- Future Work
- Hybridization with methods in MP, local search,
genetic algorithms, ...
29Thanks for listening
- Thank you!
- Marco Gavanelli