Stochastic programming handles complex mathematical optimization questions where unknown variables create a number of possible solutions. This may involve taking a model through a series of stages, each of which can be influenced by separate variables. Mathematicians can apply this to problems related to decision making, resource allocation, and similar activities. It is also a subject of academic study, where researchers work on the development of new and more effective stochastic programming models to apply to real-world situations.
Optimization problems can become extremely complex. In more basic forms, the variables are all known, which makes it possible to run them through an equation to figure out the most appropriate solution. This is not usually possible with a situation where the parameters are less certain, and unknown variables could have an influence on the outcome. Stochastic programmers rely on a probability distribution to estimate the range of the variables and apply this to the equation.
Common examples can come up in mathematical modeling of events in the natural environment. When butterflies lay eggs, for example, they want to optimize the chances of hatching and developing into larvae and then adult butterflies. A stochastic programming model can provide information about the best series of decisions the butterfly could make. Variables might include predation, temperature changes, and other issues that inhibit hatching or kill the larvae off before they reach adulthood. The mathematician can work through a series of stages to optimize the problem.
Decisions at each stage can cut off or open up decisions at the next. Stochastic programming needs to be flexible to reach the optimal solution, while still imposing some order on the decisions to make it possible to quantify them in a math problem. The level of complexity can depend on the nature of the problem; some are simply laid out in two stages, while others may involve multiples. For each stage, it is possible to determine the optimal solution, and to consider the impact it will have on decision making along the line.
Researchers can use this tool in a variety of ways, from analyzing animal behavior to looking at the processes behind decisions in the corporate world. It can also be used for mathematical modeling to support decisions in settings like business. Securities traders, for example, may consider stochastic programming as one of the tools available to explore optimal solutions to problems. Analysts can perform calculations of this nature or may use software programs that allow them to set problems up automatically and run them through a series of possible scenarios.