{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "90700428",
   "metadata": {},
   "source": [
    "***pairwise_distance.ipynb***\n",
    "\n",
    "Determine the positions of $N$ points in $D$-dimensional space as to minimize the ratio of pairwise distances between points, that is, minimize the ratio of *min* and *max* squared distances.\n",
    "\n",
    "&copy; Copyright 2025 Fair Isaac Corporation\n",
    "\n",
    "Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n",
    " \n",
    "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n",
    "\n",
    "This example uses FICO&reg; Xpress software. By running it, you agree to the Community License terms of the [Xpress Shrinkwrap License Agreement](https://www.fico.com/en/shrinkwrap-license-agreement-fico-xpress-optimization-suite-on-premises) with respect to the FICO&reg; Xpress software. See the [licensing options](https://www.fico.com/en/fico-xpress-trial-and-licensing-options) overview for additional details and information about obtaining a paid license."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "52204f86",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Install the xpress package\n",
    "%pip install -q xpress matplotlib plotly"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "68fa499f",
   "metadata": {},
   "source": [
    "## Problem description and formulation"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5a03e29a",
   "metadata": {},
   "source": [
    "This optimization problem determines the positions of **$N$** points in a **$D$**-dimensional space such that the ratio of the maximum to minimum squared pairwise distances is minimized, which is addressed by **maximizing the minimum distance** in our formulation. This promotes a uniform distribution of points, minimizing clustering and maximizing spatial efficiency.\n",
    "\n",
    "The **decision variables** are defined below, with $\\mathcal{N}$ and $\\mathcal{D}$ being the corresponding sets of points and dimensions, respectively:\n",
    "- $x_{i,k}$: Coordinate of point $i \\in \\mathcal{N}$ in dimension $k \\in \\mathcal{D}$\n",
    "- $t_{\\min}$: Minimum squared distance between any two points\n",
    "- $t_{\\max}$: Maximum squared distance between any two points (fixed to 1)\n",
    "- $r$: Ratio variable, defined as $r = \\frac{1}{t_{\\min}}$\n",
    "\n",
    "For all pairs of points $i,j \\in \\mathcal{N}$ where $i < j$, the squared Euclidean distance is **constrained** as:\n",
    "\n",
    "$$ \\sum_{k \\in \\mathcal{D}} (x_{i,k} - x_{j,k})^2 \\geq t_{\\min}, \\qquad \\forall i, j \\in \\mathcal{N}, i < j $$\n",
    "$$ \\sum_{k \\in \\mathcal{D}} (x_{i,k} - x_{j,k})^2 \\leq 1, \\qquad \\forall i, j \\in \\mathcal{N}, i < j $$\n",
    "\n",
    "Additionally, we define the ratio variable by adding the constraint $r \\cdot t_{\\min} = 1$. Since the problem is *scale-invariant*, that is, the outcome of the problem does not change when all lengths are multiplied by the same constant factor, for simplicity we fix $t_{\\max} = 1$.\n",
    "\n",
    "The **objective function** is to maximize the minimum squared distance: $\\max t_{\\min}$. This is equivalent to minimizing the ratio $\\frac{t_{\\max}}{t_{\\min}}$, since $t_{\\max}$ is fixed to 1. This reformulates the problem as a quadratic problem that can be handled by a specific solver (Xpress-SLP) instead of the generic Global solver.  The optimization is subject to a time limit defined by `LIMIT`.\n",
    "\n",
    "The result is a configuration of $N$ points in $D$-dimensional space that are as evenly spaced as possible, minimizing the ratio of largest to smallest pairwise distances.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7e9ef6f",
   "metadata": {},
   "source": [
    "## Model implementation"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "15e0ad67",
   "metadata": {},
   "source": [
    "The previous model is implemented below for the 3D case, with a time limit of 10 seconds for the solver. You can also work on the 2D space, and experiment with different numbers of points and increase or decrease the solver [time limit](https://www.fico.com/fico-xpress-optimization/docs/latest/solver/optimizer/HTML/TIMELIMIT.html). A lower bound of 0.1 is defined for $t_{min}$ to ensure that points are sufficiently far from each other, giving a maximum ratio of approximately $10$ for $N = 12$ points.\n",
    "\n",
    "After the optimization, the objective (ratio) and solution values are printed following the solver logs (ON by default)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ff48ce99",
   "metadata": {},
   "outputs": [],
   "source": [
    "import xpress as xp\n",
    "import matplotlib.pyplot as plt\n",
    "import plotly.graph_objects as go\n",
    "import plotly.io as pio\n",
    "\n",
    "N = 12          # Number of points to be placed.\n",
    "D = 3           # Number of dimensions: 3 for 3D, 2 for 2D.\n",
    "LIMIT = 5       # Time limit for the solver.\n",
    "\n",
    "POINTS = range(N)  # Points to be placed.\n",
    "DIMS = range(D)    # Dimensions.\n",
    "\n",
    "# Create a problem instance.\n",
    "p = xp.problem()\n",
    "\n",
    "# Decision variables.\n",
    "x = p.addVariables(POINTS, DIMS, ub=1, name=\"x\")  # N points in d-dimensional space\n",
    "t_min = p.addVariable(lb=0.1, name=\"t_min\")       # Minimum squared distance variable.\n",
    "t_max = p.addVariable(name=\"t_max\")               # Maximum squared distance variable.\n",
    "r = p.addVariable(name=\"r\")                       # Ratio variable.\n",
    "\n",
    "# Constraints to ensure that the points are placed in a way that\n",
    "# the minimum distance between any two points is t_min and the maximum is 1\n",
    "p.addConstraint(xp.Sum((x[i,k] - x[j,k])**2 for k in DIMS) >= t_min for i in POINTS for j in POINTS if i < j)\n",
    "p.addConstraint(xp.Sum((x[i,k] - x[j,k])**2 for k in DIMS) <= 1 for i in POINTS for j in POINTS if i < j)\n",
    "\n",
    "# We wish to minimize t_max/t_min, which is invariant for scaling. We can \n",
    "# thus narrow the search to configurations where t_max is 1\n",
    "p.addConstraint(t_max == 1)\n",
    "# Compute ratio\n",
    "p.addConstraint(r * t_min == 1)\n",
    "\n",
    "# Objective: minimize the square root of ratio t_max / t_min.\n",
    "# Instead of minimizing r=1/t_min, we can improve the formulation by\n",
    "# maximizing t_min.\n",
    "p.setObjective(t_min, sense=xp.maximize)\n",
    "\n",
    "# Set the solver parameters.\n",
    "p.controls.timelimit = LIMIT\n",
    "\n",
    "# Solve the problem.\n",
    "p.optimize()\n",
    "\n",
    "# Print the solution\n",
    "status = p.attributes.solstatus\n",
    "if status in {xp.SolStatus.FEASIBLE, xp.SolStatus.OPTIMAL}:\n",
    "    print(\"Solution value (ratio):\", p.getSolution(r))\n",
    "    print(\"t_max:\", p.getSolution(t_max), \", t_min:\", p.getSolution(t_min))\n",
    "    xsol = p.getSolution(x)\n",
    "    for i in POINTS:\n",
    "        for j in DIMS:\n",
    "            print(f\"{x[i,j].name}: {xsol[i,j]}\")\n",
    "else:\n",
    "    print(f\"No solution found with time limit of {LIMIT} sec\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bfa4ee35",
   "metadata": {},
   "source": [
    "## Visualization"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6ceb030f",
   "metadata": {},
   "source": [
    "The code cell below generates a plot in either 2D or 3D (depending on the value of $D$ chosen above) using *matplotlib*. \n",
    "\n",
    "The plot containts the solution points, and the lines between any two points placed at the **minimum distance (blue)** or the **maximum distance (red)** amongst the whole set of pairwise distances."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "90bb8e2b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "N = 12, D = 3, Ratio = 3.903063633999093\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(f\"N = {N}, D = {D}, Ratio = {p.getSolution(r)}\")\n",
    "\n",
    "# Convert to dictionary with point ID as key and list of coordinates as value\n",
    "points = {}\n",
    "for (point_id, dimension), value in xsol.items():\n",
    "    if point_id not in points:\n",
    "        # Initialize list with None values up to the maximum dimension\n",
    "        max_dim = max(d for _, d in xsol.keys()) + 1\n",
    "        points[point_id] = [None] * max_dim\n",
    "    points[point_id][dimension] = value\n",
    "\n",
    "# Calculate squared distance\n",
    "def squared_distance(p1, p2, ndims):\n",
    "    return  sum((p1[i] - p2[i])**2 for i in range(ndims))\n",
    "\n",
    "# Create a plot\n",
    "fig = plt.figure(figsize=(10, 6))\n",
    "ax = fig.add_subplot(111, projection='3d' if D == 3 else None)\n",
    "\n",
    "# Plot points\n",
    "for point in points.values():\n",
    "    ax.scatter(*point, color='black')\n",
    "\n",
    "# Draw lines with color based on distance\n",
    "tol = p.controls.feastol\n",
    "for i in points:\n",
    "    for j in points:\n",
    "        p1, p2 = points[i], points[j]\n",
    "        dist = squared_distance(p1, p2, D)\n",
    "        if dist - p.getSolution(t_min) <= tol:\n",
    "            if D == 2:  # For 2D, we can plot in 2D space\n",
    "                ax.plot([p1[0], p2[0]], [p1[1], p2[1]], color='blue')\n",
    "            else:       # For 3D, we plot in 3D space\n",
    "                ax.plot([p1[0], p2[0]], [p1[1], p2[1]], [p1[2], p2[2]], color='blue')\n",
    "        if 1 - dist <= tol: \n",
    "            if D == 2:\n",
    "                ax.plot([p1[0], p2[0]], [p1[1], p2[1]], color='red')\n",
    "            else:\n",
    "                ax.plot([p1[0], p2[0]], [p1[1], p2[1]], [p1[2], p2[2]], color='red')\n",
    "\n",
    "ax.set_xlabel('x')\n",
    "ax.set_ylabel('y')\n",
    "ax.set_zlabel('z') if D == 3 else None\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cb6b8f1d",
   "metadata": {},
   "source": [
    "## Interactive 3D visualization"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e20b8ea",
   "metadata": {},
   "source": [
    "If you selected $D = 3$, then you can generate an **interactive 3D plot** of the same solution with the code cell below, which uses the *plotly* library. By default, the renderer is setup for Visual Studio Code, but you can adapt this to your own environment.\n",
    "\n",
    "After rendering, you can do *orbital rotation of the plot in any direction* and see the solution from different angles, as well as observing the coordinates of each point when hovering over. An `HMTL` file named `interactive_plot.html` is also exported in case you prefer to explore it in a web browser.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "79556195",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "config": {
        "plotlyServerURL": "https://plot.ly"
       },
       "data": [
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.28537805689014123
         ],
         "y": [
          0.7432801682224284
         ],
         "z": [
          0.2213143926039026
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.6944010112164039
         ],
         "y": [
          0.93768483418059
         ],
         "z": [
          0.44748528369612967
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.0037824002238134157
         ],
         "y": [
          0.5940631676382404
         ],
         "z": [
          0.6145728536952141
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.8205438385709383
         ],
         "y": [
          0.21574752081511706
         ],
         "z": [
          0.8810925670936116
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.8356183567488271
         ],
         "y": [
          0.0855428435606742
         ],
         "z": [
          0.3921848412986026
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.3628994174884977
         ],
         "y": [
          0
         ],
         "z": [
          0.5516688659323024
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.7172928043728263
         ],
         "y": [
          0.4980450132216155
         ],
         "z": [
          0.12374480194176257
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.5004192547944509
         ],
         "y": [
          0.4965270307357461
         ],
         "z": [
          0.6074222570308419
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.9998710293479534
         ],
         "y": [
          0.5450383540279561
         ],
         "z": [
          0.5410593970334087
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.2214417624220228
         ],
         "y": [
          0.26378197684383936
         ],
         "z": [
          0.9599580444586999
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.49318653439297283
         ],
         "y": [
          0.056058288171230986
         ],
         "z": [
          0.02058041816511199
         ]
        },
        {
         "marker": {
          "color": "black",
          "size": 5
         },
         "mode": "markers",
         "type": "scatter3d",
         "x": [
          0.08834343105446789
         ],
         "y": [
          0.2770917902424595
         ],
         "z": [
          0.2290942558524428
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.28537805689014123,
          0.8205438385709383
         ],
         "y": [
          0.7432801682224284,
          0.21574752081511706
         ],
         "z": [
          0.2213143926039026,
          0.8810925670936116
         ]
        },
        {
         "line": {
          "color": "blue"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.28537805689014123,
          0.5004192547944509
         ],
         "y": [
          0.7432801682224284,
          0.4965270307357461
         ],
         "z": [
          0.2213143926039026,
          0.6074222570308419
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.6944010112164039,
          0.3628994174884977
         ],
         "y": [
          0.93768483418059,
          0
         ],
         "z": [
          0.44748528369612967,
          0.5516688659323024
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.6944010112164039,
          0.49318653439297283
         ],
         "y": [
          0.93768483418059,
          0.056058288171230986
         ],
         "z": [
          0.44748528369612967,
          0.02058041816511199
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.0037824002238134157,
          0.8356183567488271
         ],
         "y": [
          0.5940631676382404,
          0.0855428435606742
         ],
         "z": [
          0.6145728536952141,
          0.3921848412986026
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.0037824002238134157,
          0.9998710293479534
         ],
         "y": [
          0.5940631676382404,
          0.5450383540279561
         ],
         "z": [
          0.6145728536952141,
          0.5410593970334087
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.8205438385709383,
          0.28537805689014123
         ],
         "y": [
          0.21574752081511706,
          0.7432801682224284
         ],
         "z": [
          0.8810925670936116,
          0.2213143926039026
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.8356183567488271,
          0.0037824002238134157
         ],
         "y": [
          0.0855428435606742,
          0.5940631676382404
         ],
         "z": [
          0.3921848412986026,
          0.6145728536952141
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.3628994174884977,
          0.6944010112164039
         ],
         "y": [
          0,
          0.93768483418059
         ],
         "z": [
          0.5516688659323024,
          0.44748528369612967
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.7172928043728263,
          0.2214417624220228
         ],
         "y": [
          0.4980450132216155,
          0.26378197684383936
         ],
         "z": [
          0.12374480194176257,
          0.9599580444586999
         ]
        },
        {
         "line": {
          "color": "blue"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.5004192547944509,
          0.28537805689014123
         ],
         "y": [
          0.4965270307357461,
          0.7432801682224284
         ],
         "z": [
          0.6074222570308419,
          0.2213143926039026
         ]
        },
        {
         "line": {
          "color": "blue"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.5004192547944509,
          0.9998710293479534
         ],
         "y": [
          0.4965270307357461,
          0.5450383540279561
         ],
         "z": [
          0.6074222570308419,
          0.5410593970334087
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.9998710293479534,
          0.0037824002238134157
         ],
         "y": [
          0.5450383540279561,
          0.5940631676382404
         ],
         "z": [
          0.5410593970334087,
          0.6145728536952141
         ]
        },
        {
         "line": {
          "color": "blue"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.9998710293479534,
          0.5004192547944509
         ],
         "y": [
          0.5450383540279561,
          0.4965270307357461
         ],
         "z": [
          0.5410593970334087,
          0.6074222570308419
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.9998710293479534,
          0.08834343105446789
         ],
         "y": [
          0.5450383540279561,
          0.2770917902424595
         ],
         "z": [
          0.5410593970334087,
          0.2290942558524428
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.2214417624220228,
          0.7172928043728263
         ],
         "y": [
          0.26378197684383936,
          0.4980450132216155
         ],
         "z": [
          0.9599580444586999,
          0.12374480194176257
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.49318653439297283,
          0.6944010112164039
         ],
         "y": [
          0.056058288171230986,
          0.93768483418059
         ],
         "z": [
          0.02058041816511199,
          0.44748528369612967
         ]
        },
        {
         "line": {
          "color": "red"
         },
         "mode": "lines",
         "type": "scatter3d",
         "x": [
          0.08834343105446789,
          0.9998710293479534
         ],
         "y": [
          0.2770917902424595,
          0.5450383540279561
         ],
         "z": [
          0.2290942558524428,
          0.5410593970334087
         ]
        }
       ],
       "layout": {
        "height": 800,
        "scene": {
         "xaxis": {
          "title": {
           "text": "x"
          }
         },
         "yaxis": {
          "title": {
           "text": "y"
          }
         },
         "zaxis": {
          "title": {
           "text": "z"
          }
         }
        },
        "showlegend": false,
        "template": {
         "data": {
          "bar": [
           {
            "error_x": {
             "color": "#2a3f5f"
            },
            "error_y": {
             "color": "#2a3f5f"
            },
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             },
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "bar"
           }
          ],
          "barpolar": [
           {
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             },
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "barpolar"
           }
          ],
          "carpet": [
           {
            "aaxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "baxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "type": "carpet"
           }
          ],
          "choropleth": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "choropleth"
           }
          ],
          "contour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "contour"
           }
          ],
          "contourcarpet": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "contourcarpet"
           }
          ],
          "heatmap": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmap"
           }
          ],
          "histogram": [
           {
            "marker": {
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "histogram"
           }
          ],
          "histogram2d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2d"
           }
          ],
          "histogram2dcontour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2dcontour"
           }
          ],
          "mesh3d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "mesh3d"
           }
          ],
          "parcoords": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "parcoords"
           }
          ],
          "pie": [
           {
            "automargin": true,
            "type": "pie"
           }
          ],
          "scatter": [
           {
            "fillpattern": {
             "fillmode": "overlay",
             "size": 10,
             "solidity": 0.2
            },
            "type": "scatter"
           }
          ],
          "scatter3d": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter3d"
           }
          ],
          "scattercarpet": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattercarpet"
           }
          ],
          "scattergeo": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergeo"
           }
          ],
          "scattergl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergl"
           }
          ],
          "scattermap": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermap"
           }
          ],
          "scattermapbox": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermapbox"
           }
          ],
          "scatterpolar": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolar"
           }
          ],
          "scatterpolargl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolargl"
           }
          ],
          "scatterternary": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterternary"
           }
          ],
          "surface": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "surface"
           }
          ],
          "table": [
           {
            "cells": {
             "fill": {
              "color": "#EBF0F8"
             },
             "line": {
              "color": "white"
             }
            },
            "header": {
             "fill": {
              "color": "#C8D4E3"
             },
             "line": {
              "color": "white"
             }
            },
            "type": "table"
           }
          ]
         },
         "layout": {
          "annotationdefaults": {
           "arrowcolor": "#2a3f5f",
           "arrowhead": 0,
           "arrowwidth": 1
          },
          "autotypenumbers": "strict",
          "coloraxis": {
           "colorbar": {
            "outlinewidth": 0,
            "ticks": ""
           }
          },
          "colorscale": {
           "diverging": [
            [
             0,
             "#8e0152"
            ],
            [
             0.1,
             "#c51b7d"
            ],
            [
             0.2,
             "#de77ae"
            ],
            [
             0.3,
             "#f1b6da"
            ],
            [
             0.4,
             "#fde0ef"
            ],
            [
             0.5,
             "#f7f7f7"
            ],
            [
             0.6,
             "#e6f5d0"
            ],
            [
             0.7,
             "#b8e186"
            ],
            [
             0.8,
             "#7fbc41"
            ],
            [
             0.9,
             "#4d9221"
            ],
            [
             1,
             "#276419"
            ]
           ],
           "sequential": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ],
           "sequentialminus": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ]
          },
          "colorway": [
           "#636efa",
           "#EF553B",
           "#00cc96",
           "#ab63fa",
           "#FFA15A",
           "#19d3f3",
           "#FF6692",
           "#B6E880",
           "#FF97FF",
           "#FECB52"
          ],
          "font": {
           "color": "#2a3f5f"
          },
          "geo": {
           "bgcolor": "white",
           "lakecolor": "white",
           "landcolor": "#E5ECF6",
           "showlakes": true,
           "showland": true,
           "subunitcolor": "white"
          },
          "hoverlabel": {
           "align": "left"
          },
          "hovermode": "closest",
          "mapbox": {
           "style": "light"
          },
          "paper_bgcolor": "white",
          "plot_bgcolor": "#E5ECF6",
          "polar": {
           "angularaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "radialaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "scene": {
           "xaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "yaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "zaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           }
          },
          "shapedefaults": {
           "line": {
            "color": "#2a3f5f"
           }
          },
          "ternary": {
           "aaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "baxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "caxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "title": {
           "x": 0.05
          },
          "xaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          },
          "yaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          }
         }
        },
        "width": 1000
       }
      }
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Set the default renderer for Plotly to 'vscode'\n",
    "pio.renderers.default = 'vscode' # 'notebook', 'iframe', 'browser', ...\n",
    "\n",
    "# Calculate squared distance\n",
    "def squared_distance(p1, p2):\n",
    "    return sum((p1[i] - p2[i])**2 for i in range(len(p1)))\n",
    "\n",
    "# Create a 3D scatter plot\n",
    "fig = go.Figure()\n",
    "\n",
    "# Add points to the plot\n",
    "for point in points.values():\n",
    "    fig.add_trace(go.Scatter3d(\n",
    "        x=[point[0]], y=[point[1]], z=[point[2]],\n",
    "        mode='markers',\n",
    "        marker=dict(color='black', size=5)\n",
    "    ))\n",
    "\n",
    "# Draw lines with color based on distance\n",
    "tol = p.controls.feastol\n",
    "for i in points:\n",
    "    for j in points:\n",
    "        if i != j:\n",
    "            p1, p2 = points[i], points[j]\n",
    "            dist = squared_distance(p1, p2)\n",
    "            if dist - p.getSolution(t_min) <= tol:\n",
    "                fig.add_trace(go.Scatter3d(\n",
    "                    x=[p1[0], p2[0]], y=[p1[1], p2[1]], z=[p1[2], p2[2]],\n",
    "                    mode='lines',\n",
    "                    line=dict(color='blue')\n",
    "                ))\n",
    "            if 1 - dist <= tol:\n",
    "                fig.add_trace(go.Scatter3d(\n",
    "                    x=[p1[0], p2[0]], y=[p1[1], p2[1]], z=[p1[2], p2[2]],\n",
    "                    mode='lines',\n",
    "                    line=dict(color='red')\n",
    "                ))\n",
    "\n",
    "# Set axis labels\n",
    "fig.update_layout(scene=dict(\n",
    "    xaxis_title='x',\n",
    "    yaxis_title='y',\n",
    "    zaxis_title='z'),\n",
    "    showlegend=False,   # Remove legend entries\n",
    "    width=1000,         # Set figure width\n",
    "    height=800          # Set figure height\n",
    ")\n",
    "\n",
    "# Save the plot as an HTML file\n",
    "fig.write_html(\"interactive_plot.html\")\n",
    "\n",
    "# Show the plot\n",
    "fig.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
