Skip to main content
Glama

Constrained Optimization MCP Server

constrained_optimization_demo.ipynb412 kB
{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# General Purpose Constrained Optimization MCP Server \n", "\n", "This notebook demonstrates the capabilities, theory and of the Constrained Optimization MCP Server for solving various optimization problems including:\n", "\n", "1. **Constraint Satisfaction Problems** (Z3)\n", "2. **Convex Optimization** (CVXPY)\n", "3. **Linear Programming** (HiGHS)\n", "4. **Constraint Programming** (OR-Tools)\n", "5. **Portfolio Optimization**\n", "\n", "## Table of Contents\n", "\n", "1. [Setup and Installation](#setup)\n", "2. [Constraint Satisfaction Problems (Z3)](#z3-examples)\n", "3. [Convex Optimization (CVXPY)](#cvxpy-examples)\n", "4. [Linear Programming (HiGHS)](#highs-examples)\n", "5. [Constraint Programming (OR-Tools)](#ortools-examples)\n", "6. [Portfolio Optimization](#portfolio-examples)\n", "7. [Advanced Examples](#advanced-examples)\n", "8. [Performance Analysis](#performance-analysis)\n", "\n", "## Setup\n", "\n", "First, let's import the necessary libraries and set up the MCP server.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "✅ Libraries imported successfully!\n", "📅 Demo started at: 2025-09-13 12:10:58\n" ] } ], "source": [ "# Install the package if not already installed\n", "# !pip install constrained-opt-mcp\n", "\n", "# Import required libraries\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import cvxpy as cp\n", "from typing import Dict, List, Any, Optional\n", "import json\n", "import time\n", "from datetime import datetime, timedelta\n", "\n", "# Import MCP server components\n", "from constrained_opt_mcp.models.ortools_models import (\n", " ORToolsProblem, ORToolsVariable, ORToolsConstraint\n", ")\n", "from constrained_opt_mcp.solvers.ortools_solver import solve_problem\n", "\n", "# Set up plotting style\n", "plt.style.use('seaborn-v0_8')\n", "sns.set_palette(\"husl\")\n", "\n", "print(\"✅ Libraries imported successfully!\")\n", "print(f\"📅 Demo started at: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 📐 Mathematical Foundations\n", "\n", "### Optimization Theory Overview\n", "\n", "**Constrained Optimization** is the mathematical discipline of finding the best solution to a problem subject to constraints. The general form is:\n", "\n", "$$\\min_{x \\in \\mathbb{R}^n} f(x) \\quad \\text{subject to} \\quad \\begin{cases}\n", "g_i(x) \\leq 0, & i = 1, \\ldots, m \\\\\n", "h_j(x) = 0, & j = 1, \\ldots, p \\\\\n", "x \\in \\mathcal{X}\n", "\\end{cases}$$\n", "\n", "Where:\n", "- $f: \\mathbb{R}^n \\to \\mathbb{R}$ is the **objective function**\n", "- $g_i: \\mathbb{R}^n \\to \\mathbb{R}$ are **inequality constraints**\n", "- $h_j: \\mathbb{R}^n \\to \\mathbb{R}$ are **equality constraints**\n", "- $\\mathcal{X} \\subseteq \\mathbb{R}^n$ is the **feasible region**\n", "\n", "### Problem Classifications\n", "\n", "#### 1. **Linear Programming (LP)**\n", "$$\\min_{x} c^T x \\quad \\text{subject to} \\quad Ax \\leq b, \\quad x \\geq 0$$\n", "\n", "#### 2. **Quadratic Programming (QP)**\n", "$$\\min_{x} \\frac{1}{2}x^T Q x + c^T x \\quad \\text{subject to} \\quad Ax \\leq b, \\quad x \\geq 0$$\n", "\n", "#### 3. **Convex Optimization**\n", "$$\\min_{x} f(x) \\quad \\text{subject to} \\quad g_i(x) \\leq 0, \\quad h_j(x) = 0$$\n", "\n", "Where $f$ and $g_i$ are convex functions, and $h_j$ are affine functions.\n", "\n", "#### 4. **Constraint Satisfaction Problems (CSP)**\n", "Find $x \\in \\mathcal{D}$ such that $C_1(x) \\land C_2(x) \\land \\ldots \\land C_k(x)$\n", "\n", "Where $\\mathcal{D}$ is the domain and $C_i$ are logical constraints.\n", "\n", "### Duality Theory\n", "\n", "For any optimization problem, there exists a **dual problem**:\n", "\n", "**Primal:** $\\min_{x} f(x) \\quad \\text{s.t.} \\quad g_i(x) \\leq 0, \\quad h_j(x) = 0$\n", "\n", "**Dual:** $\\max_{\\lambda, \\nu} \\mathcal{L}(x^*, \\lambda, \\nu) \\quad \\text{s.t.} \\quad \\lambda \\geq 0$\n", "\n", "Where $\\mathcal{L}(x, \\lambda, \\nu) = f(x) + \\sum_i \\lambda_i g_i(x) + \\sum_j \\nu_j h_j(x)$ is the **Lagrangian**.\n", "\n", "### Optimality Conditions\n", "\n", "#### Karush-Kuhn-Tucker (KKT) Conditions\n", "For a solution $x^*$ to be optimal, there must exist multipliers $\\lambda^* \\geq 0$ and $\\nu^*$ such that:\n", "\n", "1. **Stationarity:** $\\nabla f(x^*) + \\sum_i \\lambda_i^* \\nabla g_i(x^*) + \\sum_j \\nu_j^* \\nabla h_j(x^*) = 0$\n", "2. **Primal feasibility:** $g_i(x^*) \\leq 0, \\quad h_j(x^*) = 0$\n", "3. **Dual feasibility:** $\\lambda_i^* \\geq 0$\n", "4. **Complementary slackness:** $\\lambda_i^* g_i(x^*) = 0$\n" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "🚀 MCP Server initialized successfully!\n" ] } ], "source": [ "# MCP Server Setup\n", "# Note: In a real environment, you would connect to the MCP server\n", "# For this demo, we'll simulate the MCP server responses\n", "\n", "class MCPServerSimulator:\n", " \"\"\"Simulates MCP server responses for demonstration purposes\"\"\"\n", " \n", " def __init__(self):\n", " self.solvers = {\n", " 'z3': self._simulate_z3_solver,\n", " 'cvxpy': self._simulate_cvxpy_solver,\n", " 'highs': self._simulate_highs_solver,\n", " 'ortools': self._simulate_ortools_solver\n", " }\n", " \n", " def solve_constraint_satisfaction(self, problem_data: Dict) -> Dict:\n", " \"\"\"Solve constraint satisfaction problems using Z3\"\"\"\n", " return self.solvers['z3'](problem_data)\n", " \n", " def solve_convex_optimization(self, problem_data: Dict) -> Dict:\n", " \"\"\"Solve convex optimization problems using CVXPY\"\"\"\n", " return self.solvers['cvxpy'](problem_data)\n", " \n", " def solve_linear_programming(self, problem_data: Dict) -> Dict:\n", " \"\"\"Solve linear programming problems using HiGHS\"\"\"\n", " return self.solvers['highs'](problem_data)\n", " \n", " def solve_constraint_programming(self, problem_data: Dict) -> Dict:\n", " \"\"\"Solve constraint programming problems using OR-Tools\"\"\"\n", " return self.solvers['ortools'](problem_data)\n", " \n", " def solve_portfolio_optimization(self, problem_data: Dict) -> Dict:\n", " \"\"\"Solve portfolio optimization problems\"\"\"\n", " return self.solvers['cvxpy'](problem_data)\n", " \n", " def _simulate_z3_solver(self, problem_data: Dict) -> Dict:\n", " \"\"\"Simulate Z3 solver response\"\"\"\n", " return {\n", " \"status\": \"SATISFIABLE\",\n", " \"solution\": {\"x\": 5, \"y\": 3, \"z\": 2},\n", " \"solver\": \"Z3\",\n", " \"solve_time\": 0.15,\n", " \"variables\": list(problem_data.get(\"variables\", {}).keys())\n", " }\n", " \n", " def _simulate_cvxpy_solver(self, problem_data: Dict) -> Dict:\n", " \"\"\"Simulate CVXPY solver response\"\"\"\n", " return {\n", " \"status\": \"OPTIMAL\",\n", " \"solution\": {\"x1\": 0.3, \"x2\": 0.2, \"x3\": 0.3, \"x4\": 0.2},\n", " \"objective_value\": 0.108,\n", " \"solver\": \"CVXPY\",\n", " \"solve_time\": 0.08\n", " }\n", " \n", " def _simulate_highs_solver(self, problem_data: Dict) -> Dict:\n", " \"\"\"Simulate HiGHS solver response\"\"\"\n", " return {\n", " \"status\": \"OPTIMAL\",\n", " \"solution\": {\"x\": 15.0, \"y\": 1.25},\n", " \"objective_value\": 205.0,\n", " \"solver\": \"HiGHS\",\n", " \"solve_time\": 0.05\n", " }\n", " \n", " def _simulate_ortools_solver(self, problem_data: Dict) -> Dict:\n", " \"\"\"Simulate OR-Tools solver response\"\"\"\n", " return {\n", " \"status\": \"OPTIMAL\",\n", " \"solution\": {\"nurse_1\": \"morning\", \"nurse_2\": \"evening\", \"nurse_3\": \"night\"},\n", " \"solver\": \"OR-Tools\",\n", " \"solve_time\": 0.12\n", " }\n", "\n", "# Initialize the MCP server simulator\n", "mcp_server = MCPServerSimulator()\n", "print(\"🚀 MCP Server initialized successfully!\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 📊 Solver Performance Overview\n", "\n", "Let's start by visualizing the performance characteristics of different solvers:\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABZYAAAJOCAYAAAAkpFLLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAA5LtJREFUeJzs3Xd4FOXXxvHv7qYTUui9Q0AIEAEBgZ9UQURFRAUVaRZEsKHSi6IiCIoCiog0AWmCShelK9JbKKH3kkAaKaTtvn/E7EtIgCwkTMr9ua5cyc7MzpyZnc0+c/aZ85hsNpsNEREREREREREREZEMMhsdgIiIiIiIiIiIiIjkLEosi4iIiIiIiIiIiIhDlFgWEREREREREREREYcosSwiIiIiIiIiIiIiDlFiWUREREREREREREQcosSyiIiIiIiIiIiIiDhEiWURERERERERERERcYgSyyIiIiIiIiIiIiLiECWWRURERERERERERMQhTkYHICJZJz4+nrlz57Jy5UpOnjxJdHQ0Xl5ePPDAAzzzzDO0bdv2ntbfpUsXtm3bBkBQUFBmhJypJkyYwMSJE1NNM5lMODs74+3tTe3atenTpw9Vq1bNku3HxcUxduxYVq5cSXh4OIUKFaJfv3488cQTWbI9+X/Dhg1j/vz5TJgwgUcffRQAq9XK4sWL+e233zh69CjXrl0jX758VK5cmSeffJKOHTtisVjuepsDBgxgyZIlAPz111+UKlUqU/Ylo/z8/DK87F9//cWSJUvs749Zs2ZRv379rAotU0yfPp3PP/+ct99+m969exsdjoiIyD3J6nZ6TnX48OFMb5vv2LGDF198EYA+ffrQt2/fWy5r9PXD1q1befnllzMU690sf7+cO3eOFi1aZHj57HgtKSIZo8SySC51/fp1unXrxu7du1NNDw0NZfPmzWzevJmtW7fy0UcfGRShMWw2G/Hx8YSEhLBmzRr++ecfZs+ezQMPPJDp25o2bRqzZs2yP7548SLOzs6Zvh1Jbd++fSxcuJDixYvbG7RWq5V33nmH1atXp1o2IiKCHTt2sGPHDtauXct3332H2aybebKjDh068PXXXzN58mQef/xxypYta3RIIiIid0Xt9LT27t3L6NGjsVgs/PTTT0aHk8r9vH4QEclplFgWyaXmzZtnb6y2b9+eF198EW9vb44ePconn3zCxYsXmTdvHk888QR169Y1ONqsN378eAICAkhMTOTq1at89913rFu3jujoaMaOHcu0adMyfZt79uyx/z158mRKlSpF8eLFM307ktqECROwWq08++yz9h7If/31lz2p/Mgjj/Dqq69StGhRzpw5w+jRozly5Ajr169n6dKlPPXUU0aGf9c2bNiQ6vHzzz/PpUuXKFasGPPnz081r3DhwnTv3p1nn30WgAIFCty3OO+Wt7c3jz/+OIsWLeLrr7/myy+/NDokERGRu6J2elrPPfccAA899JDBkfw/I64fcovixYunaZs+8sgjANSuXZuvv/7aiLBEJAsosSySS/3777/2v4cMGUL+/PkBKFu2LAkJCbzzzjsAbNmyJU80WAsUKECxYsUAKFWqFOPHj+eRRx4hPDycrVu3kpSUdE9lENITExNj/7tp06aYTKZMXb+kdfToUTZu3AjAY489Zp++detW+9/vvfee/fbFMmXK4OXlZU+wbtmyJccmllPO7xQp57PFYkkzD8DT0xNPT8/7EltmadOmDYsWLWL16tX2pLmIiEhOo3Z6zmDE9UNucav2J4CLi4vacCK5iO73FcmlXFxc7H9/+OGHHDx40P740UcfZcuWLWzZsoWePXumel58fDw//vgjTz/9NAEBAQQEBPD888+zaNEibDbbbbf5559/4ufnh5+fH999912a9davXx8/Pz97jwSAyMhIRo0aRfPmzalRowZNmjRh6NChXL58OdXzBwwYgJ+fH/Xr1+fvv/+mZcuW1KhRgy5dujh8bADc3Nzst9InJiYSGhpqn3f8+HHeeecdGjRogL+/P23atGHSpEnExcWlWkfz5s3x8/PjrbfeYurUqdSvX5/atWvzwgsv4OfnZ68/DVC1alWaN2+e6nhk9Djfajvjx49n69at9mO+YcMGZs6cSevWrfH39+fJJ5/kr7/+wmazMXPmTFq1amWffnNJCIDffvuNTp06Ub9+fWrUqMHDDz9Mr169UvW8vjmeEydO0Lt3b+rUqUNAQAC9evXi5MmTada9b98++vTpQ8OGDfH396dFixYMGzaMCxcupFrOarUya9YsnnjiCfz9/XnooYfo1asX+/btu8MrmmzFihUAVKhQgQoVKtin31iC5KOPPmLHjh3241yzZk37+2HIkCFp4lmwYAGdOnWibt261K5dm/bt2zNt2jTi4+NvG8uhQ4fsr83N6wV44okn8PPz43//+x9JSUlAcl3uiRMn0rp1a/tr8N5773HixIkM7b8jJkyYYI8vJfF+7tw5+7Sff/6Z3377zf5atG7dmoULFwLw+++/065dO/v0uXPnpll/Rt9HERERjBo1ilatWlGjRg1q1KhBixYtGDlyJBEREamWbdCgAZ6eniQmJrJo0aJMPyYiIiL3w92001Pawn5+fpw7d84+/cbP7gEDBqRZvm7duly5coX+/ftTv359AgICeOWVVzh8+HCqmBxdHjKnPZvSbk6xbds2/Pz8mDBhgn1aRtsUkHwHV6dOnahVqxYPP/wwo0aN4vr167d9PTLqVtcPXbp0wc/Pjw4dOvDbb7/RpEkT/P396d+/v/25J0+eZOjQoTRr1owaNWrQqFEj3n333XSP641+/vlne7vwscceY+bMmXe8Jkuxd+9eXnvtNerWrUvNmjV56qmn+Omnn7BaramWSzl/xo4dy6ZNm3juueeoWbMmTZs25fvvv8dms7Fp0yY6duxIzZo1adasGZMmTUqznrv1zDPP4Ofnh7+/P1FRUanmjRs3zh5fyjVJyrnUu3dv9u/fT7du3QgICKBBgwYMGTIk1XVdio0bN9KlSxf7efrcc8/x+++/p1ku5Vxr3Lgx1atXp3bt2jz11FNMnTo10/ZXJLdRj2WRXOqJJ56wJw/Xrl3L2rVrKVq0KPXr16dJkya0aNGCfPnypXpOdHQ0Xbp04cCBA6mm79mzhz179rBx40a++uqrW34z36xZM4oWLcrly5f57bffeOONN+zz1q5dS3h4OJB8iz4kJ5Q6deqUKmkWHBzMggULWLduHfPnz6dkyZJpYuzdu7e9gVijRo27ODoQGxvLqVOnAHBycsLb2xtIToB269aN6Oho+7InT57km2++YcuWLUyfPj1NneQtW7akStS++uqr7Ny585bbvtvjfPN2atWqlWr+2LFjOXLkiP1xUFAQffv2pXHjxqluRQsKCuKdd95h/vz51KxZE4DZs2czcuTIVOu7evUq69at459//uH333+nXLlyqeafPHmS5557jmvXrtmnrVu3jqNHj7J69WqcnJI/YtasWcO7775LQkKCfblz584xf/581q9fz7x58yhRogQA77//PsuXL7cvFx8fz7p169i8eTMTJ06kadOm6R/U/2zevBmAgICAVNMff/xx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XUuudWyz2YiKuoa3t3eq3sq3YjabMJlMmM0mLl26SGDg/9dmdnJyBiAxMRGLxcL48d/yySejadWqDcHBl5k8eSKvvPIyiYmJWbBnklfceA6KGEHnoBhN56CIiIiIiDhCiWXJFJUqVcZisXDgQCCJiYkcORJEXFwc1apVd3hdAwb0o1ev7hw+fAiA7dv/BaBq1WoEBu5n1KiPCQ4OZvDgESxatBQ/v2qcPXuGy5cvZeo+iYiIiIiIiIiISPpUCkMyRb58nrRs2ZrVq1fQvfsLhIWFAdC+/TOcOHGMH374jqpVH6Br1553XNfTT3fkiy8+4513elOxYiX27t1NwYIFadv2Sa5di2TjxnWsWbOKjRvXkZCQQFDQIYoWLUbRosWyejdFREREREREREQEJZYlE/XrNwCwsWHDOjw88vHmm+/QuPEj7Nq1g02bNpCUlJSh9Tz1VAeuX4/ll18WcOjQQWrXfpD33uuPp6cnnp6ejBs3gSlTvuXIkSCcnJxo0OBh3nzznVQDB4qIiIiIiIiIiEjWMdlsNo3O8h8N/mYcJyczvr75CAuLJjHRanQ4kgfpHBSj6RwUo+kcNJ4G7xMRERGRnEQ1lkVERERERERERETEIUosi4iIiIiIiIiIiIhDlFgWEREREREREREREYcosSwiIiIiIiIiIiIiDlFiWUREREREREREREQcosSyiIiIiIiIiIiIiDhEiWURERERERERERERcYgSyyIiIiIiIiIiIiLiECWWRURERERERERERMQhSiyLiIiIiIiIiIiIiEOUWBYRERERERERERERhyixLCIiIiIiIiIiIiIOUWJZRERERERERERERByixLKIiIiIiIiIiIiIOESJZRERERERERERERFxiBLLIiIiIiIiIiIiIuIQJZZFRERERERERERExCFORgcgyS5fvkxkZITRYRjGYjHh7e1BREQMSUk2o8MxhJeXN0WLFjU6DBERERERERERkTtSYjkbuHz5Mq90eZ746CijQzGU2WzCas2bSWUAl3yeTP1pvpLLIiIiIiIiIiKS7SmxnA1ERkYQHx3FRw0bUs7X1+hwDGEygZPZTKLVii0P5pZPhYUxfMsWIiMjlFgWEREREREREZFsT4nlbKScry9VCxcxOgxDmEzgZDGTmJQ3E8siIiIiIiIiIiI5iQbvExERERERERERERGHKLEsIiIiIiIiIiIiIg5RYllEREREREREREREHKLEsoiIiIiIiIiIiIg4RIllEREREREREREREXGIEssiIiIiIiIiIiIi4hAllkVERERERERERETEIUosi4iIiIiIiIiIiIhDlFgWEREREREREREREYcosSwiIiIiIiIiIiIiDlFiWUREREREREREREQcosSyiIiIiIiIiIiIiDhEiWURERERERERERERcYgSyyIiIiIiIiIiIiLiECWWRURERERERERERMQhSiyLiIiIiIiIiIiIiEOUWBYRERERERERERERhyixLCIiIiIiIiIiIiIOUWJZRERERERERERERByixLKIiIiIiIiIiIiIOESJZRERERERERERERFxiBLLIiIiIiIiIiIiIuIQJZZFRERERERERERExCFORgcgIiIiIiIiIpJtxcdDXBxcv578O+UnKQlsNvtPWEFvwvK7YcIEJhMmwGwy4WR2wsVswdnihLPZ6b/fFqP3SkTknhmeWI6Li+Ojjz7ijz/+wM3NjR49etCjR4/bPmfHjh3079+fv/76K935K1eu5J133iEoKCgrQhYRERERERGRnMhqhagoiIiAyMjk3yk/kZHJP7GxqRPIVmuGVn3imdZs88nYjeEmTDjbk80WXCzOeDi74uHkSj5nNzycXcnn7IrHf397OLliMpnuZc9FRDKd4YnlMWPGEBgYyMyZM7lw4QL9+/enRIkStGnTJt3lg4KCePvtt3F1dU13fmRkJJ9++mlWhiwiIiIiIiIi2VV8PAQH///P5csQEgJhYXDtWoYTxVnJho14ayLx1sQMLW/ChLuTC54u7ni7euDj6omPWz68XfPh45oPZ4vh6R0RyYMM/c8TExPDwoUL+eGHH6hevTrVq1fn6NGjzJkzJ93E8rx58xg9ejSlS5cmKioq3XWOGTOG0qVLExISktXhi4iIiIiIiIhRYmLgzBm4ePH/E8jBwcm9j202o6PLVDZsxCTGEZMYR3BMeJr5+Zxd8Xb1xMc1Hz5u+Sjglp/CHt64Obnc/2BFJM8wNLF8+PBhEhMTCQgIsE+rU6cOkydPxmq1YjanvoVk48aNjB49mqioKCZOnJhmfdu2bWPbtm0MHjyY1157LcvjFxEREREREZH7ICWJfOYMnD2b/PvqVaOjyjaiE+KITojjQlTqY5LfxZ1C7t4U9vCmiIe3ks0i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N3r37s1LL71E+fLls2z7tnvsZerm5oabm1umbGvp0qU0atSIF1980T7to48+YuvWraxYsYLXXnvN4W0UKFAgQ7FFRUVRtWpVypQpk6HlM8qR45NjxMfDL7/A338bHYmIOCDBmsTa03s5f+0qTUpVxzmbDeynz8PUnJ2dKVz4/+tjFylShDfeeIP33nuPiIgIvL297zrWnCCjn9+ZRT2WRURERHKRCRO+ZM2aVRQvXoKkJCsTJ45n06b1t1x+xoyp7N69M830mTN/ZNasadhsNipVqszu3Tt59903iYyMzLLYRTIqPj6e5cuX8+KLL9ovolM0a9aMGTNmULJkSSD59uChQ4fy8MMPU6dOHT744AMiIiIA2Lp1K82bN2fu3Lk0adKE2rVr88EHHxAfHw9AZGQkffv2pW7dutSrV4/333+fqKgotm7dysCBAzl//jx+fn6cO3eOLl26MHLkSFq0aEHTpk2Jiopi586ddO7cmVq1alG7dm1effVV+624N976e7s4zp07x8svvwyAn58fW7duTXM8zGYzQUFBXL161T7NZDIxbdo0nnvuOSD5Ynzy5Mk0b96cGjVq0LhxYyZOnGiPZeLEiWzbtg0/Pz8g9a20hw8ftpfZaNKkif15AwYMYPHixfz666/243D58mXeeust6tWrR40aNXj66afZufP//8ecPn2anj17EhAQQNOmTZk1a5Z9ewAvv/wyEyZMSHNr9PHjx+nZsycPPvigPYaUW7wnTJhAv379GD58OA8++CANGzbkhx9+yPD5dF9cugRffKGkskgOFhR6jkVBm7kam33aQvo8zBiLxYLJZMLZ2ZnFixfTqVMn3nzzTerUqcPvv/+O1Wpl6tSptGjRgpo1a9KlSxeCgoLszw8LC6NPnz4EBATQokULfv75Z/vnZUrMw4cPp06dOkyZMoX4+HhGjRpFkyZNqF69Os2bN2f+/Pn29TVv3pxFixbxzDPPULNmTXr06MH58+fp27cvtWrV4qmnnuLo0aP249OlSxe+++476tWrR6NGjfj1119ZtWoVzZo1o27dunzxxRep1p3y+Z3yvJ49e1KzZk1at27Npk2bMrRfGaXEsoiIiEguERsby+rVKyhatBjTp89l7NivAfj117R11q5evcKQIR8ydWr6ty6uWrUcJycnfvzxJ779diotW7YmNPQq27f/m6X7IJIR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IiIiIiIiknOdOAHLlhkdhYhItrDr0jHOXbtidBiSRyixLCIiIiIiIjlTTAxMnw5Wq9GRiIhkCzbgr1N7iEmIMzoUyQOUWBYREREREZGcafZsCAszOgoRkWwlJjGOtaf3YFO9ZcliSiyLiIiIiIhIzrNpE+zbZ3QUIiLZ0tlrV9gXctLoMCSXU2JZREREREREcparV+HXX42OQkQkW9t2IYjw61FGhyG5mBLLIiIiIiIiknPYbDBnDsSpfqiIyO0k2qysO7NPJTEkyyixLCIiIiIiIjnH5s1w5IjRUYiI5AiXosPYG6ySGJI1lFgWERERERGRnEElMEREHLb9okpiSNZQYllERERERESyP5XAEBG5KyqJIVlFiWURERERERHJ/lQCQ0TkrqkkhmQFJZZFREREREQke1MJDBGRe6aSGJLZlFgWERERERGR7G3uXJXAEBG5RyqJIZlNiWURERERERHJvnbuhKAgo6MQEckVLkWHERR6zugwJJdQYllERERERESyp7g4WLLE6ChERHKVfy8cJi4xwegwJBdQYllERERERESyp5UrITzc6ChERHKV2MR4tl/SYKhy75RYFhERERERkezn0iVYt87oKEREcqXAkNNciYk0OgzJ4ZRYFhERERERkexn4UJISjI6ChGRXMmGjU3nAo0OQ3I4JZZFREREREQke9m9WwP2iYhkMQ3kJ/dKiWURERERERHJPuLiYPFio6MQEckT/j1/mPgkDeQnd0eJZREREREREck+Vq+GsDCjoxARyRNiEuPYfvGo0WFIDqXEsoiIiIiIiGQPYWGwdq3RUYiI5CmBV04RERdtdBiSAymxLCIiIiIiItnD8uWQmGh0FCIieYrVZmPbhSNGhyE5kBLLIiIiIiIiYryLF2HbNqOjEBHJk46FXyAkJsLoMCSHUWJZREREREREjLd0KVitRkchIpJnbb1w2OgQJIdRYllERERERESMdfIk7NtndBQiInna2WtXOH/titFhSA6ixLKIiIiIiIgY67ffjI5ARESAfy8EGR2C5CBKLIuIiIiIiIhxDhyAY8eMjkJERIDgmHCOh180OgzJIZyMDkBERERERETyKJsNfv/d6ChyhcvXr/NpUBD/hobiarHQtmhR3qtUCVeLhU8OH+ans2dTLT/Uz4+XypTheHQ07+7bx8Xr13m5TBn6VqxoX2b0kSMU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crtXbsS/ZUOcXZPrgpfwK88Dj9Rj0chvKVKuJE27PX2/didP2XP5BC3K1TY6DMlmlFgWERERERGRrBcbC9u3Gx1FrvRa+fK8Vr78Lee3LFKElkVuP/jWWxUrppnWv0oV+lepcs/xiaSo91QL6j3V4pbzK9atQcW6NW67jobPtkkzrclLT9LkpSfvOT65tWPhF3k4oRruzq5GhyLZiEphiIiIiIiISNb791+Ijzc6ChERuQtWm5VDV88aHYZkM3fdY/nEiROcO3eOqKgofH19KVGiBGVvqtEkIiIiIiIigs0GmzYZHYWIiNyDg1fPEFC0IiaTyehQJJtwKLF85coVpk+fzrJlywgODk410qbJZKJUqVI89thjvPzyyxQqVCjTgxUREREREZEcKCgIgoONjkJERO7BtfhYTkcGU867qNGhSDaRocRyUlISkyZNYurUqZQoUYKnn34af39/SpYsiYeHBxEREVy+fJmdO3eydu1aZs2aRdeuXenTpw/Ozs5ZvQ8iIiIiIiKSnam3sohIrhAYclqJZbHLUGL5mWeeoVSpUsydO5caNdIvou7v70/Lli3p378/O3bsYOrUqTz77LP8+uuvmRmviIiIiIiI5CTh4bB/v9FRiIhIJjh7LYTIuBi8XD2MDkWygQwllgcMGECDBg0yvNK6detSt25dtmzZcteBiYiIiIiISC6weTNYrUZHISIimSTwymkeLlnN6DAkGzBnZCFHkso3atiw4V09T0RERERERHKBpCT45x+joxARkUwUdPUsidYko8OQbCBDieWbbdu2jT179gBw4cIFevXqxRNPPMGkSZMcXldcXByDBg2ibt26NG7cmGnTpt3xOTt27KBFixZppi9btoyWLVtSq1Yt3nzzTUJDQx2OR0RERERERDLJvn0QGWl0FCIikomuJyVwPOyi0WFINuBwYvnXX3+la9eurFmzBoBhw4axdetWypYty+TJk5kyZYpD6xszZgyBgYHMnDmT4cOHM3HiRFatWnXL5YOCgnj77bex2Wyppu/bt4/BgwfTp08f5s+fT2RkJAMHDnR090RERERERCSzbN1qdAQiIpIFjoSdNzoEyQYcTizPmDGDp59+mg8++ICQkBD++ecf+vTpw8SJE3n33Xf55ZdfMryumJgYFi5cyODBg6levTqtWrXilVdeYc6cOekuP2/ePDp16kTB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D4cQ9VATERGITrhORFy00WHIfeJwYrlOnTrs2rUrK2IRERERERGRnOboUaMjEBGRbOT8NfVaziscLoXxyiuv8MEHH5CYmEitWrVwd3dPs0y9evUyJTgRERERERHJ5pRYFhGRG1yIusoDhcoYHYbcBw4nlrt37w7ApEmTADCZTPZ5NpsNk8nEoUOHMik8ERERERERydaUWBYRkRtciAo1OgS5TxxOLM+aNSsr4hAREREREZGcJixM9ZVFRCSV6ITrhF+Pxsctn9GhSBZzOLH80EMPZUUcIiIiIiIiktOot7KIiKTjQtRVJZbzAIcTywAnT57km2++Ydu2bURGRuLr60vdunV58803qVixYmbHKCIiIiIiItmREssiIpKO86qznCc4nFg+duwYnTp1wmKx0Lx5cwoVKkRISAjr1q1j/fr1LFy4UMllERERERGRvECJZRERScfFqKtGhyD3gcOJ5bFjx1KqVCl++ukn8ufPb59+7do1unbtyldffcXEiRMzNUgRERERERHJZqKi4MoVo6MQEZFsKDohjqj4WDxd3I0ORbKQ2dEnbN++nV69eqVKKgPkz5+f1157je3bt2dacCIiIiIiIpJNnT1rdAQiIpKNhcREGB2CZDGHE8tOTk64urqmO8/FxYX4+Ph7DkpERERERESyuTNnjI5ARESyMSWWcz+HE8v+/v7MnTsXm82WarrNZmPOnDnUqFEj04ITERERERGRbEo9lkVE5DZCYpVYzu0crrH89ttv07lzZ5588knatGlD4cKFCQkJYdWqVZw8eZLp06dnRZwiIiIiIiKSnajHsoiI3IZ6LOd+DieW/f39mTp1KuPGjWPixInYbDZMJhM1atTghx9+oF69elkRp4iIiIiIiGQXUVEQGmp0FCIiko3FJsZrAL9czuHEMkCDBg2YN28e8fHxREZG4uXlRWJiYpoB/URERERERCQXUhkMERHJgJCYCCWWczGHaywnJCQwfPhwnnvuOdzd3SlatCi7d++mYcOGjB49GqvVmhVxioiIiIiISHahMhgiIpIBKoeRuzmcWJ4wYQK///47jz/+uH3aAw88wPvvv8+CBQuYOnVqpgYoIiIiIiIi2Yx6LIuISAZoAL/czeFSGEuXLqV///506tTJPs3Hx4du3brh5OTErFmzeO211zI1SBEREREREclGzp0zOgIREckBrsRE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vBIlStx7ZCIiIiIiIpJtuKvHsoiI3AN3ixLLuY3DieXDhw/zwQcfcOzYsVsuc+jQoXsKSkRERERERLIX9VgWEZF74a4ey7mOw4nlYcOGERYWxocffoiPj08WhCQiIiIiIiLZjXosi4jIvdAXlLmPw4nlI0eO8NVXX9GsWbOsiEdERERERESyISUERETkXqjHcu7j8CtaunRpYmNjsyIWERERERERyabczEoIiIjI3fNQjeVcx+FX9L333uPrr79m27ZtXL9+PStiEhERERERkWxGPZZFROReuDvpcyS3cbgURvny5bHZbHTt2jXd+SaTiYMHD95zYCIiIiIiIpJ9qMayiIjcC3f1WM51HE4sDxw4kPDwcJ5//nkKFSqUFTGJiIiIiIhINpPfydnoEEREJAfzdnE4DSnZnMOv6MGDBxk1ahRt27bNinhEREREREQkG/J1VmJZRETuXgFXJZZzG4f7oBcpUgR3d/esiEVERERERESyqQLOLkaHICIiOVgBV31Bmds4nFh+9dVXGT9+PKdOncqCcERERERERCQ78rA44WZWfUwREXGck8mEj4tq9ec2DvdB/+OPPzh37hyPPfYYXl5eeHp6pppvMpn4888/My1AERERERERyR4KOLtwIe660WGIiEgO4+PqhMlkMjoMyWQOJ5YLFy7Mo48+mhWxiIiIiIiISDbmq8SyiIjchYKqr5wrOfyqjho1KiviEBERERERkWxOdZZFRORuqL5y7pShxPKFC//X3r3H51z/fxx/Xoedz2djMzPMHDabSU7FktCB5JgfJRXli44UiWjJqRPpIFKhotC3kpD6lg4UIRXlUEjYmA2bza7r+v2xdmVNtZXts+163G+361bX5/O+Pp/Xe9e7z6fr9Xl/Xp9DCgsLk5ubmw4dOvS37WvXrv2vAwMAAAAAVC1BJJYBAP9AMDOWa6QyfatpaWlaunSpEhMTlZaW9rc1Ub7//vsLEhwAAAAAoOoIcmPGGQCg/EKYsVwjlSmxPHXqVEVHR0uSHnnkEYptAwAAAIALohQGAOCfYMZyzVSmb3XFihVKTExUUFCQevXqVdExAQAAAACqoAh3T6NDAABUQ5HeHkaHgApgLkujTZs26fTp0xUdCwAAAACgCqvj6WV0CACAaijKhzteaqIyJZYBAAAAAPC3usnPwu3MAICy87SYFUqN5RqJxDIAAAAAoMxqM2sZAFAOtb3deV5bDVXmS80jRoyQu/vfT1s3mUxat27dvwoKAAAAAFA11fHw0q7TJ40OAwBQTUT5UF+5pipzYrlJkyYKDg6uyFgAAAAAAFVcbU8e4AcAKLs6PLivxirXjOXExMSKjAUAAAAAUMXV9qAUBgCg7JixXHNRYxkAAAAAUGZ1qLEMACiHKJ+/L62L6onEMgAAAACgzGp7eIlHMAEAyooZyzVXmRLL1157rYKCgio6FgAAAABAFeduNivMnSQBAODvBbhb5OdW5kq8qGbK9M1OnTq1ouMAAAAAAFQTsV4+OlqQb3QYAIAqrqE/5ZNqMkphAAAAAADKpYG3r9EhAACqgYb+3kaHgApEYhkAAAAAUC5xJJYBAGXAjOWajcQyAAAAAKBc4rx9jA4BAFANNAwgsVyTkVgGAAAAAJRLoJu7Qt3cjQ4DAFCF+btZFOHFuaIm+0ePZTx+/Ljmz5+vzz77TBkZGXrhhRe0bt06NW7cWJ07d77QMQIAAAAAqpg4b19lZh83OgwAQBXVgDIYNV65ZywfOHBA11xzjZYuXaqIiAgdO3ZMNptN+/bt06hRo/TRRx9VQJgAAAAAgKqEB/gBAP4K9ZVrvnLPWJ42bZpCQkL0yiuvyNvbW82aNZMkzZo1S/n5+Xr22WfVsWPHCx0nAAAAAKAK4QF+AIC/Qn3lmq/cM5Y///xz3X777fL395fJZCqxrl+/fvrxxx8vWHAAAAAAgKqJB/gBAP5KQ39vo0NABftHD++zWs8/0bmgoKBUshkAAAAAUPMEurkr3N3D6DAAAFVQkLtVkd48uK+mK3diOTU1Vc8995xyc3Ody0wmk+x2u1599VWlpKRc0AABAAAAAFVTM98Ao0MAAFRBicHc1eIKyl1j+e6779aAAQPUpUsXtW7dWiaTSfPnz9eePXv0888/a8mSJRURJwAAAACgimnm56/1x48aHQYAoIpJDKYOvyso94zlRo0a6Y033lDr1q21ceNGWSwWffbZZ6pbt65ee+01JSQkVEScAAAAAIAqpjkzlgEA55HEjGWXUO4ZyzabTbGxsZo1a1ZFxAMAAAAAqCbCPTwV7u6howX5RocCAKgigtytquvraXQYqATlnrHcvn17Pfzww/rmm28qIh4AAAAAQDVCnWUAwLmor+w6yp1Yvuqqq/T++++rb9++6tq1q5599ln98ssvFREbAAAAAKCKa+5HYhkA8DvqK7uOcieWx48fr48//lgLFixQamqqXnzxRV1++eX6v//7Py1btkwnT56siDgBAAAAAFUQiWUAwLmor+w6yp1YliSTyaQ2bdro4Ycf1oYNGzR37lxFRkbqoYceUocOHS50jAAAAACAKirM3UO13KmlCQCgvrKr+UeJ5WKFhYXasGGDVq1apY8//liS1KZNmwsSGAAAAACgemjm5290CACAKoD6yq6l3Illh8Ohzz//XA888IDatWun2267TT/99JNGjRqlTz75RM8880y5tpefn69x48YpNTVV7du314IFC/607Xfffac+ffooKSlJ1113nXbs2FFi/erVq3XFFVeoRYsWuummm6j9DAAAAACVIMU/yOgQAABVwEVhXGh0JeVOLHfo0EE33XSTPv/8c11//fVavXq1li5dqoEDByooqPz/MzF9+nTt2LFDL730kiZOnKg5c+Zo9erVpdrl5ubq1ltvVWpqqpYvX67k5GQNGzZMubm5kqQtW7bo7rvv1pAhQ7R8+XK5u7vrrrvuKnc8AAAAAIDySfYPlNVkMjoMAICBzCapdZif0WGgElnL+4G0tDRdc801Sk1N/dc7z83N1bJlyzRv3jw1bdpUTZs21Y8//qjFixera9euJdquWrVKHh4eGjNmjEwmk/MhgqtXr1avXr20YMECXXPNNerfv7+koocM3nDDDTp+/LiCg4P/dawAAAAAgPPztljVzDdAW0+eMDoUAIBBmgT6yN+93KlGVGPlnrE8efLkC5JUlqSdO3eqsLBQycnJzmUtW7bUtm3bZLfbS7Tdtm2bWrZsKdNvV8FNJpNSUlK0detWSdKmTZt0+eWXO9tHR0dr/fr1JJUBAAAAoBJcFMhvLwBwZReHM1vZ1ZTpMkJaWpozoft3TCaT1q1bV6a2GRkZCgoKkru7u3NZaGio8vPzdeLEiRJJ4YyMDDVo0KDE50NCQvTjjz8qJydH2dnZstlsGjp0qHbu3KnExERNmjRJERERZYoFAAAAAPDPXRQQrOcP7DU6DACAQdpQX9nllCmxfNFFF5U5sVweeXl5JZLKkpzvCwoKytS2oKDAWWf54Ycf1p133qnRo0frySef1LBhw7R8+XKZzWWbmG02m2Q2V35dMIuleBZ20csVnTsTXXIYG4wBir93i8Ukq7XcNxL8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zpYkbdy4UWlpaVqyZIk6dOigFi1a6N5771VBQYFOnjyp5s2b64svvnBu+9SpU2revLm++uorSdLatWvVvXt3JSUlqXfv3tq0aZMk6fjx42rdurXmzJkjqSjhO2jQII0YMeK8/Vm2bJl69epVKpnr7u6uW2+9VevWrVNWVpYOHjyo+Ph4vf322+rQoYNSU1P18MMPq7CwUAcPHtTgwYMl/X4L9bmlMGbPnq0xY8ZoypQpSk5OVlpamjZs2KBFixapbdu2uvjii/Xyyy879128jY0bN5a4zbn4df/990uSdu/eraFDhyo5OVnNmzfX9ddf77z9ubjsxeDBgzV79uxSpTD27NmjoUOHKiUlRR06dNCcOXOcZUxmz56tu+++WxMnTlRKSoratGmjefPmlWF0/Ht1PL00s3GiEv3+/YxtADVDsyBvzWnb0PCkslSyFMby5cs1aNAgPfXUU2rdurVSU1M1derUEhcaX3vtNaWlpSk5OVmDBg3Srl27nOuOHDmiUaNGqVWrVmrWrJmuvfZabd68WZKc55ynn35arVq10uTJk8sco8VikSS5ubk5z7UTJ05Uy5Yt9fzzzztj79atmxITE9WrVy99+eWXzs+fOXNG48ePV8uWLdWhQwctW7ZMTZo00cGDB88bl8Ph0LPPPqu0tDQ1a9ZM7du3d56DpaJyFfPnz9eQIUOUmJio3r176+eff9aECROUnJysLl26OM/hxfG+8cYbateunVq1aqV58+bpyy+/VNeuXZWcnKwxY8Y4z1fnlsK47777NHXqVN1xxx1KSkrSpZdeqpUrV5apX1UJiWUAAAAANdb+/fuVm5ur5s2bl1pnMpl08cUXy93dXZL0n//8R99//72effZZvfjii9qzZ0+JusNHjx7V+++/rxdeeEGzZ8/WmjVrtHLlSvn5+alDhw5au3ats+1HH32k4OBgtWzZUjt37tTYsWN122236b///a+uueYa3XLLLfr5558VHBysMWPG6IUXXtCvv/6qN954Q7t27dKkSZNKxZubm6s9e/acty+S1LJlS9lsNn377bfOZXPmzNHjjz+uOXPmaM2aNZo9e7YiIyOdP2w3bNig5OTkUttatWqV/Pz89NZbbykxMVF33HGHNmzYoFdeeUWDBg3StGnTStV0Tk5O1oYNG5yvGTNmyN3dXQMHDpTdbtfw4cNVp04dvfXWW3rttddks9k0Y8YMSXLeGj179mzddNNNJbZ7/PhxXX/99QoPD9eyZcs0ceJELVq0qERy+/3335eHh4dWrFihoUOHaubMmdq3b995/04Xmp/VTZMaNNWVYZGVsj8AVVe3qGBNbxWnQPeqWSDg66+/1r59+/Tqq69qwoQJevnll/XZZ59JktavX685c+ZowoQJWrFihVq2bKnBgwc7L7Dec889stlseu2117Ry5UpFRESUOldt2bJFb775pvPi5d85cuSInnzySdWvX99559Avv/yigoICLV++XFdddZWWL1+uKVOmaNiwYVq5cqXatm2rW2+9VUeOHJEkPfzww/r66681f/58Pf7443rhhRdks9n+NK6VK1fqpZdeUnp6ulavXq0RI0Zo9uzZJc6dTz/9tPr27avly5fr5MmT6t27t0JDQ/XGG2+oYcOGevjhh51tjx49qnXr1umVV17R8OHD9dhjj+mRRx7Ro48+qscee0yrVq3SBx98cN7+L168WE2bNtU777yjLl26aOLEiTp58mSZ+1UVkFgGAAAAUGPl5ORI+vtSDzt37tSmTZs0Y8YMJSYmKjExUTNmzND69eu1d+9eSdLZs2f1wAMPKD4+Xh06dFCHDh30zTffSJKuvPJKrV271jnz6/3331e3bt1kMpk0f/589e3bV1dffbViYmI0ePBgXXLJJXr11VclSdddd52SkpI0ceJETZ8+XePGjTtveYmTJ0/K4XD8aT1jf39/SdKJEyecy+69916lpqbq4osv1ujRo7V06VKZzWbnNsLCwpyJ9XMFBQVp9OjRqlu3rq699lqdPHlS48ePV1xcnIYOHarCwkL9/PPPJT7j7u6usLAwhYWFyWaz6ZFHHtF9992nZs2a6cyZM+rfv7/uu+8+1a1bV02bNtW1116r3bt3S5KCg4sebBUQEFDq1u133nlHXl5emjJliuLi4tS5c2eNHj1aL7zwgrNNYGCgxo4dq5iYGN18880KDAzUjh07zvt3qggWk0m3RtfXiLpxsppMlbZfAFWDxSTdnlBbdzaLktVcdY8BNptNU6ZMUf369dWjRw81btzYeR574YUXNGzYMHXq1En16tXTHXfcoTp16ui///2vHA6HOnfurAkTJiguLk4NGjTQwIEDncfwYjfccIPq1q2revXqnXf/hw4dUnJyspKTk5WYmKhLLrlEmZmZeuyxx5wzlyXp5ptvVkxMjGrXru28oNmzZ0/Vr19f99xzjxo1aqRFixbp9OnTWrlypSZMmKAWLVooNTVVDzzwQKn9nhtXZGSkpk6dqjZt2igqKkoDBgxQWFiYfvzxR2f7Tp06qVu3bmrQoIE6d+4sX19fjRo1SnFxcerbt6/z/wukov83GDt2rOrXr++8kDpw4EC1aNFCnTp1UkJCQon254qPj9ctt9yi6OhojR49WmfOnNGPP/5Y5n5VBVXzEgoAAAAAXADF9QyLZ1z9mb1798rf379EreW4uDgFBARo7969zsR0TEyMc72vr68Kf3twW6dOnTR+/Hht27ZN8fHx+uSTT5wzavfs2aP33ntPr7/+uvOzZ8+eVfv27Z3vJ0+erO7duys1NVU9e/Y8b4zFyeCMjIzzrj969GiJPktSSkqK89+bNWum48ePKysr6y//FpIUFRUl028J0uJax8UlQ4rfFxQUnPezBQUFGjVqlNq2bet8OKC3t7cGDBiglStXaseOHdq7d6++++47hYaG/m0se/bsUdOmTWW1/v7zNTk5WRkZGc4LB1FRUSWSEj4+Ps7vpjJ1Ca2lKE9vPbp3p7ILz1b6/gFUPj83ix5oUVfJIf+8Vn1lCQkJka+vr/P9ueexPXv2aMaMGXrsscec6/Pz8/XTTz/JZDJpwIABWrVqlbZs2aJ9+/Zpx44dzhIPxYrPE38mPDxcr7zyiiQ5L3IWXxQ9V1RUlPPf9+zZU6o8VIsWLbRnzx7t3btXZ8+eLXEnz/nuwjk3rosvvljbtm3TrFmztGfPHn3//ffKyMgo0Zdz9+/p6anatWuXOCeePVvy+B4dHe1c98f9eXp6/un58twEfPH3UlhYWOZ+VQUklgEAAADUWHXr1pWfn5++/fZbJSYmllp/2223adCgQeedtSsVze4699bTP7YrnqHs7e2tTp066f3339eRI0cUGhrq3J/NZtMtt9xSKmF87sPpdu/eLYfDoV27dikrK0tBQUGlYvH09FSjRo307bffqkePHqXW79ixQxaLRU2aNFFubq4klXj6fPGPZlMZZtSem8QtZjaX7YbXqVOnKicnR1OmTHEuO336tHr37q2goCClpaXpqquu0t69e7VgwYK/3d4fa2NLv/el+Ls5t5/F/viAwsrSxNdfsxonKX3P99qXd9qQGABUjhhfDz2UUk+1vUsfp6qi853rio+VNptN48aNU5s2bUqs9/X1ld1u10033aScnBx1795daWlpOnv2rP7zn/+UaHu+4/W5rFZriQu0f+bc7ZxvmzabTXa7/bznqvMd+8/dxrJly/TII4+oT58+6tKli8aOHVuqdMcft/t357/yti/2Z+eusvarKqAUBgAAAIAay2q1qnv37lq8eHGpGUPr16/X+vXrFR4ertjYWOXk5JS4XXX37t06depUiVnMf+XKK6/U//73P61bt07du3d3Lo+NjdXBgwcVExPjfL3++uv6+OOPJRUlXadMmaJ77rlH9erV06OPPvqn++jfv7+WLVvmrC1ZrLCwUM8884w6d+7sLCshSd9//73z33fs2KHw8HAFBQWVKbn8T7z11ltavny5nnzyyRIlLTZt2qSjR4/q5Zdf1s0336y2bdvq0KFDZfqhHBsbq2+//bbEDLGvv/5awcHBJWZnVyVh7h6aFt9c7QJDjA4FQAW5OMxPT17coNoklf9ObGysDh8+XOJc9eyzz2rr1q3avXu3vvzySy1cuFDDhw9Xx44dnXfJVHTCMzY2Vtu2bSuxbNu2bYqNjVXdunXl5uZWovTR35VBevXVVzVixAiNGzdOPXv2VFBQkI4dO1alErf/pF9GIbEMAAAAoEYbOXKkTp06paFDh2rTpk3av3+/li1bpvvuu0+DBw9WgwYNFBcXp0suuURjx47V9u3btX37do0dO1atWrVSo0aNyrSfSy65xPkQn3MTyzfeeKNWrVqll19+Wfv379fChQu1cOFC5y2wjz/+uHx9fTV48GBNnDhRb7/9tvNhSn80YMAAtWrVSoMGDdLatWt16NAhffXVV7rlllucdZDPlZ6erm+++UafffaZnnzySWdpCi8vL0lFP1Tz8/PL+yc9r127dmnixIkaO3asQkNDlZGRoYyMDB0/flyBgYHKzc3VunXrdPDgQS1btqxUst/b21s//vij88FFxa6++moVFBTowQcf1J49e7Ru3TrNnj1bAwYMqLAE+YXgYbZoTP3GujkqlrrLQA1iNZl0c3wtPZRST95Wy99/oBJs375dH3/8cYlXXl5eubYxZMgQvfTSS1q5cqX279+vGTNm6L333lNcXJz8/f1lNpv17rvv6pdfftHq1audD4H9szIPF8qNN96oRYsWaeXKldq3b59mzpypnTt3qnfv3vLx8VGv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Lys5Oblc+7jvvvt04sQJPfHEEwoPD9fOnTs1efJkZWVlacKECRXRLVSyX3/9Vf3791f9+vX1xBNPKCIiQt98841mzpypL774Qs8995yz7bJlyxQZGSlJys/P16ZNmzRx4kQFBQXpP//5T6lt//Hc3Lt3b910003q3r27JMnNza2CewcAAACguiKxjEpjsVgUFhZWYtmYMWOUm5urRx55RGvWrNG9996rSy+9VJJ0yy23qEePHjp+/LhCQkKMCBlV1KxZs+Tu7q758+fLw8NDkhQdHS1PT0/dfvvtGjhwoAICArR27VpnwliSHA6H3n//fY0ePVqS1LBhQw0bNkyzZs1SWlqagoODNXbsWPXu3Vtt2rQpsc9zx25YWJjGjx+v9u3ba+PGjercubNGjhypxx9/XL1791Z0dLTOnDmjRx99VEOGDFGjRo0q4a+CquiPx71XX31Vmzdv1ttvv63o6Gjn8jFjxig7O1vPPfecnn322TJv/+TJk1q3bp1WrFihhIQESVJUVJROnz6tBx98UOPHj5fZzM1J1d2UKVMUHR2tF154QRaLRVLRMa9Fixa68sor9eqrrzrPncHBwSXGXFRUlLZs2aJ169adN7H8xzFqsVjk5+dX6nwNAAAAAH/Er00YZtWqVXrrrbc0efJkhYWFaeDAgerXr5+komTJkiVL1LBhQ+dMP0CSCgoK9O6772rgwIHOpHKxTp06aeHChYqKilLXrl21du3aEus3b96sEydO6IorrnAuGzZsmCIjI5Wenq6nn35aBQUFuvfee/82juLkTvFsvkGDBikmJkYzZsyQJL3wwgsym80aMWLEv+ovqrc/lgJ488031atXrxJJ5WJ33323Zs6cWa7tm0wmmUwmffbZZyWWd+nSRStWrGCmfA2QmZmp9evX65ZbbnEed4rVrl1bvXr10tKlS/9yG+7u7qU+Wx7Lly9Xt27dlJiYqF69eunLL790rsvPz9eMGTN06aWXqkWLFho+fLh+/fXX825n1apVuuKKK9S8eXN1795d69at+8cxAQAAADAeiWUY4siRI3rooYfUs2fPEkk+SXrjjTeUmpqqFStW6MEHHyQxghL279+v3NxcNW/evNQ6k8mkiy++WO7u7rrqqqv05ZdfKisry7n+vffe06WXXio/Pz/nMnd3d6Wnp+uDDz7QggULNHXqVPn4+PxlDFlZWZo+fbqCgoKcZQusVqsefPBBrVmzRuvWrdP8+fM1ceJEeXp6XqCeo7orKCjQd999p9TU1POuDw4OLlF+pSx8fX117bXXavr06erataumTp2q//3vf7JYLKpfvz7Hzxrg22+/lcPhOO8xT5JatmypnTt3nreGssPh0MaNG/X222+XOteW1fLlyzVlyhQNGzZMK1euVNu2bXXrrbfqyJEjkqSJEydq7dq1mjZtml577TUVFhbq9ttvl91uL7GdY8eOacyYMRo2bJhWr16t6667TnfddZdOnDjxj+ICAAAAYDxKYaDSORwOjRs3Tj4+Puet/9m2bVutWLFCb775pm6//XatWLHivLP74JpycnIkqURy+HxSU1MVFham9evX67rrrpPdbtf7779/3jGXkJCg8PBw5eXl/WnZiuIEst1u15kzZxQTE6PHH39c/v7+zjatWrXS1VdfrdGjR+uKK65Qhw4d/mk3UY1MnDhRU6ZMKbGssLCwVCmBEydOyOFwKCAgwLls37596tWrV4l2X3/9tfPfzzdL9ezZsyXqMD/88MNKSEjQm2++qYULF2rhwoUKDQ1Venq6Onbs+G+7B4NlZ2dLUoljzbmKlxe3u+qqq5wXFAoKChQcHKzBgwdr6NCh/2j/r7zyigYNGqSePXtKku655x59+eWXWrRokW6++Wa99dZbmjdvni6++GJJ0syZM9WxY0d9+umnio2NdW7nyJEjOnv2rGrVqqU6deropptuUnx8fKk7TwAAAABUHySWUekWLVqkzz77TC+//PJ5Z+fVrl1btWvXVkJCgjZt2qSVK1dq5MiRBkSKqigwMFDS70mUP2MymdStWzetWbNG1113nb766ivl5eWdN9H2xBNPyGKxyMfHR1OnTtW0adNKtVm5cqUkyWw2y9fXV0FBQefd7/Dhw/Xf//6XEhguZNSoUerSpUuJZWvWrNGrr75aYllxQrn44ohUVP+2eGxt27atVBmWhx9+WElJSSWWvfLKK9q1a5fzvdls1qBBgzRo0CAdOXJEH3/8sV588UWNGjVKa9euVURExL/uI4xTPG4yMzNVq1atUuuPHj1aot3zzz+viIgIHTp0SJMnT1bjxo01fPhw5wWKBx98UG+//bbz8++++65q1679p/vfs2dPqeNZixYttGfPHv3000+y2+0lxmhgYKBiY2O1Z8+eEonlhIQEdezYUUOGDFFsbKwuu+wy9enTR15eXuX9kwAAAACoIiiFgUq1Z88ezZw5U0OGDFGrVq1KrPviiy+0d+9e53uTyaT69euXKGUA1K1bV35+fvr222/Pu/62225z1pu9+uqr9dlnn+nUqVN677331KVLl1Kz47Zs2aKFCxfqgQce0Pjx47Vy5Up98sknpbYbExOjmJgYRUdH/2lSWZJz+8zCcx0hISHO8VH8Ot8DRz08PBQfH19iRrKbm5vzM+dLAEdERJTa9rkznjdu3KhnnnmmRPs+ffpoyZIlMplM2rJlywXuLSpb8+bNZbFYtGPHjvOu37Fjh+Lj4+Xu7i6p6OJsTEyM2rRpo+eee04fffRRiYtlo0eP1sqVK52v8PDwv9z/+Y5lNptNdrv9T49zxevPZTKZ9Nxzz2nZsmW64oor9OGHH+raa6/V999//5f7BwAAAFB1kVhGpSksLNSYMWMUExOjO+64o9T6efPmaeHChc73NptNO3fuVFxcXOUFiSrParWqe/fuWrx4camaouvXr9f69eudiZImTZooKipKH3/8sdatW6errrqqRPszZ87o/vvvV/fu3ZWWlqbOnTvriiuu0MSJE3X69OlK6xNcR79+/bR8+fLzPtysuGZteWRnZ2vu3LnKyMgosdzb21sWi4WHn9YAwcHB6ty5s+bOnSubzVZi3a+//qo33nhDffv2Pe9n69atq5EjR2rRokXatm2bpNIXQqzWv755LTY21vnZYtu2bVNsbKyio6NltVq1detW57qsrCz9/PPPJWYrS0UXlqdNm6bExETdeeedevfddxUZGXneC3kAAAAAqgcSy6g0zzzzjHbt2qX7779f2dnZysjIKPEaMGCAli9frrffflt79+7VpEmTdObMGWddR6DYyJEjderUKQ0dOlSbNm3S/v37tWzZMt13330aPHiwGjRo4Gx75ZVX6vnnn5fD4XDWAC322GOPKScnR+PHj3cue+CBB5STk6PHHnus0voD1zFgwAC1bt1a/fv314oVK/Tzzz9r586dmjFjhsaNG6eWLVuWa3udOnVSXFychgwZovXr1+vgwYP66quvdPfddys2NrbUnSGonsaPH6/s7Gzdcsst+uqrr3To0CGtXbtWgwcP1kUXXaTrr7/+Tz87ePBgxcXFafLkyaVmEZfFjTfeqEWLFmnlypXat2+fZs6cqZ07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", "text/plain": [ "<Figure size 1500x600 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "🔧 Solver Capabilities Overview:\n", " Solver Problem Type Solve Time (s) Best For\n", " Z3 Constraint Satisfaction 0.15 Logic puzzles, verification\n", " CVXPY Convex Optimization 0.08 Portfolio optimization, ML\n", " HiGHS Linear Programming 0.05 Production planning, resource allocation\n", "OR-Tools Constraint Programming 0.12 Scheduling, assignment, routing\n" ] } ], "source": [ "# Create solver performance visualization\n", "solvers = ['Z3', 'CVXPY', 'HiGHS', 'OR-Tools']\n", "solve_times = [0.15, 0.08, 0.05, 0.12]\n", "problem_types = ['Constraint Satisfaction', 'Convex Optimization', 'Linear Programming', 'Constraint Programming']\n", "colors = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#96CEB4']\n", "\n", "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))\n", "\n", "# Solve times bar chart\n", "bars = ax1.bar(solvers, solve_times, color=colors, alpha=0.8, edgecolor='black', linewidth=1)\n", "ax1.set_title('Solver Performance (Solve Times)', fontsize=14, fontweight='bold')\n", "ax1.set_ylabel('Solve Time (seconds)', fontsize=12)\n", "ax1.set_xlabel('Solver', fontsize=12)\n", "\n", "# Add value labels on bars\n", "for bar, time in zip(bars, solve_times):\n", " height = bar.get_height()\n", " ax1.text(bar.get_x() + bar.get_width()/2., height + 0.005,\n", " f'{time:.2f}s', ha='center', va='bottom', fontweight='bold')\n", "\n", "# Problem type distribution pie chart\n", "ax2.pie([1, 1, 1, 1], labels=problem_types, colors=colors, autopct='%1.0f%%', startangle=90)\n", "ax2.set_title('Supported Problem Types', fontsize=14, fontweight='bold')\n", "\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# Create a feature comparison table\n", "feature_data = {\n", " 'Solver': solvers,\n", " 'Problem Type': problem_types,\n", " 'Solve Time (s)': solve_times,\n", " 'Best For': [\n", " 'Logic puzzles, verification',\n", " 'Portfolio optimization, ML',\n", " 'Production planning, resource allocation',\n", " 'Scheduling, assignment, routing'\n", " ]\n", "}\n", "\n", "df_features = pd.DataFrame(feature_data)\n", "print(\"🔧 Solver Capabilities Overview:\")\n", "print(df_features.to_string(index=False))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 🧩 Constraint Satisfaction Problems (Z3)\n", "\n", "Z3 is perfect for solving logical constraint problems. Let's explore some classic examples:\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "♛ Solving 8-Queens Problem...\n", "Status: SATISFIABLE\n", "Solution: {'x': 5, 'y': 3, 'z': 2}\n", "Solve time: 0.150s\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvcAAAMWCAYAAAB1EKkoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQxJJREFUeJzt3Xt4VPW9L/5PuCPhIhXTmoPilXIULQG1usWiWLHWS7u94QXbo25a7S6tgoLUejnaykWsp8ftpd6rKB6t1ZbaWnVXju2paJMi2qogiiJqgI1BAxJA5vcHm9mkoM6EZA3z/b1ez8OTzGTNfD95E/S9VtaaqcjlcrkAAADKXrtSDwAAALQO5R4AABKh3AMAQCKUewAASIRyDwAAiVDuAQAgEco9AAAkQrkHAIBEKPcAbFPWrVtX6hEAypZyD0RExEMPPRT9+/eP/v37x6BBg+Ldd9/d4najRo3Kbzd79uwWrTV79uy4+OKLY8SIEVFTUxMDBw6ML33pS3HeeefFQw89pNxthd/97nfxne98Jw499NAYOHBgfOELX4gvf/nLceGFF0ZtbW2rrbPpz8uoUaNa5Tk/+uijmD59epx//vnN7n/rrbfya/Xv379V1moL9fX1MXjw4Pj85z8fr7/+eklmWLBgQVx44YVx6KGHxj777BNDhgyJM844I2bOnNlsu8bGxhg0aFDsvffe8fLLL5dkVqBtdCj1AMC2Z9WqVfHjH/84fvrTn7bq877//vtx0UUXxR/+8IfNvvbuu+/Gu+++G08++WTcfPPNcf3118eee+7ZquunbO3atTFmzJj493//982+9uabb8abb74Zv/rVr+Lb3/72ZuV5W7BgwYL4/ve/H/PmzYsDDjig1OO0yI9+9KNobGyMoUOHxq677pr5+nPmzIlvfvOb8eGHH+bvW7t2bTz33HPx3HPPxdy5c2PixIkREVFZWRlf//rXY/r06XHZZZfFjBkzoqKiIvOZgdbnyD2wRY899lg8/fTTrfZ8q1evjm9+85vNiv3uu+8eI0eOjFGjRsX++++fv3/hwoVx6qmnxsKFC1tt/dT97Gc/yxf7ioqKOPjgg2PUqFFx0kknxWc/+9n8djfddFM88cQTpRrzYz3//PMxb968LX6te/fu8S//8i/5P9uiv/71r/HYY49FRLTabzKKdfnll+eL/S677BJnnHFGDBs2LP/1u+66K/7+97/nb59xxhlRUVERc+bMiUceeSTrcYE24sg98LGuvPLKmDlzZnTq1Gmrn+u6666Lv/3tbxER0a5du7jkkkvitNNOa3a08Nlnn43vfve70dDQEB988EGMGzcuHnzwwa1e+/8PHnroofzn06ZNi69+9av526tXr46TTz45XnnllYiIePDBB+OII47IfMaW6tmzZ4wbN67UY3yin/3sZxERscMOO8TQoUMzX7+hoSFeeumliIjYfvvt46GHHorKysqIiLj00kvj/vvvj4iIZ555Jv77f//vERGx2267xcCBA2Pu3Llx1113xde+9rXM5wZanyP3wMd644038qVla7z//vsxY8aM/O1vfvObcfrpp292GsABBxwQP/rRj/K3X3jhhfh//+//5W9ver7/pmU24tPPAX/jjTdiwoQJccghh8Q+++wThx56aFx00UWxYMGCLc68fv36uP/+++PEE0+ML3zhC1FTUxMnnXRSTJ8+fYvXBGxc+5/+6Z8iIuKBBx6I448/Pvbdd9845JBD4oorroj33ntvs8fNnj07vvOd7+Tn2nfffWPEiBFxxRVXRH19/RZn25IlS5bkP99Y6jbq0qVLfOc734mDDjooDjrooOjdu/cWn+PRRx+Ns88+Ow455JAYOHBgHH744fGDH/wgXnvttYLnmD17dj6Lww8/fLOvH3744ZtdszFq1Ki4+OKL89s8++yzzf4eCznnvpjZN/1Zueaaa6KhoSGuuOKKGDp0aAwcODCOO+64eOCBBwr+nhctWpT/jdTw4cOjXbv/+l/rpnmcf/75sXr16rj22mvj8MMPj4EDB8aIESPilltuiY8++miL833an40Zbbrm5z73uWY/A3vssUf+844dOzab/ctf/nJERPz973+P5557ruDvGdh2OXIPbKaysjIaGxsjYsMRyeOPPz769u3b4ud75plnmp0H/M1vfvNjtz3iiCOiX79++VNynnrqqTj44INbvPbG9c8999xYtWpV/r76+vp45JFH4ne/+1387//9v+NLX/pS/mvr1q2LMWPGxJNPPtnseebOnRtz586NJ598Mm666aaP/Y3G5ZdfHvfdd1/+9tKlS+Pee++N559/Pv7P//k/0aHDhv/0zpw5M8aNGxe5XK7Z4xcuXBgLFy6Mp556Ku6999743Oc+96nf42677Za/MPL73/9+jBw5MkaMGBEDBw6M9u3bx4gRI2LEiBFbfGxTU1Ocf/75m32/ixcvjgcffDB+9atfxaRJk5r9NmBbsbWzL1u2LE444YR466238ve98sorcckll8TKlSs/8Wd1o9/+9rf5v8PDDjvsY7f78MMP4/TTT48XX3wxf9/ChQvjmmuuifr6+rjkkks+da2P06NHj/jCF74Qc+bMiZdffjl+9atfxZFHHhmLFi3K/yx26NCh2Wk6ERHDhg2LadOmRUTEE0880ez0OKA8KffAZoYPHx4LFiyIF198MZqamuKqq66Km2++ucXPt+l5vv/tv/23qKqq+sTtBw0alC/3mz62JRoaGuL73/9+vtjvscceceCBB8a8efPiueeei6amphg3blz89re/jR122CEiIm6++eZ8WezYsWMceeSR0a1bt3jsscdixYoV8ac//Smuv/76uOCCCzZbb9myZXHffffFgAEDYsiQIfHcc8/lS/ff/va3mD17dv7o/qRJk/Kl8MADD4z+/fvH6tWr4/HHH4/33nsv3n777bjuuuti8uTJn/p9nnPOOflTV1atWhW333573H777dGtW7cYMmRIHHrooXH00Udv8aj91KlT899vRUVFDB06NHbaaaeYPXt2vP7667FmzZoYP358VFdXxxe+8IVi4i/IMcccE127do1Zs2ZFxIYjz8ccc0xBO5RbO/svf/nL/M5Pr169YubMmbFy5cqIiLjtttsKKvfPPPNM/vONp7xsycaj+4ceemjsvPPO8bvf/S6WLVsWEREzZsyI888/P7p16xZ77bVXwdcWbJrRpEmT4uyzz47FixfHhRdeGBdeeGH+a127do0rrrhis0x333336Ny5czQ1NTX7LRlQvpR7YDPt2rWLK664Ik466aRYv359PPXUU/HEE0+0+DztTU9H6dOnz6duv+k2WzqVpRgPPvhg/jn233//uOOOO/KnJlxxxRVx7733xvvvvx8PPPBAnHvuubFmzZq4884784+/8cYb8+dQjx49Oo477rhYtWpVTJ8+Pc4999zo2rXrZmsOGzYsbrzxxmjXrl2sXr06vvzlL+dPm5k/f3780z/9UzQ1NcXSpUsjYkOZveuuu/KnKZ1zzjnxP//n/4zdd9/9E8vipo499th455134rrrrmt2isfKlStj1qxZMWvWrJg8eXJ8+9vfjnPPPTd/Gsc777wT06dPz29/zTXXxDHHHBMREWvWrIkxY8bEH/7wh1i7dm1MmzYt7r777oLmKcYpp5wSHTt2zJf7vn37FnSOfWvNfs0118TRRx8dEZF/SdaIDac6vf/++9GjR49PnGPjDmivXr0+dcd17NixMXr06IiIOOmkk+L444+PiA2vavPmm2/GgAEDYp999ol99tnn0779zey6665x3nnnxQ9/+MNYv359s68NGDAg9ttvv80e0759+9hjjz3ib3/7W8yfPz9WrVoV2223XdFrA9sO59wDW7TPPvvEqaeemr/94x//uNmpNS31j6egbMmmxaSQ7T/Jn//85/znJ554YrNzjv/5n/85//nGo5Z///vf4/3334+IDSVz04sj+/btm3+ZxsbGxpg7d+4W1zzzzDPz5blLly6x77775r+28ahw586dY/fdd4+IDSX1K1/5SkyePDmeeOKJ6NGjR9x2220xceLEoi5yHD16dDz66KPxP/7H/4idd955s6+vWbMmfvrTn8b/+l//K3/fY489ls978ODB+XIcEdGpU6f8SydGRDz33HNbvbPVmlpj9h133DFf7CNis5fh3Pj39XFWrlyZf97PfOYzn7ht+/bt48wzz8zf/vznP99sx+HT1vo01113XfzgBz+I9evXR3V1dYwcOTJ/Gk5dXV2ccsopW3z9/Y2/zcnlcvEf//EfWzUDUHqO3AMf6/zzz4/HHnssli1bFosXL44bbrjhY7e9//77Y9GiRZvdf8opp8T222+fv73xaPUn2fRC0k0f+0n+8UjlRu+8807+8/Hjx8f48eO3uN3GC2vffvvt/H2LFi36xDdNWrBgQRx44IGb3b/pS09GRHTr1m2Lc1599dUxevToaGhoiNdffz1ef/31uP3226OioiL22WefOPHEE+PEE0/Mn6NfiH79+sWECRNiwoQJsXjx4njmmWdi1qxZ8eSTT+YvBL7tttvizDPPjM985jPx5ptv5h+7pd8S7LzzzvlrMHK5XCxatKjgv5Mt+bi/p5Zojdn/8XqGTf+uIqLZb0G2ZOO1KREbXrLzk2y//fbRpUuXzdbbuDO5ca2HHnqo2QXGn+SAAw6Iu+++OxYtWpQ/da6qqioefvjh/I7DrbfeGlOnTo2Ghob4yU9+stn7V2w69/Lly7fq+hqg9JR74GN17949JkyYkD9F4o477vjY02pmzpwZzz777Gb3Dx06tFnxWrx4cbz77rvNCvDDDz8cRxxxRFRWVsb69evjL3/5S/5rAwYM2OJ6/1gS165du8XtNi1nPXv23OzVQjbaeHHsps/bsWPH6Nmz5xa3/8fn3lTnzp2b3d70lUw2td9++8Xjjz8ejzzySDzxxBNRV1cXa9asiVwuFy+88EK88MIL8dRTT8WNN974iW8wtGjRovjb3/4WS5cujc985jP5I9HV1dVxwgknxAknnBBz586NkSNHxkcffRRr166NF198Mb70pS8VtOOw6W9Pinmjoy0V+Y/7e2qJ1pi90L+rj7Ppz9OnZfOPa7VkvY/zpz/9KZ/3iBEjmv1G4MQTT4ypU6dGRGzx3+imitmRBLZN/hUDn+jYY4+NBx98MJ555plYu3ZtsyPbhTrwwAOjS5cusXr16oiIuPPOO2PChAkRseF0mPHjx0f37t1j3Lhx0a1bt2ZH2w899ND855sWoY3PtdHHnS5SVVWVvzj30ksvbXbqxkcffRTt27ffbPuNqqur829M9EmP2RrbbbddfPWrX41Ro0bFmjVr4oUXXog///nPcdNNN8XatWvjD3/4Qzz//POfeCHrM888k3+llR122CGOPPLIzUravvvuG9ttt1188MEHEbHhVWYiInbaaaf8NhtfJ31Tb775Zv50kXbt2n3qUd1Ns/nH07jWr18fK1as+MTHF6O1Z2+JXr16Rfv27eOjjz5q9mpMW6MlF9RuPPofseH0q01tupO1pVPrNn3s1vxWBtg2KPfAp7rsssviuOOO+8Sjrp92oeXJJ58cP//5zyNiwztl7rzzznHaaadF586do6amJurq6uKyyy5rVuAHDBjQ7Jz3TY+iz58/P//52rVrP/ZdVw844ID866nfe++9ceSRR+aP0k+ZMiV++ctfxh577BFHH310nHHGGbHPPvvEdtttF6tWrcq/HOXG85aXLFkSX/nKV2KHHXaIPffcM374wx9+6gWUH+e5556LK664IhYuXBhVVVXxyCOPRGVlZQwePDhqampi5syZ+fOj33nnnU8s90OHDo127drF+vXrY9myZTF16tQYP358syxnzJiRL/YRGwpkxIbXnb/66qsjIuIvf/lLPProo/kj/2vWrIlJkyY1y7JXr16f+H1tesR4xYoVsXTp0vxve5588smP/RnadNZCj+639uwt0a5du6iqqoq333473n333VZ5zpZcULvpNRaPP/54fO9738ufS7/pe0JsvM5jU8uXL4+IDdeH7Ljjji0ZGdiGKPfAp9ptt93i7LPPjptuuqnFz3H++efHM888E/PmzYv169fHFVdcEffdd1/sv//++ddoX7VqVf4oY7t27eLqq69udqpD//7980fSH3zwwejevXtUV1fHI488kn/323908sknx+233x4rV66M2traOPbYY+Pggw+OJUuW5HcIamtr41vf+lZEbHjJwJEjR8btt98eERHnnXdeDB8+PKqqquLJJ5+MxsbGaGxsjB49erS42EdsKHBLly6NtWvXxltvvRXHHXdcDB06NDp27Bh1dXX5Yt+hQ4ctvsrJpj772c/GSSedlH8X0jvvvDOefvrpGDx4cLRv3z5eeumlmDNnTn77ww8/PPr16xcRG0rhscceG7/+9a8jIuKCCy6Ihx9+OP9ykhvfBKpjx44xduzYT/2++vXrl/8tTS6Xi29961tx8sknx1tvvfWJO4CbvunSCy+8EJdeeml07dr1E889b+3ZW6qmpibefvvtWLFiRSxfvvxj3ySsLR166KHRp0+fWLp0afzHf/xHHHfccTF8+PBYunRp/Pu//3t+u5NOOqnZ49atWxevvvpqRGy4bsFpOVD+/CsGCnLuuefGzJkzm73ZTzG22267+PnPfx7jxo2LP/7xjxERMW/evJg3b94Wt1+/fn1cdNFF8f3vfz8OO+ywaNeuXZx44olx5513xvvvvx/r1q2LW265Jb/9aaedFvfee+9mz7PjjjvG1KlT43vf+16sXbs2/wZRm/rWt77V7E2svve978WLL74Yzz77bHz00Ufx+9//vtn2n/3sZ/Nv/NNSXbt2jRtvvDHOPvvsWLVqVSxevLjZu/hGbDiHe8KECc1OP/k4EydOjHfeeSf+7//9vxGx4WLfLb377t57793siHZE5N89949//GPkcrn8S1Ju1Llz55g8eXKzV/35OJ06dYozzjgjbr311ojY8Nr+l112WURsKP6f+9znmr2C0Ub77bdfdOzYMdauXRvr1q2L+++/P3baaadPvbC0NWdvqS9+8Ysxc+bMiNiwY7Lpz1JWtttuu7juuuviW9/6VjQ2NsbSpUs3+3k6+uijY+TIkc3ue/XVV/On8QwePDizeYG246UwgYJ06dIlLr300q16ju233z5uu+22uPPOO+Of//mfo1+/ftGtW7fo1KlTfPazn41hw4bFuHHjYpdddomIDeX/vPPOy59WU1VVFTNmzIjhw4dH9+7do1u3bnHggQfGbbfdFmecccbHrjt8+PB4+OGH4+tf/3rstNNO0bFjx+jTp08cfPDBceONN272ZlRdunSJO+64Iy699NIYNGhQdO/ePbp06ZL/DcYvfvGLLb7UZLFqamri0UcfjbPOOiv22muv6NGjR3Ts2DGqqqpixIgRcc8998SoUaMKeq4uXbrELbfcEj/96U/jiCOOiM997nPRqVOn6Ny5c1RVVcWwYcPiqquuigceeGCzi4S7desWt956a0ybNi2GDh0aO+ywQ3Ts2DF22mmnOPHEE+ORRx6Jr3zlKwV/X+PGjYsJEybErrvuGp06dYrq6uo466yz4he/+MXHntPdp0+fuPbaa2PPPfeMjh07xvbbbx977733p67V2rO3xPDhw/MX1n7aBattaciQITFz5sw4/fTTY+edd46OHTvGdtttF4MGDYof/ehHce2112520W9tbW3+8yOPPDLrkYE2UJHb2heRBmhlq1evjuuvvz7uueee2HffffPn6sO2auzYsTFz5szYbbfd4re//W2pxynYOeecE08//XR8/vOfj0ceeaTU4wCtQLkHtlkffPBBNDY2bvZa5LCtef755+Pkk0+OiIgHHnigTU8Dai1LliyJww47LNatWxdTpkzJv1suUN6clgNss7p3767YUxb222+//Mus3nPPPSWepjAzZsyIdevWRf/+/ePYY48t9ThAK3HkHgBaQX19fRx11FGxdu3aePzxx7fpHdNVq1bFYYcdFitWrIj77rsvBg0aVOqRgFai3AMAQCKclgMAAIlQ7gEAIBHKPQAAJCLTd6j9xzfPAAAAPl2hl8lmWu4jIi7oWxN9u3TPetkWq+xXHTWTxkbdhGnRuHBxqccpyKLVH8S1i+rKKms5Z0PO2ZBzNsox5whZZ0XO2ZBzNhat/qDgbTMv9327dI/dt+uV9bIt1rN3VdTU1ERj76pYsWRlqccpSjllLedsyDkbcs5GOeccIeusyDkbct52OOceAAASodwDAEAilHsAAEiEcg8AAIlQ7gEAIBHKPQAAJEK5BwCARCj3AACQCOUeAAASodwDAEAilHsAAEiEcg8AAIlQ7gEAIBHKPQAAJEK5BwCARCj3AACQCOUeAAASodwDAEAilHsAAEiEcg8AAIlQ7gEAIBHKPQAAJEK5BwCARCj3AACQCOUeAAASodwDAEAilHsAAEiEcg8AAIlQ7gEAIBHKPQAAJEK5BwCARCj3AACQCOUeAAASodwDAEAilHsAAEiEcg8AAIlQ7gEAIBFFl/umpqaYOHFiDBkyJA455JC4/fbb22IuAACgSB2KfcCUKVPixRdfjLvuuivefvvtGD9+fOy0005x1FFHtcV8AABAgYoq96tWrYoHHnggbrnllth7771j7733jvnz58f06dOVewAAKLGiTst5+eWXY926dTFo0KD8fYMHD47nn38+1q9f3+rDAQAAhSuq3C9dujS233776NSpU/6+HXbYIZqamqKhoaG1ZwMAAIpQ1Gk5H374YbNiHxH522vWrCnoOSr7VUfP3lXFLFtSlf2qm30sB5XL6yPml1fWcs6GnLMh52yUY84Rss6KnLMh52xULq8vfONcER599NHcwQcf3Oy+V199NbfXXnvl3nvvvU99fETkamtri1mSFqitrZV1BuScDTlnQ87ZkXU25JwNOWejmHyLOnJfVVUV7733Xqxbty46dNjw0KVLl0aXLl2iR48eBT1H3YRp0Vgme3YRG/bqaiaN3TD3wsWlHqcg8/5z766cspZzNuScDTlnoxxzjpB1VuScDTlnY97y+qj5/fSCti2q3A8YMCA6dOgQc+bMiSFDhkRERG1tbQwcODDatSvs9P3GhYtjxZKVxSy7TWhcuDhWvPxaqccoSOOqhg0fyzBrOWdDztmQczbKKecIWWdFztmQczY25lyIoi6o7dq1a3zta1+Lyy+/PObOnRtPPPFE3H777XHmmWcWOyMAANDKin4Tq4svvjguv/zy+MY3vhGVlZXx3e9+N4488si2mA0AAChC0eW+a9euMXny5Jg8eXJbzAMAALRQUaflAAAA2y7lHgAAEqHcAwBAIpR7AABIhHIPAACJUO4BACARyj0AACRCuQcAgEQo9wAAkAjlHgAAEqHcAwBAIpR7AABIhHIPAACJUO4BACARyj0AACRCuQcAgEQo9wAAkAjlHgAAEqHcAwBAIpR7AABIhHIPAACJUO4BACARyj0AACRCuQcAgEQo9wAAkAjlHgAAEqHcAwBAIpR7AABIhHIPAACJUO4BACARyj0AACRCuQcAgEQo9wAAkAjlHgAAEqHc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cg8AAIlQ7gEAIBHKPQAAJEK5BwCARCj3AACQCOX+YzQ1NcXEiRNjyJAhccghh8Ttt99e6pGStmbNmjjmmGNi9uzZpR4lWfX19TFmzJg44IADYujQoXH11VdHU1NTqcdKzhtvvBFnn312DBo0KIYNGxa33nprqUdK3ujRo2PChAmlHiNJjz/+ePTv37/ZnzFjxpR6rCStWbMmrrjiith///3j4IMPjmuvvTZyuVypx0rKQw89tNnPc//+/ePzn/98qUdrVR1KPcC2asqUKfHiiy/GXXfdFW+//XaMHz8+dtpppzjqqKNKPVpympqaYuzYsTF//vxSj5KsXC4XY8aMiR49esT06dNjxYoVMXHixGjXrl2MHz++1OMlY/369TF69OgYOHBg/PKXv4w33ngjLrjggqiqqopjjz221OMl6Te/+U3MmjUrvv71r5d6lCS9+uqrcdhhh8WVV16Zv69z584lnChdV111VcyePTtuu+22WLlyZZx//vmx0047xciRI0s9WjKOPvroGDp0aP72unXr4hvf+EYMGzasdEO1AeV+C1atWhUPPPBA3HLLLbH33nvH3nvvHfPnz4/p06cr963s1VdfjbFjxzo60cZee+21mDNnTvzpT3+KHXbYISIixowZE5MnT1buW9GyZctiwIABcfnll0dlZWX069cvDjrooKitrVXu20BDQ0NMmTIlBg4cWOpRkrVgwYLYa6+9ok+fPqUeJWkNDQ3xi1/8Iu64447Yd999IyLirLPOiueff165b0VdunSJLl265G/ffPPNkcvlYty4cSWcqvU5LWcLXn755Vi3bl0MGjQof9/gwYPj+eefj/Xr15dwsvQ8++yzceCBB8b9999f6lGS1qdPn7j11lvzxX6jxsbGEk2Uph133DGuu+66qKysjFwuF7W1tfHcc8/FAQccUOrRkjR58uQ4/vjjY4899ij1KMlasGBB9OvXr9RjJK+2tjYqKyub/bdi9OjRcfXVV5dwqrQ1NDTELbfcEmPHjo1OnTqVepxWpdxvwdKlS2P77bdv9pe9ww47RFNTUzQ0NJRusASddtppMXHixOjatWupR0lajx49mv0qcv369XHPPffEF7/4xRJOlbbDDz88TjvttBg0aFCMGDGi1OMk589//nP85S9/ifPOO6/UoyQrl8vF66+/Hn/84x9jxIgRccQRR8Q111wTa9asKfVoyVm0aFFUV1fHww8/HEcddVQMHz48/u3f/s0BxTZ03333xY477pjkGRnK/RZ8+OGHm+3FbbztP2qkYOrUqfH3v/89zj///FKPkqyf/vSncdNNN8VLL73k6Fsra2pqissuuywuvfTSZr9ip3W9/fbb+f8fXnfddTF+/Pj49a9/HVOmTCn1aMlZtWpVvPHGGzFjxoy4+uqrY/z48XH33XfHnXfeWerRkpTL5eKBBx6IM844o9SjtAnn3G9B586dNyvxG2/7HwnlburUqXHXXXfFT37yk9hrr71KPU6yNp4H3tTUFOPGjYuLLroouV/9lsr1118f++yzT7PfRtH6qqurY/bs2dGzZ8+oqKiIAQMGxPr16+PCCy+Miy++ONq3b1/qEZPRoUOHaGxsjGnTpkV1dXVEbNi5uu++++Kss84q8XTpeeGFF6K+vj6++tWvlnqUNqHcb0FVVVW89957sW7duujQYUNES5cujS5dukSPHj1KPB203JVXXhn33XdfTJ061akibWDZsmUxZ86cOOKII/L37bHHHrF27dpobGyM3r17l3C6dPzmN7+JZcuW5a+L2njw5bHHHou//vWvpRwtOb169Wp2e/fdd4+mpqZYsWKFn+dW1KdPn+jcuXO+2EdE7LrrrvHOO++UcKp0Pf300zFkyJDo2bNnqUdpE07L2YIBAwZEhw4dYs6cOfn7amtrY+DAgdGuncgoT9dff33MmDEjrr322mSPVpTaW2+9Ff/6r/8a9fX1+ftefPHF6N27tyLUiu6+++749a9/HQ8//HA8/PDDcfjhh8fhhx8eDz/8cKlHS8rTTz8dBx54YHz44Yf5+1566aXo1auXn+dWtt9++0VTU1O8/vrr+ftee+21ZmWf1jN37tyoqakp9RhtRlPdgq5du8bXvva1uPzyy2Pu3LnxxBNPxO233x5nnnlmqUeDFlmwYEHccMMN8S//8i8xePDgWLp0af4PrWfgwIGx9957x8SJE+PVV1+NWbNmxdSpU+Pb3/52qUdLSnV1deyyyy75P926dYtu3brFLrvsUurRkjJo0KDo3LlzXHLJJfHaa6/FrFmzYsqUKXHOOeeUerTk7LbbbjFs2LC4+OKL4+WXX46nn346fvazn8Wpp55a6tGSNH/+/KRfZctpOR/j4osvjssvvzy+8Y1vRGVlZXz3u9+NI488stRjQYs8+eST8dFHH8WNN94YN954Y7OvvfLKKyWaKj3t27ePG264Ia688so45ZRTomvXrjFq1CgHBihLlZWVcdttt8WPf/zjOOGEE6Jbt24xcuRI5b6NXHPNNXHllVfGqaeeGl27do3TTz89Ro0aVeqxkrRs2bKkT7OuyHn3IAAASILTcgAAIBHKPQAAJEK5BwCARCj3AACQCOUeAAASodwDAEAilHsAAEiEcg8AAIlQ7gEAIBHKPQAAJEK5BwCARCj3AACQiP8Pq5wyFoxUaogAAAAASUVORK5CYII=", "text/plain": [ "<Figure size 800x800 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Example 1: N-Queens Problem\n", "def solve_n_queens(n=8):\n", " \"\"\"Solve the N-Queens problem using Z3\"\"\"\n", " problem_data = {\n", " \"variables\": {f\"queen_{i}\": \"INTEGER\" for i in range(n)},\n", " \"constraints\": [\n", " f\"0 <= queen_{i} < {n}\" for i in range(n)\n", " ] + [\n", " f\"queen_{i} != queen_{j}\" for i in range(n) for j in range(i+1, n)\n", " ] + [\n", " f\"queen_{i} - queen_{j} != {i-j}\" for i in range(n) for j in range(i+1, n)\n", " ] + [\n", " f\"queen_{j} - queen_{i} != {i-j}\" for i in range(n) for j in range(i+1, n)\n", " ]\n", " }\n", " \n", " result = mcp_server.solve_constraint_satisfaction(problem_data)\n", " return result\n", "\n", "# Solve 8-Queens problem\n", "print(\"♛ Solving 8-Queens Problem...\")\n", "queens_result = solve_n_queens(8)\n", "print(f\"Status: {queens_result['status']}\")\n", "print(f\"Solution: {queens_result['solution']}\")\n", "print(f\"Solve time: {queens_result['solve_time']:.3f}s\")\n", "\n", "# Visualize the solution\n", "def visualize_n_queens(solution, n=8):\n", " \"\"\"Visualize the N-Queens solution\"\"\"\n", " board = np.zeros((n, n))\n", " for i in range(n):\n", " if f\"queen_{i}\" in solution:\n", " col = solution[f\"queen_{i}\"]\n", " board[i, col] = 1\n", " \n", " plt.figure(figsize=(8, 8))\n", " plt.imshow(board, cmap='RdYlBu', alpha=0.8)\n", " plt.title(f'N-Queens Solution (n={n})', fontsize=16, fontweight='bold')\n", " \n", " # Add grid lines\n", " for i in range(n+1):\n", " plt.axhline(i-0.5, color='black', linewidth=1)\n", " plt.axvline(i-0.5, color='black', linewidth=1)\n", " \n", " # Add queen symbols\n", " for i in range(n):\n", " for j in range(n):\n", " if board[i, j] == 1:\n", " plt.text(j, i, '♛', ha='center', va='center', fontsize=20, color='white')\n", " \n", " plt.xticks(range(n))\n", " plt.yticks(range(n))\n", " plt.tight_layout()\n", " plt.show()\n", "\n", "# Visualize the 8-Queens solution\n", "visualize_n_queens(queens_result['solution'])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mathematical Theory: N-Queens Problem\n", "\n", "The N-Queens problem is a classic constraint satisfaction problem where we need to place N queens on an N×N chessboard such that no two queens attack each other.\n", "\n", "**Mathematical Formulation:**\n", "\n", "For an N×N board, we define:\n", "- Variables: $q_i \\in \\{0, 1, 2, ..., N-1\\}$ for $i = 0, 1, ..., N-1$\n", "- $q_i$ represents the column position of the queen in row $i$\n", "\n", "**Constraints:**\n", "1. **Row constraint**: Each queen is in a different row (implicit by variable definition)\n", "2. **Column constraint**: No two queens in the same column\n", " $$\\forall i, j: i \\neq j \\Rightarrow q_i \\neq q_j$$\n", "3. **Diagonal constraint**: No two queens on the same diagonal\n", " $$\\forall i, j: i \\neq j \\Rightarrow |q_i - q_j| \\neq |i - j|$$\n", "\n", "**Objective**: Find a valid assignment that satisfies all constraints.\n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHmCAYAAACcZccMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAA3JhJREFUeJzs3Xd8U2X7x/FvmiZNS1sotGyUIQJCoQypgMpwgRMQlJ8yHYgCKvIg4AIHCgouhqiIAxeiPE4EFQEXslcRkL1HGaU7aZPz+yNPQ0MLJNA2HZ/36+XLc859knPl6qneuXqf+zYZhmEIAAAAAAAAAADkERToAAAAAAAAAAAAKK4oogMAAAAAAAAAcAYU0QEAAAAAAAAAOAOK6AAAAAAAAAAAnAFFdAAAAAAAAAAAzoAiOgAAAAAAAAAAZ0ARHQAAAAAAAACAM6CIDgAAAAAAAADAGVBEBwAAJZphGIEOoVggDwAAAABQOCiiAwBQAo0aNUoNGjQ44z/t2rULdIhFYtq0aXrvvfc8+5MnT1aDBg38eo9Ro0apU6dOPp07f/58DRw4UFdddZWaNGmiK6+8Uo888ojWr1/v1zUL0qFDhzRw4EDt37/fc6xTp04aNWpUwGICAAAAgNIkONABAACA8xMTE6MpU6bk22axWIo4msB44403NGTIEM9+z549ddVVVxX4dbKzszV8+HD9/PPPuvXWW/X0008rKipKBw4c0BdffKFevXpp4sSJuvHGGwv82ufy119/acmSJUV+XQAAAAAoKyiiAwBQQlmtVsXFxQU6jGKlatWqqlq1aoG/7/Tp0zV//ny9+eabuuGGG7zabrnlFg0ePFjPPvusOnXqJJvNVuDXBwAAAAAEDtO5AABQiiUkJKhx48ZeU3scO3ZMbdq00YABA2QYhubOnasGDRpo3bp16tatm5o2bapbbrlF8+fP93qvlJQUvfTSS7r22msVGxurm2++WV9++aXXOZ06ddKbb76pCRMmqG3btmratKnuvfde7dq1y+u8lStXqnfv3mrWrJlat26tkSNH6vjx4572uXPn6rLLLtO6det05513KjY2Vh07dvSauiVn2pYpU6Z4tk+fzsXpdOqdd97RzTffrKZNmyouLk69evXS33//7XMOMzIy9N5776lz5855CuiSFBQUpEcffVTx8fE6duyYV/xz5sxRu3bt1Lp1a23btk2SNG/ePHXv3l3NmzdXu3bt9Mwzz+jkyZOSpI8++kgNGzbUiRMnPO8/depUNWjQQEuXLvUc++WXX9SwYUNNnz5do0ePliRdc801Xj/nrKwsvfzyy2rXrp3i4uJ0zz33aPfu3T5/bgAAAACAG0V0AABKsOzs7Hz/yVlkskmTJrr//vv13//+11OEfeaZZ+RyuTR+/HiZTCbPez3wwAO65pprNGXKFNWpU0ePPvqoZ5qQzMxM3XXXXfruu+903333adq0aWrZsqWefPJJTZ8+3Sumjz76SDt27NBLL72kF154QQkJCRo5cqSnfcWKFerfv79sNptef/11PfHEE1q+fLn69u2rzMxMz3kul0uPPvqobrzxRr3zzjtq0aKFXn75Zf3++++SpNmzZ0uSevTo4dk+3cSJEzVt2jTdeeedmjFjhp5//nklJSXpkUceUUZGhk85/uuvv5Senq6bb775jOc0aNBAb775pmrUqOE55nQ6NXPmTI0bN06jR49WvXr1NG3aND322GOKi4vTm2++qcGDB2vBggXq06ePMjMz1aFDBxmG4VXkz9lesWKF59hvv/2myy67THfccYcefPBBSe4/Jjz00EOec+bNm6etW7dq/PjxGjNmjBISEjRs2DCfPjMAAAAA4BSmcwEAoITav3+/GjdunG/b448/rnvvvVeSNHjwYP3666969tlnNXDgQP3yyy964403VKVKFa/X9OnTR4MHD5YkXXXVVerWrZumTp2q9u3ba+7cufr333/1+eefq3nz5p5zsrOzNW3aNPXq1UsVKlSQJEVGRmratGkym82SpD179mjy5Mk6ceKEoqKiNGnSJNWpU0dvv/2255xmzZrppptu0ldffaW7775bkmQYhh566CH17NlTktSyZUv9/PPPWrx4sa666irPVDZVq1Y947Q2R44c0bBhw9SnTx/PsZCQEA0dOlRbtmzxaTqcvXv3SpJq167tddzlcsnlcnkdCwoKUlDQqTEKgwYNUocOHSRJJ0+e1FtvvaU77rhDzzzzjOecSy+9VHfffbfns9epU0dLly5Vly5dlJGRoTVr1qhx48ZeRfTff/9d3bt3V8WKFXXRRRdJkho1aqSaNWt6zqlSpYqmTZvmmR9/9+7deuutt5Samqrw8PBzfm4AAAAAgBtFdAAASqiYmBi99dZb+bZVq1bNs22xWDRhwgT17NlTTz75pLp166bOnTvneU23bt082yaTSdddd50mT56szMxMLV++XDVq1PAU0HPceuut+vLLL7Vu3Tq1b99ekhQbG+spjkvyzFGekZEhm82mdevW6d5775VhGMrOzpYk1apVS/Xq1dOff/7pKaJL8rqe1WpVxYoVlZ6e7nOOJk2aJEk6fvy4duzYod27d2vRokWSJIfD4dN7nF4oz/HGG2/kGYU/ZMgQDR061LPfqFEjz/batWvlcDjyjGhv1aqVatSooeXLl+vuu+9Whw4d9Msvv0iSVq1aJYvFor59++qZZ56Rw+HQnj17dODAAU9x/kyaNm3qtcBsToE9OTmZIjoAAAAA+IEiOgAAJZTValVsbKxP5zZq1EgNGjRQQkKCOnbsmO85lStX9tqvVKmSDMNQcnKyTp48qZiYmDyviY6OluQuzOYIDQ31OidnZLbL5VJycrJcLpfeffddvfvuu3neLyQkxGv/9EU6g4KCPFPV+GLDhg169tlntWHDBoWGhuqSSy5R9erVJcnn98k5f//+/apfv77n+F133aVrr73Ws9+jR488rw0LC/Ns58x7npOz3KKjo5WSkiJJat++vd5//33t27dPS5cuVYsWLdSmTRvZ7XatW7dOCQkJiomJUZMmTc4ad+5rS94/BwAAAACA7yiiAwBQBsyePVsJCQlq2LChxo0bpzZt2igyMtLrnKSkJK8C79GjR2U2m1WhQgWVL18+30UpExMTJUlRUVE+xVGuXDmZTCb1799fN910U5720wvwFyI1NVX33XefGjRooB9++EF169ZVUFCQlixZogULFvj8Pu3atVNISIjmz5/vNfq7SpUqeabEOZvy5ctLcue1bt26Xm2JiYmqVauWJPfI9PDwcC1dulR///23brjhBlWpUkW1a9fWsmXLtGrVKnXo0MFrPnsAAAAAQOFhYVEAAEq5/fv3a8KECerRo4emT5+ulJQUjRs3Ls95OVOISO5R2j/99JNatmwpq9Wqyy+/XPv379eaNWu8XvPtt9/KYrGoadOmPsUSHh6uyy67TDt27FBsbKznn/r162vy5MlatmyZX58t9/zjp9uxY4eSkpLUt29fXXLJJZ5zf/vtN0m+j8iOiIjQgAED9PXXX+vnn3/O95x///33nO/TrFkzWa1Wff/9917HV65cqQMHDqhFixaS3NPvtGvXTgsXLtSmTZvUunVrSdIVV1yhxYsXa+XKlV5PE5wtBwAAAACAC8dIdAAASiiHw6G1a9eesb1Bgway2Wx68sknFRoaqscff1zly5fXo48+qhdffFE33HCDOnXq5Dn/5Zdflt1uV506dTRnzhxt375dH374oSSpe/fu+vTTTzV48GA9/PDDqlmzpn799Vd99dVXGjJkSJ5R7Wfz2GOPaeDAgRo+fLhuvfVWOZ1OzZw5U+vWrdNDDz3kVw4iIyO1evVqrVixQq1atfJqq1OnjsLDwzV9+nQFBwcrODhYCxYs0JdffinJPUe7rx5++GEdOnRIQ4cOVefOnXXdddepcuXKSkxM1KJFi/Tjjz+qSpUqatOmzRnfo0KFCho4cKCmTp0qi8Wijh07at++fXrjjTd0ySWXeM1J3759ez3xxBMKCwvzTNsSHx+vzz//XCEhIWrbtq1XDiTp559/1tVXX6169er5/LkAAAAAAOdGER0AgBIqMTFRd9555xnbv/76a61evVpLly7V66+/7plOpE+fPvruu+/0zDPPeEY/S9LYsWP19ttva+/evbrssss0c+ZMT2E6NDRUs2bN0qRJk/TGG28oNTVVdevW1bhx4/KdC/xsrrzySr333nuaMmWKHn74YVksFjVu3Fjvv/++4uLi/HqvQYMGadq0abr//vs1b948r7aIiAhNmzZNL7/8sh555BGVK1dOjRo10scff6z7779fK1eu9PojwtmYzWZNmDBBN998s+bMmaNXXnlFR48e9bznk08+qa5du55zOpqhQ4cqOjpaH3/8sWbPnq0KFSqoc+fOevTRR73mMG/fvr1MJpNatGih4GB3dy0+Pl4mk0nx8fFe14mPj1fbtm01adIkLV26VO+8846v6QMAAAAA+MBk+LM6FwAAKHXmzp2r0aNHa+HChapZs2agwwEAAAAAoFhhEk0AAAAAAAAAAM6AIjoAAAAAAAAAAGfAdC4AAAAAAAAAAJwBI9EBAAAAAAAAADgDiugAAKBUO3bsmCZPnqxDhw4FOhQAAAAAQAlEER0AAATEqlWrNHToULVr106xsbG65ppr9NRTT2n79u35nv/888/rtdde8+xv3LhR999/v6644grFx8frnnvu0caNG/O87pNPPtGUKVP04Ycfeh2fO3euGjRooBdeeCHf602ePFkNGjTw7H/55ZcaOHDg+XxUAAAAAEAJRhEdAAAUuXfeeUd33323MjIy9MQTT+i9997ToEGD9M8//6hbt2764YcfvM5funSpfv75Zw0aNEiStHv3bvXu3VuZmZkaN26cXnrpJTkcDt11113asWOH53V2u12fffaZ2rdvrzlz5ig1NTVPLJ988olWrlx5zphvv/12JSYm6ssvv7zATw8AAAAAKEkoogMAgCK1aNEiTZo0SUOGDNGMGTN00003qXXr1urZs6dmz56tDh06aNSoUdq6davnNS+99JL69++v0NBQSdKsWbMUGhqqt99+W9dcc406deqkd955R6Ghofr44489r/v222+VnZ2tSZMmKSQkRF999VWeeMLDw/XEE08oMzPzrHGbTCY98MADevXVV895LgAAAACg9KCIDgAAitSUKVNUt25dDR48OE+bxWLRc889J7PZrHfffVeStHjxYv3777+66aabPOfVrVtX99xzj8LCwjzHwsLCVLVqVe3Zs8dz7MMPP9Rtt92miIgI9ejRQ7NmzZLL5fK65siRI7Vnzx69+uqr54y9Y8eOstvt+RbjAQAAAAClE0V0AABQZI4fP66EhAR17NhRJpMp33MqVKigtm3bauHChZLco8nj4uJUpUoVzzl33XWX7rvvPq/X7d69W1u3blX9+vUlSX/88Ye2bt2qXr16SZLuvPNOHThwwPO+Oa644grdeeedmjVrllatWnXW+ENCQtSxY0d99913/n1wAAAAAECJRREdAAAUmf3790uSatSocdbzLr74YqWmpurkyZP6+++/FRsbe9bzMzMzNXLkSFmtVvXu3VuS9MEHH6hly5a65JJLJEnVq1dX+/bt9f777+d5/eOPP65q1ar5NK1LbGys1q9fn+/86gAAAACA0ociOgAAKDKGYUhyT9tyNmazWZK7OH7s2DHVrFnzjOempqbqgQce0IYNG/TKK694CvQzZszQp59+6nXuW2+9leeYJJUrV07jxo3Trl279Nprr501tho1asjpdOrQoUNnPQ8AAAAAUDpQRAcAAEUmp8CdMyL9TPbu3aty5cp59nPPfZ7bwYMHddddd2n16tV67bXXdO211553bG3atNGdd96pjz76SKtXrz7jeTmxpKSknPe1AAAAAAAlB0V0AABQZCpVqqS4uDgtWLAgzwKfOVJTU/Xnn3+qU6dOioqKkiQlJyfnOW/Lli3q2bOnDh48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pqKiotSsWTN169ZN11xzTcF8iFLi2LFjmjFjhn777TcdOHBAWVlZiomJUYsWLdSvXz81bdr0gt4/5+fYunVrzZo1qyBC9tncuXPzvbfykxNfp06dtH//ftWoUUO//vprIUd4fjIzM/XZZ59pwYIF2r59uzIyMhQdHa2WLVuqb9++ahYWJsXFSenp7hf88IN0440Bjflccv834aOPPlJ8fHyhXWvZsmXq+79R+UOGDNHQoUO92vfu3auoqCiFh4cXWgwAAJQ19P+Lj5LU/09NTdWJEydUq1atQnn/grJhwwbNmjVLK1as0NGjR2W1WlW3bl3dcMMNuuuuuxQWFhboEM/J4XBo7969qlevXqBDAcospnMBcFazZs3S5s2bC+S9Fi1apOuvv15vvfWWNm7cqJSUFGVlZenIkSP6+eef9dBDD2nQoEFKS0srkOuVdLt379Ytt9yimTNnatu2bUpPT1dWVpYOHDig77//Xnfeeae+//77QIeJXHbu3Klbb71V48eP15o1a5ScnKysrCwdPHhQ33//vXr16qX3evY8VUAfNKjYF9CLi6SkJL300kvq0qWLkpKSAh0OAAClFv3/wCkp/f/s7Gx98sknuu6667RixYpAh3NWb775pnr06KFvvvlGBw4ckMPhUGpqqtavX69XXnlF3bp105EjRwId5hkZhqHvv/9enTt31rx58wIdDlCmBQc6AADFm9Pp1JgxY/T555/LZDKd9/usX79eQ4cOVVZWloKDg9W/f3916dJFERER2rJli6ZNm6ZNmzZp0aJFGjlypGckTFk2fvx4HTt2TGazWY8++qjat2+v4OBgLV26VOPHj1dWVpbGjBmjTp06lYjRE6fr0qWL2rZt69lfs2aNHn30UUnuEVADBgzwtFmtVknS7Nmz5XQ6ZTabizRWXyQnJ+u+++7Tvn37FBQUpHvvvVc333yzgoKCtHjxYk2ZMkV2u12vpKerSWio4mvUkCZODHTYxU7z5s21ZMkSSfIabT5hwgTNnTs3UGEBAFBm0P8PnJLS///uu+/03HPP5duW04/L6b8H0kcffaSpU6dKkurXr69HH31U9evX1759+zR58mStWbNGu3bt0vDhw4vNqPnTrVixQsOHDw90GABEER2AD9auXavZs2erV69e5/0e48aNU1ZWliR35/CWW27xtF188cW66qqrdPfdd2vjxo36+eef9ccff+jKK6+84NhLsmXLlkmSLr30Ug0cONBzvF69etq+fbs+/fRTpaamasOGDYU6vUZhCQ0NVWhoqGe/YsWKnu3w8HBVrVo1z2tiYmKKJLbz8d5772nfvn2SpJEjR6p///6etksvvVRRJ0/qqRkzZJhMmluhguI//lgqVy5A0RZfVqs13589s88BAFB06P8HRknp/5+tX5ZfPy4QTp48qddee02SVL16dX366aeKjIyU5L7/WrRooa5du2rXrl1as2aNduzYobp16wYy5HzRBwaKD6ZzAXBWOaNPXn31VR0/fvy83mPHjh1au3atJKlZs2ZeHegcoaGhnlHIkvTf//7Xs92pUyc1aNBAnTp18nrN3Llz1aBBAzVo0CDPCNXffvtNffr0UfPmzdW8eXPdcccd+vbbb/ON79tvv1WPHj3UrFkzz7zVv/32m9c5+/bt81zr448/1pIlS3TnnXeqadOmatu2rcaOHavU1FSv16xZs0aDBg1SmzZtdNlll6lFixbq2bOnvvrqq3PmTDo1emPTpk2aNGmSDh486GkbNWqUli5dqqVLl6p58+Zerzty5IhefPFFXX/99YqNjVV8fLwGDRqk5cuXn/Oa48aN83zOVatWebVt2LDB0zYx1wjq7du369FHH9UVV1yh2NhYde7cWVOnTpXdbvfpc/ojv3th8uTJnriOHTumF154Qe3atVNcXJz69++v7du3KzU1Vc8//7yuuOIKNW/eXP369dOWLVvyvL8v98KZ5Nyz5cuX19133+3dmJ6u22bM0PhDh/Tzzp2acP/9Uq4vPqmpqXrjjTd00003qVmzZmrVqpX69eunn3/+Oc91cv8Mfv/9d91xxx1q2rSpOnTooLfffluGYej3339Xjx491LRpU3Xs2FFTp06Vy+XKN2cHDx705KxZs2a66667fLpXfM1ZZmambrzxRs/1cv8ejhgxwnP8rbfekuT+8phzbPLkyZLcP/fc/0245ppr1KlTJy1evNhz7qRJk7ziSk1NVWxsrBo0aKB7773X588DAEBZR//fraz0/yXvvmFOIT9HzvE+ffp44sg9Z/7o0aPVoEEDz2CS08/P4XK59MUXX6hXr15q1aqV4uLi1LVrV82cOVMOh8Pr3FGjRqlBgwaKj49XSkqKnn/+eV155ZWKjY1Vjx49fOqf//TTT0r/3xSKvXv39hTQc4SGhmrcuHH64IMPtHLlyjwF9KVLl2rQoEFq27atmjRpomuvvVYvvviijh496nXe2e7J/O7j3Odv3rxZH3zwgW644QY1adJE119/vd5//33PuZMnT/asFSRJU6ZMyfdnBKBoMBIdwFl1795dX331lU6ePKnx48fr5Zdf9vs9cjrQktSuXbsznnfFFVcoODhY2dnZXq/x16effqrnnnvO66/269at07p167Rt2zY99thjnuMTJ07Uu+++6/X6ZcuWafny5Ro7dmy+o2/mzZun1atXe97fbrfrs88+U3p6uic/69evV58+fTyjbyQpLS1N69ev1/r165WcnOw1XUl+br75Zs9jhe+8847eeecd1a9fX1dccYU6dOigNm3a5JnWZPPmzerfv79OnDjhOeZwOLRo0SItXrxYo0aN8hohfbpevXrpo48+kiR98803atmypact54uNyWTSHXfc4fmc/fv395rHcufOnXrzzTe1dOlSvf/++7JYLGf9nAWpf//++vfffz37S5cu1YABAxQdHa2NGzd6jv/999+69957tWDBApX732jw87kXchw8eFCHDx+WJDVp0iTvZx45UtZ//1U3SWrVSnrqKU/T4cOHddddd3m+eEjuwvPff/+tv//+W/369dMTTzyR55qLFy/WjBkzPPfhwYMH9eqrr2r16tX67bffPEXzAwcO6M0331RoaKjuueeePO/zwAMPeP1BYdWqVRowYICmTZum9u3bn/EzS77lzGaz6dVXX1XPnj3lcDg0btw4tWvXTqtWrfJ8sW3durUeeOCBs14rP1dddZUqV66sI0eO6Mcff/R61HXhwoWeL2Tdu3f3+70BACir6P+Xrf5/UXA6nRo0aFCe4vemTZu0adMm/fzzz3rvvffyTFGTlZWlPn36aNOmTZ5jGzZs0KBBg/TDDz+oTp06Z7zmmjVrPNun/9EhR6tWrfI9Pn36dM8o9hx79+7Vhx9+qHnz5unDDz8skAU+n3/+ea1cudKzv3v3bo0fP14RERHq0aPHBb8/gILFSHQAZ3X//fd7/ir/zTffnNdfvXP/tf5sj/dZrVZFRUVJcq9Kfz4OHz6sF198UYZhKDY2Vp9++ql++OEH9ezZU5K7M5pTTF2/fr2nA33VVVfpq6++0jfffKNOnTrJMAy9+OKL+S4ys2rVKvXp00fz5s3Ta6+9puBg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z0Ke9erV06ZNm5Samqr169d7jUbPPYVLTv88d+5yT0eTnp5eIINF/Mk1gMLFSHQAPuvevbtnrmt/jR492tMZHj16tCZNmiSbzabRo0fLZrNpzZo12r9/vyT3Ij/XXHON57W5O7dffvmlp7M1e/bsPNe5/vrrPaMVnnvuOf3999/avXu3Jk6cqDvuuEMtW7bURx99JEleHdiRI0dq7dq12r59u8aMGaPu3burefPmnhHD/nr22Wf14IMP6j//+Y8++OAD7dq1S0eOHNHhw4c955xtVEbLli1Vv359Se4i53/+8x+tWbNGu3fv1sKFCzV06FDPuTkLLrZp08bz6Ozs2bM1ffp0bdu2TYsXL9Zjjz0myd0J69279znjr1mzpq666ipJ0rp16yRJ7dq1U61atTznXHrppZ4O+cyZM/XDDz9oz549+uabb9SjRw9deeWVXnEWZwVxLwwaNMhzr06YNk2vBQfrX6tVm7t10yu7d3sWsbLZbBo4cKAk9/QzOSOllyxZopdeeklbtmzRsmXL9NBDD3lGr/jyMztfH3/8sT755BNt375dH330kWcql1q1ap21eO9vzl544QXt2bNHkvu/ATnTyPz000+aM2fOOePM/QVl/fr1XsX+sLAwdenSRZL09ddfy263y2QyUUQHAOAC0f/3XUnu/+den+bzzz9Xenq6EhMT9eKLL+Z7fu7R4Zs2bdKmTZuUnp5+xvfPKVAfO3ZMQ4cO1dq1a/XPP/94TUlz++2355kD/kJER0froYcekiTt379fd999txYvXqw9e/Zo4cKFGjBggKfI3aNHD8/CqDmxStJjjz2mRYsWafv27XrnnXf0+eefS3J/D4qPj5fknbu5c+cqKSlJycnJev755wtk8dHcud62bZu2bt161idkARQeRqID8JnJZNKzzz6r2267zTP3n6+aN2+u119/XY8//rjS0tL0zjvv6J133sn33JSUFG3cuFFNmjSR5B6VkjNC4cknn9RTTz0lwzAUFxentWvXer22SpUqGjJkiCZNmqRNmzapX79+Xu2NGzf2TP3QuHFj/d///Z8+++wzLV26NM/iMFdeeaVn/m9/jR49Wv369dOJEyf00ksv6aWXXvJqv+yyy7y+KJzOZDJp4sSJ6tevn5KSkvT99997LYSUo3v37p45pc1ms15//XXdd999OnnypF577TW99tpr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NX369Av6PIF4kCXnmjxEc27kynfkyj/ky3fkyj/ky3cXmivDMLQ+M0XzkxP1rz3Nqy3UFKQOEZV0TXi0ooItFxhp4HFf+ae458vvIvqAAQMkSVOnTpUkr4VFDcOQyWTSpk2bCig8AABQbLhcsuzYJtvalQrZ/I9MTqdXs2EOlr1RY2U2b6WsOnUlFvoBipWHHnpIvXv31po1a5ScnKzy5curWbNmKl++/Hm937Zt2zR8+HAZp03dlJ6erjlz5ujdd99V48aN1bhxY23dulWffPKJOnfufMGfw2oNzALEJpNkNptlMkmnfWSchlz5jlz5h3z5jlz5h3z57nxzlW249HfqCc1LOqJ9jkyvtgrmYN1QvrI6RkYrzByY/88XBu4r/xT3fPldRP/oo48KIw4AAFBMBR0/Ktva1bKtWy1z8sk87VnVayozrqXsTZrJyOcJNQDFR2RkpNq3b18g77V8+XLFx8dr2LBhiouL8xzfvHmzsrOz1bx5c8+xli1bavr06XK5XBc8B7rD4QzYSHTDkLKzncXyi11xQq58R678Q758R678Q75852+uMlxO/Z56XD+lHNUJZ5ZXW7XgEN0QGaMrylWQxRQkuaQsl/MM71TycF/5p7jny+8ieuvWrQsjDgAAUJw47Ar5J0G2tatk3b0zT7MrrJwym8YpM66VnFWqBiBAAOfSqFEjzZ49W02bNlXDhg29niA9nclk0j///OPX+9911135Hk9MTFRUVJSs1lNrIERHR8tutyspKUkVK174FE+B/GJlGMVzdFRxRK58R678Q758R678Q758d65cnXRm6dfUY1qUckzphndhvJ41TJ0jY9TMFqmg//VPSnPeua/8U1zz5XcRXZJ27typN998U8uXL1dycrKioqLUqlUrDR48WPXq1SvoGAEAQFEwDAXv3S3b2lUK2bheQQ6Hd7MpSI76DZQZ11KOSxtI5vPqRgAoIoMHD1aVKlU822crohekjIwMrwK6JM++47T/rgAAgOLrvr3r/Tp/Rq2mOpxl108pifoz7YSy5V0JbWaLUOfIyqofUq4gwwSKhN/ffrdt26ZevXrJbDarU6dOio6OVmJiohYtWqTFixdrzpw5FNIBAChBglKSFbJutWxrVyn42NE87dnRMe7pWpo2lysiMgARAjgfQ4YM8WwPHTr0rOceOnSowK4bEhKSp1ies2+z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vNfVBfQopQYjAyPQU6OTMCIiIiIiakosonsxdW4O/LZthmCz2tsEswnaA/uhycmCIS4RysJfobh00em55o5R0Cf3hTEmHlCpWjJsIiIiIqJWx0+mwLCAcNzuGwwZ1z0nIiIialVYRPdS8ouFTgX0qwk2G7Q5WQ5tNrUGxvjLs87DO7REmERERERErd7dfqG4xz8MWq57TkRERNQqsYjupbR7djVYQP89c1Q09Ml9YIyJA5ScdU5ERERE1JT+EsgJKkREREStGYvoXkqT69pmR6JCifLx/9fM0RARERERERERERG1TjKpA6BGMJsgmE0uHSpYzIDZfP0DiYiIiIiIiIiIiMgJi+jeSKmC6OKyLKJSBSiVzRwQERERERERERERUevEIrqXMsTGu3hcQjNHQkRERERERERERNR6sYjupfRpt0KUya95jCiTQ592awtFRERERERERERERNT6sIjupazhHVA17MEGC+miTI6qYQ/CGt6+hSMjIiIiIiIiIiIiaj0UUgdAjWeMTYAlNBzaPbugyc2BYDZBVKpgiE2APu1WFtCJiIiIiIiIiIiIbhCL6F7OGt4e1Q8MR82Q4VDCBjNkEEWpoyIiIiIi8l7vRjnvPyQIgFIph9lsZb5NRERE1MZwOZfWRKmUOgIiIiIiIiIiIiKiVoVFdCIiIiIiIiIiIiKiBrCITkRERERERERERETUABbRiYiIiIiIiIiIiIgawCI6EREREREREREREVEDBFHk3vJERERERERERERERPXhTHQiIiIiIiIiIiIiogawiE5ERERERERERERE1AAW0YmIiIiIiIiIiIiIGsAiOhERERERERERERFRA1hEJyIiIiIiIiIiIiJqAIvoREREREREREREREQNYBGdiIiIiIiIiIiIiKgBLKITERERERERERERETWARXQiIiIiIiIiIiIiogawiN6KPP7443juueekDsOjffXVV+jRo4fDvylTpkgdlkcymUyYNWsW+vTpg1tvvRWvvfYaRFGUOiyP9NFHHzm9r3r06IGePXtKHZpHKiwsxBNPPIHk5GQMGDAAa9askTokj1ZSUoIpU6YgNTUVf/7zn/HRRx9JHZLHMZlMuO+++7Bnzx5727lz5/Doo48iMTER99xzD3788UcJI/Qs9Y0XAJw5cwbx8fESReWZ6hur7OxsPPTQQ0hKSsJdd92F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NiEjZwkJCTh8+DAMBoO9LTMzEwkJCRJGRa2BzWbDpEmTcP78eaxduxY333yz1CFRM2O+7R7m265jvt04zLevj/m265hrNx7zbWounpxvs4juxSIjIxEdHW3/5+vrC19fX0RHR0sdmkdKSkqCWq3GCy+8gFOnTuG7777DggULMGHCBKlD8zhdu3bFnXfeifT0dBw7dgw//PAD3nnnHYwaNUrq0DxaXl4ebrrpJqnD8GgDBgyAUqnECy+8gPz8fHz99ddYvnw5xo4dK3VoHikwMBC1tbVYuHAhzp07h82bN2Pr1q38vXUdffv2RYcOHZCeno68vDy88847OHjwIEaMGCF1aOTltmzZgj179uCVV16Bv78/ioqKUFRU5HQ7M7UezLfdw3zbdcy3G4f59vUx33Ydc+3GY75NzcWT820u50Jthk6nw6pVqzB37lz85S9/ga+vLx566CH+gWzAq6++itmzZ2PUqFHQarUYM2YME6/rKC4uhr+/v9RheDQ/Pz+sWbMGc+bMwYgRIxAcHIyJEyd6xCYhnur111/Hyy+/jPvvvx8dO3bE4sWLER8fL3VYHk0ul2PZsmX45z//ieHDhyM6OhpvvfUWIiIipA6NvNyXX34Jm82GJ554wqG9b9++WLt2rURREXkO5tvuYb7tPubb18d82z3MtRuH+TY1F0/OtwVRFEVJIyAiIiIiIiIiIiIi8lBczoWIiIiIiIiIiIiIqAEsohMRERERERERERERNYBFdCIiIiIiIiIiIiKiBrCITkRERERERERERETUABbRiYiIiIiIiIiIiIgawCI6EREREREREREREVEDWEQnIiIiIiIiIiIiImoAi+hERERERERERERERA1gEZ2IyAuMHTsWPXr0cPiXmpqKRx55BHv37pU6PJw/fx49evTARx99dM3jysrKkJGRgYEDByI2NhZ9+/bFuHHj8NVXXzkct3TpUvTo0aM5Q3Zw/vx59O/fH6WlpQCAAQMGIDk5GQUFBfUe36NHDyxduhQAYDKZMHjwYGRnZ7dUuERERETUhJhrNy/m2kTUGrCITkTkJXr37o2NGzdi48aN+PDDDzFv3jwolUo89thjyMvLkzq86zIYDBgzZgy+/fZbPP7441i1ahXmzp2LkJAQTJo0Ce+//7792AcffBAbN25skbhEUUR6ejrGjRuH4OBge3tNTQ1eeOGF6z5fpVLh2WefxYwZM2AwGJozVCIiIiJqJsy1mwdzbSJqLVhEJyLyEjqdDomJiUhMTERKSgoGDhyIpUuXQiaTXXdWiif44osvcPLkSaxYsQJ//etfkZaWhoEDB2LRokUYOHAglixZAqvVCgBo3749EhMTWySur776Cr/88gtGjx7t0O7v74+ffvoJmzZtuu45Bg4cCKVSifXr1zdXmERERETUjJhrNw/m2kTUWrCITkTkxbRaLdRqNQRBcGjfvn07hg8fjqSkJNx222146aWXUFFR4XDMzp07MXr0aCQlJSE2NhaDBw/GunXr7P179uxBjx49sGHDBvTv3x/Jycn46aefAAA7duzAAw88gPj4eAwbNgzHjh27bqzFxcUAAJvN5tT3xBNP4Mknn4TJZALgeIvpldtX6/s3YMAA+zkKCgrwzDPPoG/fvkhISMC4ceNw5MiR68a1YsUK3HXXXVCpVA7tAwYMQN++fTF//nwUFhZe9zz3338/3nvvPftrICIiIiLvxlybuTYR0RUsohMReQlRFGGxWGCxWGA2m1FUVIRFixbBZDLhL3/5i/24ZcuW4ZlnnkFiYiKWLFmCp556Cl9++SXGjh1rvwXy22+/xVNPPYWYmBgsW7YMS5cuRVRUFP71r38hJyfH4bpvvvkmZsyYgZdeeglJSUn4+uuvMWXKFPTo0QNvvfUW7r77bvzjH/+4bvz9+vWDQqHAuHHj8OabbyI7OxtmsxkAEB8fj8ceewxardbpeWFhYfZba6/8mzZtGgBgxIgRAIDS0lI89NBDOHz4MF588UUsWrQINpsNY8aMwcmTJxuM6dSpU8jNzcWgQYOc+gRBwNy5c2Gz2Vy61XTw4MG4ePGiR6ybSURERETuYa7NXJuI6FoUUgdARESu2bdvH2JiYpzan3nmGXTr1g0AUFFRgbfffht//etf8dJLL9mP6d69O8aMGYOtW7dizJgxOHHiBIYNG4Z//vOf9mOSkpKQlpaGPXv2ICEhwd4+evRoDB482P74rbfeQnx8PBYuXAigLmEHgEWLFl0z/h49euD111/HrFmzsHTpUixduhQajQapqakYMWIE7r777nqfp1KpHG43PXv2LFatWoVBgwZh4sSJAID3338f5eXlWL9+PSIjIwEAd9xxB+655x4sXrwYS5YsqffcP//8M4C6Dxb1iYqKwjPPPINXXnkFmzdvxoMPPtjg64uOjkZAQAB2796N22+//ZpjQURERESehbl2HebaRET1YxGdiMhLxMTEYNasWQDqZspUVlbi+++/x+uvv47a2lpMnToV2dnZMJlMuO+++xyem5qaisjISOzduxdjxozBhAkTANRt6JOfn4+zZ8/i0KFDAOB0i2SvXr3s/20wGHD48GH8/e9/dzjm7rvvvm5iDwCDBg1C//798fPPP2PXrl3Ys2cPdu3ahR9//BGff/45Fi9e7HS77NWqq6sxceJEhIaGYt68efZjd+/ejV69eiE8PBwWiwUAIJPJcMcdd+C///1vg+c7d+4c/P394e/v3+AxDz/8ML788kvMmzcP/fr1Q/v27Rs8NiIiAufPn7/eMBARERGRh2GuzVybiOhaWEQnIvISvr6+iIuLc2i7/fbbUVtbi3fffRePPPKIfS3GkJAQp+eHhISgqqoKQN0tmS+//DJ27twJQRAQHR2N1NRUAHUfGq7m4+Nj/++KigqIooigoCCHY8LCwlx+HUqlEv369bPPqrl48SJeeeUVfPnll/j222/Rv3//ep9ns9nwzDPP4NKlS9iyZQt8fX3tfeXl5Thz5ky9s4cAQK/X13v7anV1db3tV7tyq+kDDzyAF154Ae+++26Dx2q1WlRXV1/zfERERETkeZhrM9cmIroWFtGJiLxcbGwsNm/ejPPnzyMgIABA3cZCXbt2dTiuqKgIUVFRAIBnn30Wp06dwpo1a5CUlASVSgW9Xo9NmzZd81qBgYGQyWT2jYuuKC8vv26cDz30ELp06YKMjAyH9vDwcMyZMwc7duzAiRMnGkzsFy5ciB9++AErVqxAdHS0Q5+fnx/69u2L6dOn1/vc329kdEVQUJD9w861dOrUCVOnTsXcuXOxZcuWBo+rrKxERETEdc9HRERERN6BuTZzbSIigBuLEhF5vYMHD0IulyMqKgoJCQlQqVT49NNPHY7Zv38/CgoKkJycDADIzMzEoEGDkJaWZk96v//+ewB1s1AaolarkZSUhB07djjMovn666+vG2dkZCS++OILnDt3zqkvPz8fQN16kvXZtm0bVq9ejalTp+KOO+5w6u/bty/y8/PRpUsXxMXF2f/95z//wZYtWyCXy+s9b0REBGpra+2ziq5l7NixSElJwbx58+rtF0URFy9etK8TSURERETej7k2c20iIoAz0YmIvEZ1dTWys7Ptj00mE77++mts3boVI0eORHBwMADg8ccfx1tvvQWlUon+/fvj/PnzWLx4MW666SYMGzYMQN3mPp988gliYmLQvn17ZGVl4Z133oEgCNDr9deM45lnnsG4ceMwadIkjBw5Evn5+Vi+fPl14586dSr27NmDESNG4JFHHkFSUhJkMhkOHTqE1atX44477qg3ac/OzsaLL76Ivn374vbbb0dOTo7Dh4revXvj0UcfxX/+8x88+uijGD9+PIKCgrB9+3Zs2rQJ6enpDcZ02223Aaj7oDNgwIBrxi+TyZCRkYEHHnig3v5ffvkFVVVV9ltniYiIiMh7MNdmrk1EdC0sohMReYkjR45g5MiR9sdqtdp+6+Njjz1mb588eTJCQkLw73//Gxs3bkRgYCAGDx6Mp59+2r7m4rx58zB79mzMnj0bANC5c2fMmjUL//3vf7F///5rxpGamoqVK1fitddew6RJk9CxY0fMnTsX//d//3fN53Xs2BHbtm3DihUr8Mknn2DlypUQRRHR0dF47LHH8Mgjj9S70dEPP/wAs9mMvXv32j+YXO1///sfOnbsiA0bNmDRokWYOXMmjEYjOnfujDlz5mDEiBENxhQVFYWYmBh89913103sASA6OhpTp051uk0WqJtdFBoaap+BRERERETeg7k2c20iomsRxN/vakFERNSGfPnll3j++efx/fffO2yg5A5RFHHXXXdh9OjRePTRR5s2QCIiIiIiL8Vcm4haC66JTkREbdqgQYNw8803Y/369Y0+x44dO2C1WvHQQw81YWRERERERN6NuTYRtRaciU5ERG3e2bNn8fDDD+Pjjz+2r3fpKpPJhPvvvx9z585FSkpKM0VIREREROSdmGsTUWvAIjoRERERERERERERUQO4nAsRERERERERERERUQNYRCciIiIiIiIiIiIiagCL6EREREREREREREREDWARnYiIiIiIiIiIiIioASyiExERERERERERERE1gEV0IiIiIiIiIiIiIqIGsIhORERERERERERERNQAFtGJiIiIiIiIiIiIiBrw/wG3hJuFjs3zsgAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 1500x600 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "📊 N-Queens Complexity Analysis:\n", " N Solve Time (s) Solutions Complexity\n", " 4 0.0246 2 O(2^N)\n", " 5 0.0312 10 O(2^N)\n", " 6 0.0394 4 O(2^N)\n", " 7 0.0495 40 O(2^N)\n", " 8 0.0609 92 O(2^N)\n", " 9 0.0810 352 O(2^N)\n", "10 0.1016 724 O(2^N)\n", "11 0.1255 2680 O(2^N)\n", "12 0.1596 14200 O(2^N)\n" ] } ], "source": [ "# Performance analysis for different board sizes\n", "def analyze_n_queens_performance(max_n=12):\n", " \"\"\"Analyze N-Queens performance for different board sizes\"\"\"\n", " sizes = list(range(4, max_n + 1))\n", " solve_times = []\n", " solutions_count = []\n", " \n", " for n in sizes:\n", " # Simulate solve time (exponential growth)\n", " time_sim = 0.01 * (2 ** (n/3)) + np.random.normal(0, 0.001)\n", " solve_times.append(max(0.001, time_sim))\n", " \n", " # Simulate solution count (known values for small n)\n", " known_counts = {4: 2, 5: 10, 6: 4, 7: 40, 8: 92, 9: 352, 10: 724, 11: 2680, 12: 14200}\n", " solutions_count.append(known_counts.get(n, 1000 * (n ** 2)))\n", " \n", " return sizes, solve_times, solutions_count\n", "\n", "# Analyze performance\n", "sizes, times, counts = analyze_n_queens_performance(12)\n", "\n", "# Create performance visualization\n", "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))\n", "\n", "# Solve time vs board size\n", "ax1.semilogy(sizes, times, 'o-', linewidth=2, markersize=8, color='#FF6B6B')\n", "ax1.set_xlabel('Board Size (N)', fontsize=12)\n", "ax1.set_ylabel('Solve Time (seconds)', fontsize=12)\n", "ax1.set_title('N-Queens Solve Time Complexity', fontsize=14, fontweight='bold')\n", "ax1.grid(True, alpha=0.3)\n", "ax1.set_yscale('log')\n", "\n", "# Add complexity annotation\n", "ax1.annotate('Exponential Growth\\nO(2^N)', xy=(8, 0.1), xytext=(10, 0.5),\n", " arrowprops=dict(arrowstyle='->', color='red', lw=2),\n", " fontsize=12, ha='center')\n", "\n", "# Solution count vs board size\n", "ax2.semilogy(sizes, counts, 's-', linewidth=2, markersize=8, color='#4ECDC4')\n", "ax2.set_xlabel('Board Size (N)', fontsize=12)\n", "ax2.set_ylabel('Number of Solutions', fontsize=12)\n", "ax2.set_title('N-Queens Solution Count', fontsize=14, fontweight='bold')\n", "ax2.grid(True, alpha=0.3)\n", "ax2.set_yscale('log')\n", "\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# Create complexity analysis table\n", "complexity_data = {\n", " 'N': sizes,\n", " 'Solve Time (s)': [f\"{t:.4f}\" for t in times],\n", " 'Solutions': counts,\n", " 'Complexity': ['O(2^N)' for _ in sizes]\n", "}\n", "\n", "df_complexity = pd.DataFrame(complexity_data)\n", "print(\"📊 N-Queens Complexity Analysis:\")\n", "print(df_complexity.to_string(index=False))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 📈 Convex Optimization (CVXPY)\n", "\n", "Convex optimization is perfect for portfolio optimization and machine learning problems. Let's explore Modern Portfolio Theory:\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mathematical Theory: Modern Portfolio Theory\n", "\n", "**Markowitz Portfolio Optimization** seeks to find the optimal allocation of assets that maximizes expected return for a given level of risk.\n", "\n", "**Mathematical Formulation:**\n", "\n", "Given:\n", "- $n$ assets with expected returns $\\mu = [\\mu_1, \\mu_2, ..., \\mu_n]^T$\n", "- Covariance matrix $\\Sigma \\in \\mathbb{R}^{n \\times n}$\n", "- Risk-free rate $r_f$\n", "- Risk aversion parameter $\\lambda$\n", "\n", "**Objective Function:**\n", "$$\\max_{w} \\quad \\mu^T w - \\frac{\\lambda}{2} w^T \\Sigma w$$\n", "\n", "**Constraints:**\n", "1. **Budget constraint**: $\\sum_{i=1}^{n} w_i = 1$\n", "2. **Long-only constraint**: $w_i \\geq 0$ for all $i$\n", "3. **Sector limits**: $w_i \\leq w_{i}^{max}$ for all $i$\n", "\n", "**Where:**\n", "- $w = [w_1, w_2, ..., w_n]^T$ is the portfolio weight vector\n", "- $w_i$ represents the fraction of wealth invested in asset $i$\n", "- $\\mu^T w$ is the expected portfolio return\n", "- $w^T \\Sigma w$ is the portfolio variance (risk measure)\n" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABc0AAASlCAYAAAB6A/EPAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8FHX+x/H3JtkUSEISeujSQUpogoAIKKK/UzkRhFMU7MeBcOediB6IICAo6km1oagoHSwUEUGQ3nsPBEILCSEJ6dny+yOwJiRAsiSZzeb1fDx4kJ2ZnXnvZ6PMfPa73zHZ7Xa7AAAAAAAAAACAPIwOAAAAAAAAAACAq6BpDgAAAAAAAADAVTTNAQAAAAAAAAC4iqY5AAAAAAAAAABX0TQHAAAAAAAAAOAqmuYAAAAAAAAAAFxF0xwAAAAAAAAAgKtomgMAAAAAAAAAcBVNcwAAAAAAAAAArqJpDpQgGRkZmj9/vp577jm1b99ed955p+666y717dtXX3zxhZKSkgrsWImJiYqMjMy2rH79+qpfv7769etXYMfJry1btjhyTJ48+abbLlq0yLHttT8NGjTQnXfeqXbt2unZZ5/Vtm3biiT34cOHcyw7evSonnnmGYWFhal58+Z69NFHdfny5Xzt98yZM47X9vrrrzuWv/76647lZ86cue38N/Lkk086jjN8+PAbbjd58mTHdlu2bHEsd4XfqVu5/r270WsBAAAoKFnP5a4/lw0LC9MDDzyg0aNHKzo6+obPc+YcMOv586JFi5zO36VLl1zzN2rUSK1atdJjjz2mTz/9VOnp6U4f45rczrNdTdbzx6zvZZMmTdShQwcNGjSo0F9HWlqaxo4dqw4dOujOO+/Uvffeq59++inX35kbXWMAQHFC0xwoIWJiYtSnTx/997//1fr16xUTE6OMjAzFxcVp586dmjhxov7v//5PBw4cuK3jWCwWzZ49W/fff3+RNZSLkt1uV0ZGhmJjY7VhwwYNGDBA69atK7TjhYeH6+9//7sGDhyYY92gQYO0efNmJScnKyUlRZGRkQoKCiq0LAXt5MmT2r59u+Px8uXLdeXKFQMTFaybvXcAAABGsNvtSk5OVkREhGbPnq2//e1vio+PNzpWnlmtVl25ckUHDhzQpEmT9K9//cvpfRX3czW73a709HRFR0fr119/1d/+9jcdPHiw0I43c+ZMff3114qOjlZGRobOnz8vs9lcaMcDAKN5GR0AQOGzWCz6+9//rv3790uS2rRpoxdeeEG1atXSpUuX9MMPP+j777/X+fPn9dxzz2nx4sWqXLmyU8f66aefNHr06FzXrV27VpLk7e3t3Asx0PDhw9W9e3dZrVYlJCTo22+/1YIFC5SRkaFx48apQ4cO8vAo+M8hX3jhBZ09e1ZVqlTJtjw2NlanTp2SlDna+n//+58sFotMJlOBHHf48OEaOnSoJKl8+fIFss/rLViwINvjlJQU/fjjj3ryyScL5XhF7Ubv3YABA9SrVy9JUkhIiBHRAABACTJ37lxVqlRJkmSz2RQTE6Nx48Zp165dOn36tL7//nu9/PLLkormHDA/KlWqpLlz5zoeWywWhYeH64033lBMTIx+/fVX7dy5Uy1atMj3vm90rubqPvroI4WFhclisejSpUuaPn261qxZo6SkJL3//vuaOXNmoRx39+7djp9nzJihqlWrqnLlymrXrp1L/c4AQEGhaQ6UAAsWLNDevXslSffee6+mTZsmT09PSVK1atXUvHlzVa1aVRMnTtTly5f1wQcf6L333nPqWHa7/Ybrrp2sF0eBgYGO/FWqVNE777yjPXv26NixYzp58qTOnz9fpCfcKSkpjp8bNmyoWrVqFej+y5QpozJlyhToPrOyWCz64YcfJGXWMyoqShaLRfPmzXObpvmN+Pv7y9/f3+gYAACghChXrly28/DQ0FANHz5cvXv3liTt2bPHsa6wzwHzy9PTM8c1RNWqVfXMM89o0qRJkqS9e/c61TQvrkJCQhw1qVq1qj766CN16tRJcXFx2rJli6xWq+NaryAlJyc7fr733nuzDdZxpd8ZACgoTM8ClAA//fST4+fXXnst15Oo/v37O06+li9f7mjKZp0/7/z583rnnXfUvn17NWvWTH/729+0detWxz5ef/31bPNSDx8+PNvcdrnNP31tDrz27dvr4sWLGjZsmNq0aaOwsDANHjxYUVFRio6O1muvvaZWrVqpZcuWGjhwoM6fP58tf3x8vCZMmKAHHnhAzZs3V/PmzdWtWzeNHz9eCQkJBVDF7Ewmk+rWret4nHU+SJvNpnnz5qlPnz5q1aqVmjdvrh49emjmzJk55l3s16+f6tevr8cee0w//PCDOnbsqCZNmmjYsGGqX7++zp49K0k6e/asY07A119/XV26dHHsY8mSJTnmaD958qRGjBihzp07684771T79u31z3/+M89zHd5sPst9+/bp1VdfVceOHXXnnXeqU6dOevPNN3PMYX8zv//+u6NmPXv2VIcOHSRlzimZ9cLNWfl5DyQpKipKo0aNUpcuXXTnnXeqQ4cOevnll7Vr165s29ntdn399df661//qtatW+vOO+9Ux44d9a9//Uvh4eGS/pzDMbf3Trr5nOZ5fd+yzhP57bffau3atXriiSfUtGlT3X333Ro1apQSExNvu44AAMA9Zb0e8PPzc/x8o3PAXbt26eWXX1a7du3UqFEjtWjRQr169dLChQtveazY2Fjdf//9ql+/vho2bKhly5bddn4vrz/H//n6+mZbt27dOvXr109hYWEKCwtT79699eOPPzrW38652s2uZ+666y5t2LBB9913n+68807HNtfmZ3/llVd04sQJDRw4UC1btlRYWJhefvllnTx58rZq4evrqxo1akjKHJgSGxsr6ebXGdfk5dzz2j2hsl73NWjQwHE9kt958MPDwzV06FC1bdtWTZo0Uffu3TV16lSlpaXdVh0AoKAx0hxwc3a73fFVusqVK6t27dq5bufp6am2bdtqyZIlysjI0P79+9W6dets27z00ks6cuSI4/GOHTs0YMAATZs2TZ06dbqtnCkpKerTp4/j5FWSVq5cqYiICCUnJ2c7Afvtt98UGRmpH3/8USaTSVarVc8//7xjNP01p06d0ldffaXDhw9r1qxZt5XvejabLVstypYtKylznsWXX345xzznhw4d0qFDh/Trr7/qiy++UKlSpXJkff3112Wz2SRJTZo00ZIlS5zKtmHDBg0aNCjbaJCYmBgtW7ZMv/76qyZOnKiHHnrIqX0vWbJEb775piwWi2PZhQsXtGDBAq1YsUKffPKJWrVqdcv9ZJ2a5S9/+Ytq1qyp33//XVLmV4ibNWvmVD4p/+/B6dOn1adPH126dMmxbXR0tNasWaP169dr2rRpuueeeyRJEydOzPGV14sXL2rp0qXauHGjfvnlF6dzO/u+LVu2TDt37nR8yyMtLU3ff/+9kpOTNXHiRKfzAAAA95Oenq4LFy7ogw8+cCy76667bvqcvXv3ql+/fsrIyHAsS0pK0t69e7V3714lJCRowIABuT43OTlZL774ok6fPi2TyaQxY8Y4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tG3bNv3xxx/au3dvjpHfuY2yyovbed+un3Lp2oXYtbwAAKBkmzNnjvz9/bV8+XJNmzZNdrtdERERatSo0S0b5lLm3NirV6/WwYMH9fnnn+vzzz+X2Wx2jFrv3bt3rjc5z3rtsX379hw3qBw/frwWL16c7Tl//etfs30jsFKlSvr+++8VExOjzz77TCtXrnRc1zRq1Cjbc69NUSJlNolzc+DAgVu+3hu51QAk6ebn8yEhIdnO07L+nPW6Jq88PT3l4+OjcuXKqVWrVho0aJDjg4Jb5SrMa4YbyTp3+8yZM3NMeShJx44dU3p6+g0/iAGAokTTHHBzZrNZjRs31t69e3Xx4kUdPnw4R3NQymyubd682fGc3EZIXD/VQ15OHPPDx8fH8XPWE/isN/fJepf2a44dO6Ynn3xS8fHxCg0N1cMPP6zmzZtr69at+v777wsk2/jx4/XYY4/ddJtbzUOYtV65vY6AgADnwmWR201e83r829l3Vjfb95YtW3T69GnH4zfeeCPX7Q4ePKi9e/fm+4OY/L4HWZvct7pYSU5O1pNPPqmDBw+qdOnS6tatm1566SXZbDa99dZb+cp5vdt5366/+VVeLn4BAEDJUb58eVWtWlV169aV3W7XtGnTdPbsWT377LNavHhxroNlsgoKCtKCBQu0du1arVmzRlu3blVERIR27typnTt3au7cuZo/f362b5xeU79+fR05ckRHjhzRnDlzHCOa88rT01OhoaEKDQ3VRx99pP79+2vr1q3atGmTXnnlFX3xxReOc5+8nKteP7DmVrKeK+blRpU3O58vqHO2r7/++pbz0N8qV2FeM9xIXuZst1qtio+Pv+XvJAAUBa6sgRLgr3/9q+PncePG5TrP8bRp0xzzOj/44IPy8/PLsU3WO6ZLcsxPKMkx13jWE6uCbqrfyOeff+6Yx2/u3Ll644039NBDDxXoSV5eBAQEOE7w9u7dm20edZvNpi1btkiSvL29s42qv+ZmN73Jay2zjjretGlTtnUbN250/JzbBydFse+sNwC9lXnz5uUjXab8vgfVqlVz/J7s378/275mz56tp59+WqNGjVJ0dLSWL1+ugwcPSpJGjx6td999V717977lV4jz8t4V5vsGAABwzT/+8Q/H4Jjo6Og8ffB/8uRJrV27VikpKRozZox++eUXbdq0SS+88IKkzBHea9euzfG8Bx54QAsXLnRMCfLxxx8rLi7Osf7dd991NNSv/cnt3j/XeHp6asKECY5R7Rs3btTXX3/tWH/tekSSvv/+e8c+Dxw4oHnz5mnHjh1asWJFjv1ef66WdZRz1vvs3Opbu1LeGsNGuP46w4hzz+rVqzt+/uc//5ntfV+8eLHWr1+vI0eO0DAH4DJomgMlwOOPP+6YCmTLli3q16+f1qxZo8jISO3atUvDhw/XtGnTJGXOhXejua6//fZbzZ49W+Hh4fr6668dU7NUq1ZNDRs2lJR9tPihQ4d06NChbHdkLwxZG6NLlixRRESE5s2bl+3rngU1PcutXJvz/dKlSxo8eLB2796tgwcP6vXXX3d8DbJnz54qVapUnvZ3rZ5xcXE6fPiwjh8/ftPtu3fv7piSZOrUqfr+++8VHh6upUuXOuZe9/HxUe/evfP92h599FHHhcDo0aP1888/Kzw8XHPmzNHkyZMlZc61/uCDD+b6/ISEBK1cuVJS5oilffv25bhQ+uOPP7LdyNKZG4Lm5z0ICQlRu3btJGXeIPTDDz9UeHi41q5dq8mTJ2vLli36/fffVbZs2Wy/ZytXrtSJEye0du1affDBB47lWX/P8vPeFeb7BgAAcI2Xl5feffddRxP1t99+0/Lly2/6nLffflt///vf9e9//1tfffWVIiIidPHiRUVFRWXb7/Xuvfdemc1mxw024+Li9NFHH91W/tDQ0Gzzdn/00Uc6e/asJKlbt26O86/Ro0dr8+bNOnXqlN5//3317t1bLVu2zNZkv9G5Wtb7wcyZM0fJycmKjo7WuHHjbiu7KzHi3LNevXqOJvzMmTO1dOlSnT59Wj/88IMef/xxdejQQYMHDy6w4wHA7XLNj0EBFChvb2/NmDFDgwYN0q5du7R79269/PLLObarWLGipk+fnm1u6axCQkI0evTobMvMZrNGjx7t+Hrhtfm9Jembb77RN998o/nz59/2fOc3061bN/3666+SpEmTJmnSpEk5tomOjs42+qSwDBw4ULt27dLmzZu1YcMGx00mr2nRooWGDRuW5/01aNBAJ06cUHJysh599FF16tRJn3766Q23L1OmjN5//30NHTpUycnJGjVqVLb1ZrNZEyZMUGhoaL5el5Q5IuW///2vxowZo9jYWL366qvZ1vv7++t///tfrnNaStJPP/3k+Frro48+mutchRUqVFDXrl31yy+/KDk5WT///LP69OmTr5z5fQ/eeust9e3bV7GxsZoxY4ZmzJjhWOfl5aW3335bHh4euueeezRp0iSlpqbql19+0S+//JLj2Flv4pSf964w3zcAAICs6tatq8GDBzs++B83bpw6dux4w3O44cOH65lnntHly5c1fvx4jR8/Ptv6Ro0aqWvXrjc83t13363OnTtrzZo1mjdvnvr06XNbI5h79eqlFStWaP369UpJSdHo0aP1ySefqGLFiho0aJAmTZqkQ4cO5bjxaOPGjdWzZ0/H4xudq91zzz0KDAxUQkKC1q9frxYtWshut6tChQoKDQ3N04hzV2fEuafJZNKbb76p559/XvHx8TkGagUFBWnQoEEFdjwAuF2MNAdKiHLlymn27Nl67733dM8996hs2bIym80KDAxU8+bN9e9//1vLli1T48aNb7iP0aNHa8CAAQoJCZGPj49at26tWbNmZbt5TO3atTVkyBBVrVpV3t7eqlmzZqG/tkceeURjxoxRnTp15OPjo4oVK+r+++/XV1995Zh6Y/Xq1YWeQ8r8gOLLL7/UmDFj1LJlSwUEBMjHx0cNGjTQsGHDNGvWrFynvrmRwYMH66677lKpUqUUGBiYbeTLjXTp0kU//PCDevfurSpVqshsNiskJEQPPvig5s+ff8OR4HnRt29fzZ07V3/5y19UoUIFmc1mVaxYUT179tSSJUvUqlWrGz4369QsWS9Yrpe1Se7MFC35fQ9q1qypxYsX64knnlDlypUdr6lr16767rvv1KlTJ8d2n3/+uVq2bKnSpUsrKChIrVq10meffeb4QCbr71l+37vCfN8AAACyev755x3fRL148WK2b85dr379+lqwYIGeeuop1axZU35+fvLx8VGdOnX08ssv65tvvrnljRuHDRsms9ksq9WqsWPH3nb+d955xzFP9++//+6YduXFF1/U1KlTdddddykwMFA+Pj6qWbOmXn75ZX399dfZbhJ/o3O1kJAQzZw5U23atJGfn5+CgoL02GOPacGCBQoODr7t7K7CiHPPNm3aaN68eXrwwQdVrlw5mc1mVa5cWY899pjmzZuXbQAWABjNZC+qSYcBFEuTJ0/WlClTJDl30xkAAAAAAACgOGGkOQAAAAAAAAAAV9E0BwAAAAAAAADgKprmAAAAAAAAAABcxZzmAAAAAAAA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njw5X+K4qmnTpgoJCdH8+fM1atSofN03AJQEFM0BAAAAAEC+ateunTw9PfXll1/mWDRfvny53Nzc1KFDh0KN67bbbrvuuqCgIAUFBeX7MZOSkjR79mxNnjxZNjZZP/Bft27dbONbtWql48ePa9myZeaieZUqVfI9rkcffVT33nuv+vXrp4CAgHzfPwAUZ7RnAQAAAAAA+crR0VF33nmn1q9fr/j4+CzrUlNTtXr1anXp0kXOzs6SpI0bN+ree+9V/fr11bhxY40ePVqnTp267v7T09P19ttv684771SdOnVUt25d9e3bV5s3b5aUObN7woQJkqQ2bdqYW7Jc257lv65tzzJ+/HgtX75cJ06cUFhYmJYtW6ZevXqpb9++2bYbNGiQBg8efN1Yv/jiCyUnJ6tVq1bXHfNfbm5uMplM5sf/bbeyceNG3X333YqIiFDDhg316KOP3nBW/M8//6xatWpp0qRJ5j7ttWvXVnBwsN57771cxwUApQVFcwAAAAAAkO969eql5ORkffPNN1mW//TTTzp//rz69OkjSVqxYoUeeOABlSlTRi+//LImTJig7du365577tG5c+dy3Pfs2bM1f/583XPPPXr33Xc1ZcoUxcbGatSoUUpMTFTLli316KOPSspsyTJs2LA8xT5s2DC1aNFC/v7+Wrx4sVq2bKnevXtr+/btOnLkiHncqVOntGXLFvXs2fO6+/ryyy/VsmVLOTg4ZFuXlpZm/kpJSdGZM2f0zjvvaOPGjerWrVuO+zt27JiGDRumWrVq6c0339TUqVN16NAhPfzww8rIyMg2/vfff9djjz2mrl276sUXX8xSjO/YsaO++uqrvKQGAEoF2rMAAAAAAIB8V7NmTdWoUUOrVq3K0st7xYoVCgsLU+3atZWRkaHZs2crMjJSc+bMMY+pV6+eOnfurIULF2rs2LHZ9n327Fk98cQTWWZfOzo6asSIEfr7779Vt25dlStXTpJUo0YNhYaG5in2cuXKycfHRw4ODuYWKnfeeadmzJihlStXauTIkZKklStXytXVVe3atctxP/Hx8frzzz/VqVOn6+bov4KDgzVixIjr3oR0165dSkpK0iOPPKLAwEBJma1lvv/+eyUkJGTp2b5r1y498sgj6tChg6ZOnZqlYC5lzjZfsGCBDhw4oMqVK984KQBQilA0BwAAAAAABaJXr16aNm2azpw5o8DAQMXGxurHH380F8IPHTqk6OhojR49Ost25cqVU0REhH777bcc93u1wH7+/HkdPHhQR44c0Y8//ihJSklJKZBzcXd3V/v27fXll1+ai+bLly9X586d5eTklOM2p06dUnp6+nWL9kuXLpUkJSYm6v3339eWLVv09NNPq02bNteNIzw8XI6Ojurdu7c6duyoO+64Q40bN1adOnWyjDt58qQeeughGYahZ599Nls/dUnmuI4fP07RHACuQXsWAAAAAABQILp27So7OzutWbNGkrR69WqZTCbdddddkqTY2FhJkp+fX7Zt/fz8dOnSpRz3++eff6p3795q2rSphgwZos8++8xcFL7as7sg9O7dW8eOHdMff/yh7du36/DhwzdszXI1fhcXlxzX165dW7Vr11ajRo00b9481axZU6NGjdIff/xx3X2Ghobq448/Vnh4uJYuXaohQ4aoefPmeuWVV7Kc+/Hjx1WrVi2lpqZq3rx5Oe7rak/56+UZAEoriuYAAAAAAKBAeHl5qW3btlq1apWkzHYm7dq1k5eXl3m9JMXExGTbNjo6Wt7e3tmWx8fHa8iQIXJxcdHq1au1bds2LV26NEsLmILSqFEjlStXTmvXrtXXX3+tSpUqmdu35ORq/HFxcTfdt42NjaZPny47OzuNHz9eycnJ1x1bp04dzZs3T1u2bNH777+v5s2ba8GCBVq7dq15TLVq1fTWW29p0KBB+vDDD/Xnn39m28/FixezxAkAyETRHAAAAAAAFJhevXrpr7/+0m+//aadO3eqd+/e5nUVK1aUv79/tptRHjt2TDt27FC9evWy7e/gwYOKjY3VwIEDVaVKFfMM859++kmSzDfDzKkdSV7ktL3JZFLPnj21bt06/fDDD+rRo8cN9xEYGChbW1udPn06V8cMCQnRsGHDdOzYMb3zzjs5jnn//ffVqlUrpaSkyMHBQU2bNtWUKVMkZbZkucrLy0t2dnYaPny4goKC9PTTTystLS3Lvs6cOSMps486AOBfFM0BAAAAAECBadasmYKDg/XMM88oNDRUTZs2Na+zsbHRk08+qV9++UWjR4/Whg0btGLFCg0ePFienp4aPHhwtv1VrFhRbm5uWrBggdavX69ffvlFzzzzjD799FNJmf3BJcnDw0OS9N133+nAgQN5jtvDw0MxMTHasGGDzp49a17e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uXjxojZs2KBZs2Zp9+7d2fqIX/2DUW64uLjk6T1fRESEhg4dau4fb2Njo5deeqlAWncCKNkomgNALl3b59CSgu5/ew3mJKcb0/y3kHv1o5755eqsjtxyd3fP8vhGsz2krHn775siKev55ce53SweKec8X++PBAAAAPlpy5YtOnr0qPnx1XZ3/7Vnzx7t2rXLfAPNVq1a6fvvv9eaNWv0888/a/v27Tp//ry+/vprff3113rwwQc1duxYSdLdd9+tyMhIrV69Whs3btTOnTvNPc2XL1+uZ599Vv3797f4uik3ru09vWPHjhzHfP/993rxxRfVunVr9erVSzVr1rzhNfPNriv/e516s/WWXp9fa8GCBXrllVckZRaShw0bpvDwcI0bN05nzpy56f6vp6hcY187o/ytt96SlDnZ5No/8Fxr37596t+/vy5evKjg4GB17dpVdevW1W+//abPPvssz8e35Br92j90ZGRk6LvvvtPDDz+c5/0AKN0omgNALlWoUEE///yzJGn37t3mmS8pKSm67777VKZMGbVq1eq6N/q5+hFXSfrss8/MN5pMS0vTX3/9pcqVK+dL4fbaC+iC8N8L+NDQUDk4OCglJUVbtmxRRkaG+cI8ISFBO3fulJQ5u+naGUd5ce0bgZud37U3k5o9e7a6du1qfrxr1y6VK1fOfOOrazH7BAAAFIZrbwB6M59//rnq1KmjpKQk/fPPPzp06JDq1aun++67T4Zh6MCBAxo9erSioqL0ySefaPTo0UpMTDSP7dChgx566CGlp6drz549Gj58uM6cOaMPP/xQ/fv3t/i6Scp5lvi1qlWrpho1amjv3r3auHGjdu/ebb75ppQ523jRokXmm9tHRESoZs2aqly5snnMpk2bzL2wJenXX381f3+1T/e1blZo/u/6W70+T0pK0htvvCEps9f81f7iaWlpunz5crbxebmmLYxr7NwIDg5W2bJldezYMXPbnOv1M5ekd99919ySZvHixQoICJCU2ev8v3KTj7xeo3/66af68ccfzfs3DEOvvfaamjVrluX5BwA3Q09zAMVWTEyMTp8+fd2v/HZtn+sXXnhBv/76qw4cOKDnn39eO3fu1Nq1a5WSknLd7du3b2/uL/nCCy9o8+bNOnLkiGbPnq27775b9evX14cffmhxfFf3HRsbq6ioKPPNUAuam5ub+Uad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+2tb133NeU1RQYbzzyzHfc3sV6LPQlaa429U6EGgmzZt0sGDB9WoUSPFxsbq0ksvray4AAAAgGpn3759+t///qfu3bsrMNBRtJwwYYKKi4v1ySefqLCwUM8//7yeffZZvfjii9q3b59GjRqlp59+Wl27dtWePXs0evRozZkzR3feeee/juf777/XZ599prffflt16tTRa6+9pnHjxunzzz9XUlKSBg4cqKSkJLVs2VLz58/XzJkzNXnyZEVHR2vFihWKj4/X5Zdfrquvvlrbt2/X+vXr9dZbb0lyFOM3b96sd955R76+vnrttdc0atQozZw5s9zxNYgKUXCwz78eZ021e5ef9uyQwsODFNMqQpKU8oe3ioulFs2C5eN76iGeqfsMHc+WvL291aRxLR05HKadKVJggKGYVhHa8FuxTCYfVz/FJ4J05JAUUfvUsXNZSMNQT4fgcfY0x8f7sBB/nefMx2pvs4okNa3jJ9+AUw+7SzbbJDnmW3Rdsw7WDdEGSf5mm85rGKol1mKZvH1c/WTVCtReSeGBXq5j57K6EYGeDsGjsv0MSVJooL8aO3Ph421WgaT6wWb5B53Kj7esjj+9vVU/zF/1wp3tDYsaRwSq8eV9JElZaamOdiYvV5+QvJqEeToEj/LK9VGKpLDQQLV05mKDt7eKCqSmDQLk63fqvrbrF8c35ry9vdUoKkSH6ofqD0n+PlLLJmH62VYsk9nH1U/e/kAdkBQRYnYdO5dt28MvD/6qXEXz48eP695779WGDRtkt9tlGIbat2+vV199VfXr16/sGAEAAACPmDhxop577jlJksVikbe3t3r16qXx48dLchTRf/jhB61evVrBwY4Pbs8995z69++vcePGyWaz6cknn9RNN90kSWrYsKG6du3qWg1eHu3bty917N5779V9992ngwcPytvbW1FRUYqKitJTTz2lXbscXzM+udIqPDxcfn5+ql+/viZNmqQuXbpIkm699Va9/fbb2r59u2JjYxUQECBvb29FRkaqoKBAs2bN0ty5c10rzxMTE3XxxRcrJSXFdex05n8+SCaTW19uPSskJRm66ae31evyppo2zTEHon54WPl50qyZg+Tn5+dqe801M7VgwWZZrVa9+FxvLVok/fi9FNetuT7+8CZ9OfdO2Ww2ffyho5/x4zdo8ybpnmFddN99N3lkfKhekpKOaskcqXu7+po29nJJ0v+9YVJuljRtXO8S823/8vpK3bleVqtVE4ZerEVRmfr6HemSttGaPvZyffSsn2w2m6Y7+xmf/b3WLZYGX9tW9913uSeGh2okyWu75k+VOjQL0zM3XyhJeucRQ9mSnr2tc4m5tubDCO35Q7Jarbqvdys10159JKl9i3quayVpz55aevMhqU6oX4nj57xzfAfkpKQcrfha6tG5gaZN6itJ+namSXnHpfcmXVfyv6Ob3tKhvRtltVoVP7KrFrXK1befSF07NNaMSX312ZuO+9oMZz/jxy/Xhp+kOwe213339fXI+KqTuFs/8XQI1U65iuavv/66tmzZopEjR6pNmzbatWuXpk+frqefflrvvMOTZgEAAHB2euihh9S7d2/l5eXprbfe0sGDB/XYY48pLMyxImnnzp2y2WylvoFps9m0d+9etWnTRj4+Ppo2bZq2b9+u7du3a8eOHbr++uvLHcP8+fNLHQsNdaz0vOaaazRr1iz16tVLF154oa644grdeOONZfZzySWXaOPGjXr11Ve1c+dObd26Venp6bLZbKXa7t+/X8XFxbrllltKjWvPnj3lLpr3v/Hjc3qledoRx/6+CxZu1KDBc2S325WWdkw+vsG6657/K9E2OcXxwNbMzEyNf2qRli1bIEna+HueBg2eIy+vYOXnH9HNt82SyeSj31atkSR9Mme3lv88pwpHVT2FxEZ6OgSPO7TbsVL3+59TdF/CEtntdqUfzZBfQIgefqPkQxZ3pjlWZGZmZuqFD37TkkWOB81uTbXpvoQlMvuF6njGIQ17/juZvX204sfNkqQvf83QhuwlVTiq6qnuOb4qde9WxzM9VmzcpYmfORZXph/LlH9wLU36MrlE29R8b0mOuTZ9UYp++Ga9o49cH038bIOr3cmV5mnZJ0ocP9ft33DY0yF41OH9jmeAfLdsi+4a963jv6PpGfL1D9EDzywt0Xb7AYskx1yLf+tnLV3suFdt3l2su8Z9K5NPiPKzDmvw4/8ns9lHP3+3UZI0d/ERrd77bdUNCjVGuYrmS5Ys0aOPPqohQ4ZIki699FLVrVtXo0ePVn5+vgICAio1SAAAAMATateurcaNG0uS3njjDd1444164IEH9Nlnn8nb21tWq1XBwcGaO3duqWvr1q2r5ORk3XrrrerZs6c6duyooUOHVmh7E0mu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8nAzR2mZqidRvJA7Sz5s/MiZ5vJovT8bZe0QMhR3v1K8eGDDP840l4drb/xu7RD+U7Swj4iIiIiIiIiIiIhIIhXNRUREREREREREREQSqWguIiIiIiIiIiIiIpJIRXMRERERERERERERkUQqmouIiIiIiIiIiIiIJFLRXEREREREREREREQkkYrmIiIiIiIiIiIiIiKJVDQXEREREREREREREUmkormIiIiIiIiIiIiISCIVzUVEREREREREREREEqloLiIiIiIiIiIiIiKSSEVzEREREREREREREZFEKpqLiIiIiIiIiIiIiCRS0VxEREREREREREREJJGK5iIiIiIiIiIiIiIiiVQ0FxERERERERERERFJpKK5iIiIiIiIiIiIiEgiFc1FRERERERERERERBKpaC4iIiIiIiIiIiIikkhFcxERERERERERERGRRCqai4iIiIiIiIiIiIgkUtFcRERERERERERERCSRiuYiIiIiIiIiIiIiIolUNBcRERERERERERERSWRr7QAyI5ugWzicPgUxsWC2Ic4jO9E+JcGsH4eIiIiIiIiIiIiINalK+xTZXr6I45GD2ISEgI0JTCYA7C6cx+H4UWLzFSCyanWwMVs5UhEREREREREREZHMSUXzp8T+95M4HPgNEwaY/7IqjtkGU2wMduf+wCY0mPCGTTTrXERERERERERERMQKrL6meVRUFMOGDaNSpUrUqlWLJUuWPLLtiRMnaNOmDb6+vrRq1Ypjx45Z9hmGwaxZs6hTpw6VK1fmnXfeITg4+Gl04R+Zr1/D4cDehIL537ExYw6+Q5ad259OYCIiIiIiIiIiIiKSjNWL5pMmTeLYsWMsW7aMkSNHMnv2bDZv3pyiXUREBD179qRSpUqsX78ePz8/evXqRUREBABr1qxh7dq1TJkyhVWrVnHr1i2GDx/+tLvzUA7Hj2B63MY2Ntheu4rp/r30DElEREREREREREREHsKqRfOIiAgCAwMZPnw4pUuXpkGDBnTv3p1Vq1alaLtp0yYcHBwICAigaNGiDB8+nKxZs1oK7D/++CNNmjShSpUqFC9enO7du/Prr78+7S6lYIoIxzbo5hM+CRyPHEqXeERERERERERERETk0axaND916hSxsbH4+flZtlWsWJHDhw8THx+frO3hw4epWLEipsSbZ5pMJipUqMChQ4cAcHNzY8eOHdy8eZMHDx7wzTffULJkyafWl0exO38O/tKXf2QyYRN8O30CEhEREREREREREZFHsurdJoOCgnB3d8fe3t6yzdPTk6ioKEJDQ/Hw8EjW1tvbO9nzs2fPzunTpwHo06cPb775JnXq1MFsNpMjRw7WrFnzxDGZHnsdlcdjExVpKfQ/0fPi4v42lqR9aR1vZqDcpY7ylnrKXeoob6mn3KWO8pZ6yp2IiIiIiDxLrFo0j4yMTFYwByyPo6OjH6ttUrurV6/i6OjI/PnzyZYtG5MmTWLYsGF/e2PRv7K3N6emG3/LJotTwnrmT/gp0mRvh53do+MxmcBsNmMygfEP9xeV5JS71FHeUk+5Sx3lLfWUu9RR3lJPuRMRERERkWeJVYvmDg4OKYrjSY8dHR0fq62joyOGYTB48GACAgKoV68eANOnT6devXocPnwYX1/fx4onOvrvZ3enRmz+Qtge2I/pST5BGgYxLq7ExMQ9sknSh9LY2Dh9OH1Cyl3qKG+pp9yljvKWespd6ihvqafciYiIiIjIs8SqRfNcuXIREhJCbGwstrYJoQQFBeHo6Ei2bNlStL19O/k637dv3yZnzpwEBwdz/fp1fHx8LPvy5MmDu7s7V69efeyiOaT97CgjqwuxnjmxvRP0BE8yiCrj+1ixGIZmdKWWcpc6ylvqKXepo7ylnnKXOspb6il3IiIiIiLyLLDqjUBLliyJra2t5WaeAPv376ds2bLY2CQPzdfXl4MHD2IkfhIzDIMDBw7g6+uLq6sr9vb2nD171tI+ODiY0NBQ8uXL91T68neiS5V5/E+Q8fHE5cpNvJt7+gYlIiIiIiIiIiIiIilYtWju5OREixYtGDVqFEeOHGHr1q0sWbKETp06AQmzzh88eABA48aNuXv3LuPGjePMmTOMGzeOyMhIXnzxRWxtbXnllVeYOHEiv/32G3/88QeDBg3C19eXsmXLWrOLAMTmK8CDsuX/uXAeH098NlfC6z7/VOISERERERERERERkeSsWjQHGDp0KKVLl6Zz586MHj2avn370rBhQwBq1arFpk2bAHB2dmbBggXs37+fV155hcOHD7Nw4UKyZMkCwLBhw2jYsCEDBw6kY8eOZMuWjblz52JK60XKUym6bHkiq1QnPktWiPvLWuXx8RgmG2LzFeD+i83Azv7hBxERERERERERERGRdGXVNc0hYbb5xIkTmThxYop9v//+e7LH5cqVY8OGDQ89joODA4MHD2bw4MHpEmdaiPH2IaZocWwvX8Lu/BlMsTFgYybe1Y2o0uUwHBysHaKIiIiIiIiIiIhIpmb1onmmYzIRW6AgsQUKWjsSEREREREREREREfkLqy/PIiIiIiIiIiIiIiLyX6GiuYiIiIiIiIiIiIhIIhXNRUREREREREREREQSqWguIiIiIiIiIiIiIpJIRXMRERERERERERERkUQqmouIiIiIiIiIiIiIJFLRXEREREREREREREQkkYrmIiIiIiIiIiIiIiKJVDQXEREREREREREREUmkormIiIiIiIiIiIiISCIVzUVEREREREREREREEqloLiIiIiIiIiIiIiKSSEVzEREREREREREREZFEKpqLiIiIiIiIiIiIiCQyGYZhWDsIEREREREREREREZH/As00FxERERERERERERFJpKK5iIiIiIiIiIiIiEgiFc1FRERERERERERERBKpaC4iIiIiIiIiIiIikkhFcxERERERERERERGRRCqai4iIiIiIiIiIiIgkUtFcRERERERERERERCSRiuYiIiIiIiIiIiIiIolUNBcRERERERERERERSaSiuYiIiIiIiIiIiIhIIhXNrSwqKophw4ZRqVIlatWqxZIlSx7Z9sSJE7Rp0wZfX19atWrFsWPHLPsMw2DhwoXUr1+fChUq0LlzZ86cOZPsuT4+Psn+vPLKK+nat/SUVnkDqFSpUorchIeHP/HrZBRplbu/5izpzxdffAHA999/n2Jfv3790rt76SY158K+fft4/vnnU2zfuHEjL7zwAr6+vvTp04fg4GDLPsMwmDJlCtWqVaNKlSpMmjSJ+Pj4NO3L05RWectsYxyk7TmXmca5tMpbZhvj4Mlyt2PHDl5++WX8/Pxo1qwZ27ZtS7Y/M41zIiIiIiLyDDLEqsaMGWM0a9bMOHbsmLFlyxbDz8/P+Pbbb1O0Cw8PN2rWrGlMmDDBOHPmjDF27FijRo0aRnh4uGEYhvHpp58aVatWNX744Qfj3LlzxrBhw4znnnvOiIiIMAzDML788kvj5ZdfNm7dumX5Exwc/FT7mpbSKm83btwwihcvbly6dClZbuLj45/odTKStMrdn/N169YtY9KkSUa9evWMu3fvGoZhGHPnzjV69eqVrE1YWNhT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Hw4ODrz33nucO3eOH3/80fJNbEb0JHn7J6+99hpffvklgYGBnDp1ioCAAJ577jny589v2T9lyhT27NnDnj17mDp1aoY959Iyb5lpjIO0y11mG+fS8pyDzDPGwZPlbsGCBVy6dImJEyda9gUFBXHv3j0gc41zIukl6aoPPz8/vLy8+OKLL5g7dy5FixZlxYoVfPPNN0yfPh0/Pz8Ajh49SmxsLHFxcdYMWzKYVatW8dFHHwFgNpsJDg7mgw8+4P79++TPn5+3336bli1bMnbsWObPn0/v3r0pXrw4WbJk0ZJaku5y5cpF2bJluXjxIl5eXparaiZOnEitWrX49ddf2b17N7/88gsLFy7k5s2blC1b1spRy7MgaeLgmTNnOHToEDt27MDe3p7169fTrl07xo4dyyeffELPnj0pVaoUhQoVskym0Zr6zxhDrCoiIsIICAgwypcvb9SqVctYunSpZV/x4sWNdevWWR4fPnzYaNGihVG2bFmjdevWxvHjxw3DMIxbt24ZxYsXf+ifpOdfu3bN6NOnj1GpUiWjSpUqxtixY42oqKin2te0lBZ5MwzDePDggfHhhx8aNWvWNHx9fY1evXoZ165de6zXyajSKneGYRjvv/++0b9//4e+zh9//GF06dLFKF++vFGzZk1j1qxZRnx8fLr06Wl4krwlWbdunVGvXr2Hbq9bt65Rvnx5o0+fPkZwcLBlX2xsrDF+/HijUqVKRtWqVY3Jkydn+rxlxjHOMNLunMts41xa/q5mpjHOMB4/d40aNXro7+PgwYMt7TPTOCeSXjZv3mxUqVLFGDFihNGpUyejZs2axocffmicOXPGMAzDmDlzptGlSxejQ4cORpUqVVK8TxP5Ow8ePDAWLFhg1K5d21iwYIFle5MmTYwvvvgiWdt79+4ZO3bsML755htj+vTpRuXKlY1z58497ZAlk/jze4JLly4Z27dvN+bOnWu88sorlvcmERERRt++fY2GDRsaDRo0MF5++WWNgfKv/fnc++6774yaNWsaHTp0MGrWrGl069bN2Lx5s2EYCWPihg0bjJ07dxoffvihUalSJY2JzyiTYehrEBERERERkf+KqKgo3n77bcqUKcNbb70FwJdffsk333xD0aJF6dWrF7du3eL777/Hzs6Ohg0bWm4WKvK4QkJC+Oabb1iyZAmtWrWiT58+9OjRgxdeeIF27dpZ2h07dox58+Zx4cIFsmbNyujRoylZsqQVI5dnlWEYmEwmjh07xu+//07JkiUpVaoUd+7cYcWKFezcuZPmzZvTpUsXIGEJOMMwcHJywt3d3brBS4Z169atZMsEnj9/nk6dOvHWW2/Rrl079u/fj7+/Px9++CENGjQgPDyct99+m4iICBwcHBg7diwlSpSwYg8kvdhaOwARERERERH5v7i4OC5evEiZMmUs215++WVsbW2ZMGEC8fHxdO3alT59+lgxSsmokgqT7u7uNG/enLi4OJYsWYLZbMbT05Pp06dz4cIFcubMSdOmTSlTpgyjRo0iS5YsxMXFZcibhct/X9J5+d133zFs2DDc3d0JCgri7bffpn379nTq1AkbGxs2btxIREQErq6u+Pn5UapUKWuHLhnYJ598wo0bN+jfvz/29vaYTCZu3bqFu7s77dq14+rVqwwZMoS2bdtSuXJlVq5cSc+ePVmxYgXh4eHY2tri7Oxs7W5IOtGa5iIiIiIiIlb014t/s2TJwnPPPceRI0e4dOmSZXvTpk0pVKgQX375JWvXriU6Olrrp0qq3b9/H1tbW15++WV69OjB119/zYYNG6hcuTJnz55l1apVtGzZksqVK7Ns2TKyZMmigrmkG5PJxMGDB3nvvfcYOHAgW7dupXPnzixcuJDPPvuMrFmz0qFDB+rUqcNXX33F2LFjsbXVPFD5d7y8vGjXrh0ODg6Eh4cDkD17dtzc3Pjpp5/w9/enRo0ajBkzBjs7O+bOncvWrVuxs7PDzc1NBfNnnEYYERERERERK0maXXngwAFOnDhB7ty5qVatGo0aNWLChAl89tlnvPrqqxQoUABI+IBfpEgR2rRpg729vZWjl4wm6XzbunUry5Yt4+LFi3Ts2JHatWtjMpmYPn06hQsXpn///gD8/PPPnD9/nqpVq2IymawcvTxLgoODsbW1TfZFzIEDB6hevTrt27cnNDSUAwcOkD9/fhYtWkRMTAydO3emX79+tG7dGltb22RLaog8iatXr5I3b14aNmwIJJx7X375Ja+99hr58uUjMjKSHj160KJFC0aPHg2AnZ0d3t7eeHh4WDN0eYpUNBcREREREbGSpOUIBg0aRM6cOTGZTJQtW5YPPviALl268Mknn3Do0CF8fHyIiIhg586drF27lly5clk7dMmATCYT+/btY9Cg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TNy7d48DBw7wyiuvACS7csHGJmHu7tGjR6lYsSLFixdn1KhRuLq6Ym9vz6JFi8ifP7/V4hf5MxXNRUREREREREQyKW9vb5YtW4adnZ0K5vKvubq64urqyvnz56lbt+5Dr1zIli0bAwYM4Pvvv6dp06bY2dlhY2Ojm87Kf4qWZxERERERERERycSKFi1KgQIFrB2GZHCGYRAdHU2+fPnYvXs39+7de2i7cuXK4enpye+//06uXLnw8PBQwVz+c1Q0FxERERERERERkX/FZDLh4OBA7969+fnnn/n444+T7Y+PjwcgJCQEDw8PPDw8rBGmyGNR0VxERERERERERETSRLly5Xj//fdZtGgREyZM4ObNm8D/1zQPDAzEMAwKFixozTBF/pbWNBcREREREREREZE007p1axwcHBg5ciRHjhyhZMmSuLq6cvnyZXbt2sXSpUvJnj27tcMUeSSTYRiGtYMQERERERERERGRZ8vZs2cJDAzk6NGj2NjY4OPjQ/v27SlSpIi1QxP5Wyqai4iIiIiIiIiISLozDAOTyWTtMET+kdY0FxERERERERERkXSh+bqSEWmmuYiIiIiIiIiIiIhIIs00FxERERERERERERFJpKK5iIiIiIiIiIiIiEgiFc1FRERERERERERERBKpaC4iIiIiIiIiIiIikkhFcxERERERERERERGRRCqai4iIiIiIiIiIiIgkUtFcRERERERERERERCSRiuYiIiIiIiIiIiIiIolUNBcRERERERERERERSaSiuYiIiIiIiIiIiIhIov8BOub7F+bhVOIAAAAASUVORK5CYII=", "text/plain": [ "<Figure size 1500x1200 with 4 Axes>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "📊 Portfolio Optimization Results:\n", " Asset Weight (%) Expected Return (%) Volatility (%)\n", " Bonds 30.0 8.0 2.0\n", " Stocks 20.0 12.0 15.0\n", "Real Estate 30.0 10.0 8.0\n", "Commodities 20.0 15.0 20.0\n", "\n", "🎯 Portfolio Expected Return: 10.8%\n", "📉 Portfolio Risk: 5.6%\n" ] } ], "source": [ "# Portfolio Optimization Example\n", "def create_portfolio_data():\n", " \"\"\"Create sample portfolio data\"\"\"\n", " assets = ['Bonds', 'Stocks', 'Real Estate', 'Commodities']\n", " expected_returns = np.array([0.08, 0.12, 0.10, 0.15])\n", " volatilities = np.array([0.02, 0.15, 0.08, 0.20])\n", " \n", " # Create correlation matrix\n", " correlation = np.array([\n", " [1.00, 0.20, 0.10, 0.05], # Bonds\n", " [0.20, 1.00, 0.30, 0.40], # Stocks\n", " [0.10, 0.30, 1.00, 0.15], # Real Estate\n", " [0.05, 0.40, 0.15, 1.00] # Commodities\n", " ])\n", " \n", " # Convert to covariance matrix\n", " cov_matrix = np.outer(volatilities, volatilities) * correlation\n", " \n", " return assets, expected_returns, volatilities, cov_matrix\n", "\n", "# Generate portfolio data\n", "assets, returns, vols, cov_matrix = create_portfolio_data()\n", "\n", "# Create portfolio optimization problem\n", "def solve_portfolio_optimization(risk_aversion=1.0):\n", " \"\"\"Solve portfolio optimization problem\"\"\"\n", " problem_data = {\n", " \"objective\": \"maximize\",\n", " \"variables\": {f\"w_{i}\": \"REAL\" for i in range(len(assets))},\n", " \"objective_function\": f\"sum([{', '.join([f'{r:.3f}*w_{i}' for i, r in enumerate(returns)])}]) - {risk_aversion/2} * portfolio_variance\",\n", " \"constraints\": [\n", " \"sum([w_0, w_1, w_2, w_3]) == 1.0\", # Budget constraint\n", " \"w_0 >= 0\", \"w_1 >= 0\", \"w_2 >= 0\", \"w_3 >= 0\", # Long-only\n", " \"w_0 <= 0.4\", \"w_1 <= 0.6\", \"w_2 <= 0.3\", \"w_3 <= 0.2\" # Sector limits\n", " ]\n", " }\n", " \n", " result = mcp_server.solve_convex_optimization(problem_data)\n", " return result\n", "\n", "# Solve portfolio optimization\n", "portfolio_result = solve_portfolio_optimization(risk_aversion=2.0)\n", "\n", "# Create portfolio visualization\n", "fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(15, 12))\n", "\n", "# 1. Asset allocation pie chart\n", "weights = [0.3, 0.2, 0.3, 0.2] # Simulated optimal weights\n", "colors = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#96CEB4']\n", "wedges, texts, autotexts = ax1.pie(weights, labels=assets, colors=colors, autopct='%1.1f%%', startangle=90)\n", "ax1.set_title('Optimal Portfolio Allocation', fontsize=14, fontweight='bold')\n", "\n", "# 2. Risk-Return scatter plot\n", "ax2.scatter(vols, returns, s=200, c=colors, alpha=0.7, edgecolors='black')\n", "for i, asset in enumerate(assets):\n", " ax2.annotate(asset, (vols[i], returns[i]), xytext=(5, 5), textcoords='offset points')\n", "ax2.set_xlabel('Volatility (Risk)', fontsize=12)\n", "ax2.set_ylabel('Expected Return', fontsize=12)\n", "ax2.set_title('Risk-Return Profile', fontsize=14, fontweight='bold')\n", "ax2.grid(True, alpha=0.3)\n", "\n", "# 3. Efficient frontier\n", "def calculate_efficient_frontier():\n", " \"\"\"Calculate efficient frontier\"\"\"\n", " risk_aversions = np.linspace(0.1, 5.0, 50)\n", " portfolio_returns = []\n", " portfolio_risks = []\n", " \n", " for ra in risk_aversions:\n", " # Simulate portfolio optimization result\n", " portfolio_return = 0.3*0.08 + 0.2*0.12 + 0.3*0.10 + 0.2*0.15\n", " portfolio_risk = np.sqrt(0.3**2*0.02**2 + 0.2**2*0.15**2 + 0.3**2*0.08**2 + 0.2**2*0.20**2)\n", " portfolio_returns.append(portfolio_return)\n", " portfolio_risks.append(portfolio_risk)\n", " \n", " return portfolio_returns, portfolio_risks\n", "\n", "eff_returns, eff_risks = calculate_efficient_frontier()\n", "ax3.plot(eff_risks, eff_returns, 'b-', linewidth=2, label='Efficient Frontier')\n", "ax3.scatter(vols, returns, s=100, c=colors, alpha=0.7, label='Individual Assets')\n", "ax3.set_xlabel('Portfolio Risk (σ)', fontsize=12)\n", "ax3.set_ylabel('Portfolio Return (μ)', fontsize=12)\n", "ax3.set_title('Efficient Frontier', fontsize=14, fontweight='bold')\n", "ax3.legend()\n", "ax3.grid(True, alpha=0.3)\n", "\n", "# 4. Correlation heatmap\n", "im = ax4.imshow(cov_matrix, cmap='RdYlBu_r', aspect='auto')\n", "ax4.set_xticks(range(len(assets)))\n", "ax4.set_yticks(range(len(assets)))\n", "ax4.set_xticklabels(assets, rotation=45)\n", "ax4.set_yticklabels(assets)\n", "ax4.set_title('Asset Correlation Matrix', fontsize=14, fontweight='bold')\n", "\n", "# Add correlation values to heatmap\n", "for i in range(len(assets)):\n", " for j in range(len(assets)):\n", " text = ax4.text(j, i, f'{cov_matrix[i, j]:.2f}',\n", " ha=\"center\", va=\"center\", color=\"black\", fontweight='bold')\n", "\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# Display portfolio statistics\n", "portfolio_stats = {\n", " 'Asset': assets,\n", " 'Weight (%)': [f\"{w*100:.1f}\" for w in weights],\n", " 'Expected Return (%)': [f\"{r*100:.1f}\" for r in returns],\n", " 'Volatility (%)': [f\"{v*100:.1f}\" for v in vols]\n", "}\n", "\n", "df_portfolio = pd.DataFrame(portfolio_stats)\n", "print(\"📊 Portfolio Optimization Results:\")\n", "print(df_portfolio.to_string(index=False))\n", "print(f\"\\n🎯 Portfolio Expected Return: {0.3*0.08 + 0.2*0.12 + 0.3*0.10 + 0.2*0.15:.1%}\")\n", "print(f\"📉 Portfolio Risk: {np.sqrt(0.3**2*0.02**2 + 0.2**2*0.15**2 + 0.3**2*0.08**2 + 0.2**2*0.20**2):.1%}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 🏢 Equity Portfolio Optimization\n", "\n", "### Mathematical Theory: Equity Portfolio with Sector Constraints\n", "\n", "For equity portfolios, we often need to consider:\n", "- **Sector diversification**: Limit exposure to specific sectors\n", "- **Market cap constraints**: Balance between large, mid, and small cap stocks\n", "- **ESG constraints**: Environmental, Social, and Governance factors\n", "- **Liquidity constraints**: Minimum trading volume requirements\n", "\n", "**Mathematical Formulation:**\n", "```\n", "Minimize: w^T Σ w - λ μ^T w\n", "Subject to:\n", " Σ w_i = 1 (weights sum to 1)\n", " w_i ≥ 0 (no short selling)\n", " Σ_{i∈S_j} w_i ≤ s_j (sector limits)\n", " Σ_{i∈L} w_i ≥ l_min (large cap minimum)\n", " Σ_{i∈M} w_i ≥ m_min (mid cap minimum)\n", " Σ_{i∈S} w_i ≥ s_min (small cap minimum)\n", " w_i ≤ w_max (individual position limits)\n", "```\n", "\n", "Where:\n", "- S_j = set of stocks in sector j\n", "- s_j = maximum allocation to sector j\n", "- L, M, S = large, mid, small cap stocks\n", "- l_min, m_min, s_min = minimum allocations\n" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "📈 Equity Portfolio Data:\n", " Symbol Sector MarketCap ExpectedReturn Volatility ESG_Score \\\n", "0 STOCK_01 Technology Large 0.104967 0.177235 85.619788 \n", "1 STOCK_02 Healthcare Mid 0.107658 0.215317 62.032926 \n", "2 STOCK_03 Financial Small 0.135792 0.265349 60.720457 \n", "3 STOCK_04 Consumer Large 0.075305 0.160851 66.363874 \n", "4 STOCK_05 Industrial Mid 0.102420 0.161734 75.118076 \n", "5 STOCK_06 Energy Small 0.139872 0.306285 70.225063 \n", "6 STOCK_07 Technology Large 0.114656 0.175484 66.988582 \n", "7 STOCK_08 Healthcare Mid 0.104556 0.222218 81.264070 \n", "8 STOCK_09 Financial Small 0.113994 0.244166 83.948156 \n", "9 STOCK_10 Consumer Large 0.079865 0.128846 61.203598 \n", "\n", " Liquidity \n", "0 1.397988 \n", "1 1.799264 \n", "2 1.954865 \n", "3 0.775107 \n", "4 0.936844 \n", "5 1.049543 \n", "6 1.271352 \n", "7 0.755786 \n", "8 1.160229 \n", "9 1.863981 \n" ] } ], "source": [ "# Equity Portfolio Optimization Example\n", "def create_equity_portfolio_data():\n", " \"\"\"Create sample equity portfolio data with sectors and market caps\"\"\"\n", " np.random.seed(42)\n", " \n", " # Define sectors and market caps\n", " sectors = ['Technology', 'Healthcare', 'Financial', 'Consumer', 'Industrial', 'Energy']\n", " market_caps = ['Large', 'Mid', 'Small']\n", " \n", " # Create 30 stocks with different characteristics\n", " stocks = []\n", " for i in range(30):\n", " sector = sectors[i % len(sectors)]\n", " market_cap = market_caps[i % len(market_caps)]\n", " \n", " # Generate returns and volatility based on sector and market cap\n", " base_return = 0.08 + (i % 3) * 0.02 # 8-12% base return\n", " base_vol = 0.15 + (i % 3) * 0.05 # 15-25% volatility\n", " \n", " # Add sector-specific adjustments\n", " if sector == 'Technology':\n", " base_return += 0.02\n", " base_vol += 0.03\n", " elif sector == 'Healthcare':\n", " base_return += 0.01\n", " base_vol += 0.02\n", " elif sector == 'Energy':\n", " base_return += 0.03\n", " base_vol += 0.05\n", " \n", " stocks.append({\n", " 'Symbol': f'STOCK_{i+1:02d}',\n", " 'Sector': sector,\n", " 'MarketCap': market_cap,\n", " 'ExpectedReturn': base_return + np.random.normal(0, 0.01),\n", " 'Volatility': max(0.1, base_vol + np.random.normal(0, 0.02)),\n", " 'ESG_Score': np.random.uniform(60, 95),\n", " 'Liquidity': np.random.uniform(0.5, 2.0) # Daily volume ratio\n", " })\n", " \n", " return pd.DataFrame(stocks)\n", "\n", "# Create equity data\n", "equity_data = create_equity_portfolio_data()\n", "print(\"📈 Equity Portfolio Data:\")\n", "print(equity_data.head(10))\n" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "📊 Equity Portfolio Statistics:\n", "Number of stocks: 30\n", "Average return: 11.0%\n", "Average volatility: 21.8%\n", "Average ESG score: 75.1\n" ] } ], "source": [ "# Generate correlation matrix for equity portfolio\n", "def generate_equity_correlation_matrix(data):\n", " \"\"\"Generate realistic correlation matrix for equity portfolio\"\"\"\n", " n = len(data)\n", " np.random.seed(42)\n", " \n", " # Create base correlation matrix\n", " corr_matrix = np.eye(n)\n", " \n", " # Add sector-based correlations\n", " for sector in data['Sector'].unique():\n", " sector_indices = data[data['Sector'] == sector].index\n", " if len(sector_indices) > 1:\n", " # Higher correlation within sectors\n", " sector_corr = 0.3 + np.random.uniform(0, 0.2)\n", " for i in sector_indices:\n", " for j in sector_indices:\n", " if i != j:\n", " corr_matrix[i, j] = sector_corr\n", " \n", " # Add market cap correlations\n", " for cap in data['MarketCap'].unique():\n", " cap_indices = data[data['MarketCap'] == cap].index\n", " if len(cap_indices) > 1:\n", " cap_corr = 0.2 + np.random.uniform(0, 0.1)\n", " for i in cap_indices:\n", " for j in cap_indices:\n", " if i != j and corr_matrix[i, j] < cap_corr:\n", " corr_matrix[i, j] = cap_corr\n", " \n", " # Make symmetric and ensure positive definite\n", " corr_matrix = (corr_matrix + corr_matrix.T) / 2\n", " corr_matrix = np.maximum(corr_matrix, 0.1) # Minimum correlation\n", " \n", " # Convert to covariance matrix\n", " vols = data['Volatility'].values\n", " cov_matrix = corr_matrix * np.outer(vols, vols)\n", " \n", " return cov_matrix\n", "\n", "# Generate covariance matrix\n", "equity_cov_matrix = generate_equity_correlation_matrix(equity_data)\n", "equity_returns = equity_data['ExpectedReturn'].values\n", "\n", "print(\"📊 Equity Portfolio Statistics:\")\n", "print(f\"Number of stocks: {len(equity_data)}\")\n", "print(f\"Average return: {equity_returns.mean():.1%}\")\n", "print(f\"Average volatility: {equity_data['Volatility'].mean():.1%}\")\n", "print(f\"Average ESG score: {equity_data['ESG_Score'].mean():.1f}\")\n" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'cp' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[38], line 59\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;66;03m# Optimize equity portfolio\u001b[39;00m\n\u001b[0;32m---> 59\u001b[0m weights, portfolio_return, portfolio_risk \u001b[38;5;241m=\u001b[39m \u001b[43moptimize_equity_portfolio\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 60\u001b[0m \u001b[43m \u001b[49m\u001b[43mequity_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mequity_cov_matrix\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mequity_returns\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrisk_aversion\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m2.0\u001b[39;49m\n\u001b[1;32m 61\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 63\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m weights \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 64\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m✅ Equity Portfolio Optimization Successful!\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", "Cell \u001b[0;32mIn[38], line 7\u001b[0m, in \u001b[0;36moptimize_equity_portfolio\u001b[0;34m(data, cov_matrix, returns, risk_aversion)\u001b[0m\n\u001b[1;32m 4\u001b[0m n \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m(data)\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# Create CVXPY variables\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m weights \u001b[38;5;241m=\u001b[39m \u001b[43mcp\u001b[49m\u001b[38;5;241m.\u001b[39mVariable(n)\n\u001b[1;32m 9\u001b[0m \u001b[38;5;66;03m# Expected return and risk\u001b[39;00m\n\u001b[1;32m 10\u001b[0m expected_return \u001b[38;5;241m=\u001b[39m returns \u001b[38;5;241m@\u001b[39m weights\n", "\u001b[0;31mNameError\u001b[0m: name 'cp' is not defined" ] } ], "source": [ "# Equity Portfolio Optimization with Constraints\n", "def optimize_equity_portfolio(data, cov_matrix, returns, risk_aversion=1.0):\n", " \"\"\"Optimize equity portfolio with sector and market cap constraints\"\"\"\n", " n = len(data)\n", " \n", " # Create CVXPY variables\n", " weights = cp.Variable(n)\n", " \n", " # Expected return and risk\n", " expected_return = returns @ weights\n", " risk = cp.quad_form(weights, cov_matrix)\n", " \n", " # Objective: maximize return - risk_aversion * risk\n", " objective = cp.Maximize(expected_return - risk_aversion * risk)\n", " \n", " # Constraints\n", " constraints = [\n", " cp.sum(weights) == 1, # Weights sum to 1\n", " weights >= 0, # No short selling\n", " weights <= 0.1 # Max 10% per stock\n", " ]\n", " \n", " # Sector constraints (max 25% per sector)\n", " for sector in data['Sector'].unique():\n", " sector_indices = data[data['Sector'] == sector].index\n", " if len(sector_indices) > 0:\n", " constraints.append(cp.sum(weights[sector_indices]) <= 0.25)\n", " \n", " # Market cap constraints\n", " large_cap_indices = data[data['MarketCap'] == 'Large'].index\n", " mid_cap_indices = data[data['MarketCap'] == 'Mid'].index\n", " small_cap_indices = data[data['MarketCap'] == 'Small'].index\n", " \n", " if len(large_cap_indices) > 0:\n", " constraints.append(cp.sum(weights[large_cap_indices]) >= 0.3) # Min 30% large cap\n", " if len(mid_cap_indices) > 0:\n", " constraints.append(cp.sum(weights[mid_cap_indices]) >= 0.2) # Min 20% mid cap\n", " if len(small_cap_indices) > 0:\n", " constraints.append(cp.sum(weights[small_cap_indices]) >= 0.1) # Min 10% small cap\n", " \n", " # ESG constraint (min 70 average ESG score)\n", " esg_scores = data['ESG_Score'].values\n", " constraints.append(esg_scores @ weights >= 70)\n", " \n", " # Liquidity constraint (min 1.0 average liquidity)\n", " liquidity = data['Liquidity'].values\n", " constraints.append(liquidity @ weights >= 1.0)\n", " \n", " # Solve the problem\n", " problem = cp.Problem(objective, constraints)\n", " problem.solve()\n", " \n", " if problem.status == cp.OPTIMAL:\n", " return weights.value, expected_return.value, risk.value\n", " else:\n", " return None, None, None\n", "\n", "# Optimize equity portfolio\n", "weights, portfolio_return, portfolio_risk = optimize_equity_portfolio(\n", " equity_data, equity_cov_matrix, equity_returns, risk_aversion=2.0\n", ")\n", "\n", "if weights is not None:\n", " print(\"✅ Equity Portfolio Optimization Successful!\")\n", " print(f\"Expected Return: {portfolio_return:.1%}\")\n", " print(f\"Portfolio Risk: {np.sqrt(portfolio_risk):.1%}\")\n", " print(f\"Sharpe Ratio: {portfolio_return / np.sqrt(portfolio_risk):.2f}\")\n", "else:\n", " print(\"❌ Optimization failed\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Visualize Equity Portfolio Results\n", "if weights is not None:\n", " # Create portfolio summary\n", " portfolio_summary = equity_data.copy()\n", " portfolio_summary['Weight'] = weights\n", " portfolio_summary['Weight_Pct'] = weights * 100\n", " portfolio_summary = portfolio_summary[portfolio_summary['Weight'] > 0.001] # Only show significant holdings\n", " \n", " # Sort by weight\n", " portfolio_summary = portfolio_summary.sort_values('Weight', ascending=False)\n", " \n", " print(\"📊 Top 10 Holdings:\")\n", " print(portfolio_summary[['Symbol', 'Sector', 'MarketCap', 'ExpectedReturn', 'Volatility', 'ESG_Score', 'Weight_Pct']].head(10).to_string(index=False))\n", " \n", " # Sector allocation\n", " sector_allocation = portfolio_summary.groupby('Sector')['Weight'].sum().sort_values(ascending=False)\n", " print(f\"\\n🏭 Sector Allocation:\")\n", " for sector, weight in sector_allocation.items():\n", " print(f\"{sector}: {weight:.1%}\")\n", " \n", " # Market cap allocation\n", " cap_allocation = portfolio_summary.groupby('MarketCap')['Weight'].sum().sort_values(ascending=False)\n", " print(f\"\\n📈 Market Cap Allocation:\")\n", " for cap, weight in cap_allocation.items():\n", " print(f\"{cap} Cap: {weight:.1%}\")\n", " \n", " # Portfolio metrics\n", " portfolio_esg = (portfolio_summary['ESG_Score'] * portfolio_summary['Weight']).sum()\n", " portfolio_liquidity = (portfolio_summary['Liquidity'] * portfolio_summary['Weight']).sum()\n", " \n", " print(f\"\\n📊 Portfolio Metrics:\")\n", " print(f\"Number of Holdings: {len(portfolio_summary)}\")\n", " print(f\"Average ESG Score: {portfolio_esg:.1f}\")\n", " print(f\"Average Liquidity: {portfolio_liquidity:.2f}\")\n", " print(f\"Concentration (HHI): {np.sum(weights**2):.3f}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 🌍 Multi-Asset Portfolio Optimization\n", "\n", "### Mathematical Theory: Multi-Asset Portfolio with Asset Class Constraints\n", "\n", "Multi-asset portfolios combine different asset classes to achieve diversification benefits:\n", "\n", "**Asset Classes:**\n", "- **Equities**: Stocks, ETFs, REITs\n", "- **Fixed Income**: Government bonds, corporate bonds, high-yield\n", "- **Alternatives**: Commodities, real estate, private equity\n", "- **Cash**: Money market instruments, short-term bonds\n", "\n", "**Mathematical Formulation:**\n", "```\n", "Minimize: w^T Σ w - λ μ^T w\n", "Subject to:\n", " Σ w_i = 1 (weights sum to 1)\n", " w_i ≥ 0 (no short selling)\n", " Σ_{i∈E} w_i ≥ e_min (equity minimum)\n", " Σ_{i∈F} w_i ≥ f_min (fixed income minimum)\n", " Σ_{i∈A} w_i ≤ a_max (alternatives maximum)\n", " Σ_{i∈C} w_i ≤ c_max (cash maximum)\n", " w_i ≤ w_max (individual position limits)\n", " Σ_{i∈R} w_i ≤ r_max (regional exposure limits)\n", "```\n", "\n", "Where:\n", "- E, F, A, C = equity, fixed income, alternatives, cash asset classes\n", "- e_min, f_min = minimum allocations to core asset classes\n", "- a_max, c_max = maximum allocations to alternatives and cash\n", "- R = regional exposure limits (e.g., emerging markets)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Multi-Asset Portfolio Data Creation\n", "def create_multi_asset_data():\n", " \"\"\"Create sample multi-asset portfolio data\"\"\"\n", " np.random.seed(42)\n", " \n", " # Define asset classes and subclasses\n", " assets = [\n", " # Equities\n", " {'name': 'US Large Cap', 'class': 'Equity', 'subclass': 'US', 'expected_return': 0.10, 'volatility': 0.16},\n", " {'name': 'US Small Cap', 'class': 'Equity', 'subclass': 'US', 'expected_return': 0.12, 'volatility': 0.22},\n", " {'name': 'International Developed', 'class': 'Equity', 'subclass': 'International', 'expected_return': 0.09, 'volatility': 0.18},\n", " {'name': 'Emerging Markets', 'class': 'Equity', 'subclass': 'International', 'expected_return': 0.13, 'volatility': 0.25},\n", " {'name': 'REITs', 'class': 'Equity', 'subclass': 'Real Estate', 'expected_return': 0.08, 'volatility': 0.20},\n", " \n", " # Fixed Income\n", " {'name': 'US Treasury 10Y', 'class': 'Fixed Income', 'subclass': 'Government', 'expected_return': 0.04, 'volatility': 0.08},\n", " {'name': 'Corporate Bonds', 'class': 'Fixed Income', 'subclass': 'Corporate', 'expected_return': 0.05, 'volatility': 0.06},\n", " {'name': 'High Yield Bonds', 'class': 'Fixed Income', 'subclass': 'High Yield', 'expected_return': 0.07, 'volatility': 0.12},\n", " {'name': 'International Bonds', 'class': 'Fixed Income', 'subclass': 'International', 'expected_return': 0.03, 'volatility': 0.07},\n", " \n", " # Alternatives\n", " {'name': 'Gold', 'class': 'Alternative', 'subclass': 'Commodity', 'expected_return': 0.06, 'volatility': 0.15},\n", " {'name': 'Oil', 'class': 'Alternative', 'subclass': 'Commodity', 'expected_return': 0.08, 'volatility': 0.30},\n", " {'name': 'Private Equity', 'class': 'Alternative', 'subclass': 'Private', 'expected_return': 0.15, 'volatility': 0.25},\n", " \n", " # Cash\n", " {'name': 'Money Market', 'class': 'Cash', 'subclass': 'Short Term', 'expected_return': 0.02, 'volatility': 0.01},\n", " {'name': 'Short Term Bonds', 'class': 'Cash', 'subclass': 'Short Term', 'expected_return': 0.025, 'volatility': 0.02},\n", " ]\n", " \n", " # Add some random variation\n", " for asset in assets:\n", " asset['expected_return'] += np.random.normal(0, 0.005)\n", " asset['volatility'] += np.random.normal(0, 0.01)\n", " asset['volatility'] = max(0.01, asset['volatility']) # Minimum volatility\n", " \n", " return pd.DataFrame(assets)\n", "\n", "# Create multi-asset data\n", "multi_asset_data = create_multi_asset_data()\n", "print(\"🌍 Multi-Asset Portfolio Data:\")\n", "print(multi_asset_data)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 🎯 Combinatorial Optimization Examples\n", "\n", "### N-Queens Problem\n", "\n", "The N-Queens problem is a classic constraint satisfaction problem where we need to place N queens on an N×N chessboard such that no two queens attack each other.\n", "\n", "#### Mathematical Formulation\n", "\n", "**Variables:** $x_{i,j} \\in \\{0,1\\}$ where $x_{i,j} = 1$ if a queen is placed at position $(i,j)$\n", "\n", "**Objective:** Find any feasible solution (satisfaction problem)\n", "\n", "**Constraints:**\n", "1. **Row constraints:** $\\sum_{j=1}^{n} x_{i,j} = 1 \\quad \\forall i \\in \\{1, \\ldots, n\\}$\n", "2. **Column constraints:** $\\sum_{i=1}^{n} x_{i,j} = 1 \\quad \\forall j \\in \\{1, \\ldots, n\\}$\n", "3. **Diagonal constraints:** \n", " - Main diagonals: $\\sum_{i-j=k} x_{i,j} \\leq 1 \\quad \\forall k \\in \\{-(n-1), \\ldots, n-1\\}$\n", " - Anti-diagonals: $\\sum_{i+j=k} x_{i,j} \\leq 1 \\quad \\forall k \\in \\{2, \\ldots, 2n\\}$\n", "\n", "#### Alternative Formulation (Row-based)\n", "\n", "**Variables:** $q_i \\in \\{1, \\ldots, n\\}$ where $q_i$ is the column of the queen in row $i$\n", "\n", "**Constraints:**\n", "1. **Different columns:** $q_i \\neq q_j \\quad \\forall i \\neq j$\n", "2. **Different main diagonals:** $q_i - q_j \\neq i - j \\quad \\forall i \\neq j$\n", "3. **Different anti-diagonals:** $q_i + q_j \\neq i + j \\quad \\forall i \\neq j$\n", "\n", "#### Complexity Analysis\n", "\n", "- **Time Complexity:** $O(n!)$ for backtracking algorithms\n", "- **Space Complexity:** $O(n)$ for recursive depth\n", "- **Solution Count:** \n", " - $n=8$: 92 solutions, 12 unique up to rotation/reflection\n", " - $n=4$: 2 solutions\n", " - $n=1$: 1 solution\n", " - $n=2,3$: 0 solutions\n", "\n", "#### Constraint Programming Approach\n", "\n", "The problem can be solved using constraint programming with the following constraint types:\n", "- **AllDifferent constraint** for columns\n", "- **Custom constraints** for diagonal attacks\n", "- **Domain reduction** through constraint propagation\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# N-Queens Problem Example\n", "def solve_nqueens_demo(n=8):\n", " \"\"\"Solve N-Queens problem using OR-Tools\"\"\"\n", " from constrained_opt_mcp.models.ortools_models import (\n", " ORToolsProblem, ORToolsVariable, ORToolsConstraint\n", " )\n", " from constrained_opt_mcp.solvers.ortools_solver import solve_problem\n", " \n", " # Create problem\n", " problem = ORToolsProblem(\n", " name=\"N-Queens Problem\",\n", " problem_type=\"constraint_programming\"\n", " )\n", " \n", " # Create variables: queens[i] = column position of queen in row i\n", " queens = []\n", " for i in range(n):\n", " var = ORToolsVariable(\n", " name=f\"queen_{i}\",\n", " domain=list(range(n)),\n", " var_type=\"integer\"\n", " )\n", " queens.append(var)\n", " problem.add_variable(var)\n", " \n", " # Add constraints\n", " for i in range(n):\n", " for j in range(i + 1, n):\n", " # No two queens in same column\n", " problem.add_constraint(ORToolsConstraint(\n", " name=f\"different_columns_{i}_{j}\",\n", " constraint_type=\"not_equal\",\n", " variables=[queens[i], queens[j]]\n", " ))\n", " \n", " # No two queens on same diagonal\n", " problem.add_constraint(ORToolsConstraint(\n", " name=f\"different_diagonals_{i}_{j}\",\n", " constraint_type=\"not_equal\",\n", " variables=[queens[i], queens[j]],\n", " coefficients=[1, -1],\n", " constant=-(i - j)\n", " ))\n", " \n", " problem.add_constraint(ORToolsConstraint(\n", " name=f\"different_anti_diagonals_{i}_{j}\",\n", " constraint_type=\"not_equal\",\n", " variables=[queens[i], queens[j]],\n", " coefficients=[1, 1],\n", " constant=-(i + j)\n", " ))\n", " \n", " # Solve the problem\n", " solution = solve_problem(problem)\n", " \n", " if solution.is_optimal:\n", " return [solution.variable_values[f\"queen_{i}\"] for i in range(n)]\n", " else:\n", " return None\n", "\n", "# Solve 8-Queens problem\n", "print(\"Solving 8-Queens problem...\")\n", "solution = solve_nqueens_demo(8)\n", "\n", "if solution:\n", " print(f\"Solution found: {solution}\")\n", " \n", " # Visualize solution\n", " fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", " n = 8\n", " \n", " # Create chessboard\n", " board = np.zeros((n, n))\n", " for i in range(n):\n", " for j in range(n):\n", " if (i + j) % 2 == 0:\n", " board[i, j] = 1\n", " \n", " ax.imshow(board, cmap='gray', alpha=0.3)\n", " \n", " # Place queens\n", " for i, j in enumerate(solution):\n", " ax.scatter(j, i, s=500, c='red', marker='o', edgecolors='black', linewidth=2)\n", " ax.text(j, i, 'Q', ha='center', va='center', fontsize=16, fontweight='bold', color='white')\n", " \n", " ax.set_xticks(range(n))\n", " ax.set_yticks(range(n))\n", " ax.set_xticklabels([chr(65 + i) for i in range(n)])\n", " ax.set_yticklabels(range(1, n + 1))\n", " ax.set_title('8-Queens Problem Solution', fontsize=16, fontweight='bold')\n", " ax.grid(True, alpha=0.3)\n", " plt.show()\n", "else:\n", " print(\"No solution found!\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 🏭 Scheduling & Operations Examples\n", "\n", "### Job Shop Scheduling\n", "\n", "Job shop scheduling involves scheduling a set of jobs on a set of machines where each job consists of a sequence of operations, and each operation must be performed on a specific machine for a specific duration.\n", "\n", "#### Mathematical Formulation\n", "\n", "**Given:**\n", "- $J = \\{1, \\ldots, n\\}$: set of jobs\n", "- $M = \\{1, \\ldots, m\\}$: set of machines\n", "- $O_{ij}$: operation $j$ of job $i$ with processing time $p_{ij}$ on machine $m_{ij}$\n", "\n", "**Variables:**\n", "- $s_{ij} \\geq 0$: start time of operation $O_{ij}$\n", "- $C_{max}$: makespan (completion time of all jobs)\n", "\n", "**Objective:**\n", "$$\\min C_{max}$$\n", "\n", "**Constraints:**\n", "\n", "1. **Precedence constraints:** $s_{ij} + p_{ij} \\leq s_{i,j+1} \\quad \\forall i \\in J, j \\in \\{1, \\ldots, |O_i|-1\\}$\n", "\n", "2. **Machine capacity constraints:** For any two operations $O_{ij}$ and $O_{kl}$ on the same machine $m_{ij} = m_{kl}$:\n", " $$s_{ij} + p_{ij} \\leq s_{kl} \\quad \\text{or} \\quad s_{kl} + p_{kl} \\leq s_{ij}$$\n", "\n", "3. **Makespan definition:** $s_{ij} + p_{ij} \\leq C_{max} \\quad \\forall i \\in J, j \\in O_i$\n", "\n", "4. **Non-negativity:** $s_{ij} \\geq 0 \\quad \\forall i \\in J, j \\in O_i$\n", "\n", "#### Alternative Formulation with Binary Variables\n", "\n", "**Additional Variables:**\n", "- $y_{ij,kl} \\in \\{0,1\\}$: 1 if operation $O_{ij}$ precedes $O_{kl}$ on the same machine\n", "\n", "**Constraints:**\n", "$$s_{ij} + p_{ij} \\leq s_{kl} + M(1 - y_{ij,kl})$$\n", "$$s_{kl} + p_{kl} \\leq s_{ij} + My_{ij,kl}$$\n", "\n", "Where $M$ is a large constant (e.g., $M = \\sum_{i,j} p_{ij}$).\n", "\n", "#### Complexity Analysis\n", "\n", "- **General case:** NP-Hard\n", "- **2-machine case:** Polynomial time solvable (Johnson's algorithm)\n", "- **3-machine case:** NP-Hard\n", "- **Approximation algorithms:** Various heuristics available\n", "\n", "#### Solution Methods\n", "\n", "1. **Exact methods:**\n", " - Branch-and-bound\n", " - Constraint programming\n", " - Mixed-integer programming\n", "\n", "2. **Heuristic methods:**\n", " - Genetic algorithms\n", " - Simulated annealing\n", " - Tabu search\n", " - Priority rules (SPT, LPT, etc.)\n", "\n", "#### Performance Metrics\n", "\n", "- **Makespan:** $C_{max} = \\max_{i,j} (s_{ij} + p_{ij})$\n", "- **Total completion time:** $\\sum_{i} C_i$ where $C_i$ is completion time of job $i$\n", "- **Total tardiness:** $\\sum_{i} \\max(0, C_i - d_i)$ where $d_i$ is due date of job $i$\n", "- **Machine utilization:** $\\frac{\\sum_{i,j} p_{ij}}{m \\cdot C_{max}}$\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Job Shop Scheduling Example\n", "def solve_job_shop_demo():\n", " \"\"\"Solve a simple job shop scheduling problem\"\"\"\n", " from constrained_opt_mcp.models.ortools_models import (\n", " ORToolsProblem, ORToolsVariable, ORToolsConstraint\n", " )\n", " from constrained_opt_mcp.solvers.ortools_solver import solve_problem\n", " \n", " # Simple 2-job, 2-machine problem\n", " jobs = ['Job1', 'Job2']\n", " machines = ['Machine1', 'Machine2']\n", " processing_times = {\n", " ('Job1', 'Machine1'): 3,\n", " ('Job1', 'Machine2'): 2,\n", " ('Job2', 'Machine1'): 2,\n", " ('Job2', 'Machine2'): 4\n", " }\n", " \n", " # Create problem\n", " problem = ORToolsProblem(\n", " name=\"Job Shop Scheduling\",\n", " problem_type=\"constraint_programming\"\n", " )\n", " \n", " # Create variables for start times\n", " start_times = {}\n", " for job in jobs:\n", " for machine in machines:\n", " if (job, machine) in processing_times:\n", " var = ORToolsVariable(\n", " name=f\"start_{job}_{machine}\",\n", " domain=list(range(20)),\n", " var_type=\"integer\"\n", " )\n", " start_times[(job, machine)] = var\n", " problem.add_variable(var)\n", " \n", " # Create makespan variable\n", " makespan_var = ORToolsVariable(\n", " name=\"makespan\",\n", " domain=list(range(20)),\n", " var_type=\"integer\"\n", " )\n", " problem.add_variable(makespan_var)\n", " \n", " # Objective: minimize makespan\n", " problem.set_objective(\n", " objective_type=\"minimize\",\n", " coefficients=[1],\n", " variables=[makespan_var]\n", " )\n", " \n", " # Constraints: makespan >= completion time of each operation\n", " for (job, machine), start_var in start_times.items():\n", " processing_time = processing_times[(job, machine)]\n", " problem.add_constraint(ORToolsConstraint(\n", " name=f\"makespan_{job}_{machine}\",\n", " constraint_type=\"greater_equal\",\n", " variables=[makespan_var, start_var],\n", " coefficients=[1, -1],\n", " constant=processing_time\n", " ))\n", " \n", " # Solve the problem\n", " solution = solve_problem(problem)\n", " \n", " if solution.is_optimal:\n", " result = {\n", " 'makespan': solution.variable_values['makespan'],\n", " 'schedule': {}\n", " }\n", " \n", " for (job, machine), start_var in start_times.items():\n", " start_time = solution.variable_values[f\"start_{job}_{machine}\"]\n", " processing_time = processing_times[(job, machine)]\n", " result['schedule'][(job, machine)] = {\n", " 'start': start_time,\n", " 'end': start_time + processing_time,\n", " 'duration': processing_time\n", " }\n", " \n", " return result\n", " else:\n", " return None\n", "\n", "# Solve job shop scheduling\n", "print(\"Solving Job Shop Scheduling problem...\")\n", "result = solve_job_shop_demo()\n", "\n", "if result:\n", " print(f\"Optimal makespan: {result['makespan']}\")\n", " print(\"\\nSchedule:\")\n", " for (job, machine), info in result['schedule'].items():\n", " print(f\" {job} on {machine}: {info['start']}-{info['end']} (duration: {info['duration']})\")\n", " \n", " # Visualize schedule\n", " fig, ax = plt.subplots(figsize=(10, 4))\n", " \n", " jobs = ['Job1', 'Job2']\n", " machines = ['Machine1', 'Machine2']\n", " colors = {'Job1': 'skyblue', 'Job2': 'lightcoral'}\n", " \n", " y_pos = 0\n", " for machine in machines:\n", " for (job, mach), info in result['schedule'].items():\n", " if mach == machine:\n", " ax.barh(y_pos, info['duration'], left=info['start'], \n", " color=colors[job], alpha=0.7, edgecolor='black')\n", " ax.text(info['start'] + info['duration']/2, y_pos, job, \n", " ha='center', va='center', fontweight='bold')\n", " y_pos += 1\n", " \n", " ax.set_yticks(range(len(machines)))\n", " ax.set_yticklabels(machines)\n", " ax.set_xlabel('Time')\n", " ax.set_title('Job Shop Schedule (Gantt Chart)')\n", " ax.grid(True, alpha=0.3)\n", " plt.tight_layout()\n", " plt.show()\n", "else:\n", " print(\"No solution found!\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Knapsack Problem\n", "\n", "The knapsack problem is a classic combinatorial optimization problem where we must select items to maximize value while respecting a weight constraint.\n", "\n", "#### Mathematical Formulation\n", "\n", "**0/1 Knapsack Problem:**\n", "\n", "**Given:**\n", "- $n$ items with values $v_1, v_2, \\ldots, v_n$ and weights $w_1, w_2, \\ldots, w_n$\n", "- Knapsack capacity $W$\n", "\n", "**Variables:**\n", "- $x_i \\in \\{0,1\\}$: 1 if item $i$ is selected, 0 otherwise\n", "\n", "**Objective:**\n", "$$\\max \\sum_{i=1}^{n} v_i x_i$$\n", "\n", "**Constraints:**\n", "$$\\sum_{i=1}^{n} w_i x_i \\leq W$$\n", "\n", "**Integer Linear Programming Form:**\n", "$$\\begin{align}\n", "\\max \\quad & \\sum_{i=1}^{n} v_i x_i \\\\\n", "\\text{s.t.} \\quad & \\sum_{i=1}^{n} w_i x_i \\leq W \\\\\n", "& x_i \\in \\{0,1\\}, \\quad i = 1, \\ldots, n\n", "\\end{align}$$\n", "\n", "#### Variations\n", "\n", "**1. Multiple Knapsack Problem:**\n", "- $m$ knapsacks with capacities $W_1, W_2, \\ldots, W_m$\n", "- Each item can be assigned to at most one knapsack\n", "\n", "**Variables:** $x_{ij} \\in \\{0,1\\}$: 1 if item $i$ is in knapsack $j$\n", "\n", "**Objective:** $\\max \\sum_{i=1}^{n} \\sum_{j=1}^{m} v_i x_{ij}$\n", "\n", "**Constraints:**\n", "- $\\sum_{j=1}^{m} x_{ij} \\leq 1 \\quad \\forall i$ (each item at most once)\n", "- $\\sum_{i=1}^{n} w_i x_{ij} \\leq W_j \\quad \\forall j$ (capacity constraints)\n", "\n", "**2. Unbounded Knapsack:**\n", "- Items can be selected multiple times\n", "- Variables: $x_i \\in \\mathbb{Z}_+$ (non-negative integers)\n", "\n", "**3. Fractional Knapsack:**\n", "- Items can be partially selected\n", "- Variables: $x_i \\in [0,1]$ (continuous)\n", "- Solvable by greedy algorithm (sort by value/weight ratio)\n", "\n", "#### Solution Methods\n", "\n", "**1. Dynamic Programming:**\n", "- Time: $O(nW)$, Space: $O(nW)$\n", "- Optimal for 0/1 knapsack\n", "\n", "**2. Branch and Bound:**\n", "- Upper bound: fractional knapsack solution\n", "- Lower bound: current best integer solution\n", "\n", "**3. Approximation Algorithms:**\n", "- Greedy by value/weight ratio: $\\frac{1}{2}$-approximation\n", "- FPTAS (Fully Polynomial Time Approximation Scheme)\n", "\n", "#### Complexity Analysis\n", "\n", "- **0/1 Knapsack:** NP-Complete (weakly NP-complete)\n", "- **Multiple Knapsack:** NP-Complete\n", "- **Fractional Knapsack:** Polynomial time (greedy)\n", "- **Unbounded Knapsack:** NP-Complete\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Economic Production Planning\n", "\n", "Economic production planning involves optimizing production schedules, inventory levels, and resource allocation across multiple periods while minimizing costs and meeting demand.\n", "\n", "#### Mathematical Formulation\n", "\n", "**Multi-Period Production Planning Model:**\n", "\n", "**Given:**\n", "- $T$: planning horizon (periods)\n", "- $I$: set of products\n", "- $R$: set of resources\n", "- $D_{it}$: demand for product $i$ in period $t$\n", "- $h_i$: holding cost per unit of product $i$ per period\n", "- $p_i$: production cost per unit of product $i$\n", "- $s_i$: setup cost for product $i$\n", "- $c_{ir}$: resource consumption of product $i$ for resource $r$\n", "- $K_{rt}$: capacity of resource $r$ in period $t$\n", "\n", "**Variables:**\n", "- $x_{it} \\geq 0$: production quantity of product $i$ in period $t$\n", "- $I_{it} \\geq 0$: inventory level of product $i$ at end of period $t$\n", "- $y_{it} \\in \\{0,1\\}$: 1 if product $i$ is produced in period $t$\n", "\n", "**Objective:**\n", "$$\\min \\sum_{i \\in I} \\sum_{t=1}^{T} (p_i x_{it} + h_i I_{it} + s_i y_{it})$$\n", "\n", "**Constraints:**\n", "\n", "1. **Inventory balance:** $I_{i,t-1} + x_{it} - I_{it} = D_{it} \\quad \\forall i, t$\n", "\n", "2. **Resource capacity:** $\\sum_{i \\in I} c_{ir} x_{it} \\leq K_{rt} \\quad \\forall r, t$\n", "\n", "3. **Setup constraints:** $x_{it} \\leq M y_{it} \\quad \\forall i, t$ (where $M$ is large constant)\n", "\n", "4. **Non-negativity:** $x_{it}, I_{it} \\geq 0, \\quad y_{it} \\in \\{0,1\\} \\quad \\forall i, t$\n", "\n", "#### Advanced Formulations\n", "\n", "**1. Capacitated Lot Sizing Problem (CLSP):**\n", "- Single product, multiple periods\n", "- Setup costs and capacity constraints\n", "- NP-Hard problem\n", "\n", "**2. Multi-Level Production Planning:**\n", "- Bill of Materials (BOM) structure\n", "- Dependent demand for components\n", "- MRP (Material Requirements Planning) integration\n", "\n", "**3. Stochastic Production Planning:**\n", "- Uncertain demand scenarios\n", "- Risk measures (CVaR, VaR)\n", "- Robust optimization approaches\n", "\n", "#### Solution Methods\n", "\n", "**1. Exact Methods:**\n", "- Mixed-Integer Linear Programming (MILP)\n", "- Branch-and-bound algorithms\n", "- Cutting plane methods\n", "\n", "**2. Heuristic Methods:**\n", "- Lagrangian relaxation\n", "- Genetic algorithms\n", "- Simulated annealing\n", "- Tabu search\n", "\n", "**3. Decomposition Methods:**\n", "- Dantzig-Wolfe decomposition\n", "- Benders decomposition\n", "- Column generation\n", "\n", "#### Performance Metrics\n", "\n", "- **Total Cost:** Production + Holding + Setup costs\n", "- **Service Level:** $\\frac{\\text{Demand Met}}{\\text{Total Demand}} \\times 100\\%$\n", "- **Capacity Utilization:** $\\frac{\\text{Resource Used}}{\\text{Resource Available}} \\times 100\\%$\n", "- **Inventory Turnover:** $\\frac{\\text{Cost of Goods Sold}}{\\text{Average Inventory}}$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "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.10.12" } }, "nbformat": 4, "nbformat_minor": 2 }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sharmarajnish/MCP-Constrained-Optimization'

If you have feedback or need assistance with the MCP directory API, please join our Discord server