Last active
January 6, 2026 19:44
-
-
Save alxtz/9c8590e578df220072fee00234a97c68 to your computer and use it in GitHub Desktop.
profit_modeling_eng2.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "id": "dcec6df6", | |
| "metadata": {}, | |
| "source": [ | |
| "### Dependencies" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 34, | |
| "id": "c3c85e6e", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import sympy as sp # pyright: ignore[reportMissingImports]\n", | |
| "symbol_x = sp.symbols('x')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "7712e22c", | |
| "metadata": {}, | |
| "source": [ | |
| "### profit function to consider" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 35, | |
| "id": "b4acb4d9", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "-x**2 - 10*x - 16\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "def f(x):\n", | |
| " # return (x**2 - 1) / (x - 1)\n", | |
| " # return (-2*(x**2) + 120 * x - 1000) / x\n", | |
| "\n", | |
| " # return -2*(x**2) + 120 * x - 1000\n", | |
| " return -(x**2) - 10 * x - 16\n", | |
| "\n", | |
| "sympy_f = f(sp.symbols('x'))\n", | |
| "print(sympy_f)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "328be42b", | |
| "metadata": {}, | |
| "source": [ | |
| "### root of profit function" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 36, | |
| "id": "6014e3b4", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "function for total profit: -x**2 - 10*x - 16\n", | |
| "when x = [-8, -2] the total profit is 0\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "roots = sp.solve(sympy_f, sp.symbols('x'))\n", | |
| "print(\"function for total profit:\", sympy_f)\n", | |
| "\n", | |
| "print(\"when x =\", roots, \"the total profit is 0\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 37, | |
| "id": "1548b900", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "import numpy as np # pyright: ignore[reportMissingImports]\n", | |
| "import matplotlib.pyplot as plt # pyright: ignore[reportMissingImports]\n", | |
| "\n", | |
| "def plot_profit_func():\n", | |
| " # Generate x values avoiding the undefined point\n", | |
| " x_values = np.linspace(0, 100, 100)\n", | |
| " y_values = f(x_values)\n", | |
| "\n", | |
| " plt.plot(x_values, y_values, label=r\"$f(x)$\")\n", | |
| " # plt.axvline(1, color='r', linestyle='--', label=r\"$x=1$ (undefined)\")\n", | |
| " # plt.axhline(2, color='g', linestyle='--', label=r\"$\\lim_{x \\rightarrow 1} f(x) = L$\")\n", | |
| " plt.title(f\"t-profit for x products sold f(x) = {sympy_f}\")\n", | |
| " plt.xlabel(r\"$x$\")\n", | |
| " plt.ylabel(r\"$f(x)$\")\n", | |
| " plt.legend()\n", | |
| " plt.grid(True)\n", | |
| " plt.xticks(np.arange(0, 101, 10))\n", | |
| " plt.scatter(roots, [0 for _ in roots], color='g')\n", | |
| " plt.show()\n", | |
| "plot_profit_func()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 38, | |
| "id": "d26a6bb8", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "starting profit (0 products sold) is: -16\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(\"starting profit (0 products sold) is:\", f(0))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 39, | |
| "id": "c4a37f8d", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "func for marginal profit: -2*x - 10\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "derivative_f_expr = sp.diff(sympy_f, sp.symbols('x'))\n", | |
| "derivative_f = sp.lambdify(sp.symbols('x'), sp.diff(sympy_f, sp.symbols('x')), 'numpy')\n", | |
| "\n", | |
| "\n", | |
| "print(\"func for marginal profit:\", derivative_f_expr)\n", | |
| "x_values = np.linspace(0, 100, 100)\n", | |
| "y_values = derivative_f(x_values)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 40, | |
| "id": "47aa3cad", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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VtyyZYt44cIFsXfv3pK9nXbEiBGira2tePToUZ23LGdnZ2vnGEreSZMmicePHxdv3bolnj9/Xvzqq69EmUwmHjhwwKByFuTf724TRcPJ+tlnn4lHjx4V4+PjxcjISLFDhw6itbW19u+QoeQUxX8up2BiYiLOnDlTvH79urh27VrRwsJCXLNmjXaOIeVVq9Vi5cqVxS+//PKF+wwpZ//+/UVXV1ftJQC2bNki2tvbi1988YVB5t23b5+4d+9eMT4+Xjxw4IBYt25dsXHjxmJeXp6kWYvj3/3hw4eLlSpVEg8ePCiePXtWfP/993kJACqaRYsWiVWqVBFNTU3FBg0aaN+6LqUjR46IAF746t+/vyiK/7wddOrUqaKTk5OoVCrF9957T7xw4YIkWQvKCUBcuXKldo6h5B04cKD2/3XFihXF1q1bawuSIeUsyH9LkqFkfX6tFoVCIbq4uIjdunUTL168aHA5n9u5c6fo5eUlKpVKsWbNmuLvv/+uc78h5d2/f78IQLx69eoL9xlSzoyMDHHs2LFi5cqVRTMzM7Fq1ari5MmTxdzcXIPMu3HjRrFq1aqiqamp6OTkJI4aNUp88uSJ5FmL49/9Z8+eiaNHjxbLly8vmpubix06dBATExP1klcQRVEs/uNTRERERMaN5yQRERERFYAliYiIiKgALElEREREBWBJIiIiIioASxIRERFRAViSiIiIiArAkkRERERUAJYkIiIiogKwJBEREREVgCWJiIiIqAAsSURE/2f9+vUwMzPD3bt3tWODBw9GnTp1kJ6eLmEyIpICP7uNiOj/iKKIevXqwd/fHwsXLsT06dOxfPlyREZGwtXVVep4RFTCTKQOQERkKARBwMyZM9G9e3e4uLhg3rx5CAsLY0EiKqN4JImI6D8aNGiAixcv4sCBA2jRooXUcYhIIjwniYjoX/bv348rV65ArVbD0dFR6jhEJCEeSSIi+j9nz55Fy5YtsWjRImzYsAEWFhbYtGmT1LGISCI8J4mICEBCQgICAwMxceJE9OvXD56enmjUqBGio6PRsGFDqeMRkQR4JImIyry0tDQ0b94c7733Hn777TfteOfOnZGbm4t9+/ZJmI6IpMKSRERERFQAnrhNREREVACWJCIiIqICsCQRERERFYAliYiIiKgALElEREREBWBJIiIiIioASxIRERFRAViSiIiIiArAkkRERERUAJYkIiIiogKwJBEREREVgCWJiIiIqAD/DxuHcWYI33lVAAAAAElFTkSuQmCC", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "def plot_marginal_profit_func():\n", | |
| " # Generate x values avoiding the undefined point\n", | |
| " x_values = np.linspace(0, 100, 100)\n", | |
| " y_values = derivative_f(x_values)\n", | |
| " # y_values = f(x_values)\n", | |
| "\n", | |
| " plt.plot(x_values, y_values, label=r\"$f'(x)$\")\n", | |
| " # plt.axvline(1, color='r', linestyle='--', label=r\"$x=1$ (undefined)\")\n", | |
| " # plt.axhline(2, color='g', linestyle='--', label=r\"$\\lim_{x \\rightarrow 1} f(x) = L$\")\n", | |
| " plt.title(f\"marginal profit f(x) = {0}\")\n", | |
| " plt.xlabel(r\"$x$\")\n", | |
| " plt.ylabel(r\"$f(x)$\")\n", | |
| " plt.legend()\n", | |
| " plt.grid(True)\n", | |
| " plt.xticks(np.arange(0, 101, 10))\n", | |
| " roots = sp.solve(derivative_f_expr, sp.symbols('x'))\n", | |
| " plt.scatter(roots, [0 for _ in roots], color='g')\n", | |
| " plt.show()\n", | |
| "plot_marginal_profit_func()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 41, | |
| "id": "87b52622", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "by solving f'(x), we may discover critical point candidates: [0]\n", | |
| "when producing exactly 0 products, there being a max profit of -16\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "critical_points = [p for p in sp.solve(derivative_f_expr, symbol_x) if p > 0] + [0]\n", | |
| "\n", | |
| "results = {p: f(p) for p in critical_points}\n", | |
| "\n", | |
| "max_value = max(results.values())\n", | |
| "\n", | |
| "best_p = max(results, key=results.get)\n", | |
| "\n", | |
| "print(f\"by solving f'(x), we may discover critical point candidates: {critical_points}\")\n", | |
| "\n", | |
| "print(f\"when producing exactly {best_p} products, there being a max profit of {max_value}\")" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "base", | |
| "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.13.7" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 5 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment