[JustForFunEconomics] Dynamic Programming for Cake Eating Problem — (1) Intro
Hi, in this posting, let’s talk Cake Eating problem which can be categorized in the Dynamic Optimization problem utilizing Dynamic Programming.
By the way, this method of planning can also be applied in diverse areas, not just in eating a mere cake, but, in setting up a plan to finish up a bottle of wine! (Sorry for the not-funny-at-all joke..)
1. Overview
Dynamic Programming as a way to address dynamic optimization problems in Economics dates back to the contribution of Bellman(1957). For further details and more information, check out the two Wikipedia pages below!
So, what is Dynamic Programming? Is it something about writing a program dynamically? Actually this was my first impression of the term. It sounded super fancy so I checked it, and what I faced was bunch of math. So, unlike what is sounds, Dynamic Programming is more about ‘planning’ (planning with math!), rather than ‘programming’ or ‘coding’(but we will use codes to solve this in Python later on). Thereby, it is natural to use this method to plan for optimal consumption plan to achieve the utmost level of utility. Basically, from what I understand, this Cake-Eating problem is like an appetizer for people interested in utilizing Dynamic Programming in Economics. (And here I am struggling to chew and swallow this cute little appetizer even before having the main dish..)
2. Consumer’s Decision-making basics
Simply put, let’s say c is a vector of consumption goods, p is a vector of prices and I, income. And u(c) means a utility level coming from consuming c.
In Short, these can be put like the following.
And the best decision comes out by solving the above problem. (First Order Condition)
3. Cake-Eating Problem: definition and set up
(Is it true that Medium does not support subscript yet??? Hm,,,)
t: time period from 1 to T; 1, 2, 3, ……… , (T-1), T
W(t): Cake size at time period t
c(t): consumption of the cake at time t
u(c(t)): utility from the consumption c(t)
b: discount factor, 0≤b≤1
So, we can figure out that the evolution of the size of a cake would be governed by the following formula, W(t+1) = W(t)-c(t). And c(t) should be always less or equal to W(t), as we cannot eat more than what we have.
The total utility that we will have by consuming the whole cake would be the following. We use b to discount future utility level to that of the current.
To make the problem simpler and easier, we will add some assumptions about the utility function.
(1) The utility function is real-valued.
(2) The utility function is differentiable.
(3) The utility function is strictly increasing and strictly concave.
(4) The derivative of the Utility function having c to zero will be infinite.
Also, as you can see, the utility function is not having any t, time period value in it, which means our preference and appetite will be stationary the whole time.
So, now we are ready to dive in to solve this problem! But, I need to read and learn more to write up about that, so see you in the next posting!
I hope you stay safe!