Necessary Condition for Path Partitioning Constraints Nicolas Beldiceanu and Xavier Lorca Ecole des Mines de Nantes, LINA FRE CNRS 2729, FR-44307 Cedex 3 {Nicolas.Beldiceanu,Xavier.Lorca}@emn.fr 1
Context and Contribution Graph partitioning constraints: with paths [Quesada06] [Sellmann03]. with cycles [Hooker06]. with trees [Beldiceanu05]. Graph theory: K node-disjoint paths problem [Steiner03] [Vygen95]. Contribution: structural conditions for partitioning a digraph by one or several paths. 2
Applications Vehicle routing Network robustness Mission planning 3
Application: routing (1) Covering a set of tasks (e.g., deliveries, flights) by a minimum of resources (e.g., lorries, planes). a 0 b b 3 a a 9 b c 1 b d 7 b b 10 c a 5 d d 6 a b 11 d d 2 c c 4 a d 8 c time 4
Application: routing (2) Graph modelling: [a,b] [d,a] 0 6 9 [a,b] 3 [d,b] [b,c] [c,b] [a,d] [b,a] 7 10 1 5 [c,a] 4 [b,d] [d,c] [d,c] 8 11 2 A path partition with 6 paths. 5
Outline ● A flow based approach evaluating the minimum number of paths ● In the case of DAGs ● In general ● Improving the flow based approach ● According to SCCs of the digraph ● According to the way the nodes of 2 SCCs are inter-connected ● A path partitioning constraint ● Modelling the constraint ● Checking feasibility ● Filtering ● Conclusion and Open questions 6
Evaluating the minimum number of paths in DAGs The digraph G Network associated to G 0 5 3 0' 0'' 5' 5'' 2 6 3' 3'' 4 s 1' 1'' 6' 6'' t 1 7 4' 4'' 2' 2'' 7' 7'' ● Each node of the DAG is splitted: f i = [1,1] ● A backward arc is added: f ts = [1,K] 7
Evaluating the minimum number of paths in DAGs The digraph G Network associated to G 0 5 3 0' 0'' 5' 5'' 2 6 3' 3'' 4 s 1' 1'' 6' 6'' t 1 7 4' 4'' 2' 2'' 7' 7'' ● The path extremities arcs are added: f si = [0,K], f it = [0,K] 8
Evaluating the minimum number of paths in DAGs The digraph G Network associated to G 0 5 3 0' 0'' 5' 5'' 2 6 3' 3'' 4 s 1' 1'' 6' 6'' t 1 7 4' 4'' 2' 2'' 7' 7'' ● The DAGs arcs are added: f ij = [0,K] 9
Evaluating the minimum number of paths in the case of DAGs A digraph G can be partitioned in K node-disjoint paths iff there exist a feasible flow f ts = K in the network associated to G. 10
Outline ● A flow based approach evaluating the minimum number of paths ● In the case of DAGs ● In general ● Improving the flow based approach ● According to SCCs of the digraph ● According to the way the nodes of 2 SCCs are inter-connected ● A path partitioning constraint ● Modelling the constraint ● Checking feasibility ● Filtering ● Conclusion and Open questions 11
A flow based approach for the K node-disjoint paths problem The digraph G The reduced digraph G r 0 5 0 1 13 6 7 3 3 9 8 2 6 14 4 2 10 12 1 7 11 4 5 15 12
A flow based approach for the K node-disjoint paths problem ● How to take into account the SCCs of G in the flow? ● How to take into account the ways two nodes of distinct SCCs are inter-connected? 13
A flow based approach for the K node-disjoint paths problem Reduced digraph G r Network associated with G r associated with G 5 0 3 0' 0'' 5' 5'' 2 6 3' 3'' 4 s 1' 1'' 6' 6'' t 1 7 4' 4'' 2' 2'' 7' 7'' ● Splitted nodes: f i = [1,w i ] 14
A flow based approach for the K node-disjoint paths problem Reduced digraph G r Network associated with G r associated with G 0 5 3 0' 0'' 5' 5'' 2 6 3' 3'' 4 s 1' 1'' 6' 6'' t 1 7 4' 4'' 2' 2'' 7' 7'' ● inter-scc arcs: f ij = [0,c ij ] 15
A flow based approach for the K node-disjoint paths problem Thus, the two key points of the flow based approach: Estimating the minimum number of paths partitioning each SCC of the digraph G. Estimating the way the nodes of two SCCs are inter-connected (i.e., path bottleneck). 16
Outline ● A flow based approach evaluating the minimum number of paths ● In the case of DAGs ● In general ● Improving the flow based approach ● According to SCCs of the digraph ● According to the way the nodes of 2 SCCs are inter-connected ● A path partitioning constraint ● Modelling the constraint ● Checking feasibility ● Filtering ● Conclusion and Open questions 17
Estimating the number of paths partitioning a SCC A scc S of a digraph G 0 1 7 12 2 11 13 3 5 9 10 4 6 8 18
Estimating the number of paths partitioning a SCC In the scc S of G... ...Node 13 dominates nodes {7,8,10,12} according to nodes {0,1,2,3,4,5,6}... ... The removal of node 13 creates 5 new SCCs. 19
Estimating the number of paths partitioning a SCC 0 1 7 12 2 11 13 3 5 9 10 4 6 8 20
Estimating the number of paths partitioning a SCC Among the new SCCs, two kinds are distinguished: Those from which final nodes can be reached (Δ out ). The others (Δ in ). 21
Estimating the number of paths partitioning a SCC 0 1 7 12 2 11 13 3 5 9 10 4 6 8 Δ in Δ out 22
Estimating the number of paths partitioning a SCC If there exists a path partition of G then, there exists a Hamiltonian path in Δ in , finishing on the dominator node 13. Thus, the minimum number of paths partitioning the scc S is provided by the minimum number of paths partitioning Δ out (i.e., 3 paths)... ... in fact, not exactly , assume the following partition... 23
Estimating the number of paths partitioning a SCC scc 12 0 1 7 12 scc 7 2 11 13 3 5 9 10 4 6 8 Δ in Δ out 24
Estimating the number of paths partitioning a SCC Let P ham be the Hamiltonian path covering Δ in , there exists a path P , from scc 7 to scc 12 , in S such that: P = scc 7 U P ham U {13} U scc 12 Thus, at least 2 paths are necessary to partition scc S of the digraph G. 25
Estimating the number of paths partitioning a SCC Let i be a node of the reduced digraph G r associated to the digraph G. Let l i be the minimum number of node-disjoint paths partitioning the SCC scc i of G. Let D i be the set of dominators nodes of scc i . d be the lower bound on the minimum Let l i number of paths partitioning scc i according to the dominator node d of D i . 26
Estimating the number of paths partitioning a SCC A lower bound of the flow going through a node splitted arc of the network N associated with G: d | d in D i }) ≤ l i 1 ≤ max({l i 27
Outline ● A flow based approach evaluating the minimum number of paths ● In the case of DAGs ● In general ● Improving the flow based approach ● According to SCCs of the digraph ● According to the way the nodes of 2 SCCs are inter-connected ● A path partitioning constraint ● Modelling the constraint ● Checking feasibility ● Filtering ● Conclusion and Open questions 28
Estimating the number of paths bewteen two SCCs scc 1 scc 2 0 3 7 11 4 8 2 12 5 9 1 6 10 13 29
Estimating the number of paths bewteen two SCCs The maximum number of paths going from scc 1 to scc 2 can be computed by a maximum matching. The bipartite graph is provided by the nodes incidents to the arcs emanating from scc 1 and entering scc 2 . 30
Estimating the number of paths bewteen two SCCs 3 7 4 8 scc 1 scc 2 5 9 6 10 31
Estimating the number of paths bewteen two SCCs At most 3 distinct paths can connect scc 1 to scc 2 . scc 1 and scc 2 can be partitionned in respectively at least 4 distinct paths . Globally, the digraph can be partitionned in at most 5 paths . 32
Estimating the number of paths bewteen two SCCs scc 1 scc 2 0 3 7 11 4 8 2 12 5 9 1 6 10 13 33
Estimating the number of paths bewteen two SCCs The capacity c ij going through an inter-scc arc (i'',j') of the network N associated with a digraph G is bounded by the size of maximum matching between scc i and scc j . 34
Outline ● A flow based approach evaluating the minimum number of paths ● In the case of DAGs ● In general ● Improving the flow based approach ● According to SCCs of the digraph ● According to the way the nodes of 2 SCCs are inter-connected ● A path partitioning constraint ● Modelling the constraint ● Checking feasibility ● Filtering ● Conclusion and Open questions 35
Modelling a graph constraint path ( NPATH , VERTICES ) A collection of n vertices , with the An integer variable : following attributes: number of trees to cover the - index : integer between 1 and n. graph. - father : integer variable whose domain is subset of the values of [1,n]. - degree : integer variable whose domain is [0,1]. 36
Checking feasibility If there is a solution to a path constraint then: there exists a feasible flow in the network N associated with G. for each SCC scc i of G, for each dominator node d of scc i there exist at most one path partitioning Δ in . 37
Filtering a path constraint Adjust the minimum value of the number of paths allowed to partition G with the value of a minimum feasible flow in the network N associated with G. Filter each SCC of G according to dominators nodes detected. 38
Filtering a path constraint 0 1 7 12 2 11 13 3 5 9 10 4 6 8 Δ in Δ out 39
Recommend
More recommend