Simulated Annealing

 

In der Veranstaltung „Computer Aided Design for Integrated Circuits“ im Sommersemester 2014 konnte als freiwillige Zusatzabgabe ein Algorithmus der Vorlesung implementiert werden. Ich habe mich für den Algorithmus „Simulated Annealing“ als Lösung des Module-Placement Problems entschieden. Dabei wurde der Algorithmus erstmal allgemein implementiert und er kann jetzt verwendet werden, um für schwere Probleme (in der Regel NP-schwere Probleme) eine Lösung zu finden. Die in dem Programm implementierten Versionen befassen sich alle mit Module Placement. Die erste Lösung platziert indirekt unter der Verwendung eines Slicing Trees. Die zweite Lösung ist eine direkte Lösung. Hierbei können Module auch überlappen.  In der dritten Lösung wird ein Gitter vorgegeben. Hierbei wird sowohl die Größe des Gitters als auch die Positionierung der Elemente im Gitter optimiert.