{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Optimization with qnewton\n", "\n", "**Randall Romero Aguilar, PhD**\n", "\n", "This demo is based on the original Matlab demo accompanying the Computational Economics and Finance 2001 textbook by Mario Miranda and Paul Fackler.\n", "\n", "Original (Matlab) CompEcon file: **demopt05.m**\n", "\n", "Running this file requires the Python version of CompEcon. This can be installed with pip by running\n", "\n", " !pip install compecon --upgrade\n", "\n", "Last updated: 2021-Oct-01\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from compecon import OP\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib import cm\n", "\n", "np.set_printoptions(precision=4,suppress=True)\n", "plt.style.use('seaborn')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 1\n", "Find the optimal value of \n", "$$f(x) = x^3 - 12x^2 + 36x + 8$$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x = [2.] \n", "J = [-0.] \n", "E = [-12.]\n" ] } ], "source": [ "def f(x):\n", " return x ** 3 - 12 * x ** 2 + 36 * x + 8\n", "\n", "F = OP(f)\n", "\n", "x = F.qnewton(x0=4.0)\n", "J = F.jacobian(x)\n", "E = np.linalg.eig(F.hessian(x))[0]\n", "\n", "print('x = ', x, '\\nJ = ', J, '\\nE = ', E)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": "[]" }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "xx = np.linspace(0,8.2,100)\n", "ax.plot(xx,f(xx))\n", "ax.plot(4,f(4),'b.',ms=10)\n", "ax.plot(x,f(x),'r.',ms=18)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Find the optimum for \n", "$$g(x,y) = 5 - 4x^2 - 2y^2 - 4xy - 2y$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0 0 1.12e+00\n", " 1 0 1.58e+00\n", " 2 0 1.22e-11\n", "x = [ 0.5 -1. ] \n", "J = [0. 0.] \n", "E = [-10.4721 -1.5279]\n" ] } ], "source": [ "def g(z):\n", " x, y = z\n", " return 5 - 4*x**2 - 2*y**2 - 4*x*y - 2*y\n", " \n", "G = OP(g, print=True)\n", "x = G.qnewton(x0=[-1, 1])\n", "J = G.jacobian(x)\n", "E = np.linalg.eig(G.hessian(x))[0]\n", "print('x = ', x, '\\nJ = ', J, '\\nE = ', E)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": "Text(0.5, 0, '$g(x_0,x_1)$')" }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xx0 = np.linspace(-1.0,2.0,25)\n", "xx1 = np.linspace(-2.5,0.5,25)\n", "x0, x1 = np.meshgrid(xx0,xx1)\n", "\n", "fig, ax = plt.subplots()\n", "ax = fig.add_subplot(1, 1, 1, projection='3d')\n", "ax.plot_surface(x0, x1, g([x0, x1]), rstride=1, cstride=1, \n", " cmap=cm.Spectral, linewidth=0, antialiased=False)\n", "ax.set_xlabel('$x_0$')\n", "ax.set_xticks(np.linspace(-1.0,2.0,4))\n", "ax.set_ylabel('$x_1$')\n", "ax.set_yticks(np.linspace(-2.5,0.5,4))\n", "ax.set_zlabel('$g(x_0,x_1)$')" ] } ], "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }