Rather than generating multiple separate scenarios, stochastic optimization is based on the generation of scenario trees, where various scenarios share a common history before they branch apart. There are different mathematical concepts for the generation of these trees, which can alternatively be applied in DTrees' products. Each single node of the scenario tree holds the future states of crucial uncertain impacts that are key to a utilities generation system and trading portfolio operation. These uncertainties involve such as

- spot market prices
- forward market prices
- retail load
- wind generation
- inflows to hydro reservoirs
- ...

Each path of the scenario tree represents a joint discrete evolution of all these impacts, which altogether result in a multidimensional scenario tree. The values for all the multidimensional nodes are calculated based on information of

- expected
- evolution
- volatility
- correlation

of all the uncertain impacts. For price evolutions, in particular, special stochastic processes including jump diffusion and mean reversion processes are applied for the generation of the price components of the multidimensional tree.

The spot price component of such a multidimensional scenario tree is shown below. Depending on the expected evolution and volatility, the spot price scenarios are scattered over a more or less broad range. With respect to what objective needs to be accomplished by the optimization model that the scenario tree is applied to, the timely granularity could be months, weeks, days or hours or a combination of these.

The concept of stochastic optimization is now based on the determination of optimal decisions in each node of the scenario tree. These decisions are

- based on one unique history of impacts and decisions
- optimal with respect to all subsequent scenarios.

Obviously, in each of the nodes of a particular time step, different decisions are determined based on the individual situation. With these decisions being linked to previous decisions by such as portfolio book balances or resource balances, all previous decisions are optimally matched to the different future decisions in each of the various scenarios. Therewith, in particular today's decision is then optimally determined with respect to all future uncertain evolutions and all future potential decisions to be taken in order to respond to these scenarios.

With the optimization of decisions based on scenario trees, we obtain decision trees from which can be derived what to do in a particular scenario path and - more importantly - what to do now.

The multidimensional scenario tree together with the mathematical formulation of the optimization problem, which is composed by an objective function and a number of constraints, defines the overall mathematical model to be solved. Thereby, the objective function can focus on the minimization of procurement costs or the maximization of sales profits.

Crucially, each scenario enters the objective function with a certain probability. All restrictions to the model, such as resource or book balance equations, limits on power production, procurement and sales need to hold for each of the individual scenarios. The illustration below shows the growth of the mathematical model with respect to the subsequent branching of the scenario tree, since all restrictions need to hold for all scenarios.

With this mathematical modeling approach, decisions that are taken early and impact points in time far in the future, as it holds for forward trading, can be represented. These unique decisions are optimized with respect to all possible price scenarios that may be realized in the future.

As illustrated below, the mathematical model is passed to IBM ILOG CPLEX or to Gurobi to be solved. Decision Trees has vast experience in configuration of CPLEX to reduce the solution time of the model to a minimum. Various solver options are available that can be chosen dependent on the structure of the model to be solved. Finally, after the solution of the model, all optimized decisions are quantified. But only the first time stage's decisions are applied in practice, all future stages' decisions in potential scenarios would only apply if one of the scenarios then would become reality. Therefore, in future situations new models are set up based on new information on uncertainties. This approach is called rolling optimization.