Linjär programmering använder matematiska ekvationer för att lösa affärsproblem. Om du till exempel måste bestämma hur många och hur mycket av fyra olika produktlinjer som ska tillverkas till julköpssäsongen tar linjär programmering dina alternativ och räknar matematisk ut den blandning av produkter som ger maximal vinst. Eftersom antalet variabler ofta är stort förlitar sig linjära programmerare på datorer för att göra beräkningarna.
Modeling
För att använda linjär programmering måste du konvertera ditt problem till en matematisk modell. För att göra detta behöver du ett mål som att maximera vinsten eller minimera förluster. Modellen måste också innehålla beslutsvariabler som påverkar dessa mål och begränsningar som begränsar vad du kan göra. Om du till exempel har begränsade leveranser och vill veta om du ska koncentrera dig på avancerade produkter eller en större produktion av billigare varor för att maximera vinsten, för denna modell har du ett mål, variabler och begränsningar, så du har vad du behöver börja.
Linearity
Linjär programmering bygger logiskt nog på linjära ekvationer: Om du fördubblar försäljningen medan allt annat förblir konstant visar ekvationen att du fördubblar dina intäkter. Vissa beslutsvariabler har dock en icke-linjär effekt. Om du till exempel fördubblar din budget för en nystartad verksamhet betyder det inte att du också fördubblar vinster eller utgifter för det första året. Skaleffektivitet relaterar ofta inte till linjära effekter. Alternativ till linjär programmering som målprogrammering tar hänsyn till icke-linjära variabler.
Reality
Linjär programmering är bara effektiv om modellen du använder återspeglar den verkliga världen. Varje modell förlitar sig på vissa antaganden och de kan vara ogiltiga: du antar till exempel att tredubbla produktion kommer att tredubbla försäljningen, men i själva verket mättar marknaden. Linjära ekvationer ger ibland resultat som inte är vettiga i den verkliga världen, till exempel ett resultat som indikerar att du bör avtala för att bygga 23,75 slagfartyg för marinen för att maximera vinsten - hur kommer du att hantera 0,75 i praktiska termer? Kvalificerade linjära programmerare kan dock justera modeller och ekvationer för att hantera dessa problem.
Oflexibilitet
Vissa situationer har för många möjligheter att passa in i en linjär programmeringsformel. En medicinsk praxis kan använda linjär programmering för att bestämma den optimala strålningsbehandlingen för cancerpatienter, men medicinska tillstånd är så olika, läkare finner oundvikligen några som inte passar någon linjär modell. Linjär programmering har naturligtvis inte någon intuition eller tarminstinkt; Heath Hammett, som arbetar med linjära program för militären, berättade tidningen "Signal" 2005 att det är därför det är nödvändigt för människor att granska slutsatserna om linjär programmering innan de agerar på dem.