Non-Anticipativity is a structural constraint in multi-stage stochastic programming that forces a model to use only information available at the time a decision is made—not information that will only become known later. Sounds obvious. But without explicitly encoding it, a mathematical model can accidentally "peek" at future scenarios and generate solutions that look optimal on paper but are physically impossible to execute. The constraint ensures that decisions made at each stage are identical across all scenarios that are indistinguishable at that stage.
The situation: It is Monday. You must decide how much stock to order. You know Tuesday's demand could be 100 units (scenario A) or 200 units (scenario B), each with 50% probability.
A model without non-anticipativity: The model might say "In scenario A, order 100. In scenario B, order 200." That looks perfect—zero waste, zero stockout. But you have to place one order on Monday, before you know which scenario will occur. The model was implicitly assuming you'd know Tuesday's demand when placing Monday's order. That's not possible.
The non-anticipativity constraint: Forces Monday's decision to be the same value across both scenarios—because at that moment, you cannot distinguish between them. The model must now find the single best order quantity under genuine uncertainty, say 150 units, and then react to Tuesday's actual demand using a recourse decision (adjust Tuesday's pricing or allocation to manage the shortage or surplus).
The payoff: Solutions actually implementable because decisions respect causality and information flow.
The core mistake: Writing formulations that allow different decisions in different scenarios before uncertainty is revealed. This is easy to do by accident in stochastic models, especially when formulating recourse—the solver sees multiple scenarios as independent sub-problems and optimises each one separately, implicitly "knowing" which scenario occurs at decision time.
The result: Unrealistically good solution quality. A stochastic model that reports 10% cost reduction without explicit non-anticipativity constraints is often reporting the value of perfect foresight (knowing the future), not the value of a realistic recourse plan.
Where it matters: In energy scheduling, a power plant commitment made at 6am must be fixed regardless of which demand scenario plays out that afternoon. In supply chain, a production run started today cannot vary based on next week's price. In finance, a portfolio position taken now cannot depend on tomorrow's market move. When researchers claim near-perfect stochastic model performance, the first question to ask is: was non-anticipativity enforced? If not, the result is optimistic fiction—the model looked ahead.
Omitting non-anticipativity produces solutions that look optimal in-sample but require future information that does not exist at decision time. The in-sample optimum is an unrealisable fiction, not a useful benchmark.