eliminating redundant columns from column generation
play

Eliminating redundant columns from column generation subproblems - PowerPoint PPT Presentation

Eliminating redundant columns from column generation subproblems using classical Benders cuts ubbecke 1 Stephen Maher 2 Jonas Witt 1 Marco L 1 RWTH Aachen University 2 Lancaster University SCIP workshop 2018 Aachen 08/03/2018


  1. Eliminating redundant columns from column generation subproblems using classical Benders’ cuts ubbecke 1 Stephen Maher 2 Jonas Witt 1 Marco L¨ 1 RWTH Aachen University 2 Lancaster University SCIP workshop 2018 · Aachen · 08/03/2018

  2. Dantzig-Wolfe reformulation for IPs min c T x s . t . Ax ≥ b Dx ≥ d x ∈ Z n ≥ 0 ◮ original problem p.2

  3. Dantzig-Wolfe reformulation for IPs min c T x s . t . Ax ≥ b Dx ≥ d x ∈ Z n ≥ 0 ◮ original problem ◮ “discretize” Dx ≥ d : ≥ 0 : Dx ≥ d } = � { x ∈ Z n p { x p } ◮ substitute x -variables with λ -variables � p x p λ p = x � p λ p = 1 λ ∈ { 0 , 1 } q p.2

  4. Dantzig-Wolfe reformulation for IPs p c T x p λ p min � min c T x s . t . � Dantzig-Wolfe p Ax p λ p ≥ b s . t . Ax ≥ b reformulation − − − − − − − − → � Dx ≥ d p λ p = 1 x ∈ Z n λ ∈ { 0 , 1 } q ≥ 0 ◮ original problem ◮ master IP ◮ “discretize” Dx ≥ d : ≥ 0 : Dx ≥ d } = � { x ∈ Z n p { x p } ◮ substitute x -variables with λ -variables � p x p λ p = x � p λ p = 1 λ ∈ { 0 , 1 } q p.2

  5. Dantzig-Wolfe reformulation for IPs p c T x p λ p min � min c T x s . t . � Dantzig-Wolfe p Ax p λ p ≥ b s . t . Ax ≥ b reformulation − − − − − − − − → � Dx ≥ d p λ p = 1 x ∈ Z n λ ∈ { 0 , 1 } q ≥ 0 ◮ original problem ◮ master IP ◮ “discretize” Dx ≥ d : ◮ solve master LP with col.gen. ≥ 0 : Dx ≥ d } = � { x ∈ Z n p { x p } ◮ col.gen. subproblem ◮ substitute x -variables with min redcost ( x ) λ -variables s . t . Dx ≥ d � p x p λ p = x x ∈ Z n ≥ 0 � p λ p = 1 λ ∈ { 0 , 1 } q p.2

  6. Dantzig-Wolfe reformulation for IPs Dx ≥ d Ax ≥ b p.3

  7. Dantzig-Wolfe reformulation for IPs Dx ≥ d Ax ≥ b p.3

  8. Dantzig-Wolfe reformulation for IPs Dx ≥ d Ax ≥ b p.3

  9. Dantzig-Wolfe reformulation for IPs Dx ≥ d Ax ≥ b p.3

  10. Dantzig-Wolfe reformulation for IPs Dx ≥ d Ax ≥ b p.3

  11. Dantzig-Wolfe reformulation for IPs Dx ≥ d Ax ≥ b p.3

  12. Literature ◮ “ A [column] is redundant when the [master IP] admits an optimal solution that can be expressed without this [column]. ” Vanderbeck and Savelsbergh (2006) p.4

  13. Literature ◮ “ A [column] is redundant when the [master IP] admits an optimal solution that can be expressed without this [column]. ” Vanderbeck and Savelsbergh (2006) ◮ refine subproblem to eliminate (some) redundant columns ◮ until now: only domain propagation for tighter variable bounds in subproblems Vanderbeck and Savelsbergh (2006); Gamrath and L¨ ubbecke (2010) ◮ this talk: add inequalities/cuts to subproblems p.4

  14. Literature ◮ “ A [column] is redundant when the [master IP] admits an optimal solution that can be expressed without this [column]. ” Vanderbeck and Savelsbergh (2006) ◮ refine subproblem to eliminate (some) redundant columns ◮ until now: only domain propagation for tighter variable bounds in subproblems Vanderbeck and Savelsbergh (2006); Gamrath and L¨ ubbecke (2010) ◮ this talk: add inequalities/cuts to subproblems ◮ column is strongly redundant if it is not part of any optimal solution to the master IP p.4

  15. Redundant columns z ∗ = min c T 1 x 1 c T 2 x 2 + A 1 x 1 A 2 x 2 s . t . + ≥ b D 1 x 1 ≥ d 1 D 2 x 2 ≥ d 2 Z n k x k ∈ ∀ k ∈ { 1 , 2 } ≥ 0 ◮ set F of feasible solutions ◮ set F k of feasible solution to subproblem k ∈ { 1 , 2 } F k = { x k ∈ Z n k ≥ 0 : D k x k ≥ d k } p.5

  16. Redundant columns z ∗ = min c T 1 x 1 c T 2 x 2 + A 1 x 1 A 2 x 2 s . t . + ≥ b D 1 x 1 ≥ d 1 D 2 x 2 ≥ d 2 Z n k x k ∈ ∀ k ∈ { 1 , 2 } ≥ 0 ◮ set F of feasible solutions ◮ set F k of feasible solution to subproblem k ∈ { 1 , 2 } F k = { x k ∈ Z n k ≥ 0 : D k x k ≥ d k } x 1 ∈ F 1 is strongly redundant? ◮ how do we check if a column ¯ p.5

  17. Redundant columns z ∗ = min c T 1 x 1 c T 2 x 2 + A 1 x 1 A 2 x 2 s . t . + ≥ b D 1 x 1 ≥ d 1 D 2 x 2 ≥ d 2 Z n k x k ∈ ∀ k ∈ { 1 , 2 } ≥ 0 ◮ set F of feasible solutions ◮ set F k of feasible solution to subproblem k ∈ { 1 , 2 } F k = { x k ∈ Z n k ≥ 0 : D k x k ≥ d k } x 1 ∈ F 1 is strongly redundant? ◮ how do we check if a column ¯ x 2 ∈ F 2 with → check if ∃ ¯ x 1 , ¯ x 2 ) ∈ F (¯ 1 x 1 + c T x 2 ≤ z ∗ c T 1 ¯ 2 ¯ 2 p.5

  18. Redundant columns x 1 with feasibility problem: ◮ check strong redundancy of ¯ min 0 A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ D 2 x 2 ≥ d 2 c T 2 x 2 − c T x 1 z ∗ ≤ 1 ¯ Z n 2 x 2 ∈ ≥ 0 p.6

  19. Redundant columns x 1 with feasibility problem: ◮ check strong redundancy of ¯ min 0 A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ D 2 x 2 ≥ d 2 c T 2 x 2 − c T x 1 z ∗ ≤ 1 ¯ Z n 2 x 2 ∈ ≥ 0 ◮ problem is hard to solve x 1 ◮ how subproblem should be refined to eliminate redundant ¯ is not clear p.6

  20. Redundant columns x 1 with feasibility problem: ◮ check strong redundancy of ¯ min 0 A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ D 2 x 2 ≥ d 2 z UB − c T c T 2 x 2 x 1 ≤ 1 ¯ Z n 2 x 2 ∈ ≥ 0 ◮ problem is hard to solve x 1 ◮ how subproblem should be refined to eliminate redundant ¯ is not clear → upper bound z UB instead of z ∗ p.6

  21. Redundant columns x 1 with feasibility problem: ◮ check strong redundancy of ¯ min 0 A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ D 2 x 2 ≥ d 2 z UB − c T c T 2 x 2 x 1 ≤ 1 ¯ Q n 2 x 2 ∈ ≥ 0 ◮ problem is hard to solve x 1 ◮ how subproblem should be refined to eliminate redundant ¯ is not clear → upper bound z UB instead of z ∗ → relax integrality of x 2 p.6

  22. Redundant columns x 1 with feasibility problem: ◮ check strong redundancy of ¯ min 0 A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ D 2 x 2 ≥ d 2 z UB − c T c T 2 x 2 x 1 ≤ 1 ¯ Q n 2 x 2 ∈ ≥ 0 ◮ problem is hard to solve x 1 ◮ how subproblem should be refined to eliminate redundant ¯ is not clear → upper bound z UB instead of z ∗ → relax integrality of x 2 → classical Benders’ feasibility cuts to refine subproblem p.6

  23. Subproblem refining inequalities min 0 A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ D 2 x 2 ≥ d 2 z UB − c T 2 x 2 x 1 c T ≤ 1 ¯ x 2 ≥ 0 p.7

  24. Subproblem refining inequalities min 0 x 1 ) max dualobj ( π, ¯ A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ s . t . ( ∗ ) π ≤ 0 D 2 x 2 ≥ d 2 π A , π D , − π c ≥ 0 z UB − c T 2 x 2 x 1 c T ≤ 1 ¯ � �� � x 2 π ≥ 0 ◮ dual polyhedron independent of ¯ x 1 p.7

  25. Subproblem refining inequalities min 0 x 1 ) max dualobj ( π, ¯ A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ s . t . ( ∗ ) π ≤ 0 D 2 x 2 ≥ d 2 π A , π D , − π c ≥ 0 z UB − c T 2 x 2 x 1 c T ≤ 1 ¯ � �� � x 2 π ≥ 0 ◮ dual polyhedron independent of ¯ x 1 ◮ if primal infeasible, ∃ Farkas proof (dual ray) ¯ π with: x 1 ) > 0 dualobj (¯ π, ¯ p.7

  26. Subproblem refining inequalities min 0 x 1 ) max dualobj ( π, ¯ A 2 x 2 x 1 s . t . ≥ b − A 1 ¯ s . t . ( ∗ ) π ≤ 0 D 2 x 2 ≥ d 2 π A , π D , − π c ≥ 0 z UB − c T 2 x 2 x 1 c T ≤ 1 ¯ � �� � x 2 π ≥ 0 ◮ dual polyhedron independent of ¯ x 1 ◮ if primal infeasible, ∃ Farkas proof (dual ray) ¯ π with: x 1 ) > 0 dualobj (¯ π, ¯ → valid inequality for all x 1 , not strongly redundant π, x 1 ) ≤ 0 dualobj (¯ p.7

  27. Subproblem refining inequalities dualobj ( π,x 1 ) � �� � D d 2 + π c · ( z UB − c T x 1 ) + π T x 1 ) ≤ 0 π T A ( b − A 1 ¯ 1 ¯ p.8

  28. Subproblem refining inequalities dualobj ( π,x 1 ) � �� � D d 2 + π c · ( z UB − c T x 1 ) + π T x 1 ) ≤ 0 π T A ( b − A 1 ¯ 1 ¯ 1 if π c = 0 : π T b + µ T d 2 ≤ π T A 1 x 1 feasibility subproblem cut p.8

  29. Subproblem refining inequalities dualobj ( π,x 1 ) � �� � D d 2 + π c · ( z UB − c T x 1 ) + π T x 1 ) ≤ 0 π T A ( b − A 1 ¯ 1 ¯ 1 if π c = 0 : π T b + µ T d 2 ≤ π T A 1 x 1 feasibility subproblem cut 2 if π c < 0 , normalize π c = − 1 : D d 2 − z UB ≤ ( π T π T A b + π T A A 1 − c T 1 ) x 1 optimality subproblem cut p.8

  30. Subproblem refining inequalities dualobj ( π,x 1 ) � �� � D d 2 + π c · ( z UB − c T x 1 ) + π T x 1 ) ≤ 0 π T A ( b − A 1 ¯ 1 ¯ 1 if π c = 0 : π T b + µ T d 2 ≤ π T A 1 x 1 feasibility subproblem cut 2 if π c < 0 , normalize π c = − 1 : D d 2 − z UB ≤ ( π T π T A b + π T A A 1 − c T 1 ) x 1 optimality subproblem cut ◮ alternative way without objective constraints: use dual instead of Farkas values, maximizing violation p.8

  31. Elimination of redundant columns ◮ pricing iteration with redundancy check: solve col.gen. subproblems 1 for each subproblem solution 2 ◮ check redundancy with LP ◮ if redundant, add subproblem cut if all found columns are redundant → 3 1 p.9

  32. Elimination of redundant columns ◮ pricing iteration with redundancy check: solve col.gen. subproblems 1 for each subproblem solution 2 ◮ check redundancy with LP ◮ if redundant, add subproblem cut if all found columns are redundant → 3 1 + potentially stronger dual bound with master LP + possibly “better” columns for the master IP p.9

Recommend


More recommend