Stokastisk programmering hanterar komplexa matematiska optimeringsfrågor där okända variabler skapar ett antal möjliga lösningar. Detta kan innebära att man tar en modell genom en serie steg, som var och en kan påverkas av separata variabler. Matematiker kan tillämpa detta på problem relaterade till beslutsfattande, resursallokering och liknande aktiviteter. Det är också ett ämne för akademiska studier, där forskare arbetar med utvecklingen av nya och mer effektiva stokastiska programmeringsmodeller för att tillämpas på verkliga situationer.
Optimeringsproblem kan bli extremt komplexa. I mer grundläggande former är variablerna alla kända, vilket gör det möjligt att köra dem genom en ekvation för att komma fram till den mest lämpliga lösningen. Detta är vanligtvis inte möjligt i en situation där parametrarna är mindre säkra och okända variabler kan ha en inverkan på utfallet. Stokastiska programmerare förlitar sig på en sannolikhetsfördelning för att uppskatta intervallet för variablerna och tillämpa detta på ekvationen.
Vanliga exempel kan komma upp i matematisk modellering av händelser i den naturliga miljön. När fjärilar till exempel lägger ägg vill de optimera chanserna att kläckas och utvecklas till larver och sedan vuxna fjärilar. En stokastisk programmeringsmodell kan ge information om den bästa serien av beslut som fjärilen kan fatta. Variabler kan inkludera predation, temperaturförändringar och andra problem som hämmar kläckning eller dödar larverna innan de når vuxen ålder. Matematikern kan arbeta sig igenom ett antal steg för att optimera problemet.
Beslut i varje skede kan skära av eller öppna upp för beslut i nästa. Stokastisk programmering måste vara flexibel för att nå den optimala lösningen, samtidigt som man lägger en viss ordning på besluten för att göra det möjligt att kvantifiera dem i ett matematiskt problem. Graden av komplexitet kan bero på problemets natur; vissa är helt enkelt uppdelade i två steg, medan andra kan involvera multiplar. För varje steg är det möjligt att bestämma den optimala lösningen och att överväga vilken inverkan den kommer att ha på beslutsfattandet längs linjen.
Forskare kan använda detta verktyg på en mängd olika sätt, från att analysera djurs beteende till att titta på processerna bakom beslut i företagsvärlden. Den kan också användas för matematisk modellering för att stödja beslut i miljöer som företag. Värdepappershandlare kan till exempel betrakta stokastisk programmering som ett av de tillgängliga verktygen för att utforska optimala lösningar på problem. Analytiker kan utföra beräkningar av detta slag eller kan använda program som låter dem ställa in problem automatiskt och köra dem genom en rad möjliga scenarier.