ხაზოვანი პროგრამირება არის მათემატიკისა და სტატისტიკის დარგი, რომელიც მკვლევარებს საშუალებას აძლევს განსაზღვრონ ოპტიმიზაციის პრობლემების გადაჭრის გზები. ხაზოვანი პროგრამირების პრობლემები გამორჩეულია იმით, რომ ისინი მკაფიოდ განისაზღვრება ობიექტური ფუნქციის, შეზღუდვებისა და სწორხაზოვნების თვალსაზრისით. წრფივი პროგრამირების მახასიათებლები მას ძალზე სასარგებლო დარგად აქცევს გამოყენებულ სფეროებში, ლოგისტიკიდან დაწყებული ინდუსტრიული დაგეგმვით.
ყველა ხაზოვანი პროგრამირების პრობლემა ოპტიმიზაციის პრობლემაა. ეს ნიშნავს, რომ ხაზოვანი პროგრამირების პრობლემის გადაჭრის ნამდვილი მიზანი არის გარკვეული მნიშვნელობის მაქსიმალურად გაზრდა ან შემცირება. ამრიგად, ხაზოვანი პროგრამირების პრობლემები ხშირად გვხვდება ეკონომიკაში, ბიზნესში, რეკლამაში და სხვა მრავალ სფეროში, რომლებიც აფასებენ ეფექტურობასა და რესურსების დაზოგვას. იმ ნივთების მაგალითები, რომელთა ოპტიმიზაცია შესაძლებელია, არის მოგება, რესურსების შეძენა, თავისუფალი დრო და სარგებლობა.
როგორც სახელი მიანიშნებს, წრფივი პროგრამირების პრობლემებს აქვს ხაზოვანი ხასიათის ნიშანი. ამასთან, სწორხაზოვნების ეს თვისება შეიძლება შეცდომაში შეიყვანოს, რადგან სწორხაზოვნება მხოლოდ ცვლადებს ეხება პირველი სიმძლავრე (და ამიტომ გამორიცხავს დენის ფუნქციებს, კვადრატულ ფესვებს და სხვა არაწრფივ ხაზებს ფუნქციები). ამასთან, სწორხაზოვნება არ ნიშნავს, რომ წრფივი პროგრამირების პრობლემის ფუნქციები მხოლოდ ერთი ცვლადია. მოკლედ, სწორხაზოვანი პროგრამირების პრობლემებში სწორხაზოვნებას საშუალებას აძლევს ცვლადებს დაუკავშირდნენ ერთმანეთს, როგორც კოორდინატები ხაზზე, სხვა ფორმებისა და მრუდების გამოკლებით.
პროგრამირების ყველა სწორ პრობლემას აქვს ფუნქცია, რომელსაც "ობიექტური ფუნქცია" ეწოდება. ობიექტური ფუნქციაა დაწერილია იმ ცვლადების თვალსაზრისით, რომელთა შეცვლა შესაძლებელია სურვილისამებრ (მაგალითად, სამუშაოზე დახარჯული დრო, წარმოებული ერთეულები და ა.შ. ჩართულია). ობიექტური ფუნქცია არის ის, ვისაც სწორხაზოვანი პროგრამირების პრობლემის გადაჭრის სურვილი აქვს მაქსიმალურად გაზრდა ან შემცირდეს. წრფივი პროგრამირების პრობლემის შედეგი მოცემული იქნება ობიექტური ფუნქციის თვალსაზრისით. ობიექტური ფუნქცია იწერება დიდი ასოთი "Z" ხაზოვანი პროგრამირების უმეტეს პრობლემებში.
პროგრამირების ყველა სწორ პრობლემას აქვს შეზღუდვა ობიექტური ფუნქციის შიგნით არსებულ ცვლადებზე. ეს შეზღუდვები უთანასწორობის სახეს იღებს (მაგალითად, ”b <3”, სადაც b შეიძლება წარმოადგენდეს ავტორის მიერ დაწერილი წიგნების ერთეულებს თვეში). ეს უტოლობები განსაზღვრავს, თუ როგორ შეიძლება მაქსიმალურად შემცირდეს ან შემცირდეს ობიექტური ფუნქცია, რადგან ისინი ერთად განსაზღვრავენ "დომენს", რომელშიც ორგანიზაციას შეუძლია მიიღოს გადაწყვეტილებები რესურსების შესახებ.