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.
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 may depend only on what has been observed up to stage -- 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 (so they are indistinguishable up to that stage), then the decisions taken at stage under those scenarios must be equal.
Letting denote the decision made at stage under scenario if scenarios and share the same node at stage then
In any two-stage problem, the stage- decision is made before any uncertainty is resolved. Every scenario passes through the same root node, so all stage- decisions must coincide:
The stage- decisions, made after the scenario has been observed, are allowed to differ across scenarios.