תכנות לינארי הוא ענף של מתמטיקה וסטטיסטיקה המאפשר לחוקרים לקבוע פתרונות לבעיות אופטימיזציה. בעיות תכנות ליניאריות מובחנות בכך שהן מוגדרות בבירור במונחים של פונקציה אובייקטיבית, אילוצים וליניאריות. המאפיינים של תכנות ליניארי הופכים אותו לתחום שימושי ביותר שמצא שימוש בתחומים יישומיים החל מלוגיסטיקה ועד תכנון תעשייתי.
כל בעיות התכנות הליניאריות הן בעיות אופטימיזציה. פירוש הדבר שהמטרה האמיתית מאחורי פתרון בעיית תכנות ליניארית היא למקסם או למזער ערך כלשהו. לפיכך, בעיות תכנות ליניאריות נמצאות לעיתים קרובות בכלכלה, בעסקים, בפרסום ובתחומים רבים אחרים שמעריכים יעילות ושימור משאבים. דוגמאות לפריטים שניתן לבצע אופטימיזציה הם רווח, רכישת משאבים, זמן פנוי ותועלת.
כפי שהשם מרמז, לבעיות תכנות ליניאריות יש את התכונה להיות ליניארית. עם זאת, תכונה זו של לינאריות עלולה להטעות, שכן ליניאריות מתייחסת רק למשתנים שהם הכוח הראשון (ולכן לא כולל פונקציות כוח, שורשים מרובעים ושאר לא ליניארי פונקציות). אולם ליניאריות לא אומרת שהפונקציות של בעיית תכנות ליניארית הן רק של משתנה אחד. בקיצור, ליניאריות בבעיות תכנות ליניאריות מאפשרת למשתנים להתייחס זה לזה כקואורדינטות על קו, לא כולל צורות וקימורים אחרים.
לכל בעיות התכנות הליניאריות יש פונקציה הנקראת "פונקציה אובייקטיבית". הפונקציה האובייקטיבית היא כתוב במונחים של המשתנים שניתן לשנות כרצונם (למשל, זמן שהושקע בעבודה, יחידות שהופקו וכן הלאה עַל). הפונקציה האובייקטיבית היא זו שהפתרון של בעיית תכנות ליניארית רוצה למקסם או למזער. התוצאה של בעיית תכנות ליניארית תינתן מבחינת הפונקציה האובייקטיבית. הפונקציה האובייקטיבית נכתבת באות הגדולה "Z" ברוב בעיות התכנות הליניאריות.
לכל בעיות התכנות הליניאריות יש מגבלות על המשתנים בתוך הפונקציה האובייקטיבית. אילוצים אלה לובשים צורה של אי-שוויון (למשל, "b <3" כאשר b עשוי לייצג את יחידות הספרים שנכתבו על ידי מחבר בחודש). אי-שוויון זה מגדיר כיצד ניתן למקסם או למזער את הפונקציה האובייקטיבית, שכן יחד הם קובעים את "התחום" בו יכול הארגון לקבל החלטות בנוגע למשאבים.