Programowanie liniowe to dział matematyki i statystyki, który pozwala naukowcom określać rozwiązania problemów optymalizacji. Problemy programowania liniowego wyróżniają się tym, że są jasno zdefiniowane pod względem funkcji celu, ograniczeń i liniowości. Cechy charakterystyczne programowania liniowego sprawiają, że jest to niezwykle użyteczna dziedzina, która znalazła zastosowanie w stosowanych dziedzinach, od logistyki po planowanie przemysłowe.
Wszystkie problemy programowania liniowego są problemami optymalizacji. Oznacza to, że prawdziwym celem rozwiązania problemu programowania liniowego jest zmaksymalizowanie lub zminimalizowanie pewnej wartości. Tak więc problemy programowania liniowego często występują w ekonomii, biznesie, reklamie i wielu innych dziedzinach, w których ceni się wydajność i oszczędność zasobów. Przykładami elementów, które można zoptymalizować, są zysk, pozyskiwanie zasobów, czas wolny i użyteczność.
Jak sama nazwa wskazuje, wszystkie problemy programowania liniowego mają cechę bycia liniowym. Jednak ta cecha liniowości może być myląca, ponieważ liniowość odnosi się tylko do zmiennych będących pierwsza potęga (a zatem z wyłączeniem funkcji potęgowych, pierwiastków kwadratowych i innych nieliniowych Funkcje). Liniowość nie oznacza jednak, że funkcje zadania programowania liniowego dotyczą tylko jednej zmiennej. Krótko mówiąc, liniowość w problemach programowania liniowego pozwala zmiennym odnosić się do siebie jako współrzędne na linii, z wyłączeniem innych kształtów i krzywych.
Wszystkie problemy programowania liniowego mają funkcję zwaną „funkcją celu”. Funkcja celu to napisane w kategoriach zmiennych, które można dowolnie zmieniać (np. czas spędzony na pracy, wyprodukowane jednostki itp. na). Funkcja celu to ta, którą osoba rozwiązująca problem programowania liniowego chce zmaksymalizować lub zminimalizować. Wynik zadania programowania liniowego zostanie podany w postaci funkcji celu. Funkcja celu jest pisana z dużej litery „Z” w większości problemów programowania liniowego.
Wszystkie problemy programowania liniowego mają ograniczenia dotyczące zmiennych wewnątrz funkcji celu. Ograniczenia te przyjmują formę nierówności (np. „b < 3”, gdzie b może oznaczać jednostki książek pisanych przez autora miesięcznie). Nierówności te określają, w jaki sposób można maksymalizować lub minimalizować funkcję celu, ponieważ razem określają „dziedzinę”, w której organizacja może podejmować decyzje dotyczące zasobów.