Programowanie matematyczne jest to zbiór metod poszukiwania punktu optymalizującego (minimalizującego lub maksymalizującego) wartość funkcji rzeczywistej w podzbiorze przestrzeni K". Jednym z działów programowania matematycznego jest programowanie liniowe, w którym optymalizuje się wartość funkcji liniowej na zbiorze określonym przez układ warunków (równań i nierówności) liniowych.
Metoda sympleks opracowana przez Georga Dantziga jest iteracyjną metodą rozwiązywania zadań programowania liniowego za pomocą kolejnego polepszania (optymalizacji) rozwiązania. Nazwa metody pochodzi od sympleksu, czyli otoczki wypukłej zbioru (n + l)-elementowego w przestrzeni n wymiarowej. Polega na sprawdzaniu kolejnych wierzchołków wielościanów, w ten sposób, że przechodzi się od wierzchołka do sąsiedniego wierzchołka w pewnym sympleksie optymalizując (zwiększając lub zmniejszając) wartość funkcji.
Oznaczenia:
:= {t G Z Nm := {t € N Dla A e Mm,„
• A,k oznacza k-tą kolumnę macierzy A,
• Aic* oznacza k-ty wiersz macierzy A.
Zatem A = (Atl ... A„„) lub A = (Ai*... Ant)T.
Dla A 6 Mmi„, m < n, B C Ni,n (B - zbiór m-elementowy):
• B' := Ni,n \ B,
Definicja 1 Problemem programowania liniowego (problemem PL) nazywamy następujący problem: dla dowolnie ustalonych m, n € N oraz macierzy A € Mm<n, b 6 Mm,i, c € Mi n, zminimalizować funkcjonał
M„4 3 x *—> cx (1)
przy warunkach
Ax = b (2)
oraz
x>0. (3)
Warunki (2)-(3) nazywamy warunkami ograniczającymi, zaś funkcjonał (1) nazywamy funkcją celu. .
Definicja 2 Rozwiązaniem dopuszczalnym problemu PL nazywamy wektor x spełniający warunki ograniczające (2)-(3). Zbiór
V := {x E Mn,i : Ax = b,x > 0} (4)
nazywamy zbiorem rozwiązań dopuszczalnych.
2