Download presentation
Presentation is loading. Please wait.
1
5.3 Minimum-Weight Perfect Matchings
IP formulation of the minimum-weight perfect matching problem. Minimize (πππ₯π:πβπΈ) (5.5) subject to π₯(ο€(π£))=1, for all π£βπ (5.6) π₯πβ{0, 1}, for all πβπΈ. (5.7) LP relaxation of the problem (gives lower bound on the min value) Minimize (πππ₯π:πβπΈ) (5.8) subject to π₯(ο€(π£))=1, for all π£βπ π₯πβ₯0, for all πβπΈ. Generally, the lower bound from (5.8) is not equal to the desired optimum. But it gives the true optimal value for the case of bipartite graphs. (Same statement as the Birkhoffβs Theorem) It also implies that the extreme points of the polyhedron defined by (5.8) are integral vectors. Combinatorial Optimization 2016
2
Minimum Weight Perfect Matching in Bipartite Graphs
Thm 5.12 (Birkhoff): Let πΊ be a bipartite graph, and let πβ π
πΈ . Then πΊ has a perfect matching β (5.8) has a feasible solution. Moreover, if πΊ has a perfect matching, then the minimum weight of a perfect matching is equal to the optimal value of (5.8). Consider primal-dual pair: (P) Minimize (πππ₯π:πβπΈ) (5.8) subject to π₯(ο€(π£))=1, for all π£βπ π₯πβ₯0, for all πβπΈ. (D) Maximize ( π¦ π£ :π£βπ) (5.9) subject to π¦π’+π¦π£β€ π π , for all π=π’π£βπΈ. Devise a primal-dual algorithm to find a solution that satisfies CS conditions and show that the optimal solution is integer. Combinatorial Optimization 2016
3
Given π¦βπ
π, and π=π’π£, denote by π π = π π (π¦) as ππβ(π¦π’+π¦π£).
Hence π¦ is feasible to dual iff π π β₯0 for all πβπΈ. Let πΈ = (or πΈ = (π¦))β‘ πβπΈ: π π =0 CS conditions β π₯π>0 implies π π =0, for all πβπΈ. If we can find a perfect matching on πΈ = , it is optimal to (5.8). If procedure stuck, have π-alternating tree using edges in πΈ = such that nodes of π΅(π) are joined by equality edges only to nodes in π΄(π) Change π¦ to increase πΈ = , let π¦π£ β π¦π£+ο₯ for π£ οπ΅(π) π¦π£βο₯ for π£βπ΄(π) while maintaining the feasibility of π¦. Added edge will be joining π£ to a node not in π(π) since πΊ is bipartite. β "Hungarian Algorithm" (Kuhn[1955], Munkres[1957]) Combinatorial Optimization 2016
4
1 2 3 6 π 2 β π π 5 π 3 2 4 1 6 π π 4 4 2 3 1 5 π Let ο₯=1 (for edge ππ) 3 3 6 π 2 β π π 5 π 3 2 4 2 6 π π 4 4 2 2 2 5 π Combinatorial Optimization 2016
5
Minimum-Weight Perfect Matching Algorithm for Bipartite Graphs
Let π¦ be a feasible solution to (5.9), π a matching of πΊ = ; Set π=({π}, β
), where π is an π-exposed node of πΊ; Loop: While there exists π£π€β πΈ = with π£βπ΅(π), π€βπ(π) If π€ is π-exposed Use π£π€ to augment π ; If there is no π-exposed node in πΊ Return the perfect matching π and stop ; Else Replace π by ({π}, β
), where π is π-exposed; Use π£π€ to extend π; If every π£π€βπΈ with π£βπ΅(π) has π€βπ΄(π) Stop, πΊ has no perfect matching ; Let ο₯= min { π π£π€ :π£βπ΅(π), π€βπ(π)} Replace π¦π£ by π¦π£+ο₯ for π£βπ΅(π), π¦π£βο₯ for π£βπ΄(π) ; Combinatorial Optimization 2016
6
May need dual change at each tree extension step
β π(π2) total dual changes Straightforward implementation needs examining of all edges β π(π2π) Idea used in Prim's algorithm for minimum spanning trees β π(π3) Question: Do the previous results provide a proof of Birkhoffβs theorem? Combinatorial Optimization 2016
7
Minimum Weight Perfect Matching in General
(5.8) not enough to obtain an integer optimal solution. 9 3 6 8 1 5 2 4 7 π₯π=1/2 for edges of two triangles is optimal solution to LP relaxation with value But value of a minimum weight perfect matching is 14. We call a cut π· of πΊ odd if it is of the form πΏ(π) where π is an odd-cardinality set of nodes. β π₯(π·)β₯1 for all odd cut π· of πΊ. (blossom (odd set) inequality) Combinatorial Optimization 2016
8
Minimize (πππ₯π:πβπΈ) (5.13) subject to π₯(πΏ(π£))=1, for all π£βπ (5.14)
Let π be the set of odd cuts of πΊ that are not of the form πΏ(π£) for some π£. Minimize (πππ₯π:πβπΈ) (5.13) subject to π₯(πΏ(π£))=1, for all π£βπ (5.14) π₯(π·)β₯1, for all π·βπ (5.15) π₯π β₯0, for all πβπΈ. (5.16) Thm 5.13: Let πΊ be a graph, and let πβπ
πΈ. Then πΊ has a perfect matching β (5.13) has a feasible solution Moreover, if πΊ has a perfect matching, then the minimum weight of a perfect matching is equal to the optimal value of (5.13). Combinatorial Optimization 2016
9
(P) Minimize (πππ₯π:πβπΈ) (5.13)
Also, devise an algorithm to find a primal, dual feasible solution that satisfies CS conditions and show that the optimal solution is integer. (P) Minimize (πππ₯π:πβπΈ) (5.13) subject to π₯(πΏ(π£))=1, for all π£βπ (5.14) π₯(π·)β₯1, for all π·βπ (5.15) π₯πβ₯0, for all πβπΈ. (5.16) (D) Maximize π¦ π£ :π£βπ π π· :π·βπ (5.17) subject to π¦π’+π¦π£+ π π· :πβπ·βπ β€ π π , for all π=π£π€βπΈ. (5.18) ππ·β₯0, for all π·βπ (5.19) ( π¦ π£ free, for all π£βπ) Let π π = π π π¦,π be ππβ(π¦π’+π¦π£+ο( π π· :πβπ·βπ)) CS conditions β π₯π>0 implies π π =0, for all πβπΈ (5.20) ππ·>0 implies π₯(π·)=1, for all π·βπ (5.21) Combinatorial Optimization 2016
10
In terms of matching, the conditions are
πβπ implies π π =0, for all πβπΈ (5.22) ππ·>0 implies |πβ©π·|=1, for all π·βπ (5.23) To handle ππ·, work on the derived graph πΊβ² of πΊ. Note that every odd cut of πΊβ² is an odd cut of πΊ. Particularly, every cut of the form πΏ πΊ β² (π£) for a pseudonode π£ of πΊβ² is an odd cut of πΊ. We let only odd cuts for each pseudonode in πΊβ² may take on positive value for ππ· (Each node π€βπ(π£) for pseudonode π£ also has its respective π¦π€ value). So replace ππ· by π¦π£β₯0 in the derived graph (may be recursively) Algorithm tries to find a perfect matching in πΊ = using tree extension and augmentation steps. When stuck, we change π¦. (Existence of edges joining two nodes in π΅(π) should be considered when we determine ο₯) Combinatorial Optimization 2016
11
We also set π¦πΆ=0 for the new pseudonode.
If there appears an equality edge joining two nodes in π΅(π), we shrink the odd circuit. To reflect the π¦ values of the nodes in the shrunk pseudonode, we replace ππ£π€ by ππ£π€βπ¦π£ for each edge π£π€ with π£βπ(πΆ) and π€βπ(πΆ). We also set π¦πΆ=0 for the new pseudonode. The reduced costs π π are the same for edges of πΊΓπΆ as they were for those edges in πΊ. Updated weights denoted by πβ². Get derived pair (πΊβ², πβ²) 1 9 1 1 8 3 6 6 8 6 1 2 5 5 2 4 4 7 4 4 7 (Shrinking and updating weights) Combinatorial Optimization 2016
12
For π£βπ\V(πΆ), π¦π£= π¦ π£ β² (For π£βπ(πΆ), π¦π£ is already defined)
If we have solved the problem on a derived graph, then we have solved the problem on the original graph. Prop 5.14: Let πΊβ², πβ² be obtained from πΊ, π by shrinking the odd circuit πΆ of equality edges with respect to the dual-feasible solution π¦. Let πβ² be a perfect matching of πΊβ² and, w.r.t. πΊβ², πβ², let (π¦β², πβ²) be a feasible solution to (5.17) such that πβ², (π¦β², πβ²) satisfy conditions (5.22), (5.23) and such that π¦ πΆ β² β₯0. Let π be a perfect matching of πΊ obtained by extending πβ² with edges from πΈ(πΆ). Let (π¦, π) be defined as follows. For π£βπ\V(πΆ), π¦π£= π¦ π£ β² (For π£βπ(πΆ), π¦π£ is already defined) For π·βπ, we put ππ·= π π· β² if π π· β² >0; we put π π· = π¦ πΆ β² if π·=πΏβ²(πΆ); otherwise, we put ππ·=0. Then w.r.t. πΊ, π, (π¦, π) is a feasible solution to (5.17) and π, (π¦, π) satisfy the conditions (5.22), (5.23). Combinatorial Optimization 2016
13
Dual variable changes:
Need to consider edges π=π’π£ with π’, π£βπ΅(π) when choosing ο₯, β ο₯β€ π π /2 for such edges. Need π¦π£ remains nonnegative if π£ is a pseudonode, β ο₯β€π¦π£ for such nodes ( only need to consider pseudonodes in π΄(π) since they only decrease in value) 1 2 3 6 π 2 β π π 5 4 π 3 2 4 1 6 π π 4 4 2 3 1 5 π (Take ο₯=1/2 because of edge ππ ) Then ππ becomes equality edge and we can shrink the odd circuit. Combinatorial Optimization 2016
14
ο₯2= min ( π π /2 : π joins in πΊβ² two nodes in π΅(π)) ;
Change π Input: A derived pair (πΊβ², πβ²), a feasible solution π¦ of (5.17) for this pair, a matching πβ² of πΊβ² consisting of equality edges, and an πβ²-alternating tree π consisting of equality edges in πΊβ². Action: Let ο₯1= min ( π π : π joins in πΊβ² a node in π΅(π) to a node not in π(π)) ; ο₯2= min ( π π /2 : π joins in πΊβ² two nodes in π΅(π)) ; ο₯3= min ( π¦π£ : π£βπ΄(π), π£ is a pseudonode of πΊβ²). ο₯= min (ο₯1, ο₯2, ο₯3 ). Replace π¦π£ by π¦π£+ο₯, if π£βπ΅(π) ; π¦π£βο₯, if π£βπ΄(π) ; π¦π£ , otherwise. Combinatorial Optimization 2016
15
Expansion of pseudonodes:
Recall that we expanded all pseudonodes after an augmentation occur in the cardinality matching algorithm. However, for weighted problem, this can't be done arbitrarily since expanding a pseudonode with π¦π£>0 will result in having ππ·>0 in the expanded graph. We cannot carry such information about ππ· in subsequent iterations using node potentials. So we need to maintain some pseudonodes unexpanded in subsequent iterations. Therefore, only pseudonodes with π¦π£=0 may be expanded. (Q: Does pseudonodes expansion after augmentation really needed in cardinality problem?) As we grow π-alternating tree again after an augmentation (without pseudonode expansion), we may encounter the situation that a pseudonode is in π΄(π). Its node potential will eventually drop to 0 if none of augmentation, extension, or shrinking occurs. Then we need to expand the pseudonode since otherwise we may miss some augmenting paths. (If it is in π΅(π), we don't need to expand it.) Combinatorial Optimization 2016
16
Note that, after augmentation, the odd circuit is not tight.
π π£ π πΆ Note that, after augmentation, the odd circuit is not tight. Combinatorial Optimization 2016
17
Tree update after pseudonode expansion
π π’ π€ π π πΆ Tree update after pseudonode expansion Combinatorial Optimization 2016
18
Expand odd pseudonode π and update π΄β², π», and πβ²
Input: A matching πβ² consisting of equality edges of a derived graph πΊβ², an πβ²-alternating tree π consisting of equality edges, and an odd pseudonode π£ of πΊβ² such that π¦π£=0 Action: Let π, π be the edges of π incident with π£, let πΆ be the circuit that was shrunk to form π£, let π’, π€ be the ends of π, π in π(πΆ), and let π be the even-length path in πΆ joining π’ to π€. Replace πΊβ² by the graph obtained by expanding πΆ. Replace πβ² by the matching obtained by extending πβ² to a matching of πΊβ². Replace π by the tree having edge-set πΈ(π)βͺπΈ(π). For each edge π π‘ with π βπ(πΆ) and π‘βπ(πΆ), replace π π π‘ β² by π π π‘ β² + π¦ π . Prop 5.15: After the application of the expand subroutine, πβ² is a matching contained in πΈ = , and π is an πβ²-alternating tree whose edges are all contained in πΈ = . Combinatorial Optimization 2016
19
Blossom Algorithm for Minimum-Weight Perfect Matching
Let π¦ be a feasible solution to (5.9), πβ² a matching of πΊ = , πΊβ²=πΊ ; Set π=({π}, β
), where π is an πβ²-exposed node of πΊβ² ; Loop Case: There exists πβ πΈ = whose ends in πΊβ² are π£βπ΅(π) and an πβ²-exposed node π€βπ(π) Use π£π€ to augment πβ² ; If there is no πβ²-exposed node in πΊβ² Extend πβ² to perfect matching π of πΊ and stop ; Else Replace π by ({π}, β
), where π is πβ²-exposed ; Case: There exists πβ πΈ = whose ends in πΊβ² are π£βπ΅(π) and an πβ²-covered node π€βπ(π) Use π£π€ to extend π ; Combinatorial Optimization 2016
20
Case: There exists πβ πΈ = whose ends in πΊβ² are π£, π€βπ΅(π)
(Continued) Case: There exists πβ πΈ = whose ends in πΊβ² are π£, π€βπ΅(π) Use π£π€ to shrink and update πβ², π, and πβ² ; Case: There is a pseudonode π£βπ΄(π) with π¦π£=0 Expand π£ and update πβ², π, and πβ² ; Case: None of the above If every πβπΈ incident in πΊβ² with π£βπ΅(π) has its other end in π΄(π) and π΄(π) contains no pseudonode Stop, πΊ has no perfect matching ; Else Change π¦. Combinatorial Optimization 2016
21
The algorithm provides a proof of Thm 5.13 except that
πΊ has a perfect matching ο (5.13) has a feasible solution. (HW) Thm 5.16: The blossom algorithm terminates after performing π(π) augmentation steps, and π(π2) tree-extension, shrinking, expanding, and dual change steps. Moreover, it returns a minimum-weight perfect matching, or determines correctly that πΊ has no perfect matching. (Pf) see text. Combinatorial Optimization 2016
22
Optimal Dual Solutions of Matching Problems
By algorithm, if consider the family β of sets π such that π πΏ(π) >0, can choose each such π to be π(π£) for a pseudonode π£ of a derived graph πΊβ² of πΊ, moreover, the final derived graph πΊβ²β² is a derived graph of πΊβ². Thm 5.17: If the dual linear programming problem (5.17) has an optimal solution, then it has one that is nested ( π with π πΏ(π) >0 are disjoint or one is contained in the other). (Pf) By algorithm. Q: Does dual problem (5.17) have integral optimal solution? Motivation : Chapter 6. Integrality of Polyhedra Consider strong duality equation for primal-dual LP max {π€ππ₯ :π΄π₯β€π} = min {π¦ππ :π¦ππ΄=π€π, π¦β₯0} A rational linear system π΄π₯β€π is called totally dual integral if the minimum of dual LP can be achieved by an integral vector π¦ for each integral π€ for which the optima exist. Thm 6.29: Let π΄π₯β€π be a totally dual integral system such that π={π₯:π΄π₯β€π} is a rational polytope and π is integral. Then P is an integral polytope. Combinatorial Optimization 2016
23
π₯(ο§(π))β€(|π|β1)/2, for all πβπ, |π|β₯3, |π| odd
Thm 6.29: Let π΄π₯β€π be a totally dual integral system such that π={π₯:π΄π₯β€π} is a rational polytope and π is integral. Then P is an integral polytope. (Pf) Since π is integral, the duality equation implies that max {π€ππ₯ :π₯βπ} is an integer for all integral vectors π€. By Thm 6.22, π is integral. οΏ Thm 5.18: If πβππΈ, π(πΈ(πΆ)) is an even integer for every circuit πΆ of πΊ, and (5.17) has an optimal solution, then it has an optimal solution that is nested and integral. (Pf) see text. Cor 5.19: If πβππΈ and (5.17) has an optimal solution, then it has an optimal solution that is nested and half-integral. (Pf) 2π has the property that its sum on every circuit is an even integer. By Thm 5.18, (5.17) has an integral nested optimal solution (π¦, π) when π is replaced by 2π. Now 1 2 (π¦, π) is the required solution. Cor 5.19 says that (5.17) is not TDI. However, if we use the inequalities π₯(ο§(π))β€(|π|β1)/2, for all πβπ, |π|β₯3, |π| odd instead of (5.15), it becomes TDI. (The inequalities are used in the maximum matching formulation (5.24)) Combinatorial Optimization 2016
24
The Triangle Inequality
If πΊ=(π, πΈ) is a complete graph and πβπ
πΈ, we say that π satisfies the triangle inequality, if ππ’π£+ππ£π€β₯ππ’π€ for all π’, π£, π€βπ. Thm 5.20: Let πΊ=(π, πΈ) be a complete graph having an even number of nodes and let πβπ
πΈ such that πβ₯0 and π satisfies the triangle inequality. If the perfect matching algorithm is started with (π¦, π)=0, then the optimal dual solution at termination of the algorithm will satisfy π¦β₯0. Combinatorial Optimization 2016
25
Implementation of the Weighted Matching Algorithm
Thm 5.21: The blossom algorithm for finding a minimum-weight perfect matching can be implemented to run in time π(π2π). Combinatorial Optimization 2016
26
Price and repair Practical technique to improve the performance of the weighted matching algorithm. (for dense graph) Start with sparse subgraph πΊ β of πΊ. Find an optimal perfect matching in πΊ β . Then we compute reduced costs of edges in πΊ and not in πΊ β . Add a negative edge to πΊ β and reoptimize. Continue until no more negative edges exist in πΊ. With more refinements, could solve problems up to 5 million nodes. Combinatorial Optimization 2016
27
Maximum-Weight Matching Problem
Maximum Weight Matchings Maximum-Weight Matching Problem Given: A graph πΊ=(π, πΈ) and πβπ
πΈ. Objective: To find a matching π of πΊ such that π(π) is maximum. Aspects to consider: max-weight matching prob. ο΅ max(or min)-weight perfect matching prob. modification of weighted perfect matching algorithm to solve max-weight matching problem directly. linear programming description of solution set. Combinatorial Optimization 2016
28
(1) reduction to max-weight perfect matching problem.
(Let π be the value of a maximum weight matching of πΊ, and π be the value of a maximum weight perfect matching of πΊ . Then πβ₯2π, πβ€2π) π 2 2 2 1 1 1 3 3 3 1 1 1 πΊ πΊ Combinatorial Optimization 2016
29
(2), (3) LP formulation and algorithm (π) Maximize (πππ₯π:πβπΈ) (5.24)
subject to π₯(πΏ(π£))β€1, for all π£βπ π₯(πΎ(π))β€(|π|β1)/2, for all πβπ, |π|β₯3, |π| odd π₯πβ₯0, for all πβπΈ. Thm 5.22: The maximum weight of a matching of πΊ is equal to the optimal value of (5.24). See Integer and Combinatorial Optimization, Nemhauser and Wolsey, 1988 for somewhat different presentation. We try to modify the min-weight perfect matching algorithm as much as possible (maintain node labels). Let πͺ={πβπ :|π| odd and at least 3}. (π·) Minimize π¦ π£ :π£βπ + ( π β1 π§ π :πβπͺ) (5.25) subject to π¦π’+π¦π£+ π§ π :πβπΎ π ,πβπͺ β₯ π π , for all πβπΈ. π¦π£β₯0 for all π£βπ π§πβ₯0 for all πβπͺ. Combinatorial Optimization 2016
30
CS optimality conditions: πβ πΈ = (5.26)
πβ πΈ = (5.26) for all πβπͺ, π§π>0 implies |πβ©ο§(π)|= 1 2 (|π|β1) (5.27) for all π£βπ, π¦π£>0 implies π£ is π-covered (5.28) Needed modifications: Define π π = π π (π¦,π§) as ππβ(π¦π’+π¦π£+ π§ π :πβπΎ π ,πβπͺ Dual feasibility is π π β€0 For dual changes, make sure that π¦π£ , π§πβ₯0 Also π¦π£ β π¦π£βο₯ if π£βπ΅(π), π¦π£ β π¦π£+ο₯ if π£βπ΄(π) Combinatorial Optimization 2016
31
(5.28) implies that we don't need to care about any exposed original node with π¦π£=0
For an exposed pseudonode, if it includes an original node having π¦π£=0, it can be expanded so that the node with π¦π£=0 is exposed. Hence we don't need to worry about such exposed pseudonode. A node in πΊβ² is called bad if either it is an πβ²-exposed original node with π¦π£>0 or it is an πβ²-exposed pseudonode π such that π¦π£>0 for every π£βπ. Hence we choose a bad node π as the root and grow the πβ²-alternating tree to achieve augmentation. If there are no bad node in πΊβ², the current solution is optimal and we extend πβ² to a matching in πΊ. Combinatorial Optimization 2016
32
Note that CS conditions (5
Note that CS conditions (5.27) dictates that if π§π>0, the odd-set constraint must be tight. Hence we cannot expand pseudonode with π§π>0 since if it is expanded, the odd set may not be tight after some augmentations. Note that the expression of the reduced cost for edge πβπΈ is different between the weighted perfect matching and the weighted maximum matching problem. For perfect matching problem, for pseudonode π, the node label π¦π in πΊβ² is the current dual value for the odd-cut represented by πΏ(π). The reduced cost of the edges in πΏ(π) can be found in the form ππβ(π¦π’+π¦π£) in πΊβ². Combinatorial Optimization 2016
33
However, for the weighted maximum matching problem, the node label of a pseudonode in πΊβ² does not actually give dual value for the odd-set constraint. Suppose we have a pseudonode πβπ΅(π) and the dual variable π§π corresponding to ο§(π) are changed from 0 to 2ο₯. Then we need to maintain the equality edges in ο§(π) and other edges in ο§(π) should remain dual feasible. This can be achieved by subtracting ο₯ from π¦π£ (π¦π£βο₯) for all original nodes in π. Now the reduced cost of edges π in πΏ(π) changes to π π +ο₯. Above operations can be achieved by making the node label of pseudonode πβπ΅(π) in πΊβ² as π¦π β π¦πβο₯. Combinatorial Optimization 2016
34
Similarly, for pseudonode πβπ΄(π), π¦π β π¦π+ο₯ in πΊβ² means that we make dual value π§π β π§πβ2ο₯ and π¦π£ β π¦π£+ο₯ for π£βπ. In summary, we have For pseudonode πβπ΅(π), π¦π β π¦πβο₯ in πΊβ² means π§π β π§π+2ο₯ and π¦π£ β π¦π£βο₯ for π£βπ. For pseudonode πβπ΄(π), π¦π β π¦π+ο₯ in πΊβ² means π§π β π§πβ2ο₯ and π¦π£ β π¦π£+ο₯ for π£βπ. We need to maintain nonnegativity of dual variables, hence the node labels for pseudonodes should be β€ 0. We also need to keep information of the π¦π£ values for π£βπ to check π¦π£β₯0. Combinatorial Optimization 2016
35
Now determining ο₯ becomes:
Let ο₯1= min ( π π : π joins in πΊβ² a node in π΅(π) to a node not in π(π)) ; ο₯2= min ( π π /2 : π joins in πΊβ² two nodes in π΅(π)) ; ο₯3= min ( |π¦π£| (or π§ π£ /2) : π£βπ΄(π), π£ is a pseudonode of πΊβ²). ο₯4= min ( π¦π£ : π£βπ΅(π), π£ is an original node of πΊβ² or π£βπ(π€) for a pseudonode π€βπ΅(π) ). ο₯ = min (ο₯1, ο₯2, ο₯3, ο₯4 ) Replace π¦π£ by π¦π£βο₯, if π£βπ΅(π) ; π¦π£+ο₯, if π£βπ΄(π) ; π¦π£ , otherwise. Combinatorial Optimization 2016
36
last change in the algorithm:
If there is a node π£βπ΅(π) that is not bad, we use the even-length πβ²-alternating path from π£ to π to change πβ². This does not increase the cardinality of πβ², but it decreases the number of bad nodes. Note that, if we are stuck when expending πβ²-alternating tree, at least one of the node labels for original node π£βπ΅(π) will drop to 0. Then we can use the above procedure to decrease the number of bad nodes. For pseudonode π€βπ΅(π), the dual value of at least one node π£βπ(π€) will drop to 0, which makes the pseudonode as not bad, hence we can use the above procedure. Note that our purpose is not to find a perfect matching in πΊ = , but to find a matching covering all nodes with π¦π£>0 and satisfying CS conditions for odd-set constraints in πΊ = . Combinatorial Optimization 2016
37
The matching LP may be solved using simplex method.
We first solve (5.24) without the odd-set constraints. Let π₯0 be the current optimal solution. Then we try to find an odd-set constraint that is violated by π₯0 (separation problem). If such a constraint is identified, it is added to the current formulation and the LP is reoptimized using dual simplex method. This procedure is repeated until there exists no violated odd-set constraints, in which moment we have found an optimal solution. Since simplex method finds an extreme point optimal solution if one exists, we can obtain an optimal matching. Identifying a violated odd-set constraint can be done in polynomial time (using a slight variation of Gomory-Hu procedure, see Padberg and Rao, 1982, Odd Minimum Cut-Sets and b-Matchings, Mathematics of Operations Research 7, 67-80). More robust approach to deal with matching problems with some variations. Edmond's matching algorithm was the starting point to investigate the polyhedral structure of many combinatorial optimization problems (polyhedral combinatorics). Combinatorial Optimization 2016
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.