Programowanie matematyczne – problem optymalizacyjny postaci: Maksymalizacja przy warunkach
gdzie należy do jest podzbiorem przestrzeni zaś i są funkcjami zdefiniowanymi na tym podzbiorze.
Warunki 1. i 2. nazywane są warunkami ograniczającymi, natomiast funkcja to funkcja celu; rozwiązania tego problemu nazywa się rozwiązaniami optymalnymi. W języku teorii decyzji, gdzie programowanie matematyczne znalazło szerokie zastosowanie (np. przy optymalizacji struktury kosztów produkcji), pojęciom tym odpowiadają kolejno: warunek ograniczający decyzję, kryterium oceny decyzji oraz decyzja optymalna.
Problem został zdefiniowany jako problem maksymalizacji, jednak można przedstawić problem równoważny: Minimalizacja przy warunkach:
Nie istnieje jeden efektywny algorytm rozwiązania problemu programowania matematycznego, dlatego problemy należące do różnych klas rozwiązywane są różnymi metodami. Oto najważniejsze z nich: programowanie całkowitoliczbowe programowanie celowe programowanie dynamiczne programowanie kwadratowe programowanie liniowe programowanie nieliniowe programowanie sieciowe programowanie zero-jedynkowe