How does one go about modelling the cake eating problem with depreciation? (i.e The cake goes bad over time)

The problem I have is the following.

Lets define a cake eating problem sequentially as:

$$\max_{c_t} \ U(c_t)=\sum_{t=0}^\infty\beta^t\ln(c_t) $$

Subject to:

1.$ \ \ f(k_t)=c_t+x_t$ (resource constraint $c_t$ is consumption, $x_t$ is investment).

2.$ \ \ f(k_t)=k_t$ (Goods defined as dependent on cake size/capital at time $t$ as denoted by $k_t$).

3.$k_{t+1}=(1-\delta)k_t+x_t$ (law of motion).

4.$k_0>0$ (Initial capital stock).

when dealing with the case where $\delta=1$ the problem is fairly straight forward to solve recursively with the bellman equation of: $$v(k_t)=\max_{k_{t+1}} \left\{\ln(k_t-k_{t+1})+\beta v(k_{t+1}) \right\}$$

However If we were to consider the case of where "the cake goes bad" over time (meaning there is a cost to saving) it seems that modifying the standard framework would be necessary.

This is because if we allow for $\delta\neq0$ we end up with a result of "re-eating" of previously consumed cake. How do we go about addressing this problem?


1 Answer 1


It would seem that the way you've formulated your production function/law of motion has introduced double counting into the problem. Note that substituting 1 and 2 into 3 gives: $$k_{t+1}=(1-\delta)(c_t+x_t)+x_t$$ Where investment in period t is counted twice.

The correct law of motion is simply:

$$ 3. \: k_{t+1}=(1-\delta)x_t $$

And the general form of the Bellman equation would be: $$v(k_t)=\max_{k_{t+1}}\left\{\ln\left(k_t-\frac{k_{t+1}}{1-\delta}\right)+\beta v\left(\frac{k_{t+1}}{1-\delta}\right)\right\}$$

Hope this helps!

  • $\begingroup$ After examining the topic of dynamic programming more in depth, I'm convinced that the argument of the second part of the Bellman equation should be $k_{t+1}$, as this is the amount of cake that the agent has to consume/save in the following time period. Dividing by $1-\delta$ assumes that depreciation is not a factor. $\endgroup$
    – H Rogers
    Jan 9, 2020 at 19:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.