When solving lifecycle models with earnings-based pensions, one has to include an additional state variable: accumulated earnings. Then you end up having a model with two continuous states: (1) financial assets a_j and (2) accumulated earnings ep_j, where j denotes age as usual. My question is how to implement the value function iteration procedure in such a case. The VF is V_j(a,ep,shocks) and (ignoring the discrete shocks) is defined on a bidimensional grid A \times P. I have found a paper by Fehr and Uhde “On the Optimal Design of Pension Systems” link with a very nice numerical appendix that suggests the following approach:

1) Split the bi-dimensional grid into p_a \times p_p sections, and for each section find local optimum using Powell’s algorithm

2) Find the local optimum with the highest value of V

The procedure described above should work even if the value function is not globally concave, as in my case.

So I’m wondering if if this procedure or anything similar is implemented somewhere in the book/exercise manual files. Moreover, is Powell’s algorithm referenced in Fehr and Uhde (2013) available in the toolbox as “fminsearch”?

Many thanks in advance!

Best,

Alessandro