Non-Anticipativity Constraints

Non-anticipativity constraints enforce that decisions made at any stage of a multi-stage stochastic program depend only on information available up to that stage. On a scenario tree, this means that any two scenarios sharing the same node must take the same decision at that node. This lesson introduces the rule, shows how to write the constraints from a tree, how to verify them against a candidate solution, and how to count them.

Step 1 of 157%

Tutorial

Introduction to Non-Anticipativity

In a multi-stage stochastic program, decisions unfold over time as uncertain information is gradually revealed. A decision made at stage tt may depend only on what has been observed up to stage tt -- it cannot "anticipate" information that has not yet been revealed.

Non-anticipativity constraints enforce this rule on the scenario tree: if two scenarios pass through the same node at stage tt (so they are indistinguishable up to that stage), then the decisions taken at stage tt under those scenarios must be equal.

Letting xtsx_t^{s} denote the decision made at stage tt under scenario s,s, if scenarios ss and ss' share the same node at stage t,t, then

xts=xts.x_t^{s} = x_t^{s'}.

In any two-stage problem, the stage-11 decision is made before any uncertainty is resolved. Every scenario passes through the same root node, so all stage-11 decisions must coincide:

x1s1=x1s2==x1sS.x_1^{s_1} = x_1^{s_2} = \cdots = x_1^{s_S}.

The stage-22 decisions, made after the scenario has been observed, are allowed to differ across scenarios.

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle