Floorplanning ist ein Begriff aus dem Bereich der Optimierung. Er wird heute hauptsächlich im Fachgebiet Leiterplattendesign und Chipentwurf verwendet. Er bezeichnet die geplante optimierte Verteilung von Funktionsgruppen oder Bauteilen in einem System, so dass die Verbindungs-, Transport- oder Signalwege ein Optimum annehmen. Das Optimum muss in diesem Fall nicht das Minimum sein, wird dieses aber oft erreichen. Beispiele sind:
Beim Chipentwurf unterscheidet man Floorplanning in frühen und späten Entwurfsphasen. Nach Verhaltens- und Strukturentwurf leitet Floorplanning den physikalischen Entwurf ein, der mit der Layoutsynthese abschließt. Wesentliche Floorplanning-Aufgaben sind die Platzierung (Planung der Zellformen und der Zellpositionen) und die Globalverdrahtung.
Bei letzterem werden die Verdrahtungsflächen und die Zuordnung von Netzsegmenten zu diesen festgelegt. Dieses geschieht mittels Graphenalgorithmen, zum Beispiel mittels Dijkstra-Algorithmus oder Steinerbaumalgorithmen. Die Aufgabe ist dabei vor allem die Minimierung der Gesamtnetzlänge, Minimierung der Gesamtfläche für die Kanalverdrahtung, Minimierung der maximalen Pfadverzögerungszeit oder Kombinationen dieser Kriterien.
Da viele dieser Teilaufgaben np-vollständig sind, ist das Auffinden optimaler Lösungen in angemessener Rechenzeit nicht möglich und es werden Approximationsalgorithmen und heuristische Algorithmen verwendet.