Advertisement

Parallelisierung von Branch-and-Bound-Algorithmen

  • Birgit Schwartz
Chapter
Part of the Gabler Edition Wissenschaft book series (GEW)

Zusammenfassung

Für die Parallelisierung von Branch-and-Bound-Algorithmen finden sich in der Literatur eine Vielzahl von Vorschlägen. Die einzelnen Parallelisierungsvarianten unterscheiden sich hierbei im wesentlichen durch den gewählten Grad der Granulierung, die Verteilung der Kontrolle und die Verteilung der Daten. Im folgenden werden daher zunächst hinsichtlich dieser drei Kriterien mögliche Ausprägungen vorgestellt, bevor die im Rahmen der vorliegenden Arbeit konkret betrachteten Parallelisierungsvarianten vorgestellt werden.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. 191.
    Hockney, R.W., Jesshope, C.R.: Parallel computers 2, architecture, programming and algorithms, 2. Aufl., Bristol Philadelphia 1988, S. 103Google Scholar
  2. 192.
    Die Beschreibung der verschiedenen Parallelisierungsvarianten erfolgt unabhängig von der Hardware. Es wird deshalb im folgenden statt des Begriffs ‘verschicken’ grundsätzlich der hardware-neutralere Begriff ‘zur Verfügung stellen’ verwendet, da bei einem stark gekoppelten Multiprozessorsystem keine Nachrichten verschickt werden, sondern der Datenaustausch über einen gemeinsamen Speicher erfolgt.Google Scholar
  3. 193.
    Giloi, W.K.: Rechnerarchitektur, Berlin Heidelberg 1981, S. 311 und 313Google Scholar
  4. 194.
    Giloi, W.K.: a.a.O., S. 311Google Scholar
  5. 195.
    Für die parallele Lösung eines kontinuierlichen Optimierungsproblems, allerdings nicht im Zusammenhang mit einem Branch-and-Bound-Algorithmus, finden sich neben zahlreichen Implementationen auf Vektor-Supercomputem auch parallele Implementationen auf massiv parallelen und vemetzten Systemen. Einen Überblick über die Implementationen auf Vektor-Supercomputern gibt BEASLEY. Vgl. hierzu: Beasley, J.E.: Linear Programming on Cray Supercomputers, Journal of the Operational Research Society, Vol. 41, Nr. 2, 1990, S. 133–139; für die Implementationen auf massiv parallelen und vernetzten Systemen vgl.: Ho, H.F., Chen, G.H., Lin, S.H., Sheu, J.P.: Solving Linear Programming on Fixed-size Hypercubes, in: Bailey, D.H. (Hrsg.), Proceedings of the 1988 International Conference on Parallel Processing, Vol. III, Algorithms and Applications, August 1988, Pennsylvania State University 1988, S. 112–116;Google Scholar
  6. Stunkel, C.B.: Linear Optimization Via Message-Based Parallel Processing, in: Bailey, D.H. (Hrsg.), Proceedings of the 1988 International Conference on Parallel Processing, Vol. III, Algorithms and Applications, August 1988, Pennsylvania State University 1988, S. 264–271;Google Scholar
  7. Luo, J., Hulsbosch, A.N.M., Reijns, G.L.: An MIMD Work-station for Large LP Problems, in: Chiricozzi, E., D’Amico, A. (Hrsg.), Parallel Processing and Applications, Amsterdam New York 1988, S. 159–169Google Scholar
  8. 196.
    Zu der gleichen Erkenntnis kommen auch ASHFORD, CONNARD und DANIEL. Vgl. hierzu: Ashford, R., Connard, P., Daniel, R.: Experiments on Solving Mixed Integer Programming Problems on a Small Array of Transputers, wird erscheinen in: Journal of the Operational Research SocietyGoogle Scholar
  9. 197.
    Diesen Ansatz haben z.B. BOXMA und KINDERVATER gewählt. Vgl. hierzu: Boxma, O.J., Kindervater, G.A.P.: A Queueing Network Model for Analyzing a Class of Branch and Bound Algorithms on a Master-Slave Architecture, Report, Centre for Mathematics and Computer Science, Amsterdam, Oktober 1987Google Scholar
  10. 198.
    LAVALLEE und ROUCAIROL stellen einen Ansatz vor, bei dem die Slaves nacheinander alle Nachfolger des jeweiligen Knotens bestimmen und berechnen sowie das Ergebnis der Berechnung an den Master-Prozeß zurückschicken und anschließend auf einen neuen Knoten vom Master-Prozeß warten. Vgl. hierzu: Lavallée, I., Roucairol, C.: A parallel branch and bound algorithm for asynchronous MIMD machines and computer networks, Rapport interne CNRS GR22, Paris V I, April 1983Google Scholar
  11. Bei einer Implementation von LÜLING und MONIEN behält ein Slave-Prozeß einen Knoten sofort zur weiteren Bearbeitung, wenn sich dessen Wert gegenüber dem Vorgängerknoten nicht verschlechtert hat. Vgl. hierzu: Luling, R., Monien, B.: Two Strategies for solving the Vertex Cover Problem on a Transputer Network, in: Bermond, J.-C., Raynal, M. (Hrsg.), Distributed Algorithms, 3rd International Workshop, Nice, France, September 1989, Proceedings, Berlin Heidelberg 1989, S. 160–170Google Scholar
  12. SCHWAN, GAWKOWSKI und BLAKE stellen neben einem Master-Slave-Ansatz noch einen zweiten Ansatz vor, bei dem ein Master die Teilprobleme zunächst an Submaster verschickt, die dann eine weitere Zerlegung vornehmen und die daraus entstehenden Teilprobleme an die Slaves zur Bearbeitung verteilen. Insgesamt entsteht dadurch im Gegensatz zur bisherigen 2stufigen Hierarchie eine 3-stufige Hierarchie. Vgl. hierzu: Schwan, K., Gawkowski, J., Blake, B.: Process and Workload Migration for a Parallel Branch-and-Bound Algorithm on a Hypercube Multicomputer, ACM, 1988, S. 1520–1530Google Scholar
  13. 199.
    Derartige Implementationen werden z.B. beschrieben in: Huang, S.-R., Davis, L.S.: A Tight Upper Bound for the Speedup of Parallel Best-first Branch-and-Bound Algorithms, Technical Report, Center for Automation Research, University of Maryland, Mai 1987; Roucairol, C.: A Parallel Branch and Bound Algorithm for the Quadratic Assignment Problem, Discrete Applied Mathematics, Vol. 18, 1987, S. 211–225; Boehning, R.L., Butler, R.M., Gillett, B.E.: A parallel integer linear programming algorithm, EJOR, Vol. 34, 1988, S. 393–398Google Scholar
  14. 200.
    VORNBERGER hat hierzu verschiedene Varianten implementiert. Bei einer Implementation auf einem PC-LAN mit Ringtopologie wendet sich ein Prozeß erst dann an seinen linken Nachbarprozeß, wenn er in seiner eigenen lokalen Knotentabelle keinen Prozeß zur Bearbeitung mehr findet. Bei der Implementation auf einem Transputernetzwerk dagegen werden die Größen der lokalen Knotentabellen zwischen den unmittelbaren Nachbarprozessen ständig verglichen, um dann bei Erreichen einer vorgegebenen Größendifferenz sofort einen Austausch von Knoten vorzunehmen. Da die Knoten in der lokalen Knotentabelle nicht alle die gleiche Priorität haben, werden sie bei einer anderen Implementation auf einem Transputernetz mit Gewichten versehen. Es wird dort nicht die Anzahl der Knoten verglichen, sondern ihr Gewicht. Unterscheidet sich hier das Gewicht der unmittelbaren Nachbarn um eine vorgegebene Größe, werden ebenfalls Knoten ausgetauscht. Vgl. hierzu: Vornberger, O.: Implementing Branch-and-Bound in a Ring of Processors, in: Händler, W., Haupt, D., Jeltsch, R., Jüling, W., Lange, O. (Hrsg.), CONPAR 86, Conference on Algorithms and Hardware for Parallel Processing, Aachen, September 1986, Proceedings, Berlin Heidelberg 1986, S. 157–164; Kröger, B., Vornberger, O.: Parallele Lösung eines Verschnittproblems, in: Grebe, R. (Hrsg.), Parallele Datenverarbeitung mit dem Transputer, 1. Transputer-Anwender-Treffen, TAT ‘89, Aachen, September 1989, Proceedings, Berlin Heidelberg 1990, S. 54–67Google Scholar
  15. TROYA und ORTEGA berichten von zwei Implementationen, bei denen ohne Abfrage auf die Größe oder das Gewicht der lokalen Knotentabellen der unmittelbaren Nachbarprozesse immer alle noch zu berechnenden Nachfolger an zufällig ausgewählte oder im vorhinein festgelegte Prozesse geschickt werden. Vgl. hierzu: Troya, J.M., Ortega, M.: A study of parallel branch-andbound algorithms with best-first search, Parallel Computing, Vol. 11, 1989, S. 121–126Google Scholar
  16. QUINN schlägt in diesem Zusammenhang vor, einen Teil der noch zu berechnenden Nachfolger des durch eine vorgegebene Suchstrategie bestimmten Knotens zu einem benachbarten Prozessor zu schicken. Vgl. hierzu: Quinn, M.J.: Analysis and Implementation of Branch-and-Bound Algorithms on a Hypercube Multicomputer, IEEE Transactions on Computers, Vol. 39, Nr. 3, März 1990, S. 384–387Google Scholar
  17. 201.
    Ein–allerdings nicht so umfangreicher–Überblick findet sich auch in: Roucairol, C.: Parallel Branch and Bound Algorithms–an overview, Report, Institut National de Recherche en Informatique et en Automatique, Le Chesnay Cedex France, Januar 1989; Pardalos, P., Li, X.: Parallel branch-and-bound algorithms for combinatorial optimization, Supercomputer, Vol. 7, Nr. 5, September 1990, S. 23–30Google Scholar
  18. 202.
    Lavallée, I., Roucairol, C.: a.a.O.Google Scholar
  19. 203.
    Monien, B., Vornberger, O.: Parallel Processing of Combinatorial Search Trees, in: Parallel Algorithms and Architectures, International Workshop, Suhl, GDR, Mai 1987, Proceedings, Berlin 1987, S. 60–69CrossRefGoogle Scholar
  20. 204.
    Huang, S.-R., Davis, L.S.: a.a.O.Google Scholar
  21. 205.
    Schwan, K., Gawkowski, J., Blake, B.: a.a.O.Google Scholar
  22. 206.
    Janakiram, V.K., Gehringer, E.F., Agrawal, D.P., Mehrotra, R.: A Randomized Parallel Branchand-Bound Algorithm, International Journal of Parallel Programming, Vol. 17, Nr. 3, 1988, S. 277–301CrossRefGoogle Scholar
  23. 207.
    Altmann, E., Marsland, T.A., Breitkreutz, T.: Accounting for Parallel Tree Search Overheads, in: Baily, D.H. (Hrsg.), Proceedings of the 1988 International Conference on Parallel Processing, Vol. III, Algorithms and Applications, August 1988, Pennsylvania State University 1988, S. 198–201Google Scholar
  24. 208.
    Boehning, R.L., Butler, R.M., Gillett, B.E.: a.a.O.Google Scholar
  25. 209.
    Roucairol, C.: Parallel Branch and Bound Algorithms - an overview, a.a.O.Google Scholar
  26. 210.
    Troya, J.M., Ortega, M.: a.a.O.Google Scholar
  27. 211.
    Luling, R., Monien, B.: a.a.O.Google Scholar
  28. 212.
    Mraz, R.T.: Performance Analysis of Parallel Branch and Bound Search with the Hypercube Architecture, Technical Report, Johnson Space Center, Texas, 1988Google Scholar
  29. 213.
    Kroger, B., Vomberger, O.: a.a.O.Google Scholar
  30. 214.
    Dehne, F., Ferreira, A.G., Rau-Chaplin, A.: Parallel branch and bound on fine-grained hypercube multiprocessors, Parallel Computing, Vol. 15, 1990, S. 201–209CrossRefGoogle Scholar
  31. 215.
    Quinn, M.J.: Analysis and Implementation of Branch-and-Bound Algorithms on a Hypercube Multicomputer, a.a.O.Google Scholar
  32. 216.
    TAUDES und NETOUSEK haben die Ideen von LÜLING und MONIEN auf einem Workstation-Cluster nachimplementiert. Vgl. hierzu: Taudes, A., Netousek, T.: Implementing Branch-andBound Algorithms on a Cluster of Workstations–A Survey, some new Results and open Problems, in: Grauer, M., Preßmar, D.B.: Parallel Computing and Mathematical Optimization, Siegen, 1990, Proceedings, Berlin Heidelberg 1991, S. 79–102Google Scholar
  33. 217.
    Ashford, R., Connard, P., Daniel, R.: a.a.O.Google Scholar
  34. 218.
    Auf den sequentiellen Overhead wird erst im Kapitel 7 eingegangen.Google Scholar
  35. 219.
    SPRAGUE berichtet z.B. von einem besonders drastischen Fall, wo bei der parallelen Bearbeitung eines Knapsack-Problems die Anzahl der behandelten Knoten mehr als 30 mal höher als bei der sequentiellen Verarbeitung ist. Vgl. hierzu: Sprague, A.P.: Wild Anomalies in Parallel Branch and Bound, in: Dr. So, K. (Hrsg.), Proceedings of the 1991 International Conference on Parallel Processing, Vol. III, Algorithms & Applications, August 1991, Pennsylvania State University 1991, S. 308–309Google Scholar
  36. 220.
    Vgl. Abschnitt 4.2.3.Google Scholar
  37. 221.
    N ist die Anzahl der Prozesse und S die Anzahl der unmittelbaren Nachfolger aller Knoten. Der Einfachheit halber wird hierbei unterstellt, daß alle Knoten die gleiche Anzahl von unmittelbaren Nachfolgern aufweisen.Google Scholar
  38. 222.
    Vgl. hierzu: Lai, T.-H., Salmi, S.: Anomalies in Parallel Branch-and-Bound Algorithms, Technical Report 82–25, Computer Science Department, Institut of Technology, University of Minnesota, Minneapolis, Dezember 1982; Quinn, M., Deo, N.: An upper bound for the speedup of parallel branch-and-bound algorithms, Technical Report CS-83–112, Computer Science Department, Washington State University, Mai 1983; Lai, T.-H., Sprague, A.: Performance of Parallel Branchand-Bound Algorithms, in: DeGroot, D. (Hrsg.), Proceedings of the 1985 International Conference on Parallel Processing, August 1985, Pennsylvania State University 1985, S. 194–201; Li, G.-J., Wah, B.W.: Coping with Anomalies in Parallel Branch-and-Bound Algorithms, IEEE Transactions on Computers, Vol. C-35, Nr. 6, Juni 1986, S. 568–573Google Scholar
  39. 223.
    So wird von HUANG und DAVIS für eine Implementation auf einem stark gekoppelten Multiprozessorsystem eine obere Grenze für den Speedup ermittelt. Der Schwerpunkt liegt hierbei auf der Erfassung des Synchronisationsoverheads, der beim Zugriff auf die gemeinsame Knotentabelle entsteht. Dieser kann bei einer sehr großen Tabelle im Verhältnis zur Bearbeitungszeit der Knoten relativ groß werden und darf somit nicht vernachlässigt werden. Die Abbildung des Overheads erfolgt mit Hilfe eines einfachen Warteschlangenmodells. Die Warteschlange bilden hierbei diejenigen Prozesse, die auf die gemeinsame Knotentabelle zugreifen wollen. Weitere Overheads werden als nicht vorhanden angenommen. Vgl. hierzu: Huang, S.-R., Davis, L.S.: a.a.O., S. 5 Von BOXMA und KINDERVATER wurde ebenfalls ein Warteschlangenmodell entwickelt. Im Gegensatz zu der Entwicklung von HUANG und DAVIS analysiert es jedoch die Implementation einer Master-Slave-Verarbeitung. Es existieren hierbei zwei Warteschlangen, und zwar die Warteschlange am Master, die dadurch entsteht, daß die Slaves ihr Ergebnis an den Master zurückschicken, und die Warteschlange an den Slaves, die dadurch entsteht, daß nach einer Anlaufphase zu einem Zeitpunkt i.a. mehr Knoten zur Bearbeitung vorhanden sind als Prozesse zur Bearbeitung zur Verfügung stehen. Das entwickelte Warteschlangenmodell liefert insbesondere Erkenntnisse darüber, wie sich die Bearbeitungszeit in Abhängigkeit von der Anzahl eingesetzter Prozessoren und bei einer Veränderung der Geschwindigkeit des Masters und der Slaves verhält. Vgl. hierzu: Boxma, O.J., Kindervater, G.A.P.: a.a.O. JANAKIRAM, GEHRINGER, AGRAWAL und MEHROTRA haben eine Abschätzung für einen zufälligen parallelen Branch-and-Bound-Algorithmus vorgenommen. Vgl. hierzu: Janakiram, V.K., Gehringer, E.F., Agrawal, D.P., Mehrotra, R.: a.a.O.Google Scholar
  40. 224.
    Huang, S.-R., Davis, L.S.: a.a.O., S. 1Google Scholar
  41. 225.
    Lai, T.-H., Sahni, S.: a.a.O., S. 5 ffGoogle Scholar
  42. 226.
    Lai, T.-H., Salmi, S.: a.a.O., S. 7 und S. 11Google Scholar
  43. 227.
    Li, G.-J., Wah, B.W.: a.a.O., S. 573Google Scholar
  44. 228.
    Li, G.-J., Wah, B.W.: a.a.O., S. 571Google Scholar
  45. 229.
    Wird zwischen einer Bearbeitungszeit mit und ohne Wiederaufsetzen unterschieden, so handelt es sich um die Bearbeitungszeit ohne Wiederaufsetzen.Google Scholar
  46. 230.
    Die Bedingung entspricht genau der Bedingung für tw > 0 bei der Parallelisierungsvariante I.Google Scholar

Copyright information

© Springer Fachmedien Wiesbaden 1994

Authors and Affiliations

  • Birgit Schwartz

There are no affiliations available

Personalised recommendations