Ο γραμμικός προγραμματισμός είναι ένας κλάδος μαθηματικών και στατιστικών που επιτρέπει στους ερευνητές να καθορίσουν λύσεις σε προβλήματα βελτιστοποίησης. Τα προβλήματα γραμμικού προγραμματισμού είναι διακριτικά στο ότι ορίζονται σαφώς ως προς μια αντικειμενική συνάρτηση, τους περιορισμούς και τη γραμμικότητα. Τα χαρακτηριστικά του γραμμικού προγραμματισμού το καθιστούν ένα εξαιρετικά χρήσιμο πεδίο που έχει βρει χρήση σε εφαρμοσμένα πεδία, από την εφοδιαστική έως τον βιομηχανικό σχεδιασμό.
Όλα τα προβλήματα γραμμικού προγραμματισμού είναι προβλήματα βελτιστοποίησης. Αυτό σημαίνει ότι ο πραγματικός σκοπός της επίλυσης ενός προβλήματος γραμμικού προγραμματισμού είναι είτε να μεγιστοποιήσετε ή να ελαχιστοποιήσετε κάποια αξία. Έτσι, τα προβλήματα γραμμικού προγραμματισμού εντοπίζονται συχνά στα οικονομικά, στις επιχειρήσεις, στη διαφήμιση και σε πολλούς άλλους τομείς που εκτιμούν την αποδοτικότητα και τη διατήρηση των πόρων. Παραδείγματα στοιχείων που μπορούν να βελτιστοποιηθούν είναι το κέρδος, η απόκτηση πόρων, ο ελεύθερος χρόνος και η χρησιμότητα.
Όπως υποδηλώνει το όνομα, όλα τα προβλήματα γραμμικού προγραμματισμού έχουν όλα τα χαρακτηριστικά του να είναι γραμμικά. Ωστόσο, αυτό το χαρακτηριστικό της γραμμικότητας μπορεί να είναι παραπλανητικό, καθώς η γραμμικότητα αναφέρεται μόνο σε μεταβλητές την πρώτη ισχύ (και συνεπώς εξαιρουμένων των λειτουργιών ισχύος, των τετραγωνικών ριζών και άλλων μη γραμμικών λειτουργίες). Ωστόσο, η γραμμικότητα δεν σημαίνει ότι οι λειτουργίες ενός προβλήματος γραμμικού προγραμματισμού είναι μόνο μιας μεταβλητής. Με λίγα λόγια, η γραμμικότητα σε προβλήματα γραμμικού προγραμματισμού επιτρέπει στις μεταβλητές να σχετίζονται μεταξύ τους ως συντεταγμένες σε μια γραμμή, εξαιρουμένων άλλων σχημάτων και καμπυλών.
Όλα τα προβλήματα γραμμικού προγραμματισμού έχουν μια λειτουργία που ονομάζεται «αντικειμενική συνάρτηση». Η αντικειμενική συνάρτηση είναι γραμμένο σε όρους μεταβλητών που μπορούν να αλλάξουν κατά βούληση (π.χ. χρόνος που αφιερώνεται σε μια εργασία, μονάδες που παράγονται και ούτω καθεξής επί). Η αντικειμενική συνάρτηση είναι αυτή που ο επιλυτής ενός προβλήματος γραμμικού προγραμματισμού επιθυμεί να μεγιστοποιήσει ή να ελαχιστοποιήσει. Το αποτέλεσμα ενός γραμμικού προβλήματος προγραμματισμού θα δοθεί ως προς την αντικειμενική συνάρτηση. Η αντικειμενική συνάρτηση γράφεται με το κεφαλαίο γράμμα «Ζ» στα περισσότερα προβλήματα γραμμικού προγραμματισμού.
Όλα τα προβλήματα γραμμικού προγραμματισμού έχουν περιορισμούς στις μεταβλητές εντός της αντικειμενικής συνάρτησης. Αυτοί οι περιορισμοί έχουν τη μορφή ανισοτήτων (π.χ. "b <3" όπου το b μπορεί να αντιπροσωπεύει τις μονάδες βιβλίων που γράφει ένας συγγραφέας ανά μήνα). Αυτές οι ανισότητες καθορίζουν πώς η αντικειμενική συνάρτηση μπορεί να μεγιστοποιηθεί ή να ελαχιστοποιηθεί, καθώς μαζί καθορίζουν τον «τομέα» στον οποίο ένας οργανισμός μπορεί να λαμβάνει αποφάσεις σχετικά με τους πόρους.