next up previous
Next: Ergebnisse Up: Layoutgenerierung mit genetischen Previous: Die Konstruktion der

Die Optimierung durch den genetischen Algorithmus

Nachdem durch das iterierte Matching -- zumindest in den unteren Ebenen des Schnittbaumes -- dicht gepackte Meta-Blöcke generiert wurden und innerhalb der entsprechenden Teil-Layouts die Verdrahtung konstruiert wurde, ist es die Aufgabe des genetischen Algorithmus, die Layouts ,, global`` zu optimieren. Dazu sind die vorhandenen Meta-Blöcke so umzuarrangieren, daß die Layout-Fläche minimal wird und möglichst optimale globale Verdrahtungswege entstehen. Dieses ist der wesentliche Unterschied zu dem herkömmlichen Ansatz im Layout-Design: Dort ist bei der Erstellung des Floorplans und der Konstruktion der globalen Verdrahtung jeweils eine globale Sicht auf die Anordnung der Module gegeben. Eben diese globale Sicht fehlt bei der Konstruktion eines Individuums. Hier werden lediglich lokale Entscheidungen getroffen und somit gute Teil-Layouts geschaffen, die globale Sicht auf das gesamte, sich entwickelnde Layout bleibt dem genetischen Algorithmus vorbehalten.

  
Figure: Mutation durch Austausch von Blöcken (links) oder durch Verändern der Struktur des Schnittbaumes (rechts)

Ein Mutationsoperator verändert zufällig ein Individuum, d.h. es geschieht nicht zielgerichtet und führt somit in den seltensten Fällen direkt zu einer Verbesserung (bzgl. der Fitneß des Individuums). Es existieren verschiedene Mutationsoperatoren, die mit unterschiedlicher Häufigkeit angewendet werden. Ein Individuum wird durch Austausch von Knoten (Abb. 5, links) oder durch eine Veränderung der Struktur des Schnittbaumes (Abb. 5, rechts) mutiert. Andere Mutationsoperatoren verändern die Positionierung (aufeinander oder nebeneinander) und die Rotation der beiden Blöcke innerhalb des Meta-Blockes oder ändern die Seite, aus der ein Netz aus einem Kanal herausgeführt wird. Es ist notwendig, daß eine optimale Lösung aus einem beliebigen Layout nur durch Anwendung von Mutationsoperatoren erzeugt werden kann, denn durch die Anwendung des Crossover-Operators werden keine vollkommen neuen Individuen erzeugt, sondern nur Eigenschaften von schon existierenden Individuen vererbt.

Der Crossover-Operator wählt zwei Individuen aus, aus denen ein Offspring generiert wird. Diese Auswahl erfolgt nicht aus der gesamten Population, sondern nur aus der Menge der besten Individuen (truncation selection). Als Maß für die Fitneß eines Individuums dient die Fläche des entsprechenden Layouts. In der aktuellen Implementation werden beim Crossover zwei disjunkte Meta-Blöcke aus beiden Parent-Individuen ausgewählt, welche die Grundlage für den Offspring bilden. Da es unwahrscheinlich ist, daß sich die beiden durch diese Meta-Blöcke repräsentierten Teil-Layouts zu einem vollständigen Layout ergänzen, müssen in dem Schnittbaum des Offsprings die noch fehlenden Blöcke ergänzt werden. Dabei wird wiederum das iterierte Matching angewandt, um die Verschnittfläche in diesem Teil des Layouts möglichst gering zu halten.

Die Wirkung des Crossover-Operators ist bei diskreten Optimierungsproblemen nur sehr gering, da bei der direkten Kreuzung nicht notwendigerweise korrekte Lösungen entstehen. Aus diesem Grund muß das Offspring-Individuum nach der Operation repariert werden, oder kann -- wie in diesem Fall -- nur teilweise durch Kreuzung zweier Individuen erzeugt werden. Hierdurch ist der Anteil der Vererbung deutlich geringer als in den meisten Anwendungen mit einer einfacheren Kodierung, da dort jedes Gen im Offspring-Genotyp direkt aus einem der beiden Parent-Individuen übernommen wird.



next up previous
Next: Ergebnisse Up: Layoutgenerierung mit genetischen Previous: Die Konstruktion der



WWW-Administration
Mon Nov 20 17:21:01 MET 1995