an effective branch and bound algorithm for convex
play

An Effective Branch-and-Bound Algorithm for Convex Quadratic Integer - PowerPoint PPT Presentation

An Effective Branch-and-Bound Algorithm for Convex Quadratic Integer Programming Christoph Buchheim Fakult at f ur Mathematik, TU Dortmund DEIS, Universit` a di Bologna Alberto Caprara, Andrea Lodi DEIS, Universit` a di Bologna


  1. An Effective Branch-and-Bound Algorithm for Convex Quadratic Integer Programming Christoph Buchheim Fakult¨ at f¨ ur Mathematik, TU Dortmund DEIS, Universit` a di Bologna Alberto Caprara, Andrea Lodi DEIS, Universit` a di Bologna

  2. Problem For Q ≻ 0, find f ( x ) = x ⊤ Qx + L ⊤ x + c min x ∈ D ⊆ Z n s.d. NP-hard, even if D = { 0 , 1 } n . In this talk: – we restrict ourselves to D = Z n or D = { l , . . . , u } n – we aim at fast branch-and-bound algorithms – need strong dual bounds that can be computed quickly

  3. Problem For Q ≻ 0, find f ( x ) = x ⊤ Qx + L ⊤ x + c min x ∈ D ⊆ Z n s.d. NP-hard, even if D = { 0 , 1 } n . In this talk: – we restrict ourselves to D = Z n or D = { l , . . . , u } n – we aim at fast branch-and-bound algorithms – need strong dual bounds that can be computed quickly

  4. Outline An application in electronics Straightforward branch-and-bound algorithm Improvement of lower bounds Improvement of running time per node Some experimental results

  5. Application Modern chips contain both digital and analog modules; analog modules interact with the physical environment. Need to generate analog signals by digital modules, e.g., to actuate AC motors: ⇒ =

  6. Application Problem: For a given analog target signal, determine a digital signal approximating the former as closely as possible. 1 0 −1

  7. Application Problem: For a given analog target signal, determine a digital signal approximating the former as closely as possible. 1 0 −1

  8. Application Problem: For a given analog target signal, determine a digital signal approximating the former as closely as possible. 1 0 −1

  9. Application = ⇒

  10. Application ⇒ FILTER ⇒

  11. Application Explicit or implicit transformation by a filter: 1.0 0.8 0.6 g g ˜ 0.4 0.2 0.0 −0.2 −0.4 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 explicit filtering: adds desired properties to the signal implicit filtering: caused by, e.g., inertia

  12. Application For given h : R �→ R , determine x 1 , . . . , x n ∈ {− 1 , 0 , 1 } such that n � x k g ( t − k ∆ t ) k = 1 approximates the signal h as closely as possible after filtering. = ⇒ minimize (square of) standard deviation � n − ∆ t n � � 2 � 2 f ( x ) = x k ˜ g ( t − k ∆ t ) − h ( t ) dt . − ∆ t k = 1 2 � �� � filtered signal

  13. Application For given h : R �→ R , determine x 1 , . . . , x n ∈ {− 1 , 0 , 1 } such that n � x k g ( t − k ∆ t ) k = 1 approximates the signal h as closely as possible after filtering. = ⇒ minimize (square of) standard deviation � n − ∆ t n � � 2 � 2 f ( x ) = x k ˜ g ( t − k ∆ t ) − h ( t ) dt . − ∆ t k = 1 2 � �� � filtered signal

  14. Application ⇒ minimize the quadratic function = f ( x ) = x ⊤ Qx + L ⊤ x + c where � n − ∆ t 2 Q jk g ( t − j ∆ t )˜ g ( t − k ∆ t ) dt ˜ = − ∆ t 2 � n − ∆ t 2 L j g ( t − j ∆ t ) h ( t ) dt ˜ = − ∆ t 2 � n − ∆ t 2 c h ( t ) 2 dt = − ∆ t 2 In this application, Q is always positive definite.

  15. Problem For given Q ≻ 0, L ∈ R n , and c ∈ R , determine f ( x ) = x ⊤ Qx + L ⊤ x + c min x ∈ D = {− 1 , 0 , 1 } n s.d. Global minimum of f over R n is f (¯ x ) = c − 1 4 L ⊤ Q − 1 L , x = − 1 2 Q − 1 L ¯ ⇒ trivial lower bound for f over D = = ⇒ straightforward branch -and-bound algorithm x ∈ [ − 1 , 1 ] n ... In our application, we usually have ¯

  16. Problem For given Q ≻ 0, L ∈ R n , and c ∈ R , determine f ( x ) = x ⊤ Qx + L ⊤ x + c min x ∈ D = {− 1 , 0 , 1 } n s.d. Global minimum of f over R n is f (¯ x ) = c − 1 4 L ⊤ Q − 1 L , x = − 1 2 Q − 1 L ¯ ⇒ trivial lower bound for f over D = = ⇒ straightforward branch -and-bound algorithm x ∈ [ − 1 , 1 ] n ... In our application, we usually have ¯

  17. Problem For given Q ≻ 0, L ∈ R n , and c ∈ R , determine f ( x ) = x ⊤ Qx + L ⊤ x + c min x ∈ D = {− 1 , 0 , 1 } n s.d. Global minimum of f over R n is f (¯ x ) = c − 1 4 L ⊤ Q − 1 L , x = − 1 2 Q − 1 L ¯ ⇒ trivial lower bound for f over D = = ⇒ straightforward branch -and-bound algorithm x ∈ [ − 1 , 1 ] n ... In our application, we usually have ¯

  18. Improvement of Lower Bounds

  19. Improvement of Lower Bounds { x ∈ R n | x ⊤ Qx ≤ 1 } E ( Q ) := x + int µ E ( Q )) ∩ Z n = ∅} µ ( Q , ¯ x ) := max { µ | (¯ min { f ( x ) | x ∈ Z n } = f (¯ x ) + µ ( Q , ¯ x ) 2 ⇒ =

  20. Improvement of Lower Bounds { x ∈ R n | x ⊤ Qx ≤ 1 } E ( Q ) := x + int µ E ( Q )) ∩ Z n = ∅} µ ( Q , ¯ x ) := max { µ | (¯ min { f ( x ) | x ∈ Z n } = f (¯ x ) + µ ( Q , ¯ x ) 2 ⇒ =

  21. Improvement of Lower Bounds x + int µ E ( Q ′ )) ∩ Z n = ∅} µ ( Q ′ , ¯ x ) max { µ | (¯ := µ ( Q , Q ′ ) max { µ | µ E ( Q ) ⊆ E ( Q ′ ) } := max { µ | Q − µ 2 Q ′ � 0 } = x )] 2 for all x ∈ Z n f ( x ) f (¯ x )+[ µ ( Q , Q ′ ) µ ( Q ′ , ¯ ≥

  22. Improvement of Lower Bounds x + int µ E ( Q ′ )) ∩ Z n = ∅} µ ( Q ′ , ¯ x ) max { µ | (¯ := µ ( Q , Q ′ ) max { µ | µ E ( Q ) ⊆ E ( Q ′ ) } := max { µ | Q − µ 2 Q ′ � 0 } = x )] 2 for all x ∈ Z n f ( x ) f (¯ x )+[ µ ( Q , Q ′ ) µ ( Q ′ , ¯ ≥

  23. Linear Time per Node After fixing d variables, the problem reduces to minimization of f : Z n − d → R , x �→ x ⊤ ¯ ¯ Qx + ¯ L ⊤ x + ¯ c Idea: fix variables in predetermined order ⇒ ¯ Q only depends on d = [not on specific fixings] ⇒ only n different matrices ¯ Q d [one per depth d ] = ⇒ move expensive calculations for ¯ Q d into preprocessing = Q − 1 – computation of ¯ for finding continuous minima d – computation of µ ( ¯ Q d , Q ′ d ) for improved bounds After preprocessing, running time is O (( n − d ) 2 ) per node!

  24. Linear Time per Node After fixing d variables, the problem reduces to minimization of f : Z n − d → R , x �→ x ⊤ ¯ ¯ Qx + ¯ L ⊤ x + ¯ c Idea: fix variables in predetermined order ⇒ ¯ Q only depends on d = [not on specific fixings] ⇒ only n different matrices ¯ Q d [one per depth d ] = ⇒ move expensive calculations for ¯ Q d into preprocessing = Q − 1 – computation of ¯ for finding continuous minima d – computation of µ ( ¯ Q d , Q ′ d ) for improved bounds After preprocessing, running time is O (( n − d ) 2 ) per node!

  25. Linear Time per Node After fixing d variables, the problem reduces to minimization of f : Z n − d → R , x �→ x ⊤ ¯ ¯ Qx + ¯ L ⊤ x + ¯ c Idea: fix variables in predetermined order ⇒ ¯ Q only depends on d = [not on specific fixings] ⇒ only n different matrices ¯ Q d [one per depth d ] = ⇒ move expensive calculations for ¯ Q d into preprocessing = Q − 1 – computation of ¯ for finding continuous minima d – computation of µ ( ¯ Q d , Q ′ d ) for improved bounds After preprocessing, running time is O (( n − d ) 2 ) per node!

  26. Sublinear Time per Node z d – compute all z d ∈ R n − d in the preprocessing phase x incrementally in O ( n − d ) time – compute ¯ – compute f (¯ x ) incrementally in O ( n − d ) time – compute all µ ( Q ′ x ) incrementally (if compatible) d , ¯

  27. Sublinear Time per Node z d – compute all z d ∈ R n − d in the preprocessing phase x incrementally in O ( n − d ) time – compute ¯ – compute f (¯ x ) incrementally in O ( n − d ) time – compute all µ ( Q ′ x ) incrementally (if compatible) d , ¯

  28. Experimental Results For the closest vector problem (CVP): B., Caprara, Lodi [2010] CPLEX 12.1 n # tt/s pt/s nt/ µ s nodes # tt/s nt/ µ s nodes 20 10 0.01 0.01 1.63 4.22e+03 10 0.29 89.77 3.25e+03 25 10 0.03 0.02 1.62 1.57e+04 10 1.06 89.49 1.19e+04 30 10 0.17 0.03 1.25 1.13e+05 10 9.47 104.73 8.99e+04 35 10 0.85 0.05 1.40 5.70e+05 10 33.77 120.46 2.81e+05 40 10 6.13 0.09 1.59 3.80e+06 10 339.52 144.61 2.31e+06 45 10 66.52 0.14 1.78 3.67e+07 10 2547.37 171.04 1.45e+07 50 10 483.46 0.22 2.04 2.34e+08 8 10856.23 207.24 5.11e+07 55 10 1773.14 0.32 2.16 8.24e+08 3 18180.84 242.59 7.47e+07 60 7 15602.33 0.45 2.46 6.39e+09 0 — — — 65 5 16727.11 0.64 2.54 6.58e+09 0 — — — 70 0 — — — — 0 — — — [Running times on Intel Xeon at 2.33 GHz, time limit 8h] = ⇒ number of nodes 2 : 1, time per node 1 : 100

  29. Experimental Results For the electronics application (2nd order Butterworth filters): B., Caprara, Lodi [2010] CPLEX 12.1 n tt/s pt/s nt/ µ s nodes tt/s nt/ µ s nodes 30 0.04 0.04 0.00 1.85e+03 1.13 94.21 1.20e+04 40 0.11 0.09 1.18 1.69e+04 61.71 120.12 5.14e+05 50 0.24 0.21 1.00 3.00e+04 20995.52 174.38 1.20e+08 60 0.77 0.43 1.29 2.62e+05 — — — 70 2.49 0.82 1.53 1.09e+06 — — — 80 2.38 1.46 1.82 5.05e+05 — — — 90 22.72 2.45 1.85 1.09e+07 — — — 100 104.58 3.93 1.96 5.12e+07 — — — 110 1039.53 6.05 2.07 4.99e+08 — — — 120 7815.37 9.04 2.18 3.58e+09 — — — [Running times on Intel Xeon at 2.33 GHz, time limit 8h] = ⇒ number of nodes 1 : 10 . 000, time per node 1 : 100 With a little help for CPLEX: number of nodes 1 : 1 . 000...

  30. 1.0 0.8 0.6 0.4 0.2 0.0 −0.2 −0.4 −0.6 −0.8 −1.0 −1.0 −0.8 −0.6 −0.4 −0.2 0.0 0.2 0.4 0.6 0.8 1.0

Recommend


More recommend