Optymalizacja (matematyka)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Maksimum paraboloidy

Optymalizacja (matematyka), w matematyce termin optymalizacja odnosi się do problemu znalezienia ekstremum (minimum lub maksimum) zadanej funkcji celu.

Definicja[edytuj | edytuj kod]

Niech dana będzie funkcja f:

f \colon A \mapsto \R

gdzie A \subset \R^n. Zadanie optymalizacji polega na znalezieniu takiej wartości x^{\ast} \in A, że dla każdego x \in A \backslash \{x^{\ast}\} zachodzi:

f(x) > f(x^{\ast})

Problemem równoważnym jest znalezienie maksimum funkcji - problem zdefiniowany jest tak samo jak powyżej z wyjątkiem zmiany znaku funkcji f.

O ile definicja matematyczna optymalizacji jest prosta, tak praktyczne wyznaczanie optimum już nie jest. W wielu problemach rzeczywistych mamy do czynienia z bardzo skomplikowaną daną funkcją, dla której wyszukanie optimum globalnego lub w zadanym zakresie nie jest łatwe. Na przestrzeni lat stworzono wiele algorytmów wyszukiwania optimum (algorytmy optymalizacji) oraz rozwinął się nowy dział badań naukowych, nazywany badaniami operacyjnymi.

Optymalizacja statyczna i dynamiczna[edytuj | edytuj kod]

Zadania optymalizacji dzielimy na dwie podstawowe klasy:

Optymalizacja statyczna zajmuje się poszukiwaniem optymalnego punktu pracy, czyli takiego, w którym wartość funkcji celu jest najlepsza. Zależnie od sformułowania zadania będzie to wartość największa i najmniejsza, ale zawsze ekstremalna. Poszukiwanie ekstremum może się odbywać w pewnym ograniczonym obszarze zawierającym tylko jedno ekstremum - mówimy wówczas o poszukiwaniu ekstremum lokalnego. Może też odbywać się w całej przestrzeni argumentów i wówczas mówimy o poszukiwaniu ekstremum globalnego. Zadanie nie zawsze udaje się rozwiązać poprawnie. Mimo bowiem istnienia ekstremum globalnego procedura poszukiwania może się zakończyć w punkcie będącym ekstremum lokalnym. Większość algorytmów numerycznych to algorytmy poszukiwania ekstremum lokalnego. Skuteczność działania takich procedur jest więc w dużym stopniu uwarunkowana wyborem odpowiedniego punktu startowego.

Wśród metod optymalizacji statycznej wyróżnia się dwie zasadnicze grupy: programowanie liniowe i programowanie nieliniowe. Programowanie liniowe polega na poszukiwaniu ekstremum liniowej funkcji celu przy ograniczeniach będących również funkcjami liniowymi. W zagadnieniach programowania liniowego ekstremum jest zawsze globalne w danym obszarze poszukiwań. Programowanie nieliniowe polega na poszukiwaniu ekstremum funkcji celu dowolnej postaci, przy ograniczeniach będących również wyrażonymi przez dowolne funkcje.

Typowe zagadnienie optymalizacji dynamicznej polega na poszukiwaniu takiego ciągu decyzji w danym przedziale czasu, który zapewni ekstremum pewnego wskaźnika jakości zależącego od przebiegu zmian tej decyzji, określanym na całym przedziale czasu. Wskaźnik jakości jest więc funkcjonałem tej decyzji, określanym na danym przedziale czasu.

Metody optymalizacji[edytuj | edytuj kod]

Zobacz też[edytuj | edytuj kod]