Skip to content

Instantly share code, notes, and snippets.

@NickRSearcy
Created April 30, 2013 12:45
Show Gist options
  • Save NickRSearcy/5488476 to your computer and use it in GitHub Desktop.
Save NickRSearcy/5488476 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "cGA"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Compact Genetic Algorithm as a solution to the Travelling Salesman Problem"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Goal: to build a custom compact genetic algorithm (cGA) to solve novel TSP problems. For more info see [this paper](http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=974843).\n",
" \n",
"Input: A set of n-dimensional points (we'll start and probably stick with 2-D but it would be neat to make this dimension agnostic)\n",
" \n",
"Output: A good approximation of the minimal-length tour around the points.\n",
"\n",
"A cGA works much like a typical genetic algorithm with the exception that, instead of maintaining a population of individual components, the cGA maintains a distribution. As such, the selection, mutation, and crossover components are only analogous with traditional genetic algorithms.\n",
" \n",
"The components needed for a cGA are: \n",
" \n",
" - An `initialize` method that finds the edge length `EL` between all points and produces an initial distribution `P`\n",
" - A `generate` method that generates tours based on the distribution\n",
" - An `udate` method that updates P based on the generated population"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Initialize method"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The initialize method calculates the distance between all points using the pythagorean theorem and offers two options for generating the distribution:\n",
" \n",
" - `uniform` weights all edges identically\n",
" - `EL` weights edges according to inverse edge-length"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%pylab inline\n",
"import numpy as np\n",
"import scipy as sp"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.kernel.zmq.pylab.backend_inline].\n",
"For more information, type 'help(pylab)'.\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def initialize(points, method='uniform'):\n",
" num_points = points.shape[0]\n",
" EL = np.zeros((num_points,num_points))\n",
" for start in range(num_points):\n",
" for finish in range (start):\n",
" EL[start,finish] = ( sum((points[start,:] - points[finish,:])**2) )**.5\n",
" if method == 'uniform':\n",
" P = np.array((EL > 0) + 0.)\n",
" P = P/P.sum()\n",
" elif method == 'EL':\n",
" P = np.zeros((num_points,num_points))\n",
" P[EL!= 0] = 1/EL[EL != 0]\n",
" P = P/P.sum()\n",
" return P, EL"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Generate Method"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Baraglia paper linked above generates tours through a greed method that begins with a random city `c_a`, randomly chooses a `c_b` and connectes it with probaility `P[a,b]`. If no city is connected, then one is chose to maximize `P[a,b]` and if necessary to minimize the distance between them `EL[a,b]`.\n",
"\n",
"I wanted to go a different route by imagining the probability matrix `P` as a distribution and drawing from that distribution. As such the novel generation method I developed begins by normalizing `P` and selecting an edge according to this distribution. Following this, the algorithm builds a mask that eliminates all edges that would connect two points already in the tour (and would result in closing the tour or creating a loop). Finally, when "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def generate(P, n=1, method='random'):\n",
" \"\"\" This class will generate n paths based on the pdf P\n",
" \"\"\"\n",
" num_points = P.shape[0]\n",
" tours = np.ndarray(shape = n, dtype=object)\n",
"\n",
" for i in range(n):\n",
" \n",
" tour = np.zeros((num_points,num_points))\n",
" mask = np.zeros((num_points,num_points))\n",
" Pmask = P \n",
"\n",
" while (np.any(Pmask > 0)):\n",
" #choose random segment with P as PDF\n",
" Pmask = Pmask/np.sum(Pmask)\n",
" r = np.random.rand()\n",
" segment = np.flatnonzero(np.cumsum(Pmask) > r)[0]\n",
" tour.flat[segment] = 1\n",
"\n",
" #mask P so that same point cannot be chosen more than twice.\n",
" count = np.sum(tour + tour.T, axis = 0)[np.newaxis]\n",
" count = count + count.T\n",
" mask = (count == 1) + .0\n",
" Pmask = P*mask\n",
" #final tour should have an edge count of exactly two\n",
" tour[(count==2)*P !=0] = 1\n",
" tours[i] = tour\n",
" return tours"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Plotting"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Before moving forward, I would like to build a plotting method to check my work. The method will behave slightly differently if given a single tour or a list of tours but it will still work for both."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def tourplot(tours,points):\n",
" plot(points[:,0],points[:,1],'o')\n",
" \n",
" if tours.dtype == 'O':\n",
" average = np.zeros_like(tours[0])\n",
" for tour in tours:\n",
" average = average + tour\n",
" else:\n",
" average = tours\n",
" \n",
" max = average.max()\n",
" \n",
" for start in range(num_points):\n",
" for finish in range (start):\n",
" if average[start,finish] > 0:\n",
" plot(points[(start,finish),0], points[(start,finish),1], \n",
" color=str(1 - average[start,finish]/max), \n",
" lw=str(.5 + 2*average[start,finish]/max))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now to test the different functions"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"num_dimensions = 2\n",
"num_points = 5\n",
"n = 100\n",
"points = np.random.rand(num_points,num_dimensions)\n",
"P,EL = initialize(points,method='EL')\n",
"tours = generate(P,n)\n",
"figure()\n",
"tourplot(tours,points)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x10dcd98d0>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Update"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The final component is a function that updates the probability distribution based on the list of tours. This is another instance where this TSP cGA differs significantly from that of Baraglia. Baraglia chose an ad hoc update mechanism that selected the shortest tour and rewarded $p(edge_{i,j})$ when the edge was in the shortest tour but not a longer tour and penalized $p(edge_{i,j})$ when the edge was in a longer tour but not the shortest one.\n",
"\n",
"This is fine, but I would like to be explicitly probabilistic in my approach. I will make a subdivision called 'top' of the shortest tours of each generation (the cutoff will be around 10% but may also be experimented with). With this in mind, I build the matrix `P` to explicitly estimate the probability $p(edge_{i,j} \\mid top)$ where $edge_{i,j}$ corresponds to `P[i,j]` and $i<j$. The probability matrix will be updated according to [Bayes' theorem](http://en.wikipedia.org/wiki/Bayes'_theorem):\n",
" \n",
"$$P(A \\mid B) = \\frac{P(B \\mid A) P(A)}{P(B)}$$\n",
" \n",
"which is interpreted for the matter at hand as:\n",
" \n",
"$$P(edge_{i,j} \\mid top) = \\frac{P(top \\mid edge_{i,j}) P(edge_{i,j})}{P(top)}$$\n",
" \n",
"The denominator $P(top)$ will be the same for every edge and each `P` will be normalized at the end of the process, so we can ignore the denominator. In Bayesian probability terms, $P(edge_{i,j})$ is the prior probability of the event $edge_{i,j}$. For the first generation we will either use a uniform prior (all edges are equally likely) or a prior that is proportional to inverse edge length (shorter edges are more likely). For subsequent generations, though, I will use the posterior (i.e. $P(edge_{i,j} \\mid top)$) of the previous generation as the prior for the next. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def update(P, tours, EL, top_percent=10., mutation_percent = 1.):\n",
" template = EL != 0\n",
" n = len(tours)\n",
" tour_length = np.zeros(n)\n",
" for i in range(n):\n",
" tour_length[i] = sum(tours[i]*EL)\n",
" tour_order = argsort(tour_length)\n",
" best = tours[tour_order[0]];\n",
" top_index = int((top_percent/100)*n)\n",
" top_tours = tours[tour_order[0:top_index]]\n",
" top_composite = np.zeros_like(tours[0])\n",
" tours_composite = np.zeros_like(tours[0])\n",
" for tour in top_tours:\n",
" top_composite = top_composite + tour\n",
" for tour in tours:\n",
" tours_composite = tours_composite + tour\n",
" p_t_e = top_composite/(tours_composite + .01)\n",
" new_P = (P*p_t_e + mutation_percent/((P.shape[0]**2)*100))*template\n",
" new_P = new_P/sum(new_P)\n",
" return new_P, best\n",
"\n",
"def TSPPplot(P, points):\n",
" num_points = P.shape[0]\n",
" P = P/P.max()\n",
" color_scale = .9*(1 - P)\n",
" line_width_scale = .5 + 2*P\n",
" for start in range(num_points):\n",
" for finish in range (start):\n",
" plot(points[(start,finish),0], points[(start,finish),1], \n",
" color=str(color_scale[start,finish]), \n",
" lw=str(line_width_scale[start,finish]))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Test the update function"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"new_P,best = update(P, tours, EL, top_percent=10., mutation_percent=1.)\n",
"figsize(10,5)\n",
"TSPPplot(new_P,points)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x10dc45b50>"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now to put it all together"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def TSPcGA(points,n_population=100,n_generations=100,updates = 10, top_percent = 10., mutation_rate = 1.):\n",
" if updates != 0:\n",
" update_step = floor(n_generations/updates)\n",
" P = np.ndarray(shape = n_generations + 1, dtype=object)\n",
" best = np.ndarray(shape = n_generations, dtype=object)\n",
" length = np.ndarray(n_generations)\n",
" P[0],EL = initialize(points,'EL')\n",
" for i in range(n_generations):\n",
" tours = generate(P[i], n_population)\n",
" P[i+1],best[i] = update(P[i], tours, EL)\n",
" length[i] = sum(best[i]*EL)\n",
" \n",
" if updates != 0:\n",
" if i%update_step == 0:\n",
" figsize(15,5)\n",
" figure()\n",
" subplot(1,3,1)\n",
" title(\"plot of all tours\")\n",
" tourplot(tours,points)\n",
" subplot(1,3,2)\n",
" title(\"plot of distribution\")\n",
" TSPPplot(P[i],points)\n",
" subplot(1,3,3)\n",
" title(\"plot of best tour\")\n",
" tourplot(best[i],points)\n",
" suptitle(\"Generation #\" + str(i))\n",
"\n",
" \n",
" return P, best, length\n",
" "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"num_dimensions = 2\n",
"num_points = 100\n",
"points = np.random.rand(num_points,num_dimensions)\n",
"mutation_rate = [.5, 2.]\n",
"top_percent = [5., 20.]\n",
"\n",
"figsize(10,3)\n",
"\n",
"\n",
"for mut_r in mutation_rate:\n",
" for top_p in top_percent:\n",
" P,best,length = TSPcGA(points,n_population=num_points,n_generations=num_points/2,top_percent=top_p, mutation_rate=mut_r, updates = 0)\n",
" figure()\n",
" plot(range(num_points/2),length)\n",
" title('length of best tour vs generation with mutation rate =' + str(mut_r) + ' top percentage =' + str(top_p) + 'best tour length =' + str(length[-1]))\n",
" "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x10dd73cd0>"
]
},
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAsAAAADQCAYAAAAJZtddAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8DPf/B/DXLiEiQS45JBGiSOOIm7o2bbV1RltS1FUU\nPemBFiHqrCrqW9q6KdXq4aiiVcRVbd00UYREBEmTSESQyPH+/TG/jGyyya5Isol9PR+PeSS7c71n\n5rOz7/nsZz6jEREBEREREZGF0Jo7ACIiIiKi0sQEmIiIiIgsChNgIiIiIrIoTICJiIiIyKIwASYi\nIiIii8IEmIiIiIgsitEE2NvbG7t37y6NWPRERUVBq9UiOzu7WJa3cOFCNGzYEO7u7vnGhYaGwtPT\ns1jWQ2VbdHQ07OzsYK7e/0xZv1arxaVLl0oxquJj7v1L9Cgr7u/Fsmzo0KEIDg42y7rNlfdQ6TKa\nAGs0Gmg0mhIPxNvbG3v27CmRZUdHR+P999/Hjh07cO3atRJZhyHGtomJd8nLewy8vLxw69atUinT\nhuRdv06nw4oVK8wSS15F+XIta/s3t5CQEAwaNKhU1rV8+XLUr18f7u7uGDNmDLKysgqcVqvVwtbW\nFnZ2drCzs8PIkSMLnNacSUBZUZLfDcXl/fffR/369WFnZwdfX198/fXXeuMvXLiATp06wcHBAZ07\nd0ZERESBy8rMzMTbb78Nd3d31K9fH8uXLy/p8I2eh8yReJdW7mHoM1YS646NjUWvXr1Qq1YtaLVa\nREdH55vmyJEjajnx9PTE999/X+DyZs6cidq1a8PV1RUjRoxAenq6Oi4lJQUTJ06En58f/Pz8MGnS\nJNy6dQsAcODAAfXckzNotVps2rQJALBmzRq0bNkS1atXh4eHByZMmGDwfHbhwgVYW1vnO8f+9ddf\naNmyJRwdHdGjRw/Ex8er47KysjBz5ky0atUKPj4+eOedd/Rysv/++w89evSAo6MjWrZsib///ltv\n2Rs2bMBzzz0HNzc3DBo0SG+8n5+f3jZZWVmhV69eBe4/oAw1gdBoNCVWaxQdHQ0XFxfUqVOnRJZf\nkJLcJlM86rUEhSUZOcx9DIwpC4liXg+yv8y1fzMzM0t9nQXZv38/Jk+ejC1btiA8PBynT5/GrFmz\nCp3nzJkzuHXrFm7duoWlS5eWUqQlpySPR1n/DAOAra0ttm3bhqSkJMybNw8jRozA4cOHASifp27d\nuuHFF19EXFwc+vTpg27duhW4TbNnz8apU6dw9uxZbN26FVOmTMGBAwdKNH5Tz0MldRwKOpeX9eP+\nILRaLbp164Yff/zR4Pjw8HD06tULkyZNQkJCAk6fPo0WLVoYnHbNmjVYvnw5fvjhBxw+fBiRkZF4\n99131fEhISHYu3cvduzYge3bt2PXrl0ICQkBAHTs2FE999y6dQvbtm2Dra0tnnvuOQDA3bt38dln\nnyExMRHbtm3Dpk2bMG/evHwxvPHGG2jdurVe2UlNTcVzzz2HDz/8ENevX8fjjz+Ofv36qeMXL16M\nFStW4Ouvv8bhw4cRERGBt956Sx3fv39/NGzYENeuXcPEiRPRtWtXpKamAgBOnjyJQYMG4d1338XF\nixfh4+ODHj16qGUkLCxMb7s8PT0RFBRU+EERI7y9vWX37t0iIpKdnS2zZ88WHx8fcXBwkKCgILlx\n44aIiERGRopGo5Eff/xRGjZsKE5OTjJz5kx1OXfu3JHBgweLg4ODtGrVSpYsWSIeHh4iIjJw4EDR\narVSpUoVsbW1lU8++cTo8vJKTk6WQYMGibOzs9SuXVtmzJgh2dnZsmvXLqlSpYpotVqxtbWVV155\nJd+8e/fuFQ8PD/nf//4n3t7e4u3tLevXr1fHp6WlyXvvvSdeXl5Ss2ZNGT16tNy9e1dERG7fvi3D\nhw+X2rVri4ODg3Tq1Emys7MNblNuqampYm1trcZlZ2cn169fl7S0NBkzZoy4u7uLu7u7jB07VtLT\n00VEZNWqVdKhQwe95Wg0Grl48aKIiAwZMkTGjh0rffv2FQcHB/W45fj222+lZcuWeu/Nnz9fevXq\nJSIiBw4ckOeee07s7e2lVq1aMm/ePIP7OisrS959911xdnYWf39/Wb16tWg0GsnKylKPxbBhw8TV\n1VXc3d1l8uTJ6rhVq1ZJ+/btZdq0aeLu7i516tSRHTt26B1HY/NOmTJFvLy8JDg4WC5evCgBAQHi\n6OgoTk5O8vLLL0tycrKIFF6ucpZ59epV6dmzpzg4OEi9evVk2bJlaixTp06Vfv36yRtvvCHOzs7i\n5+cnR48eNbhPpkyZIm+99ZaIiNy7d09sbGxk3LhxIqKU/cqVK0tSUpK6/szMTJk4caJUqFBBrK2t\nxdbWVp1fo9HIunXrpGnTpmJvby9vvPGGwXXmjvG1114TZ2dn6dixo1y7dk0+//xz8fHxES8vL/n9\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x10dc98650>"
]
},
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAArgAAADQCAYAAADs+BIxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVPX6B/DPoKAoiIAIyCIuP0VxAZfUVEDrmrlbrim5\n0LXFSq3M8uZWmt7MJStvZi64ZaZl2s1MU3Aty30hE3cRVBBZRLbh+f3xvRyZYdgUHBg+79drXjDL\nOeeZc75z5jnfec736EREQERERERkIazMHQARERERUUligktEREREFoUJLhERERFZFCa4RERERGRR\nmOASERERkUVhgktEREREFqXQBNfHxwe//vrro4jFwKVLl2BlZYXs7OwSmd/ChQvh6+uLOnXq5Hku\nPDwcXl5eJbIcKtuuXLkCe3t7mGt0vKIs38rKChcuXHiEUZUcc69fovIuODgYy5YtM3cYpc6c37vT\np09HSEiIWZZNj06hCa5Op4NOpyv1QHx8fLBr165SmfeVK1fw1ltvYdu2bbh+/XqpLMOUwt4TE+vS\nZ7wNvL29kZyc/EjatCnGyy9LX2YPclBZ1tZvbo/qSywsLAxt2rSBg4MDPD09MWnSJOj1+nxff+7c\nOQQGBsLJyQlBQUGIiorK97UjR47ElClTSiPscqM0vxtKysiRI1GlShXY29vD3t4eNWrUKPAgb+vW\nrWjWrBlq166N4cOHIzU1VXuuNL5zV65cic6dOxf4mrK0LypJpr5nS2v/NGXKFDRv3hzW1taYMWNG\nnjisrKy0NmJvb4/Vq1fnO6/IyEiMGTMGXl5eCAwMxOLFiw2enzVrFurWrQs3Nze88MILSE9P157L\nysrC66+/jjp16qBRo0b46quvDKYdM2YMfH19UalSJYSFheVZ9o0bNzBw4EC4u7vDxcUFkyZNAgBk\nZGQgNDQUPj4+sLe3R0BAAH7++WdtuszMTAwYMAD16tWDlZUVIiIi8sw7KioK3bt3h4uLC9zc3LBo\n0SIAwM2bNzF06FB4eHjAwcEBnTp1wqFDh7TpYmNj0adPH3h4eMDKygpXrlzJd93lKDMlCjqdrtR6\nfa5cuQJXV1fUq1evVOafn9J8T0VRUr3fZVVBSUQOc2+DwpSFRNBYcdaXudZvVlbWI19mfu7du4dP\nPvkE8fHx+PHHH/H999/j448/NvlaEUGPHj3w7LPP4saNGxgwYAB69OhRpttoUZTm9ijrn2FAxThp\n0iQkJycjOTkZSUlJ+X62L168iOHDh+OLL77AxYsXISJ47bXXHnHEeZXmvqgsfV6B4u3jiuP//u//\nMHfuXPTs2dPk+vTw8NDaSHJycoEH4MOGDUOlSpVw+vRpzJs3D5MmTcLWrVsBqIPqr776Chs3bsTB\ngwdx8eJFvPHGG9q0s2fPxvHjxxEZGYktW7Zg6tSp2Lt3r/a8v78/Fi9ejFatWuWJMyMjA506dULH\njh1x4cIFREdHY/jw4QDUdvT29saePXsQHx+PV199Ff3798fly5e16QMDA7FmzRq4ubnlmXdcXBw6\ndeqEESNG4Pr16zh//jy6desGALh79y7atWuHI0eOIDo6Gt26dUPPnj1x9+5dAOqXzR49emDTpk1F\n2hYAACmEj4+P/PrrryIikp2dLbNnz5YGDRqIk5OTDBo0SG7fvi0iIhcvXhSdTiebNm0SX19fqVWr\nlsyaNUubT2pqqjz//PPi5OQkbdu2lcWLF4unp6eIiAwfPlysrKzE1tZW7OzsZO7cuYXOz9idO3ck\nJCREXFxcpG7dujJz5kzJzs6WHTt2iK2trVhZWYmdnZ2MGjUqz7S7d+8WT09P+fTTT8XHx0d8fHxk\n7dq12vNpaWny5ptvire3t9SuXVteeukluXfvnoiI3L17V0JDQ6Vu3bri5OQkgYGBkp2dbfI95ZaS\nkiJVq1bV4rK3t5eYmBhJS0uTcePGSZ06daROnToyfvx4SU9PFxGRFStWSKdOnQzmo9Pp5Pz58yIi\nMmLECBk/frwMHDhQnJyctO2WY/369dKmTRuDx+bPny99+vQREZG9e/dK9+7dxdHRUTw8POTjjz82\nua71er288cYb4uLiIv7+/rJy5UrR6XSi1+u1bTF69Ghxc3OTOnXqyHvvvac9t2LFCunYsaPMmDFD\n6tSpI/Xq1ZNt27YZbMfCpp06dap4e3vLlClT5Pz589KlSxdxdnaWWrVqybBhw+TOnTsiUnC7ypln\ndHS09O7dW5ycnKRhw4aydOlSLZZp06bJkCFDZOzYseLi4iJ+fn7y559/mlwnU6dOlddee01ERDIy\nMqRatWoyceJEEVFtv0qVKpKQkKAtPysrSyZPniyVKlWSqlWrip2dnTa9TqeTNWvWSMuWLcXR0VHG\njh1rcpm5Y3z55ZfFxcVFOnfuLNevX5fPPvtMGjRoIN7e3rJz507t9XXr1jW4P23aNBk+fLiIiHh5\n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\n5U9+A+ZT2cdtV75x+5Vv3H5kaSz2JLOTJ09ixIgR0Ov1cHNzw6BBgxAaGornn38ex44dg42NDQID\nAzFp0iSDsy0f9tKpRERERI8K8xbTLDbBfVBsKERERFReMG8xzWJLFIiIiIioYmKCS0REREQWhQku\nEREREVkUJrhEREREZFGY4BIRERGRRWGCS0REREQWhQkuEREREVkUJrhEREREZFGY4BIRERGRRWGC\nS0REREQWhQkuEREREVkUJrhEREREZFGY4BIRERGRRWGCS0REREQWhQkuEREREVkUJrgmJCWZOwIi\nIiIielBMcE3o08fcERARERHRg2KCa8LZs8Bff5k7CiIiIiJ6EExwTRg1Cli61NxREBEREdGD0ImI\nmDuIskSn0+H8eUG7dsDVq0DVquaOiIiIiMg0nU4HpnJ5sQfXhPr1gVatgE2bzB0JERERERUXE9x8\njBkDfPmluaMgIiIiouJiiYKRnK7+zEzA2xvYtQto0sTcURERERHlxRIF09iDmw9ra55sRkRERFQe\nsQfXSO4joYsXgcce48lmREREVDaxB9c09uAWoF49oHVrYONGc0dCREREREXFBLcQPNmMiIiIqHxh\niYIR467+zEygbl1g506gaVMzBkZERERkhCUKprEHtxA82YyIiIiofGEPrhFTR0IXLwJt26qTzWxt\nzRQYERERkRH24JrGHtwiqFcPaNOGVzYjIiIiKg+Y4BbRiy8CS5aYOwoiIiIiKgwT3CLq1Qs4fx44\nfdrckRARERFRQSwywU1LS0O7du3g7++P9u3bY8GCBQCA5ORk9OvXDy1atED//v2RkpJS5HlaWwOj\nR/NkMyIiIqKyzmJPMktNTUW1atWQnp6O1q1b4/vvv8fSpUtRq1YtvP322/j3v/+NhIQEzJkzx2C6\ngoq1L11Stbg82YyIiIjKAp5kZlplcwdQWqpVqwYASElJgV6vR5UqVbBlyxZEREQAAEaMGIHg4OA8\nCS4ATJ8+Xfs/ODgYwcHBAAAfHzWawsaNQEhIab8DIiIiIkPh4eEIDw83dxhlnsX24GZnZyMgIACn\nT5/GwoUL8eqrr8LR0REJCQkAABGBk5OTdj9HYUdC338PzJsH7NtXquETERERFYo9uKZZZA0uAFhZ\nWeH48eOIiorC4sWLcfToUYPndToddDpdsefbqxdw4QJPNiMiIiIqqyw2wc3h4+ODHj16ICIiAq6u\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x10dc98710>"
]
},
{
"output_type": "display_data",
"png": "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\nSIUKFcTf3182bNigzTNw4EAZPXq0vPTSS+Lm5iZt2rSRixcvmixL2r769ttvpU6dOuLl5WX0nrfk\neL9u3Trx9/cXvV4vIiJLliyRunXripOTkzz55JNy5MgREVH14KWXXhJ3d3fx8/OTBQsWaOvJrh5k\ndRzt2bOneHp6Svny5aV169Zy8uRJbXkxMTHSqVMncXV1laCgIJkxY4bRcfP06dPStm1bcXFxkdq1\na8u6detMbp+8aNu2rXz88ccikrN9LqI+c3fs2KHdnzhxogwYMEBE8rbPRETefPNNqV27tlSoUEGa\nNm0qN27cyPI4lJ6pY0NqaqpMnTpVqlatKpUqVZIBAwZIXFyc9prTPt/TVK1aVftMStvnI0aMEE9P\nT1m2bFmmdQ4aNEg++OAD7f7GjRulYcOGUr58eXn66afl+PHjRsv+4osvpEWLFlKhQgXp3bu3xMfH\na89/9NFH4uXlJXXq1JHvvvtOdDqdREZGZvke8/Pzy3Z5eZGUlCQ6nS7T+7Jv374yceLEfFlWehER\nEeLk5CQPHz4UEcvq4927d6VWrVry+++/Gx3PHz58KGXLlpWzZ89q0w4YMCDLcu/du1ecnJyMHjt/\n/rzUrVtXtm7dmqmOiIjMmDFDxo8fn2n/h4WFSb9+/bT7586dEwcHB+11ZZzeEjkKwPPnz5cGDRrI\nb7/9JtevX5fg4GDp27eviPz7xuzdu7dcunRJtm/fLnZ2dvL333+LiMj48eOlZcuWcvfuXbly5Yr4\n+/uLj4+PyfVkt7zTp0+bLGf//v2lU6dOYjAYJCoqSmrUqKG9qSIiIkxu6DTh4eFib28vY8aMkcTE\nRNm9e7eUKVNGzpw5IyIiY8aMkeeee07++usviYyMFL1eL++9956IiHz22Wfy8ssvS1xcnCQnJ8u+\nffuyfE0ZmSpXaGioNGnSRG7duiW3bt2S5s2bS2hoqIhYFoDLlSsn33zzjSQlJWV6wz58+FCcnJyM\nKm+TJk3ku+++0/7/6aefJCUlRe7evat9eGX0xRdfSK1ateTq1asSGxsrer1e7OzstDdJt27dpE+f\nPnLhwgU5evSo1KtXTxYvXqy9hlKlSsnkyZPlzp07EhYWJt7e3tqyzc1rb28v7733nty9e1cePXok\nkZGR8uuvv0piYqIcO3ZMGjVqJGPGjMlyH2QMaK1atZLhw4dLQkKCHD16VFxdXbUDQVhYmJQqVUqW\n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\nRK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x10dc7ac90>"
]
}
],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#Results\n",
"\n",
"Overall, the compact genetic algorithm performed as a robust method for exploring the TSP search space. This algorithm is of interest because future work will include the Wisdom of Crowds approach where multiple populations will be utilized and the results combined to find a consensus. The compact genetic algorithm allows for a simple genetic algorithm to be imitated without the use of memory space for a large population, because the population distribution is the only part that is preserved from generation to generation. This should prove to be an advantage when multiple populations are leveraged.\n",
"\n",
"According to the experiment above, a lower mutation rate and smaller 'best' group resulted in the shortest tour length as well as the most rapid convergence. This fact will be kept in mind over the next experiment."
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment