Diskrete Optimierung mit der Evolutionsstrategie auf parallelen Systemen

Ähnliche Dokumente
Computational Intelligence 1 / 28. Computational Intelligence Evolutionsstrategien 3 / 28

InformatiCup 2009 EvolutionConsole

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

15 Transportschicht (Schicht 4)

Verteilte Systeme - Java Networking (Sockets) -

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Evolutionsstrategien

Rechnernetze Übung 11

Proseminar Genetische und Evolutionäre Algorithmen Evolutionsstrategien

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP

Netzwerktechnologie 2 Sommersemester 2004

Optimale Produktliniengestaltung mit Genetischen Algorithmen

1. Inhaltsverzeichnis

Korrektheit durch modulare Konstruktion. Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Die Transportprotokolle UDP und TCP

Client-Server mit Socket und API von Berkeley

UDP User Datagramm Protokoll

Parallele und verteilte Programmierung

Synthese Eingebetteter Systeme. Übung 6

Genetische Algorithmen. Uwe Reichel IPS, LMU München 8. Juli 2008

Das Internet-Protocol. Aufteilung von Octets. IP-Adressformat. Class-A Netzwerke. Konventionen für Hostadressen

EVOLUTION STRATEGIES DANIELA SCHACHERER SEMINAR: IST KÜNSTLICHE INTELLIGENZ GEFÄHRLICH? SOMMERSEMESTER 2017

Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Inhaltsverzeichnis. Teil I TCP/IP-Grundlagen Einführung... 11

Verteilte Systeme. Protokolle. by B. Plattner & T. Walter (1999) Protokolle-1. Institut für Technische Informatik und Kommunikationsnetze

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

TCP/IP-Protokollfamilie

Linsenberechnung mit Evolutionsstrategien

Projektseminar Parallele Programmierung

Übungsblatt 4. (Router, Layer-3-Switch, Gateway) Aufgabe 2 (Kollisionsdomäne, Broadcast- Domäne)

Parallele Programmiermodelle

Themenschwerpunkt: Rechnernetze und Netzwerkdesign

Systeme 1: Architektur

Netzwerktechnologien 3 VO

IP Adressen & Subnetzmasken

Verteilte Betriebssysteme

Netzwerk-Programmierung. Netzwerke.

Distributed Memory Computer (DMC)

II

Multiuser Client/Server Systeme

Kurzskript zur Vorlesung Mathematik I für MB, WI/MB und andere Prof. Dr. Ulrich Reif

Vorlesung SS 2001: Sicherheit in offenen Netzen

Einführung: Grundlegende Design-Prinzipien des Internet B. Plattner, H. Lubich Internet Intro 1

Implementierung eines universellen IPv6 Protokollstapels

Stauvermeidung in TCP Tahoe

5. Spezielle stetige Verteilungen

LAN & Internet. Grundlagen Netzwerke LAN-2. Saarpfalz-Gymnasium. Router. Router LAN-3. Router. Kommunikation in Rechnernetzen

Netzwerk-Programmierung in C

1 Konzepte der Parallelverarbeitung

Der Weg eines Betrunkenen

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät

Trend der letzten Jahre in der Parallelrechentechnik

Genetische Algorithmen von der Evolution lernen

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

Konzepte der parallelen Programmierung

Protected User-Level DMA in SCI Shared Memory Umgebungen

Populationsbasierte Suche. Evolutionäre Algorithmen (1)

PROJEKTIEREN DER HW UND DER VERBINDUNGEN...

Nr. 4: Pseudo-Zufallszahlengeneratoren

Client/Server-Systeme

Genetische und Evolutionäre Algorithmen (Vol. 1)

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Aufgabe 2.1: Lamports Uhren

Vorlesung SS 2001: Sicherheit in offenen Netzen

Das ISO / OSI -7 Schichten Modell

GigE Vision: Der Standard

DWT 1.4 Rechnen mit kontinuierlichen Zufallsvariablen 234/467 Ernst W. Mayr

Grundlagen der Mathematik II (LVA U)

Verkürzung von Entwurfszeiten

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks

Internet Routing am mit Lösungen

7 Transportprotokolle

Exkurs Modelle und Algorithmen

Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung

ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath

Damit zwischen den verschiedenen Rechnern überhaupt ein Austausch möglich ist, muss man sich über das was und wie verständigen.

Simulation von Zufallszahlen. Grundlage: zufällige Quelle von Zufallszahlen, durch einfachen rekursiven Algorithmus am Computer erzeugt

TCP/UDP. Transport Layer

- innerhalb der Betrachtung von linearer und multiplikativer Nachfragefunktion jeweils zwischen deterministischer und stochastischer Marktnachfrage.

Abkürzungen. Kapitel 1 - Einleitung Stand der Automobilelektronik Historische Entwicklung Gegenwärtige Probleme 2

Evolutionsstrategien

MODBUS/TCP und Beckhoff Steuerelemente

Verteilte Systeme. Verteilte

Technische Übersicht über den Netzwerklastenausgl eich (Network Load Balancing) Einführung

F. Kathe ROS Folie 1

Entwicklung eines intelligenten FlexRay-Sternkopplers Paul Milbredt, AUDI AG, , TU Darmstadt

Einführung in Quantitative Methoden

Grundlagen der Rechnernetze. Internetworking

Varianz und Kovarianz

Von der Schönheit des mathematischen Chaos. Eine Einführung in Seltsame Attraktoren mit jreality

3.1 Einfaches Senden oder Routing?

7 Zufallszahlen, Simulation

Wahrscheinlichkeitsfunktion. Binomialverteilung. Binomialverteilung. Wahrscheinlichkeitshistogramme

Die wichtigsten TCP/IP-Protokolle


10 Transformation von Zufallsvariablen

Transkript:

Diskrete Optimierung mit der Evolutionsstrategie auf parallelen Systemen Martin Bernreuther Kurzfassung: Der Beitrag erläutert zunächst die Grundlagen des parallelen Rechnens auf einem Workstationcluster. Dabei kommt das Softwarepaket PVM (parallel virtual machine) zum Einsatz. Nachfolgend wird ein Überblick über die Evolutionsstrategien gegeben und im besonderen auf die Parallelisierbarkeit dieser Methode eingegangen. Den Abschluß bildet ein konkretes Beispiel aus dem Bereich der diskreten Strukturoptimierung. 1 Paralleles Rechnen auf verteilten Systemen 1.1 Rechnerklassifikation Workstationcluster fallen in die Gruppe der Mem Mem Mem Mem Mem Mem Mem MIMD- (Multiple Instruction, Multiple Data) Rechner. Hierbei führt jedes PE (Processing Element) PE PE PE PE PE PE PE eigenständig unterschiedliche Programminstruktionen aus. Beim Cluster sind die einzelnen Netzwerk (Ethernet Bus) Rechner über ein Verbindungsnetzwerk mit Nachrichtenaustausch lose gekoppelt und bilden ein Abb. 1: Schematische Darstellung des Workstationclusters verteiltes Rechnersystem mit asynchroner Parallelität (siehe Abb. 1). 1.2 Verbindungsstrukturen Beim Workstationcluster wird als Verbindungsstruktur ein Bus-Netzwerk verwendet. Da nur eine Verbindung pro PE nötig ist, sind die Produktionskosten optimal. Der Abstand zwischen zwei beliebigen PEs ist immer konstant gleich 2: PE i Bus PE j. Zu einem bestimmten Zeitpunkt kann bei einem Bus nur eine Verbindung aufgebaut werden. Das Senden von Daten an mehrere Empfänger zugleich (broadcast) ist möglich, aber ein Empfänger kann nicht von mehreren Sendern zugleich empfangen. Auch ist der Austausch von Daten zwischen verschiedenen PE-Paaren nicht parallel realisierbar. Infolge der konstanten Bandbreite des Busses kann diese Struktur nicht skaliert werden. Aufgrund der geringen Kommunikationsleistung des Cluster-Verbindungsnetzwerkes bezüglich der Übertragungsgeschwindigkeit (Ethernet: 10 15 MBit/sec ) und der hohen Latenzzeit ist das auf der Prozedurebene parallele Message-Passing-Konzept das einzig durchführbare Programmiermodell auf diesem Rechnertyp. Martin Bernreuther, Informationsverarbeitung im konstruktiven Ingenieurbau, Universität Stuttgart

1.3 Netzwerkprotokoll Auf die Verbindungshardware des Ethernetbusses wird das UDP-TCP/IP-Protokoll (User Datagram - Transmission Control Protocol / Internet Protocol) aufgesetzt. Auf der Transportschicht unterscheiden sich die verbindungsorientierte TCP-Kommunikation und die verbindungslose UDP-Kommunikation. Die drei Stufen einer TCP-Verbindung bestehen aus dem Verbindungsaufbau, der eigentlichen Datenübertragung und dem Abbau der Verbindung. Das ist vergleichbar mit einem Telefon. Hierbei ist die Anzahl der Sockets bzw. Anschlüsse begrenzt. - Im Gegensatz dazu werden beim UDP einzelne Datagramme verschickt: Die Daten werden in einzelne Pakete zerteilt, verschickt und beim Empfänger wieder zusammengesetzt. Die Reihenfolge und der Weg dieser Pakete sind unbestimmt. Das Analogon hierfür stellen Briefe dar. Der Verwaltungsaufwand ist gering, und pro Rechner ist nur ein Socket notwendig. Das UDP ist im Gegensatz zu TCP ein unsicheres Protokoll, d. h. Pakete können verloren gehen oder doppelt ankommen. 1.4 PVM PVM (Parallel Virtual Machine) ist ein frei verfügbares Softwaresystem, das es ermöglicht, mehrere vernetzte Computer als einen (virtuellen) Parallelrechner zu verwenden. Die einzelnen Rechner können von verschiedener Bauart sein. Das System, das auf einem Message-Passing-Konzept aufbaut, stellt in einer Bibliothek Funktionen zur Verfügung, die direkt in C- und Fortran-Programme einbindbar sind. PVM stellt also keine parallele MIMD-Programmiersprache dar. 1.4.1 Funktionsweise Auf jedem Host der PVM-Konfiguration wird die Kommunikation von einem PVM-Dämon gesteuert. Ein Dämon fungiert hierbei als Master. Dieser Master kann über den remoteshell-dienst weitere Dämonen und s starten oder stoppen. Damit ist eine dynamische Anpassung der Konfiguration während der Laufzeit möglich. Die Kommunikation zwischen dem Dämon und einem Ethernet Bus auf dem jeweiligen Computer wird mit einer TCP-Verbindung bewerkstelligt. Die Dämonen untereinander verständigen sich auf Basis des UDP-Dienstes (vgl. 1.3) (siehe Abb. 2). Zum Datenaustausch müssen die beteiligten Prozesse synchronisiert werden. Beim UDP Socket PVM-Dämon verbindungslose UDP-Kommunikation verbindungsorientierte TCP- Kommunikation UDP Socket PVM-Dämon Rechner 1 Rechner 2 Abb. 2: PVM Kommunikation

blockierenden Empfangen wird vom Empfänger solange auf die Nachricht gewartet, bis sie eingetroffen ist. Nichtblockierendes Empfangen bedeutet hingegen, daß über den Rückgabewert der Funktion angezeigt wird, ob die Nachricht bereits vorliegt. Im Fall einer noch nicht vorliegenden Nachricht kann das Programm anderweitige Aufgaben bearbeiten. Das blockierende Empfangen mit Zeitbeschränkung stellt ein Bindeglied dar. Sollen Daten zwischen Architekturen mit unterschiedlicher interner Darstellung der Daten ausgetauscht werden, so müssen diese in das XDR-Format (external Data Representation) transformiert und beim Empfänger rücktransformiert werden. Aufgrund des im Verhältnis zur Rechenleistung des Computers langsamen Netzwerkes ist es ratsam, möglichst selten zu kommunizieren, und dafür die einzelnen Pakete ausreichend groß zu halten. 1.4.2 Lastausgleich Der Lastausgleich (Load Balancing) wird von PVM nur sehr unzureichend verwirklicht. Vom Anwendungsprogramm kann ein statischer Lastausgleich erzielt werden, indem die Aufgaben der Leistungsfähigkeit entsprechend auf die einzelnen Rechner verteilt werden. Beim dynamischen Lastausgleich wird die Aufgabenverteilung während der Laufzeit bestimmt, und es wird auf die wechselnden Belastungen der Rechner Rücksicht genommen. Bei der verbreitetsten Methode des Master/Slave Konzepts, dem Pool of s, werden im Masterprogramm die freien Slaves in einer Warteschlange verwaltet. Ein effizienter Lastausgleich stellt bei einem Workstationcluster eine nur schwer durchführbare Aufgabe dar, da auf einem Multiusersystem die Last ständig sehr stark und unkontrollierbar schwankt. 2 Diskrete Optimierung mit Evolutionsstrategien 2.1 Evolutionsstrategien Inspiriert von dem Vorbild der biologischen Evolution wird versucht diese natürliche Optimierung auf technisch-mathematische Ingenieuranwendungen zu übertragen. Wird von einer Systemparameter-Optimierung ausgegangen, repräsentiert der Vektor eines Parametersatzes ein einzelnes Individuum. Die Vitalität eines solchen Individuums wird durch die Fitneß-Funktion beschrieben. 2.1.1 (1+1)-ES Die einfachste Variante dieser Strategie ist die von Rechenberg [3] vorgestellte zweigliedrige (1+1)-ES, die sich auf ein Mutations-Selektions-Prinzip gründet. Ein Individuum wird dupliziert und durch Mutation verändert. Durch Auswertung der Fitneß-Funktion vergleicht man das veränderte Kind- mit dem ursprünglichen Elter-Individuum. Das bessere überlebt und wird zum Elter der nächsten Generation. Die Mutation kann durch Addition eines normalverteilten Vektors erzielt werden. Der Erwartungswert der einzelnen Komponenten

dieses Vektors ist 0. Dieses einfache Verfahren kann als eine Art stochastisches Gradientenverfahren angesehen werden. Für die Erzeugung im Intervall (0,1) gleichverteilter Zufallszahlen Z aus gleichverteilten Zufallszahlen Y wird von Schwefel [4] auf eine Transformationsregel von Box und Muller verwiesen: ln sin( π ) Z = 2 Y ( 2 Y ) Z = 2 Y 2 Y 1 1 2 ln cos π (1) 2 1 2 Die Transformation auf N(0,σ) erfolgtmit: Z = σ Z (2) i i i 2.1.2 (µ+, λ) ES Bei den mehrgliedrigen ES wird von µ Elter- und λ Kind-Individuen ausgegangen. Zur Erzeugung der Kinder wird vor dem Mutations- (mut) der Rekombinationsoperator (rec) verwendet. Grundsätzlich wird beim Selektionsoperator (sel) zwischen Plus- und Komma- Strategien unterschieden. Bei den Plusstrategien konkurrieren die Eltern mit den Kindern, bei der Kommastrategie hingegen sterben die Eltern sofort. Dies ist für das Überwinden lokaler Minima, sowie die Selbstadaption der Strategieparameter vorteilhaft. Im Gegensatz zur Plusstrategie ist bei der Kommastrategie auch eine Verschlechterung von einer zur nächsten Generation möglich. Im vorliegenden Beitrag wurde ein leicht modifizierter Weg eingeschlagen. Die Eltern werden nach jeder Generation durch eine Strafterm verschlechtert. Hierbei wurde die Addition eines konstanten Wertes auf die zu minimierende Fitneß-Funktion gewählt. Dies simuliert den Alterungsprozeß der Eltern. Für den Wert 0 erhält man eine Plus-, für einen sehr großen Wert praktisch eine Kommastrategie. Das Vorgehen läßt sich mit folgender Formel beschreiben: () t µ + λ λ ( t) ( t ) ( µ # λ ) ES ( ) = µ ( 7 { ( ( ) i= 1 )} 7 pen) opt P sel mut rec P P Sämtliche Restriktionen des Problems wurden ebenfalls als Strafterme miteinbezogen. Konstante Terme sind hier unbrauchbar, da man keinen Gradienten erzeugt, der das Problem in den zulässigen Bereich zurückführt. Die Wahl fiel daher auf lineare Strafterme. Für v> v zul wird eine festgelegte Konstante mit dem Faktor v multipliziert und zur Fitneßv zul Funktion addiert. Bei den Strategieparametern wurde ein alternatives Konzept getestet. Anstatt jedem Individuum die Standardabweichungen mitzugeben, bestimmt man nach jeder Generation die Standardabweichungen der Merkmale der Eltern, und falls eine untere Schranke nicht unterschritten wurde, verwendet man diese bei der normalverteilten Mutation der erzeugten Kinder. Für die Plusstrategie wurde für das vorgestellte Beispiel eine zufriedenstellende Konvergenz erreicht. (3)

2.2 Parallelisierung Die biologische Evolution findet massiv parallel statt. Auch die mehrgliedrige Evolutionsstrategie ist gut geeignet, parallel implementiert zu werden. Dazu gibt es mehrere Ansatzpunkte. Pro Generation wird die Fitneß-Funktion für alle Kinder ausgewertet. Diese Berechnungen sind völlig unabhängig voneinander. Da sich nur die Parameter ändern, ist der Kommunikationsaufwand relativ gering. Weitere Ansätze einer parallelen Evolutionsstrategie sind mit Multipopulationen möglich. Beim Insel-Modell entwickeln sich auf den einzelnen Rechnern Populationen unabhängig voneinander. Werden Individuen zwischen diesen Inseln ausgetauscht, kann dies zu einer Netzwerk-Methode erweitert werden. Die hier vorgestellte Implementierung einer ES geht von einem Master/Slave Konzept aus. Die Slave-Prozesse werden mit den konstanten Daten initialisiert und werten dann die Fitneß-Funktion der Individuen einer Generation parallel aus. Dabei wird die Grobkörnigkeit der Jobs maximal, wenn jedem Slave pro Generation nur ein Job vergeben wird. Auf diese Weise kann nur ein statischer Lastausgleich erzielt werden. Die Aufteilung in kleinere Einheiten erhöht den Kommunikationsaufwand, macht aber einen dynamischen Lastausgleich möglich. Hier muß in Abhängigkeit von der Netzwerk-Bandbreite ein Kompromiß gefunden werden. 2.3 Anwendung Nachfolgend steht die diskrete Optimierung eines Fachwerks mit 10 Stäben im Vordergrund, welche bereits in einer Veröffentlichung von M. Galante [5] vorgestellt wurde. 360 360 5 1 3 2 1 7 9 5 6 8 10 2 3 4 4 6 P y4 =100K P y2 =100K Abb. 3: zu optimierendes Fachwerk 360 E-Modul [Ksi]: 10 4 Max. Spannung [Ksi]: 25 Spez. Gewicht [lb/in 3 ]: 0,1 (Aluminium) Tabelle 1: Profil-Querschnitte [si] 1,62 1,8 1,99 2,13 2,38 2,62 2,63 2,88 2,93 3,09 3,13 3,38 3,47 3,55 3,63 3,84 3,87 3,88 4,18 4,22 4,49 4,59 4,8 4,97 5,12 5,74 7,22 7,97 11,5 13,5 13,9 14,2 15,5 16,0 16,9 18,8 19,9 22,0 22,9 26,5 30,0 33,5 Max. Durchbiegung [in]: 2 Dieses Problem wurde mit einer (15+100) Strategie und dualer diskreter Crossover- Rekombination angegangen. Die Querschnittswerte aller Fachwerkelemente sind für jedes

H p q1 q10, q i 01,,, 41 codiert. Der Mutation Individium jeweils in einem Vektor = [ ] { } lag eine generationsweise Berechnung der Standardabweichung jedes Merkmals p H i aller Eltern zugrunde. Die Qualitätssteigerung des besten Individuums wird in Abb. 4 dargestellt. Das Optimum stellte sich mit einem Gewicht von 5490,7 lb nach 86 Generationen mit den Querschnitten (1-10) 33,5 1,62 22,9 14,2 1,62 1,62 7,97 22,9 22,0 1,62 ein. Dies entspricht dem Ergebnis, das in [5] unter Verwendung eines genetischen Algorithmusses errechnet wurde. Fitneß (für g>2: Gewicht [lb]) 6000 5900 5800 5700 5600 5500 5400 0 10 Stäbe Fachwerk, (15+100) ES Standardabweichungen der Eltern als Strategieparameter 10 20 30 40 50 60 Generationen g F(g), bester Elter Optimum für g=86 F=5490,7 70 80 90 100 Abb. 4: Fitneß des besten Individuums der jeweiligen Generation Literatur [1] Bräunl, Thomas: Parallele Programmierung. Braunschweig,Wiesbaden: Vieweg, 1993 [2] Geist, A.; Beguelin, A.; Dongarra, J.; Jiang, W.; Manchek, R.; Sunderam, V.: PVM Parallel Virtual Machine - A User s Guide and Tutorial for Networked Parallel Computing. Cambridge: MIT Press, 1994 [3] Rechenberg, Ingo: Evolutionsstrategie. Stuttgart: Frommann-Holzboog, 1973 [4] Schwefel, Hans-Paul: Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie. Basel, Stuttgart: Birkhäuser, 1977 [5] Galante, M.: Genetic Algorithms as an Approach to Optimize Real-world Trusses, Int. j. numer. methods eng., vol. 39, 361-382 (1996)