Programowanie liniowe – klasa problemów programowania matematycznego, w której wszystkie warunki ograniczające oraz funkcja celu mają postać liniową[1]. Warunki ograniczające mają postać:
Mamy zmaksymalizować lub zminimalizować funkcję celu, również liniową:
Zmienne są liczbami rzeczywistymi.
Nie zawsze taki problem ma jakiekolwiek rozwiązanie, np.:
Być może też żadne rozwiązanie nie jest optymalne, ponieważ potrafimy uzyskać dowolnie dużą wartość funkcji celu, np.:
Programowanie liniowe znalazło szerokie zastosowanie w teorii decyzji, np. do optymalizacji planu produkcyjnego. Wiele problemów optymalizacyjnych znajduje rozwiązanie poprzez sprowadzenie ich do postaci problemu programowania liniowego.