Forschung in der Arbeitsgruppe für Algorithmen und Komplexität

Zentrum unserer Forschung ist die Entwicklung effizienter (exakter und parametrisierter) Algorithmen für Optimierungsprobleme der Informatik. Dies umfasst die tatsächliche Entwicklung der Algorithmen im theoretischen Sinne, inkl. Beweise der Korrektheit und Laufzeit, Entwicklung unterer Schranken für Laufzeit und/oder Approximationsgüte und ggf. auch Implementierung.

Kontakt

Prof. Dr. Klaus Jansen

Christian-Albrechts-Platz 4

24118 Kiel

Raum: 1007 (CAP 4)

Forschungsschwerpunkte

Schedulingprobleme

Bei Schedulingproblemen müssen Jobs Maschinen zugewiesen werden. Verschiedene Maschinenmodelle, Jobcharakteristiken und Zielfunktionen führen zu einer Vielzahl an Optimierungsproblemen, von denen die meisten NP-schwer sind. Ein klassisches Beispiel ist Job Sequencing: Gegeben ist eine Menge von Jobs (jeweils mit einer Ausführungszeit, einer Deadline und einem Gewicht) und das Ziel ist, eine Auswahl (und Anordnung) der Jobs zu finden, die maximales Gesamtgewicht haben und alle rechtzeitig fertiggestellt werden können (d.h. ohne dass einer der Jobs seine Deadline verpasst).

Packungsprobleme

Bei Packungsproblemen müssen Gegenstände in Containern mit begrenzter Größe zugewiesen werden. Oftmals wird dabei auch ein Profit maximiert, wie zum Beispiel beim klassischen Rucksackproblem. Dort hat man eine Menge von Gegenständen (jeweils mit Profit und Gewicht) und einen Rucksack (mit einer Kapazität) gegeben. Das Ziel ist, eine Teilmenge der Gegenstände zu finden, deren Gesamtgewicht die Kapazität nicht überschreitet und deren Gesamtprofit maximal ist.

Untere Schranken

Es passiert nicht selten, dass man bei der Entwicklung von Algorithmen auf Probleme stößt. Da ist es hilfreich, wenn man zeigen kann, dass eine gewisse Laufzeit oder Güte unter plausiblen Annahmen gar nicht erreicht werden kann. Eine klassische solche Annahme ist P ungleich NP, es gibt jedoch noch andere Annahmen wie die Exponentialzeithypothese und die (min,+)-Hypothese, wodurch sich bessere untere Schranken zeigen lassen.

Ganzzahlige Lineare Optimierung

Bei Ganzzahligen Linearen Programmen (ILPs) ist die Aufgabe, einen Vektor x zu finden, der eine lineare Zielfunktion maximiert und eine Menge an linearen Bedingungen (gegeben durch eine Matrix A und rechte Seite b) erfüllt. Diese sehr allgemeine Form ermöglicht es, unzählige Optimierungsprobleme – darunter unter Anderem auch Scheduling- und Packungsprobleme – zu modellieren. Ein Algorithmus zum Lösen von ILPs kann daher auch zum Lösen vieler anderer Probleme genutzt werden. Da dieses Problem ebenfalls NP-schwer ist, betrachtet man vor allem ILPs mit entweder

  • wenigen Variablen (d. h. der gesuchte Vektor x hat nur wenige Einträge),
  • wenigen Bedingungen und kleinen Einträgen in der Matrix A oder
  • einer Matrix A, die besondere Strukturen aufweist.

Online-Algorithmen

Viele Optimierungsprobleme kann man auch in einem Online-Kontext betrachten. Dabei ist nicht von vornherein die gesamte Eingabe bekannt, sondern es kommen stückweise weitere Informationen an. Beispielsweise kann es sein, dass beim Rucksackproblem nicht alle Gegenstände gegeben sind, sondern erst nach und nach erscheinen. Wie man sich vorstellen kann, ist es im Online-Setting oft schwieriger oder manchmal sogar unmöglich, optimale Entscheidungen zu treffen. Daher versucht man in der Regel, Algorithmen mit einer guten competitive ratio zu finden, d. h. solche, bei denen die Profitrate zwischen dem (offline) Optimum und der Ausgabe möglichst klein ist.

Forschungsprojekte