Dynamic programming in a heuristically confined state space: a stochastic resource-constrained project scheduling application