primal dual algorithm
play

Primal-Dual Algorithm Math 482, Lecture 29 Misha Lavrov April 17, - PowerPoint PPT Presentation

Introduction The direction-finding problem The augmenting step The restricted primal Primal-Dual Algorithm Math 482, Lecture 29 Misha Lavrov April 17, 2020 Introduction The direction-finding problem The augmenting step The restricted


  1. Introduction The direction-finding problem The augmenting step The restricted primal Primal-Dual Algorithm Math 482, Lecture 29 Misha Lavrov April 17, 2020

  2. Introduction The direction-finding problem The augmenting step The restricted primal The problem Our goal: to solve the primal-dual pair of linear programs below.   u T b c T x minimize maximize   u ∈ R m x ∈ R n     ( P ) ( D ) u T A ≤ c T subject to A x = b subject to     x ≥ 0 u unrestricted  

  3. Introduction The direction-finding problem The augmenting step The restricted primal The problem Our goal: to solve the primal-dual pair of linear programs below.   u T b c T x minimize maximize   u ∈ R m x ∈ R n     ( P ) ( D ) u T A ≤ c T subject to A x = b subject to     x ≥ 0 u unrestricted   We will try to improve on the simplex algorithm by taking long jumps across the feasible region for ( D ).

  4. Introduction The direction-finding problem The augmenting step The restricted primal The problem Our goal: to solve the primal-dual pair of linear programs below.   u T b c T x minimize maximize   u ∈ R m x ∈ R n     ( P ) ( D ) u T A ≤ c T subject to A x = b subject to     x ≥ 0 u unrestricted   We will try to improve on the simplex algorithm by taking long jumps across the feasible region for ( D ). Motivation: the Ford–Fulkerson method, where a single augmenting steps changes many variables at once.

  5. Introduction The direction-finding problem The augmenting step The restricted primal The direction-finding problem Consider the following example:  maximize 3 u 1 + 3 u 2 u ∈ R 2      subject to 2 u 1 + 4 u 2 ≤ 2 ( D ) u 1 − u 2 ≤ 2      − 4 u 1 + u 2 ≤ 1 We are at the point u = (1 , 0) and want to pick a direction v to go. What is the best direction, and how do we find it?

  6. Introduction The direction-finding problem The augmenting step The restricted primal The direction-finding problem Consider the following example:  maximize 3 u 1 + 3 u 2 u ∈ R 2      subject to 2 u 1 + 4 u 2 ≤ 2 ( D ) u 1 − u 2 ≤ 2      − 4 u 1 + u 2 ≤ 1 We are at the point u = (1 , 0) and want to pick a direction v to go. What is the best direction, and how do we find it? Answer 1. (From calculus.) Gradient descent: take v proportional to b = (3 , 3), the cost vector.

  7. Introduction The direction-finding problem The augmenting step The restricted primal The direction-finding problem Consider the following example:  maximize 3 u 1 + 3 u 2 u ∈ R 2      subject to 2 u 1 + 4 u 2 ≤ 2 ( D ) u 1 − u 2 ≤ 2      − 4 u 1 + u 2 ≤ 1 We are at the point u = (1 , 0) and want to pick a direction v to go. What is the best direction, and how do we find it? Answer 1. (From calculus.) Gradient descent: take v proportional to b = (3 , 3), the cost vector. Answer 2 . We should also make sure we don’t accidentally leave the feasible region.

  8. Introduction The direction-finding problem The augmenting step The restricted primal The linear program for v We can find v using a linear program:

  9. Introduction The direction-finding problem The augmenting step The restricted primal The linear program for v We can find v using a linear program: Objective function: we want to improve 3 u 1 + 3 u 2 as quickly as possible, so we maximize 3 v 1 + 3 v 2 .

  10. Introduction The direction-finding problem The augmenting step The restricted primal The linear program for v We can find v using a linear program: Objective function: we want to improve 3 u 1 + 3 u 2 as quickly as possible, so we maximize 3 v 1 + 3 v 2 . Boundary conditions: At u = (1 , 0), the constraint 2 u 1 + 4 u 2 ≤ 2 is tight, so we make sure we don’t violate it and ask that 2 v 1 + 4 v 2 ≤ 0 .

  11. Introduction The direction-finding problem The augmenting step The restricted primal The linear program for v We can find v using a linear program: Objective function: we want to improve 3 u 1 + 3 u 2 as quickly as possible, so we maximize 3 v 1 + 3 v 2 . Boundary conditions: At u = (1 , 0), the constraint 2 u 1 + 4 u 2 ≤ 2 is tight, so we make sure we don’t violate it and ask that 2 v 1 + 4 v 2 ≤ 0 . The constraints u 1 − u 2 ≤ 2 and − 4 u 1 + u 2 ≤ 1 are slack, so we ignore them.

  12. Introduction The direction-finding problem The augmenting step The restricted primal The linear program for v We can find v using a linear program: Objective function: we want to improve 3 u 1 + 3 u 2 as quickly as possible, so we maximize 3 v 1 + 3 v 2 . Boundary conditions: At u = (1 , 0), the constraint 2 u 1 + 4 u 2 ≤ 2 is tight, so we make sure we don’t violate it and ask that 2 v 1 + 4 v 2 ≤ 0 . The constraints u 1 − u 2 ≤ 2 and − 4 u 1 + u 2 ≤ 1 are slack, so we ignore them. Scaling constraints: we just want a direction, not a magnitude. So we limit v by asking that v 1 , v 2 ≤ 1 .

  13. Introduction The direction-finding problem The augmenting step The restricted primal The linear program for v We can find v using a linear program: Objective function: we want to improve 3 u 1 + 3 u 2 as quickly as possible, so we maximize 3 v 1 + 3 v 2 . Boundary conditions: At u = (1 , 0), the constraint 2 u 1 + 4 u 2 ≤ 2 is tight, so we make sure we don’t violate it and ask that 2 v 1 + 4 v 2 ≤ 0 . The constraints u 1 − u 2 ≤ 2 and − 4 u 1 + u 2 ≤ 1 are slack, so we ignore them. Scaling constraints: we just want a direction, not a magnitude. So we limit v by asking that v 1 , v 2 ≤ 1 . (Fine print: this only works if the coefficients in the objective function u T b are nonnegative, but we can make sure that this holds.)

  14. Introduction The direction-finding problem The augmenting step The restricted primal The direction-finding linear program The original LP, ( D ), leads to the auxiliary LP, ( DRP ): u T b v T b   maximize maximize   u ∈ R m v ∈ R m     ( D ) ( DRP ) u T A ≤ c T v T A J ≤ 0 T subject to subject to     u unrestricted v 1 , . . . , v m ≤ 1   (Here, J indexes constraints which are tight at the initial point u .)

  15. Introduction The direction-finding problem The augmenting step The restricted primal The direction-finding linear program The original LP, ( D ), leads to the auxiliary LP, ( DRP ): u T b v T b   maximize maximize   u ∈ R m v ∈ R m     ( D ) ( DRP ) u T A ≤ c T v T A J ≤ 0 T subject to subject to     u unrestricted v 1 , . . . , v m ≤ 1   (Here, J indexes constraints which are tight at the initial point u .) In our example, we get:  maximize 3 v 1 + 3 v 2 v ∈ R 2      subject to 2 v 1 + 4 v 2 ≤ 0 ( DRP ) ≤ 1 v 1      v 2 ≤ 1

  16. Introduction The direction-finding problem The augmenting step The restricted primal The augmenting step We can now do the primal-dual algorithm, just very badly.

  17. Introduction The direction-finding problem The augmenting step The restricted primal The augmenting step We can now do the primal-dual algorithm, just very badly. 1 Start at some solution to ( D ). ( u 1 , u 2 ) = (1 , 0)

  18. Introduction The direction-finding problem The augmenting step The restricted primal The augmenting step We can now do the primal-dual algorithm, just very badly. 1 Start at some solution to ( D ). ( u 1 , u 2 ) = (1 , 0) 2 Write the direction-finding problem ( DRP ). (previous slide)

  19. Introduction The direction-finding problem The augmenting step The restricted primal The augmenting step We can now do the primal-dual algorithm, just very badly. 1 Start at some solution to ( D ). ( u 1 , u 2 ) = (1 , 0) 2 Write the direction-finding problem ( DRP ). (previous slide) 3 Solve ( DRP ) to find a direction v . We get ( v 1 , v 2 ) = (1 , − 1 2 )

  20. Introduction The direction-finding problem The augmenting step The restricted primal The augmenting step We can now do the primal-dual algorithm, just very badly. 1 Start at some solution to ( D ). ( u 1 , u 2 ) = (1 , 0) 2 Write the direction-finding problem ( DRP ). (previous slide) 3 Solve ( DRP ) to find a direction v . We get ( v 1 , v 2 ) = (1 , − 1 2 ) 4 Find the largest t such that u + t v is still feasible for ( D ).

  21. Introduction The direction-finding problem The augmenting step The restricted primal The augmenting step We can now do the primal-dual algorithm, just very badly. 1 Start at some solution to ( D ). ( u 1 , u 2 ) = (1 , 0) 2 Write the direction-finding problem ( DRP ). (previous slide) 3 Solve ( DRP ) to find a direction v . We get ( v 1 , v 2 ) = (1 , − 1 2 ) 4 Find the largest t such that u + t v is still feasible for ( D ).  2( u 1 + tv 1 ) + 4( u 2 + tv 2 ) ≤ 2 holds automatically    

  22. Introduction The direction-finding problem The augmenting step The restricted primal The augmenting step We can now do the primal-dual algorithm, just very badly. 1 Start at some solution to ( D ). ( u 1 , u 2 ) = (1 , 0) 2 Write the direction-finding problem ( DRP ). (previous slide) 3 Solve ( DRP ) to find a direction v . We get ( v 1 , v 2 ) = (1 , − 1 2 ) 4 Find the largest t such that u + t v is still feasible for ( D ).  2( u 1 + tv 1 ) + 4( u 2 + tv 2 ) ≤ 2 holds automatically   ⇒ t ≤ 2 ( u 1 + tv 1 ) − ( u 2 + tv 2 ) ≤ 2 = 3  

Recommend


More recommend