La programmation linéaire est une branche des mathématiques et des statistiques qui permet aux chercheurs de déterminer des solutions à des problèmes d'optimisation. Les problèmes de programmation linéaire se distinguent par le fait qu'ils sont clairement définis en termes de fonction objectif, de contraintes et de linéarité. Les caractéristiques de la programmation linéaire en font un domaine extrêmement utile qui a trouvé une utilisation dans des domaines appliqués allant de la logistique à la planification industrielle.
Tous les problèmes de programmation linéaire sont des problèmes d'optimisation. Cela signifie que le véritable objectif de la résolution d'un problème de programmation linéaire est de maximiser ou de minimiser une valeur. Ainsi, les problèmes de programmation linéaire se retrouvent souvent dans l'économie, les affaires, la publicité et de nombreux autres domaines qui valorisent l'efficacité et la conservation des ressources. Des exemples d'éléments qui peuvent être optimisés sont le profit, l'acquisition de ressources, le temps libre et l'utilité.
Comme son nom l'indique, les problèmes de programmation linéaire ont tous la particularité d'être linéaires. Cependant, ce trait de linéarité peut être trompeur, car la linéarité ne fait référence qu'aux variables à la première puissance (et donc à l'exclusion des fonctions puissances, racines carrées et autres les fonctions). La linéarité ne signifie cependant pas que les fonctions d'un problème de programmation linéaire ne sont que d'une variable. En bref, la linéarité dans les problèmes de programmation linéaire permet aux variables de se rapporter les unes aux autres sous forme de coordonnées sur une ligne, à l'exclusion d'autres formes et courbes.
Tous les problèmes de programmation linéaire ont une fonction appelée « fonction objectif ». La fonction objectif est écrit en termes de variables qui peuvent être modifiées à volonté (par exemple, le temps passé sur un travail, les unités produites, etc. au). La fonction objectif est celle que le solveur d'un problème de programmation linéaire souhaite maximiser ou minimiser. Le résultat d'un problème de programmation linéaire sera donné en fonction de la fonction objectif. La fonction objectif est écrite avec la lettre majuscule "Z" dans la plupart des problèmes de programmation linéaire.
Tous les problèmes de programmation linéaire ont des contraintes sur les variables à l'intérieur de la fonction objectif. Ces contraintes prennent la forme d'inégalités (par exemple, « b < 3 » où b peut représenter les unités de livres écrits par un auteur par mois). Ces inégalités définissent comment la fonction objectif peut être maximisée ou minimisée, car ensemble elles déterminent le « domaine » dans lequel une organisation peut prendre des décisions concernant les ressources.