Optimierungsproblem
Bei einem Optimierungsproblem sind ein Lösungsraum (Menge von möglichen Lösungen) Ω{displaystyle Omega } und eine Bewertungsfunktion (auch Ziel- oder Fitnessfunktion) f:Ω→R{displaystyle f:Omega rightarrow mathbb {R} } gegeben. Man will eine Lösung x∈Ω{displaystyle xin Omega } mit möglichst großem Wert f(x){displaystyle f(x)} finden, oder Aussagen über die Werte der Lösungen machen.
In diesem Fall läge ein Maximierungsproblem vor, bei einem Minimierungsproblem sind Lösungen x{displaystyle x} mit möglichst kleinem f(x){displaystyle f(x)} gesucht, aber dieser Fall lässt sich durch einfaches Negieren von f{displaystyle f} auf den vorigen zurückführen.
Man unterscheidet drei Problemstellungen:
Entscheidungsprobleme, bei denen zusätzlich ein Grenzwert g∈R{displaystyle gin mathbb {R} } gegeben ist, und ermittelt werden soll, ob es ein x∈Ω{displaystyle xin Omega } gibt mit f(x)≥g{displaystyle f(x)geq g}.- eigentliche Optimierungsprobleme, bei denen man den Wert der besten Lösung wissen will, also max{f(x)|x∈Ω}{displaystyle max{f(x)|xin Omega }}.
Suchprobleme, bei denen eine optimale Lösung o∈Ω{displaystyle oin Omega } gesucht ist (f(o)=max{f(x)|x∈Ω}{displaystyle f(o)=max{f(x)|xin Omega }}), oder eine Lösung mit einer gegebenen Mindestqualität, also ein o{displaystyle o} mit f(o)≥g{displaystyle f(o)geq g}. 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 f:Ω→N{displaystyle f:Omega rightarrow mathbb {N} }, 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 g∈R{displaystyle gin mathbb {R} } bzw. g∈N{displaystyle gin mathbb {N} } 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 |
- Optimierung (Mathematik)
- Evolutionärer Algorithmus
Weblinks |
Literatur zum Optimierungsproblem im Katalog der Deutschen Nationalbibliothek