La programmazione lineare è una branca della matematica e della statistica che consente ai ricercatori di determinare soluzioni a problemi di ottimizzazione. I problemi di programmazione lineare sono distintivi in quanto sono chiaramente definiti in termini di funzione obiettivo, vincoli e linearità. Le caratteristiche della programmazione lineare ne fanno un campo estremamente utile che ha trovato impiego in campi applicativi che vanno dalla logistica alla progettazione industriale.
Tutti i problemi di programmazione lineare sono problemi di ottimizzazione. Ciò significa che il vero scopo alla base della risoluzione di un problema di programmazione lineare è massimizzare o ridurre al minimo un valore. Pertanto, i problemi di programmazione lineare si trovano spesso nell'economia, negli affari, nella pubblicità e in molti altri campi che danno valore all'efficienza e alla conservazione delle risorse. Esempi di elementi che possono essere ottimizzati sono profitto, acquisizione di risorse, tempo libero e utilità.
Come suggerisce il nome, i problemi di programmazione lineare hanno tutti la caratteristica di essere lineari. Tuttavia, questo tratto di linearità può essere fuorviante, poiché la linearità si riferisce solo alle variabili che sono a la prima potenza (e quindi escludendo funzioni di potenza, radici quadrate e altre non lineari funzioni). La linearità non significa, tuttavia, che le funzioni di un problema di programmazione lineare siano di una sola variabile. In breve, la linearità nei problemi di programmazione lineare consente alle variabili di relazionarsi tra loro come coordinate su una linea, escludendo altre forme e curve.
Tutti i problemi di programmazione lineare hanno una funzione chiamata "funzione obiettivo". La funzione obiettivo è scritto in termini di variabili che possono essere modificate a piacimento (ad esempio, tempo speso per un lavoro, unità prodotte e così sopra). La funzione obiettivo è quella che il risolutore di un problema di programmazione lineare desidera massimizzare o minimizzare. Il risultato di un problema di programmazione lineare sarà dato in termini di funzione obiettivo. La funzione obiettivo è scritta con la lettera maiuscola "Z" nella maggior parte dei problemi di programmazione lineare.
Tutti i problemi di programmazione lineare hanno vincoli sulle variabili all'interno della funzione obiettivo. Questi vincoli assumono la forma di disuguaglianze (ad esempio, "b < 3" dove b può rappresentare le unità di libri scritti da un autore al mese). Queste disuguaglianze definiscono come la funzione obiettivo può essere massimizzata o minimizzata, poiché insieme determinano il "dominio" in cui un'organizzazione può prendere decisioni sulle risorse.