Primal Dual Mode

primordial dual mode

background review

Over the past forty years, combinatorial optimization has been strongly influenced by linear programming. With the mathematical and algorithmic understanding of linear programming came a wealth of ideas and tools that were then applied to combinatorial optimization. Many of these ideas and tools are still in use today and form the basis of our understanding of combinatorial optimization. With the help of the dual theory of linear programming, a new technique for designing approximation algorithms - the primal dual pattern (PD) - was proposed.

The Primal-Dual Method originated from the design of precise algorithms. In this case, this pattern yields the most efficient algorithms for some fundamental problems in P, including matching, network flows, and shortest paths. A property of these problems is that their LP relaxations have integer optimal solutions. For example, in Huang Hongxuan's "Mathematical Programming" [7], the design idea of ​​the original dual algorithm is to ensure that the dual is feasible, satisfy the complementary relaxation conditions, and gradually improve the original infeasibility. When they are both satisfied, both solutions are optimal. In the iterative process, integer corrections are always made to the original solution, and an integer optimal solution is finally obtained. The basic process of the algorithm is as follows:
insert image description here
With the primal dual mode (PD), when we require an approximate solution to an integer programming problem, after relaxing it, we do not have to find the optimal solution to the corresponding linear programming problem. As we will see, PD methods are very powerful. Usually, we can use the PD method to get a good approximation algorithm, and then extract a good combination algorithm from it. Instead, we can sometimes use PD methods to demonstrate good performance of combinatorial algorithms by simply reinterpreting them as PD algorithms. So far we have seen many algorithms based on linear programming (LP) relaxations, which usually involve combining the given The fractional LP solution rounds to approximately the same target value as the integer solution.

Basic introduction

Proposer of Duality Theory—John Von Nouma (John Von Nouma, 1903-1957), one of the scientific all-rounders in the fields of American-Hungarian mathematician, computer scientist, game theory, nuclear weapons and biological and chemical weapons, was Later generations are called "the father of modern computer" and "the father of game theory"

john von neumann
Dual theory has many important applications: when solving any one of the original and dual linear programs, the optimal solution of the other program is automatically given; when the dual problem has fewer constraints than the original problem, the solution The dual programming is much more convenient than solving the original programming; the variable in the dual programming is the shadow price, which can provide useful information for enterprise management decision-making.

We start with a general covering LP for duality theory. Suppose we have matrix A and vector c ∈ R nc\in R^{n}cRn b ∈ R m b\in R^{m} bRm . We can express the original LP as
insert image description here

Now suppose we want to determine a lower bound on the optimal value of this LP. One way to do this is for some ZZZ , using the constraints in LP, finds that "looks" like∑ jcjxj ≥ Z \sum_j c_jx_j\ge ZjcjxjZ constraints. To do this, note that any convex combination of constraints from LP is also a valid constraint. Therefore, if we have non-negative multipliersyi y_iyi, we get a new constraint that is satisfied by all feasible solutions of the original LP, namely if for all iii ∑ j a i j x j ≥ b i \sum_j a_{ij}x_j\ge b_i jaijxjbi
∑ i y i ( ∑ j a i j x j ) ≥ ∑ i y i b i ( 1 ) \sum_i y_i(\sum_j a_{ij}x_j)\ge \sum_i y_ib_i\qquad(1) iyi(jaijxj)iyibi( 1 )
Note that we requireyi y_iyiis nonnegative because multiplying an inequality by a negative number changes the sign of the inequality. (If the constraint is of the form ∑ jaijxj = bi \sum_j a_{ij}x_j= b_ijaijxj=bi, then its multiplier yi y_iyican be any real number). Considering formula (1), if we ensure that ∑ iyi ( ∑ jaijxj ) ≤ ∑ jcjxj \sum_i y_i(\sum_j a_{ij}x_j)\le \sum_jc_jx_jiyi(jaijxj)jcjxjWe will get a lower bound of the original LP optimal value, namely
∑ iyibi ≤ ∑ iyi ( ∑ jaijxj ) ≤ ∑ jcjxj \sum_i y_ib_i\le \sum_i y_i(\sum_j a_{ij}x_j)\le\sum_jc_jx_jiyibiiyi(jaijxj)jcjxj
Changed order, we got to
∑ iyibi ≤ ∑ iyi ( ∑ jaijxj ) = ∑ j ( ∑ iyiaij ) xj ≤ ∑ jcjxj ( 2 ) \sum_i y_ib_i\le \sum_i y_i(\sum_j a_{ij}x_j)=\sum_j (\sum_i y_ia_{ij})x_j\le\sum_jc_jx_j\qquad(2)iyibiiyi(jaijxj)=j(iyiaij)xjjcjxj( 2 )
and can be obtained by requiringyi y_iyiThe following conditions are met to ensure that the sum is at most
∑ iyiaij ≤ cj ∀ j = 1 , . . . , n ( 3 ) \sum_i y_ia_{ij}\le c_j \quad \forall j= 1,...,n \qquad (3)iyiaijcjj=1,...,n( 3 )
Note that in the previous step we depended onxj x_jxjis non-negative, and at the same time, yi y_iyiThe constraints on are linear, and we get a lower bound that is also linear. This way we can write an LP to find the optimal lower bound. It is possible to write a dual program (DLP):
insert image description here

This can be expressed in more compact notation:
insert image description here

Weak duality : for any feasible primal dual solution ( x , y ) (x,y)(x,y ) ,if
y ⊤ b ≤ c ⊤ x \mathbf{y}^\top b\le\mathbf{c}^\top xybcx

The proof is available from formula (2).

Strong duality : If either the primal or the dual have bounded optimal solutions, then they both have. And their objective value is equal. That is, if xxx is optimal for the original,yyy is optimal for dual, then
y ⊤ b = c ⊤ x \mathbf{y}^\top b=\mathbf{c}^\top xyb=cx

We generally don't prove the strong duality theorem, however, one way to prove it is to look at equation (2) and note that if y ⊤ b = c ⊤ x \mathbf{y}^\top b=\mathbf{c }^\top xyb=c x, then the inequality must be strict, someone might say, ify ⊤ b ≤ c ⊤ x \mathbf{y}^\top b\le\mathbf{c}^\top xybc x, then we must be able toxxxyyy to make some improvements. Strong duality gives the optimal( x , y ) (x,y)(x,y ) pairs, namely the following equations, which are obtained by combining equation (2) withy ⊤ b = c ⊤ x \mathbf{y}^\top b=\mathbf{c}^\top xyb=c xcombination and achievable.
∑ iyibi = ∑ iyi ( ∑ jaijxj ) \sum_i y_ib_i= \sum_i y_i(\sum_j a_{ij}x_j)iyibi=iyi(jaijxj)
∑ j ( ∑ i y i a i j ) x j = ∑ j c j x j \sum_j (\sum_i y_ia_{ij})x_j=\sum_jc_jx_j j(iyiaij)xj=jcjxj
Combining these equations with the constraints in primal and dual linear programming, we get complementary relaxation conditions.

Complementary relaxation : let ( x , y ) (x,y)(x,y ) is the solution of a pair of primal dual linear programming with a bounded optimal solution, thenxxxyyy are optimal if and only if the following conditions hold:
the original complementary relaxation condition:
∀ j = 1 , . . . , n , xj = 0 or ∑ iyiaij = cj \forall j=1,...,n, \quad x_j=0\quad or\quad \sum_i y_ia_{ij}=c_jj=1,...,n,xj=0oriyiaij=cj

Dual complementary relaxation conditions :
∀ i = 1 , . . . , m , yi = 0 or ∑ jxjaij = bi \forall i=1,...,m,\quad y_i=0\quad or \quad\sum_j x_ja_{ ij}=b_ii=1,...,m,yi=0orjxjaij=bi
When designing an approximation algorithm based on linear programming, first of all, we put a minimum (or maximum) problem Π \PiΠ relaxation is a linear programΠ LP \Pi_{LP}PiLP. Then, we solve the linear programming problem Π LP \Pi_{LP}PiLPAn optimal solution of OPTLP OPT_{LP}OPTLP, and rounding it becomes the problem Π \PiA feasible solution for Π . Note that the optimal solution to the linear programming problemOPTLP OPT_{LP}OPTLPThe objective value of gives the problem Π\PiA lower bound (or upper bound) of the optimal solution OPT of Π , we often use the difference between these two values ​​to estimate the performance ratio of this approximate algorithm. Now according to the dual theory, each dual feasible solution provides us with the linear programming problemΠ LP \Pi_{LP}PiLPA lower bound (or upper bound) of the optimal value, therefore, it is also the original problem Π \PiA lower bound (or upper bound) of the optimal value OPT of Π . This means that a "good enough" dual feasible solution can also be used to determine the performance ratio of the approximation algorithm. Therefore, we don't have to solve the linear programming problemΠ LP \Pi_{LP}PiLPThe optimal solution of OPTLP OPT_{LP}OPTLPAnd the corresponding target value, but only need to find a "good enough" dual feasible solution, and then transform it into the original problem Π \PiA feasible solution of Π , and finally use the difference between the target values ​​of these two solutions to estimate the performance ratio of the approximation algorithm.

primordial dual mode

The primal-dual schema is the preferred method for designing approximation algorithms because it usually gives algorithms with good approximation guarantees and good running times. The basic idea is to deal with the NP-hard problem and its dual LP relaxation problem, and then iteratively transform the original solution and the dual solution until the relaxed primal dual complementary relaxation condition is satisfied.
Relaxed original complementary relaxation conditions :
∀ j = 1 , . . . , n , xj = 0 orcj α ≤ ∑ iyiaij ≤ cj \forall j=1,...,n,\quad x_j=0\quad or \quad \frac{c_j}{\alpha}\le \sum_i y_ia_{ij}\le c_jj=1,...,n,xj=0oracjiyiaijcj
Relaxed dual complement relaxation conditions :
∀ i = 1 , . . . , m , yi = 0 orbi ≤ ∑ jxjaij ≤ β ⋅ bi \forall i=1,...,m,\quad y_i=0\quad or\ quad b_i \le\sum_j x_ja_{ij}\le \beta\cdot b_ii=1,...,m,yi=0orbijxjaijbbi

If x and y are the primal feasible solution and the dual feasible solution respectively, satisfying the above relaxation complementary conditions, then
∑ jcjxj ≤ α β ∑ iyibi \sum_jc_jx_j\le \alpha \beta\sum_i y_ib_ijcjxja biyibi

Definition:
∑ jcjxj ≤ α ∑ j ( ∑ iyiaij ) xj = α ∑ iyi ( ∑ jaijxj ) ≤ α β ∑ iyibi \sum_jc_jx_j\le \alpha\sum_j (\sum_i y_ia_{ij})x_j \\ =\alpha \ sum_i y_i(\sum_j a_{ij}x_j)\le \alpha \beta \sum_i y_ib_ijcjxjaj(iyiaij)xj=aiyi(jaijxj)a biyibi
Lemma 1 shows that the approximation guarantee of the algorithm is α β \alpha \betaa b .

Integral Gap for Linear Programming Relaxation

Given the minimization problem Π \PiLinear programming relaxation of Π , withOPT f ( I ) OPT_f(I)OPTf( I ) represents the cost of the optimal fractional solution of instance I, that is, the objective function value of the linear programming relaxation optimal solution. Then the relaxed integer gap (sometimes called integer ratio) is
sup IOPT ( I ) OPT f ( I ) \underset{I}{sup}\frac{OPT(I)}{OPT_f(I)}IsupOPTf(I)OPT(I)
That is, the supremum of the ratio of the optimal integer solution and the optimal fractional solution.

For the maximization problem, the integral gap is defined as the infimum of this ratio. When the integral gap of the linear program is 1, we call this linear programming relaxation an exact relaxation. If the cost of the solution found by the algorithm is directly compared with the cost of the optimal fractional solution (or dual feasible solution), then we can expect that the best approximation factor for the proof should be the relaxed integer gap. Interestingly, primal-dual techniques have succeeded in obtaining algorithms that approximate the integer gap that is guaranteed to be exactly equal to the slack.

Approximation Algorithms for Primal Dual Patterns

Next, we introduce the approximation algorithm based on the primal dual mode, as follows:

The advantage of the primal-dual mode is that it avoids a lot of time spent in finding the optimal solution of the primal linear programming problem, thereby reducing the running time of the algorithm. In particular, the current time complexity of the fastest interior point algorithm for solving linear programs is also O ( n 3.5 ) O(n^{3.5})O ( n3.5 )magnitude. Moreover, in some practical applications, what needs to be solved is an online problem. At this time, it is not realistic to ask for the optimal solution of the linear programming problem. The acceleration effect brought by the primal dual mode is necessary.

Summarize

We mainly introduce the basic content of the primal-dual technique, and then show how the primal-dual technique is modified for different problems in order to provide good approximation algorithms for various NP-hard problems. Stay tuned!

references

[1] R. Bar-Yehuda and S. Even. A linear time approximation algorithm for the weighted vertex
cover problem. Journal of Algorithms, 2:198–203, 1981.
[2] Michel X. Goemans and David P. Williamson. The primal-dual method for approximation algorithms and its application to network design problems. In Dorit Hochbaum, editor, Approximation algorithms for NP-hard problems, chapter 4, pages 144–191. PWS Publishing Co., Boston, MA, USA, 1997.
[3] D. Williamson. The primal-dual method for approximation algorithms. Mathematical Programming, Series B, 91(3):447–478, 2002.
[4] H.W. Kuhn. The Hungarian method for the assignment problem. Naval Research Logistics Quarterly, 2:83–97, 1955.
[5] GB Dantzig, LR Ford, and DR Fulkerson. A primal–dual algorithm for linear programs. In HW Kuhn and AW Tucker, editors, Linear Inequalities and Related Systems, pages 171–181. Princeton University Press, Princeton, NJ, 1956.
[6] MX Goemans and DP Williamson. The primal–dual method for approximation algorithms and its applications to network design problems. In DS
[7] Huang Hongxuan. Mathematical Planning: Tsinghua University Postgraduate Public Class Textbook. Mathematics Series [M]: Tsinghua University Press, 2006.

Guess you like

Origin blog.csdn.net/weixin_48266700/article/details/128073491