Bei einem Optimierungsproblem sind ein Lösungsraum (Menge von möglichen Lösungen) und eine Bewertungsfunktion (auch Ziel- oder Fitnessfunktion) gegeben. Man will eine Lösung mit möglichst großem Wert finden, oder Aussagen über die Werte der Lösungen machen.

In diesem Fall läge ein Maximierungsproblem vor, bei einem Minimierungsproblem sind Lösungen mit möglichst kleinem gesucht, aber dieser Fall lässt sich durch einfaches Negieren von auf den vorigen zurückführen.

Man unterscheidet drei Problemstellungen:

  • Entscheidungsprobleme, bei denen zusätzlich ein Grenzwert gegeben ist, und ermittelt werden soll, ob es ein gibt mit .
  • eigentliche Optimierungsprobleme, bei denen man den Wert der besten Lösung wissen will, also .
  • Suchprobleme, bei denen eine optimale Lösung gesucht ist (), oder eine Lösung mit einer gegebenen Mindestqualität, also ein mit . Oder man will einfach eine möglichst gute Lösung finden (Approximation).

In der Theoretischen Informatik meint man mit Optimierungsproblem in der Regel ein eigentliches Optimierungsproblem, bei dem also nur der bestmögliche Wert und keine Lösung selbst gesucht ist. Auch betrachtet man üblicherweise den Sonderfall einer diskreten Bewertungsfunktion , da dies meist keinen erheblichen Unterschied macht und man reelle Zahlen weniger gut handhaben kann, z. B. näherungsweise als Gleitkommazahlen.

Meistens betrachtet man in der Theoretischen Informatik aber Entscheidungsprobleme. Zu einem Optimierungsproblem lässt sich leicht ein Entscheidungsproblem erzeugen, indem man zur Problemstellung den Grenzwert bzw. hinzunimmt. Umgekehrt kann man für die meisten praktisch interessanten Probleme zeigen, dass ein Lösungsweg für das Entscheidungsproblem zu einer Lösung des entsprechenden Such- oder Optimierungsproblems modifiziert werden kann, die nicht entscheidend mehr Rechenzeit oder Speicherplatz benötigt.

In der praktischen Anwendung hat man es meistens mit Suchproblemen zu tun, denn der Wert einer optimalen Lösung nützt einem ohne Kenntnis dieser Lösung in der Regel nichts. Einen Algorithmus, der ein Optimierungsproblem löst, nennt man Optimierungsalgorithmus. Analog spricht man beim Minimierungs- und Maximierungsproblem genauer vom Minimierungs- oder Maximierungsalgorithmus. Einen Algorithmus, der ein Optimierungsproblem näherungsweise löst, bezeichnet man als Approximationsalgorithmus, oft aber auch etwas ungenau ebenfalls als Optimierungsalgorithmus.

Siehe auch

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.