Confuse for two concepts

Dear dynare team, recently I have a question about two concepts. When we solve the the stochastic neoclassical growth model, we can use value function iterate to find policy function and value function. And I called this as dynamic programming approach. However, we can also write a mod file using dynare to slove it, is it right? Then what difference between these two approaches? Comparing the numerical analysis code of DP, I find the dynare is more easily to use. So, why many people still using value function iterate? Maybe this question is stupid, but I am really looking forward to your reply. Thanks a lot.


The main difference is that in Dynare you have to provide the necessary conditions of the optimization programs. So it is more work on the user side, but we have more efficient and scalable algorithms to solve the (approximated) first order conditions for the policy rules. The DP approach is far less scalable, ie only deals with a small number of state variables, and is also far less obvious if you are interested by something more complex than an economy governed by a benevolent social planner (ie if you are interested in a decentralized economy with markets and prices). That said, there are situations where this approach is often preferred (for instance in small models with occasionally binding constraints.


Adding to @stepan-a’s point: Value Function Iteration is a global nonlinear solution technique. Dynare’s strength is in local linear (or polynomial) solution techniques. Thus, there is a tradeoff between applicability (you cannot do perturbation on non-differentiable models), accuracy, and speed.