{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "**Lagrange multiplier method**"
      ],
      "metadata": {
        "id": "2ZeU7JLHN7lQ"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Let's consider the Lagrange multiplier method using a specific example. Solve the problem of conditional optimization:\n",
        "\n",
        "\n",
        "![image.png](data:image/png;base64,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)"
      ],
      "metadata": {
        "id": "bZsgaVFoN8d3"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import sympy as sp\n",
        "def obj_func(x,y):\n",
        "  return 4*x+3*y\n",
        "\n",
        "def constr(x,y):\n",
        "  return x**2+y**2-1"
      ],
      "metadata": {
        "id": "BVtRC0ANRC6T"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Let us compose the Lagrange function of the problem under consideration and let's find the partial derivatives of the Lagrange function with respect to all variables:\n",
        "\n",
        "![image.png](data:image/png;base64,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)"
      ],
      "metadata": {
        "id": "oFkBIYQ6PJq_"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "x,y,l0,l1=sp.symbols('x y l0 l1')\n",
        "\n",
        "lagrange=l0*(4*x+3*y)+l1*(x**2+y**2-1)\n",
        "df_dx=sp.diff(lagrange,x)\n",
        "df_dy=sp.diff(lagrange,y)\n",
        "df_dl1=sp.diff(lagrange,l1)\n",
        "\n",
        "print(df_dx,'\\n',df_dy,'\\n',df_dl1)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "j2gFkN6iO457",
        "outputId": "837de028-6f38-4501-bbf7-c87d2cbe988e"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "4*l0 + 2*l1*x \n",
            " 3*l0 + 2*l1*y \n",
            " x**2 + y**2 - 1\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "It is necessary to solve the system by equating the partial derivatives to zero.  "
      ],
      "metadata": {
        "id": "RmPGD3mkjj9S"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "solutions=sp.solve([df_dx,df_dy,df_dl1],(x,y,l1),dict=True)\n",
        "\n",
        "for sol in solutions:\n",
        "  print(sol)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "SsCqPMNQju3I",
        "outputId": "c030acd2-1548-49a4-8e44-c47754dec533"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{l1: -5*l0/2, x: 4/5, y: 3/5}\n",
            "{l1: 5*l0/2, x: -4/5, y: -3/5}\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        " In this case, it is worth considering two cases: l0 = 0 and l0 = 1.\n",
        "\n",
        "Let l0=0."
      ],
      "metadata": {
        "id": "PRzwKbZekw2h"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "l0_value = 0\n",
        "for sol in solutions:\n",
        "    sol_substituted = {k: v.subs(l0, l0_value) for k, v in sol.items()}\n",
        "    print(sol_substituted)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "A7gK7Vmekx43",
        "outputId": "08981940-6e1e-4c3f-dda8-a0bef3ef62eb"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{l1: 0, x: 4/5, y: 3/5}\n",
            "{l1: 0, x: -4/5, y: -3/5}\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "It can be seen that the entire vector of Lagrange multipliers turned out to be zero. This does not satisfy the theorem on the necessary condition for an extremum. Therefore, this case should not be considered. Let l0=1."
      ],
      "metadata": {
        "id": "5X8BBeZ7lKx_"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "l0_value = 1\n",
        "for sol in solutions:\n",
        "    sol_substituted = {k: v.subs(l0, l0_value) for k, v in sol.items()}\n",
        "    print(sol_substituted)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "WoY_mB7clX1w",
        "outputId": "9a35757e-484a-4286-f230-86c923cacd4c"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{l1: -5/2, x: 4/5, y: 3/5}\n",
            "{l1: 5/2, x: -4/5, y: -3/5}\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "It can be seen that the vector of Lagrange multipliers is different from zero. This means that the obtained point is suspicious for an extremum.\n",
        "\n",
        "In this example, it is convenient to use the Weierstrass theorem. It is applicable, since we are looking for the extremum on the circle, which is a compact set, and the objective function is continuous. This means that the objective function reaches its maximum and minimum on the circle. Let us find the values ​​of the objective function at the found points."
      ],
      "metadata": {
        "id": "y-BeyqPaloWN"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "for sol in solutions:\n",
        "    print(obj_func(sol[x], sol[y]))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "eFjnQ4GzlpId",
        "outputId": "f3e9579d-c995-46bc-ec29-92b6624fccd9"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "5\n",
            "-5\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Thus, the largest and smallest values ​​of the objective function were found.\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "**Task 1.**\n",
        "\n",
        "Solve the problem of conditional optimization:\n",
        "\n",
        "1. ![image.png](data:image/png;base64,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)\n",
        "\n",
        "Add to your solution the output of the plot of the set on which you are searching for a solution and the level lines of the objective function"
      ],
      "metadata": {
        "id": "INNmP2gUmnBk"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "2. ![image.png](data:image/png;base64,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)\n",
        "\n",
        "Add to your solution the output of the plot of the set on which you are searching for a solution and the level lines of the objective function"
      ],
      "metadata": {
        "id": "EINr6PnMoNK4"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Task 2.**\n",
        "\n",
        "Find points that are suspected of being extrema by applying the theorem on the necessary condition for an extremum"
      ],
      "metadata": {
        "id": "0hwgnE4Fofco"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "1. ![image.png](data:image/png;base64,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)\n",
        "\n",
        "2. ![image.png](data:image/png;base64,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)\n",
        "3. ![image.png](data:image/png;base64,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)"
      ],
      "metadata": {
        "id": "B6oOrmS-py0O"
      }
    }
  ]
}