{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# DiscreteDP Example: Asset Replacement with Maintenance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Daisuke Oyama**\n", "\n", "*Faculty of Economics, University of Tokyo*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From Miranda and Fackler, Applied Computational Economics and Finance, 2002,\n", "Section 7.6.3" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import quantecon as qe\n", "from quantecon.markov import DiscreteDP" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "maxage = 5 # Maximum asset age\n", "repcost = 75 # Replacement cost\n", "mancost = 10 # Maintainance cost\n", "beta = 0.9 # Discount factor\n", "m = 3 # Number of actions; 0: keep, 1: service, 2: replace" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Construct the state space which is two-dimensional\n", "s0 = np.arange(1, maxage+1) # Possible ages\n", "s1 = np.arange(maxage) # Possible servicings\n", "S = qe.cartesian([s0, s1]) # State space\n", "n = len(S) # Number of states" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0],\n", " [1, 1],\n", " [1, 2],\n", " [1, 3],\n", " [1, 4],\n", " [2, 0],\n", " [2, 1],\n", " [2, 2],\n", " [2, 3],\n", " [2, 4],\n", " [3, 0],\n", " [3, 1],\n", " [3, 2],\n", " [3, 3],\n", " [3, 4],\n", " [4, 0],\n", " [4, 1],\n", " [4, 2],\n", " [4, 3],\n", " [4, 4],\n", " [5, 0],\n", " [5, 1],\n", " [5, 2],\n", " [5, 3],\n", " [5, 4]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "S" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, in the state space we include states that are not reached\n", "due to the constraint that the asset can be serviced at most one per year,\n", "i.e., those pairs of the age of asset $a$ and the number of services $s$\n", "such that $s \\geq a$.\n", "\n", "One can alternatively define the state space excluding those states;\n", "see the section [Alternative formulation](#Alternative-formulation) below." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# We need a routine to get the index of a age-serv pair\n", "def getindex(age, serv, S):\n", " \"\"\"\n", " Get the index of [age, serv] in S.\n", " We know that elements in S are aligned in a lexicographic order.\n", " \"\"\"\n", " n = len(S)\n", " for i in range(n):\n", " if S[i, 0] == age:\n", " for k in range(n-i):\n", " if S[i+k, 1] == serv:\n", " return i+k" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Profit function as a function of the age and the number of service\n", "def p(age, serv):\n", " return (1 - (age - serv)/5) * (50 - 2.5 * age - 2.5 * age**2)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Reward array\n", "R = np.empty((n, m))\n", "R[:, 0] = p(S[:, 0], S[:, 1])\n", "R[:, 1] = p(S[:, 0], S[:, 1]+1) - mancost\n", "R[:, 2] = p(0, 0) - repcost\n", "\n", "# Infeasible actions\n", "for serv in range(maxage):\n", " R[getindex(maxage, serv, S), [0, 1]] = -np.inf" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 36., 35., -25.],\n", " [ 45., 44., -25.],\n", " [ 54., 53., -25.],\n", " [ 63., 62., -25.],\n", " [ 72., 71., -25.],\n", " [ 21., 18., -25.],\n", " [ 28., 25., -25.],\n", " [ 35., 32., -25.],\n", " [ 42., 39., -25.],\n", " [ 49., 46., -25.],\n", " [ 8., 2., -25.],\n", " [ 12., 6., -25.],\n", " [ 16., 10., -25.],\n", " [ 20., 14., -25.],\n", " [ 24., 18., -25.],\n", " [ 0., -10., -25.],\n", " [ 0., -10., -25.],\n", " [ 0., -10., -25.],\n", " [ 0., -10., -25.],\n", " [ 0., -10., -25.],\n", " [-inf, -inf, -25.],\n", " [-inf, -inf, -25.],\n", " [-inf, -inf, -25.],\n", " [-inf, -inf, -25.],\n", " [-inf, -inf, -25.]])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# (Degenerate) transition probability array\n", "Q = np.zeros((n, m, n))\n", "for i in range(n):\n", " Q[i, 0, getindex(min(S[i, 0]+1, maxage), S[i, 1], S)] = 1\n", " Q[i, 1, getindex(min(S[i, 0]+1, maxage), min(S[i, 1]+1, maxage-1), S)] = 1\n", " Q[i, 2, getindex(1, 0, S)] = 1" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Create a DiscreteDP\n", "ddp = DiscreteDP(R, Q, beta)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solve the dynamic optimization problem (by policy iteration)\n", "res = ddp.solve()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Number of iterations\n", "res.num_iter" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Optimal policy\n", "res.sigma" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 0] 1\n", "[2 0] 0\n", "[2 1] 1\n", "[3 0] 2\n", "[3 1] 0\n", "[3 2] 0\n", "[4 0] 2\n", "[4 1] 2\n", "[4 2] 2\n", "[4 3] 2\n", "[5 0] 2\n", "[5 1] 2\n", "[5 2] 2\n", "[5 3] 2\n", "[5 4] 2\n" ] } ], "source": [ "# Optimal actions for reachable states\n", "for i in range(n):\n", " if S[i, 0] > S[i, 1]:\n", " print(S[i], res.sigma[i])" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Simulate the controlled Markov chain\n", "res.mc.state_values = S # Set the state values\n", "initial_state_value = [1, 0]\n", "nyrs = 12\n", "spath = res.mc.simulate(nyrs+1, init=initial_state_value)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot sample paths of the age of asset (0th coordinate of spath)\n", "# and the number of services (1st coordinate of spath)\n", "fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n", "captions = ['Age of Asset', 'Number of Services']\n", "for i, caption in zip(range(2), captions):\n", " axes[i].plot(spath[:, i])\n", " axes[i].set_xlim(0, 12)\n", " axes[i].set_xlabel('Year')\n", " axes[i].set_ylabel(caption)\n", " axes[i].set_title('Optimal State Path: ' + caption)\n", "axes[0].set_yticks(np.linspace(1, 4, 4, endpoint=True))\n", "axes[0].set_ylim(1, 4)\n", "axes[1].set_yticks(np.linspace(0, 2, 3, endpoint=True))\n", "axes[1].set_ylim(0, 2.25)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Alternative formulation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define the state space excluding the age-serv pairs that do not realize:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Construct the state space which is two-dimensional\n", "s0 = np.arange(1, maxage+1) # Possible ages\n", "s1 = np.arange(maxage) # Possible servicings\n", "S = qe.cartesian([s0, s1]) # Including infeasible pairs as previously\n", "\n", "S = S[S[:, 0] > S[:, 1]] # Exclude infeasible pairs\n", "n = len(S) # Number of states" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0],\n", " [2, 0],\n", " [2, 1],\n", " [3, 0],\n", " [3, 1],\n", " [3, 2],\n", " [4, 0],\n", " [4, 1],\n", " [4, 2],\n", " [4, 3],\n", " [5, 0],\n", " [5, 1],\n", " [5, 2],\n", " [5, 3],\n", " [5, 4]])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "S" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We follow the state-action pairs formulation approach." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Reward array\n", "R = np.empty((n, m))\n", "for i, (age, serv) in enumerate(S):\n", " R[i, 0] = p(age, serv) if age < maxage else -np.infty\n", " R[i, 1] = p(age, serv+1) - mancost if age < maxage else -np.infty\n", " R[i, 2] = p(0, 0) - repcost" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([[ 36., 35., -25.],\n", " [ 21., 18., -25.],\n", " [ 28., 25., -25.],\n", " [ 8., 2., -25.],\n", " [ 12., 6., -25.],\n", " [ 16., 10., -25.],\n", " [ 0., -10., -25.],\n", " [ 0., -10., -25.],\n", " [ 0., -10., -25.],\n", " [ 0., -10., -25.],\n", " [-inf, -inf, -25.],\n", " [-inf, -inf, -25.],\n", " [-inf, -inf, -25.],\n", " [-inf, -inf, -25.],\n", " [-inf, -inf, -25.]])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Remove the state-action pairs yielding a reward negative infinity\n", "s_indices, a_indices = np.where(R > -np.infty)\n", "R = R[s_indices, a_indices]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 36., 35., -25., 21., 18., -25., 28., 25., -25., 8., 2.,\n", " -25., 12., 6., -25., 16., 10., -25., 0., -10., -25., 0.,\n", " -10., -25., 0., -10., -25., 0., -10., -25., -25., -25., -25.,\n", " -25., -25.])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Number of feasible state-action pairs\n", "L = len(R)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# (Degenerate) transition probability array\n", "Q = np.zeros((L, n)) # One may use a scipy.sparse matrix for a larger problem\n", "it = np.nditer((s_indices, a_indices), flags=['c_index'])\n", "for s, a in it:\n", " i = it.index\n", " if a == 0:\n", " Q[i, getindex(min(S[s, 0]+1, maxage), S[s, 1], S)] = 1\n", " elif a == 1:\n", " Q[i, getindex(min(S[s, 0]+1, maxage), min(S[s, 1]+1, maxage-1), S)] = 1\n", " else:\n", " Q[i, getindex(1, 0, S)] = 1" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Create a DiscreteDP\n", "ddp = DiscreteDP(R, Q, beta, s_indices, a_indices)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solve the dynamic optimization problem (by policy iteration)\n", "res = ddp.solve()" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Number of iterations\n", "res.num_iter" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 0, 1, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Optimal policy\n", "res.sigma" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Simulate the controlled Markov chain\n", "res.mc.state_values = S # Set the state values\n", "initial_state_value = [1, 0]\n", "nyrs = 12\n", "spath = res.mc.simulate(nyrs+1, init=initial_state_value)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot sample paths of the age of asset (0th coordinate of spath)\n", "# and the number of services (1st coordinate of spath)\n", "fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n", "captions = ['Age of Asset', 'Number of Services']\n", "for i, caption in zip(range(2), captions):\n", " axes[i].plot(spath[:, i])\n", " axes[i].set_xlim(0, 12)\n", " axes[i].set_xlabel('Year')\n", " axes[i].set_ylabel(caption)\n", " axes[i].set_title('Optimal State Path: ' + caption)\n", "axes[0].set_yticks(np.linspace(1, 4, 4, endpoint=True))\n", "axes[0].set_ylim(1, 4)\n", "axes[1].set_yticks(np.linspace(0, 2, 3, endpoint=True))\n", "axes[1].set_ylim(0, 2.25)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }