Kombinatorische Optimierung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Kombinatorische Optimierung ist ein Zweig der diskreten Mathematik und spielt in vielen Bereichen einschließlich der Operations Research, der Informatik, der künstlichen Intelligenz und den Ingenieurwissenschaften eine wichtige Rolle.

Informelle Definition[Bearbeiten]

Wie der Name bereits andeutet, geht es in der kombinatorischen Optimierung darum, aus einer großen Menge von diskreten Elementen (Gegenstände, Orte) eine Teilmenge zu konstruieren, die gewissen Nebenbedingungen entspricht und bezüglich einer Kostenfunktion optimal ist (kleinstes Gewicht, kürzeste Strecken, ...). Derartige Fragestellungen spielen in der Praxis eine große Rolle. Die optimale Wegeplanung eines Bohrers auf einer Leiterplatte, die kostenoptimale Belegung von Maschinen oder die möglichst günstige Routenplanung sind allesamt Vertreter dieser Problemklasse.

Formale Definition[Bearbeiten]

Eine Instanz eines kombinatorischen Optimierungsproblems ist ein Paar (L, f), bei dem die Menge L eine abzählbare Menge aller möglicher Lösungen bezeichnet und die Funktion f eine Abbildung f: L \rightarrow \mathbb{R} darstellt, die jedem Element aus L einen Zielfunktionswert (Kosten, Gewinn,...) zuweist. Ziel ist, eine global optimale Lösung i \in L zu finden, so dass kein u \in L mit f(u) < f(i) existiert (bei einem Minimierungsproblem).

Algorithmen und Komplexität[Bearbeiten]

Die Probleme, mit denen man sich in der kombinatorischen Optimierung beschäftigt, sind meist sehr schwierig (NP-schwer).

Die Algorithmen, die die Lösungen erzeugen sollen, versuchen daher meist, den Suchraum zu beschränken. Vertreter dieser Algorithmen sind beispielsweise Branch-and-Bound bzw. Branch-and-Cut, welche exakte, garantiert optimale Lösungen erzeugen. Dafür wird das Problem als ganzzahliges Optimierungsproblem formuliert, bei dem dann die Belegung von Entscheidungsvariablen darüber entscheidet, ob bestimmte Elemente zur Lösung gehören oder nicht.

Andere Algorithmen nutzen spezielles Wissen über die Problemstruktur, sog. Heuristiken oder Meta-Heuristiken. Hierzu gehört z.B. die lokale Suche mit ihren Ausprägungen Simulierte Abkühlung oder Tabu Search. Diese Verfahren können aber meist nicht garantieren, dass eine global optimale Lösung gefunden werden kann.

Bekannte Probleme[Bearbeiten]

Literatur[Bearbeiten]