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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend