{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Genetic Algorithm \n", "\n", "In this notebook, we implement a new selection operator (tournament selection) and a new cost function (for the Goodwin oscillator). At the end, there is also code to plot the parameters as they change over the generations." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import os.path\n", "import scipy.linalg\n", "import scipy.integrate\n", "import scipy.signal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Support function for GA\n", "Copy-paste your copy of generateIndividual, generateChild, and GA below." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def generateIndividual(cost_fcn, lb,ub):\n", " '''\n", " Generate a viable individual (i.e one whos cost function is finite)\n", " and return it and its cost.\n", " If 1000 tries fails to yield an individual, then the paramets and an infinite cost\n", " are returned.\n", " Each individual is generated by randomly chosing each entry params[i] \n", " so that lb[i] <= params[i] <= ub[i]\n", " Input:\n", " cost_fcn: handle to the cost function (which should take a candidate as input)\n", " lb: lower bounds for parameters (array of length NP)\n", " ub: upper bounds for parameters (array of length NP)\n", " Returns:\n", " (params, cost)\n", " where params is the same shape as the lower bounds\n", " and cost is the cost for that set of parameters\n", " '''\n", " params = np.zeros(lb.shape);\n", " cost = np.inf;\n", " for i in range( 1000 ):\n", " params = lb + np.multiply( np.random.random(lb.size), ub-lb);\n", " cost = cost_fcn(params);\n", " if np.isfinite(cost):\n", " return (params, cost);\n", " return (params, np.inf)\n", "\n", "def generateChild(cost_fcn, P, lb, ub, settings):\n", " \"\"\"\n", " Generate a viable child (i.e one whos cost function is finite)\n", " and return it and its cost function.\n", " If 1000 tries fails to yield a parent, then an infinite cost\n", " is returned.\n", " Input Parameters:\n", " cost_fcn: handle to the cost function (which should take a candidate as input)\n", " P: parents (lam x NP ndarray of parameter values)\n", " lb: lower bounds for parameters (array of length NP)\n", " ub: upper bounds for parameters (array of length NP)\n", " settings: a GASettings object\n", " Returns:\n", " (params, cost)\n", " where params is the same shape as the lower bounds\n", " and cost is the cost for that set of parameters\n", " \"\"\"\n", " params = np.zeros(lb.shape);\n", " cost = np.inf;\n", " for i in range(1000):\n", " # Choose two parenst from the breeding pool.\n", " P1idx = np.random.choice(P.shape[0]);\n", " P1 = P[P1idx,:];\n", " P2idx = np.random.choice(P.shape[0]);\n", " P2 = P[P2idx,:];\n", " for j in range(lb.size):\n", " # uniform cross-over\n", " if np.random.random() < 0.5:\n", " params[j] = P1[j];\n", " else:\n", " params[j] = P2[j];\n", " # Mutate optimization variables\n", " params = np.multiply( 1+np.random.randn(params.size)*settings.mutation, params);\n", " # Make sure the mutation hasn't moved us out of bounds\n", " params = np.maximum(params,lb);\n", " params = np.minimum(params,ub);\n", " cost = cost_fcn(params);\n", " if np.isfinite(cost):\n", " return ( params, cost );\n", " return (np.zeros((lb.size)), np.inf)\n", "\n", "def GA(cost_fcn, lb, ub, settings):\n", " \"\"\" Run the algorithm described in the notes to find a low-cost\n", " population of parameter sets.\n", " Input:\n", " cost_fcn: handle to cost function (should take a paramer set as input)\n", " lb: lower bounds for parameters (numpy array of length NP)\n", " ub: lower bounds for parameters (numpy array of length NP)\n", " settings: GASettings object\n", " Returns\n", " (params, cost, all_params, all_costs)\n", " where \n", " params is a 1xNP vector with the best parameter set found\n", " cost is a scalar with the cost of the best parameter set\n", " all_params is a list with a (settings.numChildren x NP) ndarray of parameters for each generation\n", " all_costs is a list with an NP-length array of costs for each generation\n", " \"\"\"\n", "\n", " mu = settings.numParents;\n", " lam = settings.numChildren;\n", " numGenerations = settings.numGenerations;\n", "\n", " # Create initial population\n", " G = np.zeros( (lam,lb.size) );\n", " Gcost = np.zeros( (lam,) );\n", " for i in range(lam):\n", " (G[i,:], Gcost[i]) = generateIndividual(cost_fcn, lb, ub);\n", " # sort them by cost\n", " idx = np.argsort(Gcost);\n", " Gcost = Gcost[idx]\n", " G = G[idx,:];\n", " all_params = [G]\n", " all_costs = [Gcost]\n", "\n", " for g in range(numGenerations):\n", " # Promote any elites\n", " elites = G[:settings.eliteCount,:]\n", " eliteCosts = Gcost[:settings.eliteCount]\n", " # select breeding pool\n", " (P, Pcost) = select_pool( G, Gcost, settings )\n", " # Generate the children for generation g\n", " G = np.zeros((lam, lb.size));\n", " Gcost = np.zeros((lam,));\n", " G[:settings.eliteCount,:] = elites\n", " Gcost[:settings.eliteCount] = eliteCosts\n", " for i in range(settings.eliteCount,lam):\n", " (G[i,:], Gcost[i]) = generateChild(cost_fcn, P, lb, ub, settings); \n", " # sort the children of this generation\n", " idx = np.argsort(Gcost);\n", " Gcost = Gcost[idx]\n", " G = G[idx,:];\n", " print('Best of generation ', g+1, ' has cost ', Gcost[0]);\n", " all_params.append(G)\n", " all_costs.append(Gcost)\n", "\n", " params = G[0,:];\n", " cost = Gcost[0];\n", " return (params, cost, all_params, all_costs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Update code to include tournament selection\n", "\n", "Copy-paste your GASettings definition and add to it a field named tournamentSize. Give it a default value of 2." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "class GASettings:\n", " def __init__( self, numParents = 10, numChildren = 50 ):\n", " self.numParents = numParents;\n", " self.numChildren = numChildren;\n", " self.numGenerations = 5;\n", " self.selection = 'truncation'; \n", " self.mutation = 0.05; # std of normal distribution computed as mutation*value\n", " self.eliteCount = 1;\n", " self.tournamentSize = 2; # NEW SRT" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Copy-paste your select_pool below. Add to it support for tournament selection.\n", "\n", "In tournament selection, for each individual we want to add to the pool we choose settings.tournamentSize individuals at random from the entire previous generation. Then include the lowest cost individual in the pool. Since the individuals are sorted by cost, this is as simple as choosing the individual with the lowest index." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def select_pool( G, Gcost, settings ):\n", " \"\"\" Select a breding pool from the previous generation.\n", " G is numChildren x numParameters\n", " Gcost is numChildren long and is sorted in ascending order.\n", " Returns (P,Pcost)\n", " where \n", " P is numParents x numParameters\n", " Pcost is numParents long.\n", " \"\"\"\n", " if Gcost.size != settings.numChildren:\n", " print(\"problem\")\n", " return\n", " P = np.zeros( (settings.numParents,G.shape[1]) )\n", " Pcost = np.zeros( (settings.numParents,) )\n", " Pidxs = []\n", " if settings.selection == 'truncation':\n", " for i in range(settings.numParents):\n", " idx = np.random.choice(settings.numParents)\n", " P[i,:] = G[idx,:]\n", " Pcost[i] = Gcost[idx]\n", "\n", " elif settings.selection == 'uniform':\n", " for i in range(settings.numParents):\n", " idx = np.random.choice(G.shape[0])\n", " P[i,:] = G[idx,:]\n", " Pcost[i] = Gcost[idx]\n", "\n", " elif settings.selection == 'tournament':\n", " for i in range( settings.numParents ):\n", " idxs = np.random.choice(G.shape[0], (settings.tournamentSize,) )\n", " # pick the best one, which is smaller index (since costs sorted)\n", " idx = idxs.min()\n", " P[i,:] = G[idx,:]\n", " Pcost[i] = Gcost[idx]\n", " else:\n", " print( \"Unknown selection operator: \", settings.selection )\n", " return (P, Pcost)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Test the selection operators\n", "\n", "This includes code that demonstrates the distribution of costs in the pool for 4 selection operators: uniform (a useless operator), truncation, tournament with size 2, and tournament with size 5." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Frequency')" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfoAAAEWCAYAAACOk1WwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAiYElEQVR4nO3de5RkVXn38e+Pi1yEiMgEuekAYgwaRRyJiZhXJUYFI/rGKJpEdBExia7o0ryKmjeir0RyUYy5aFAI4B3vqCQK3tAkAoNBrjGOMgjDACOKgBcQeN4/zm48NH2p7uma7j7z/axVq0/tfeqcZ9c+1U+dfXZVpaqQJEnDtMViByBJksbHRC9J0oCZ6CVJGjATvSRJA2ailyRpwEz0kiQNmIles0qyNslvtuXXJnn3Ysc0qiRfSvKH83zsyiSVZKuFjmtTSvKAJLck2XKGdSrJgzZlXJrZuI6/UY6Hjdz+B5I8oy2/IMlXx7Gf3v7OS/LQce5juTPRLwMt0f6kvTh/kOQzSfZajFiq6i+ral6Jczbtn9qPWjvXJXnruP4Z9fb54CQfTvK9JD9MclGSV4x7v5tSVX23qnaoqjtgo9/8vLP1zy1Jbkvys979f13YyJe+JKckedMs6xye5MIkN7Xj7AtJ9t6EMd71Rh3ueTws8L4eDjwC+OQCbvPxSe7sHWe3JDmyt8rfAm9cqP0NkYl++fjtqtoB2A24Dvj76VZc5knqEa2dhwDPA140rh0l2Rc4F7gK+JWqug/wu8AqYMdx7Xc5q6o/akliB+AvgQ9N3K+qpy7EPpb7CEpfGyU5DXglcB9gb+AfgQVPskvEi4H31cJ/E9s1veNsh6o6tVd3BvCEJPdf4H0Ohol+mamqnwIfAfafKGtnFe9IcmaSH9Ed9Lsn+WiSDUmuSPKnvfW3SHJMkm8nuSHJ6Ul27tX/QZIrW93r+vtPcmyS97bliaHFI5N8t52tvK637nZJTm2jEJcneVWSq0ds538DXwEe1rb1oiRrknw/yRlJdu/t59eTnN/OyM9P8usjPp1vAP6jql5RVevbfr9ZVc+rqht76/3eNO3bJsnbklzTbm9Lsk2r2yXJp5Pc2GL+SpItWt1MfXNs64/Tktyc5NIkq6YKPskbkvx9W966jYb8Tbu/XZKfJtm5109bJTkOeBzwD+3M6B96m/zNJN9qMf9jkoz4PE7E8/QW743pRg1+uVd3t0sD/TPhdsZ2dZJXJ7kW+JfZnofe8XtzksuSPLNX94Ik/57khBbLd9ox8oIkVyW5Pr0zwtaPf9v6+Lp0oxbbTYrtle1x65O8sNUdDfwe8Kr2XH5qiqflAOCKqvp8dW6uqo9W1XfbNmZ8LU56fu+T5KQWw7okb0rvTX17jVzee04OTPIe4AHAp1qMr8qkSwLteDyjHadrkryot82Rj8fmqcCXp6tM8jdJvprkPjNsY07a/8QLgCcv1DYHp6q8LfEbsBb4zba8PXAqcFqv/hTgh8Bj6d68bU934P8FcC9gH+A7wJPb+i8DvgbsCWwD/DPwgVa3P3AL8But7q3A7b39Hwu8ty2vBAp4F7Ad3ZDdrcAvt/rj6V709237ugi4eoZ2FvCgXhzXAkcBTwS+BxzYYvp74Jy23s7AD4A/ALYCntvu36/Vfwn4w2n2dy3wwhnima19b2zP4y8CK4D/AP5fq3sz8E5g63Z7HJDWPzP1zbHAT4FDgS3bdr42TXxPBC5uy78OfBs4t1f3jUnt2Gq656TVfxrYiS4xbACeMstx2T8WHgz8CHhSa++rgDXAvSb3be+YfVNbfjzdMfZXrX+3m+15oBt52b09n89p+96t1b2gbe+F7bFvAr5Ldya9DfBbwM3ADm39E+jOCnemG8n5FPDmSbG9sbXrUODHwH0nt2Oa52if1o4TgCdM7LNXP9NrcXK/fbzV35vumDsPeHHv+VgHPJruOHsQ8MDJ/z+m2e45wD8B29K9MdkAPHEex+O923ZX9MpeAHy19dO7gM8C27e6g4EbZ7gd3OuD2+hGMq9oz+W9J+377cBbF/t/9VK9LXoA3kbopO6Feks7+H8GXEM31DxRfwp3T/y/Cnx30jZeA/xLW74cOKRXt1vb7lZ0CeiDvbp7txfZTIl+z9765wFHtOW7Eli7/4fMnuhvokvU36b7B70FcBLw1731dmjxrqRL8OdN2s5/Ai9oy19i+kT/M2ZIZiO079vAob26JwNr2/Ib6a5TPmjSNmfrm2OBs3t1+wM/mSa+7ej+Cd8POAZ4LXB1e37eALx9UjtmS/QH9+6fDhwzy3HZPxb+L3B6r24LusTz+N72Z0r0twHbTtr2SM9Dq78QOLwtvwD4Vq/uV9r+d+2V3UCX1EL3JmHfXt2v0Z2FT8T2k4nnrpVdDzxmcjtmiO0x7fnc0PrrFH7+JmOm1+Jd/QbsSvcmc7veus8FvtiWPwu8bIb/H1MmemAvussIO/bq3wycMo/jcY+23X4/voDu8tiHgI/S3vjN5Qbcv+13C7pLH+cA/zxpneOAk+e67c3lNphrYZuBZ1TV2W2o7nDgy0n2r6prW/1VvXUfCOye5MZe2ZZ0Q+ET9R9Pcmev/g66fya797dVVT9KcsMssV3bW/4xXaJh8rYmLU/nwKpa0y9IN0z/9V5Mt7SY9mj7uHLSNq5sdbO5ge4f62xmal9/31e2MoC/ofsn+bk2An5iVR3P7H0z1f62TbJVVd3eD6qqfpJkNfC/6EZgjqNLXo9tZdPO45jGdO0cxd2ei6q6M8lVjNYPABuqG4KdKZ67nockzwdeQZe0aLHu0lv/ut7yT1pMk8t2oBuJ2R64oHelInR9MuGGSc/9nJ6bqvoa8GyAJI+mS3qvo3uDN9Nrse+BdCMK63txbsHPX1N70b3xnKvdge9X1c29sivp5qlMGOl4pDsRgW5UpN+XD6IbDTuoqm6ba4Dtf9xEDFckeRXd6NOLe6vt2Nu/JvEa/TJTVXdU1cfo/hkc3K/qLV9Fd0ayU++2Y1Ud2qt/6qT6batqHbCe7p8GAEm2pztjnI/1dEOSE+b7SYFr6P7RTcR07xbTusl1zQNa3WzOBn5nnjHdI66232sAqrsW+8qq2gd4OvCKJIcwe9/M1ZfphukfCZzf7j8ZOIjuzGcqNU35xpjcR6Hr74l++DFdQp0weeLUyDEleSDdMPBL6S7R7ARcQpeg5+p7dEn/ob3+uE91kw1HMafnsqrOBz5Gm3vCzK/Fvqvozuh36a33C1X10F79vvOI8Rpg5yT9yaejvn7uvpOqH9G92XjwpKrL6S6j/GuSX5ooTPK43H0m/eTb42Zoz+Tc9cvAN+Ya8+bCRL/MpHM43XXvy6dZ7Tzg5ja5abskWyZ5WDubgO7a8XHtHyZJVrRtQjfR72lJDk5yL7oh6PkeJ6cDr0ly3yR70P1jno8PAC9MckC6yW5/SXctei1wJvDgJM9LN9nsOXTDfJ8eYbuvB369TRC6P3SzpJO8N8lOI8b15+3524XussfERMWntW2Fbv7EHcCdzN43c/Vl4PnAZe1s6Ut0l0iuqKoN0zzmOrprxwvpdOCwJIck2ZpulvmtdPMWoBtaf15r71PoRhzma+Ja8AaANjnuYTM+YhpVdSfdm4YTkvxi294eSUad2DXjc9leRy/qbfshdG/8vtZWmem12I9zPfA54C1JfiHdJL59k0w8j+8G/izJo9r/iAdNbHOmGKvqKro+enOSbdN9PO4o2nE8D2cyRd9W1QfoLi2dne7TLlTVV+ruM+kn377SnpMnJHlga9dedHN/7vr4XpJtgUcBZ80z5sEz0S8fn0pyC9017OOAI6vq0qlWrO7zsU+jzfilO2t5N93HewD+jm7y0eeS3Ez3T+dX22MvBV4CvJ/ujPwHdNd95+ON7bFX0J09f4Tun/+cVNXZdNeAP9pi2hc4otXdQNfWV9INxb8KeFpVfW+E7X6b7nrsSuDSJD9s+1hNN1lrNm9q614EXEx3eWHiM9X70bX5Fro5A/9UVV8coW/m6j/ortVPnL1fRjdsOt3ZPHT9/6x0n4Z4+zz3ezdV9U3g9+kuF3wP+G26j4RODNW+rJXdSDdT/RMbsa/LgLfQPa/X0V2D//f5bg94Nd3Ewa8luYmu335p5ofc5SRg/3Sz+z8xRf2NdIn94vb6/Te6SXV/3eqnfS1O4fl0Ezgvo3tdfoR26amqPkz3f+H9dMfuJ+gmF0J3zf3PW4x/NsV2n0v3Grimxfb69pqbjxPpPqVyj9GV6j4S90bgC0lWzmGbj6Q7zn/U/l4M/Gmv/reBL1XVNfOMefBSNY5RPOmekvwx3US2jTmbk7SEJXk/3cTMT2yi/Z0LHFVVl2yK/S1HJnqNTZLd6IYM/5PuDPczwD9U1dsWMy5J2pw4617jdC+6z/3uTTeE+UG6z+tKkjYRz+glSRowJ+NJkjRgy3rofpdddqmVK1cudhiSJG0yF1xwwfeqasWo6y/rRL9y5UpWr1692GFIkrTJJJn8baAzcuhekqQBM9FLkjRgJnpJkgbMRC9J0oCZ6CVJGjATvSRJA2ailyRpwEz0kiQNmIlekqQBW9bfjLfQVh7zmcUOYVZrjz9ssUOQJC0jntFLkjRgJnpJkgbMRC9J0oCZ6CVJGrCxJfok2yY5L8k3klya5A2tfO8k5yZZk+RDSe7Vyrdp99e0+pXjik2SpM3FOM/obwWeWFWPAA4AnpLkMcBfASdU1YOAHwBHtfWPAn7Qyk9o60mSpI0wtkRfnVva3a3brYAnAh9p5acCz2jLh7f7tPpDkmRc8UmStDkY6zX6JFsmuRC4HjgL+DZwY1Xd3la5GtijLe8BXAXQ6n8I3G+KbR6dZHWS1Rs2bBhn+JIkLXtjTfRVdUdVHQDsCRwEPGQBtnliVa2qqlUrVqzY2M1JkjRom2TWfVXdCHwR+DVgpyQT38i3J7CuLa8D9gJo9fcBbtgU8UmSNFTjnHW/IslObXk74EnA5XQJ/1lttSOBT7blM9p9Wv0XqqrGFZ8kSZuDcX7X/W7AqUm2pHtDcXpVfTrJZcAHk7wJ+C/gpLb+ScB7kqwBvg8cMcbYJEnaLIwt0VfVRcAjpyj/Dt31+snlPwV+d1zxSJK0OfKb8SRJGjATvSRJA2ailyRpwEz0kiQNmIlekqQBM9FLkjRgJnpJkgbMRC9J0oCZ6CVJGjATvSRJA2ailyRpwEz0kiQNmIlekqQBM9FLkjRgJnpJkgbMRC9J0oCZ6CVJGjATvSRJA2ailyRpwEz0kiQNmIlekqQBM9FLkjRgJnpJkgbMRC9J0oCNLdEn2SvJF5NcluTSJC9r5ccmWZfkwnY7tPeY1yRZk+SbSZ48rtgkSdpcbDXGbd8OvLKqvp5kR+CCJGe1uhOq6m/7KyfZHzgCeCiwO3B2kgdX1R1jjFGSpEEb2xl9Va2vqq+35ZuBy4E9ZnjI4cAHq+rWqroCWAMcNK74JEnaHGySa/RJVgKPBM5tRS9NclGSk5Pct5XtAVzVe9jVTPHGIMnRSVYnWb1hw4Zxhi1J0rI39kSfZAfgo8DLq+om4B3AvsABwHrgLXPZXlWdWFWrqmrVihUrFjpcSZIGZayJPsnWdEn+fVX1MYCquq6q7qiqO4F38fPh+XXAXr2H79nKJEnSPI1z1n2Ak4DLq+qtvfLdeqs9E7ikLZ8BHJFkmyR7A/sB540rPkmSNgfjnHX/WOAPgIuTXNjKXgs8N8kBQAFrgRcDVNWlSU4HLqObsf8SZ9xLkrRxxpboq+qrQKaoOnOGxxwHHDeumCRJ2tz4zXiSJA2YiV6SpAEz0UuSNGDjnIynMVh5zGcWO4RZrT3+sMUOQZLUeEYvSdKAmeglSRowE70kSQNmopckacBM9JIkDZiJXpKkATPRS5I0YCZ6SZIGzEQvSdKAmeglSRowE70kSQNmopckacBM9JIkDZiJXpKkATPRS5I0YCZ6SZIGzEQvSdKAmeglSRowE70kSQNmopckacDGluiT7JXki0kuS3Jpkpe18p2TnJXkW+3vfVt5krw9yZokFyU5cFyxSZK0uRjnGf3twCuran/gMcBLkuwPHAN8vqr2Az7f7gM8Fdiv3Y4G3jHG2CRJ2iyMLdFX1fqq+npbvhm4HNgDOBw4ta12KvCMtnw4cFp1vgbslGS3ccUnSdLmYJNco0+yEngkcC6wa1Wtb1XXAru25T2Aq3oPu7qVTd7W0UlWJ1m9YcOG8QUtSdIAjJTok/zKfHeQZAfgo8DLq+qmfl1VFVBz2V5VnVhVq6pq1YoVK+YbliRJm4VRz+j/Kcl5Sf4kyX1G3XiSremS/Puq6mOt+LqJIfn29/pWvg7Yq/fwPVuZJEmap5ESfVU9Dvg9ukR8QZL3J3nSTI9JEuAk4PKqemuv6gzgyLZ8JPDJXvnz2+z7xwA/7A3xS5Kkedhq1BWr6ltJ/hxYDbwdeGRL5q/tna33PRb4A+DiJBe2stcCxwOnJzkKuBJ4dqs7EzgUWAP8GHjh3JsjSZL6Rkr0SR5Ol3gPA84Cfruqvp5kd+A/gXsk+qr6KpBpNnnIFOsX8JIR45YkSSMY9Yz+74F30529/2SisKquaWf5kiRpCRo10R8G/KSq7gBIsgWwbVX9uKreM7boJEnSRhl11v3ZwHa9+9u3MkmStISNmui3rapbJu605e3HE5IkSVoooyb6H/V/ZCbJo4CfzLC+JElaAka9Rv9y4MNJrqGbSX9/4DnjCkqSJC2MkRJ9VZ2f5CHAL7Wib1bVz8YXliRJWggjf2EO8GhgZXvMgUmoqtPGEpUkSVoQo35hznuAfYELgTtacQEmet3DymM+s9ghzGjt8YctdgiStMmMeka/Cti/fXudJElaJkaddX8J3QQ8SZK0jIx6Rr8LcFmS84BbJwqr6uljiUqSJC2IURP9seMMQpIkjceoH6/7cpIHAvtV1dlJtge2HG9okiRpY410jT7Ji4CPAP/civYAPjGmmCRJ0gIZdTLeS4DHAjcBVNW3gF8cV1CSJGlhjJrob62q2ybuJNmK7nP0kiRpCRs10X85yWuB7ZI8Cfgw8KnxhSVJkhbCqIn+GGADcDHwYuBM4M/HFZQkSVoYo866vxN4V7tJkqRlYtTvur+CKa7JV9U+Cx6RJElaMHP5rvsJ2wK/C+y88OFIkqSFNNI1+qq6oXdbV1VvA/wJMEmSlrhRh+4P7N3dgu4Mfy6/ZS9JkhbBqMn6Lb3l24G1wLNnekCSk4GnAddX1cNa2bHAi+hm8AO8tqrObHWvAY6i+737P62qz44YmyRJmsaos+6fMI9tnwL8A3DapPITqupv+wVJ9geOAB4K7A6cneTBVXXHPPYrSZKaUYfuXzFTfVW9dYqyc5KsHDGOw4EPVtWtwBVJ1gAHAf854uMlSdIURv3CnFXAH9P9mM0ewB8BBwI7tttcvDTJRUlOTnLfVrYHcFVvnatb2T0kOTrJ6iSrN2zYMNUqkiSpGTXR7wkcWFWvrKpXAo8CHlBVb6iqN8xhf+8A9gUOANZz92v/I6mqE6tqVVWtWrFixVwfLknSZmXURL8rcFvv/m2tbE6q6rqquqP3TXsHtap1wF69VfdsZZIkaSOMOuv+NOC8JB9v958BnDrXnSXZrarWt7vPBC5py2cA70/yVrrJePsB5811+5Ik6e5GnXV/XJJ/BR7Xil5YVf8102OSfAB4PLBLkquB1wOPT3IA3dfprqX7gRyq6tIkpwOX0X187yXOuJckaePN5Utvtgduqqp/SbIiyd5VdcV0K1fVc6coPmmG9Y8DjptDPJIkaRYjXaNP8nrg1cBrWtHWwHvHFZQkSVoYo07GeybwdOBHAFV1DXP/WJ0kSdrERk30t1VV0X6qNsm9xxeSJElaKKMm+tOT/DOwU5IXAWfTfTxOkiQtYbNOxksS4EPAQ4CbgF8C/qKqzhpzbJIkaSPNmuirqpKcWVW/ApjcJUlaRkYduv96kkePNRJJkrTgRv0c/a8Cv59kLd3M+9Cd7D98XIFJkqSNN2OiT/KAqvou8ORNFI8kSVpAs53Rf4LuV+uuTPLRqvqdTRCTJElaILNdo09veZ9xBiJJkhbebIm+plmWJEnLwGxD949IchPdmf12bRl+PhnvF8YanSRJ2igzJvqq2nJTBSJJkhbeqJ+jlyRJy5CJXpKkATPRS5I0YCZ6SZIGbNSvwJUGY+Uxn1nsEGa19vjDFjsESQPhGb0kSQNmopckacBM9JIkDZiJXpKkATPRS5I0YGNL9ElOTnJ9kkt6ZTsnOSvJt9rf+7byJHl7kjVJLkpy4LjikiRpczLOM/pTgKdMKjsG+HxV7Qd8vt0HeCqwX7sdDbxjjHFJkrTZGFuir6pzgO9PKj4cOLUtnwo8o1d+WnW+BuyUZLdxxSZJ0uZiU1+j37Wq1rfla4Fd2/IewFW99a5uZfeQ5Ogkq5Os3rBhw/gilSRpABZtMl5VFVDzeNyJVbWqqlatWLFiDJFJkjQcmzrRXzcxJN/+Xt/K1wF79dbbs5VJkqSNsKkT/RnAkW35SOCTvfLnt9n3jwF+2BvilyRJ8zS2H7VJ8gHg8cAuSa4GXg8cD5ye5CjgSuDZbfUzgUOBNcCPgReOKy5JkjYnY0v0VfXcaaoOmWLdAl4yrlgkSdpc+c14kiQNmIlekqQBM9FLkjRgJnpJkgbMRC9J0oCZ6CVJGjATvSRJA2ailyRpwEz0kiQNmIlekqQBG9tX4Eqav5XHfGaxQ5jR2uMPW+wQJI3IM3pJkgbMRC9J0oCZ6CVJGjATvSRJA2ailyRpwEz0kiQNmIlekqQBM9FLkjRgJnpJkgbMRC9J0oCZ6CVJGjATvSRJA2ailyRpwBbl1+uSrAVuBu4Abq+qVUl2Bj4ErATWAs+uqh8sRnySJA3FYp7RP6GqDqiqVe3+McDnq2o/4PPtviRJ2ghLaej+cODUtnwq8IzFC0WSpGFYrERfwOeSXJDk6Fa2a1Wtb8vXArsuTmiSJA3HolyjBw6uqnVJfhE4K8l/9yurqpLUVA9sbwyOBnjAAx4w/kglSVrGFuWMvqrWtb/XAx8HDgKuS7IbQPt7/TSPPbGqVlXVqhUrVmyqkCVJWpY2eaJPcu8kO04sA78FXAKcARzZVjsS+OSmjk2SpKFZjKH7XYGPJ5nY//ur6t+SnA+cnuQo4Erg2YsQmyRJg7LJE31VfQd4xBTlNwCHbOp4JEkasqX08TpJkrTATPSSJA2YiV6SpAFbrM/RS1rGVh7zmcUOYVZrjz9ssUOQlgTP6CVJGjATvSRJA2ailyRpwEz0kiQNmIlekqQBc9a9pEHykwFSxzN6SZIGzEQvSdKAmeglSRowE70kSQNmopckacBM9JIkDZiJXpKkATPRS5I0YCZ6SZIGzEQvSdKAmeglSRowE70kSQNmopckacD89TpJWiRL/Rf2/HW9YTDRS5KmtNTfiIBvRkax5BJ9kqcAfwdsCby7qo5f5JAkSUvUUn8zshTeiCypa/RJtgT+EXgqsD/w3CT7L25UkiQtX0sq0QMHAWuq6jtVdRvwQeDwRY5JkqRla6kN3e8BXNW7fzXwq/0VkhwNHN3u3pLkmwu4/12A7y3g9pYC27Q82KblYWhtGlp7YIm1KX+1IJuZ3KYHzuXBSy3Rz6qqTgROHMe2k6yuqlXj2PZisU3Lg21aHobWpqG1B2zTVJba0P06YK/e/T1bmSRJmoellujPB/ZLsneSewFHAGcsckySJC1bS2rovqpuT/JS4LN0H687uaou3YQhjOWSwCKzTcuDbVoehtamobUHbNM9pKoWKhBJkrTELLWhe0mStIBM9JIkDZiJvknylCTfTLImyTGLHc98JVmb5OIkFyZZ3cp2TnJWkm+1v/dd7DhnkuTkJNcnuaRXNmUb0nl767eLkhy4eJFPb5o2HZtkXeurC5Mc2qt7TWvTN5M8eXGinl6SvZJ8McllSS5N8rJWvmz7aYY2Led+2jbJeUm+0dr0hla+d5JzW+wfapOfSbJNu7+m1a9c1AZMYYY2nZLkil4/HdDKl/yxB903wyb5rySfbvcXro+qarO/0U38+zawD3Av4BvA/osd1zzbshbYZVLZXwPHtOVjgL9a7DhnacNvAAcCl8zWBuBQ4F+BAI8Bzl3s+OfQpmOBP5ti3f3bMbgNsHc7Nrdc7DZMinE34MC2vCPwPy3uZdtPM7RpOfdTgB3a8tbAue35Px04opW/E/jjtvwnwDvb8hHAhxa7DXNo0ynAs6ZYf8kfey3OVwDvBz7d7i9YH3lG3xn6V+8eDpzalk8FnrF4ocyuqs4Bvj+peLo2HA6cVp2vATsl2W2TBDoH07RpOocDH6yqW6vqCmAN3TG6ZFTV+qr6elu+Gbic7pstl20/zdCm6SyHfqqquqXd3brdCngi8JFWPrmfJvrvI8AhSbJpoh3NDG2azpI/9pLsCRwGvLvdDwvYRyb6zlRfvTvTC3wpK+BzSS5I93XBALtW1fq2fC2w6+KEtlGma8Ny77uXtuHEk3uXVJZVm9rQ4SPpzqwG0U+T2gTLuJ/akPCFwPXAWXQjDzdW1e1tlX7cd7Wp1f8QuN8mDXgEk9tUVRP9dFzrpxOSbNPKlkM/vQ14FXBnu38/FrCPTPTDc3BVHUj3C4AvSfIb/crqxnuW9Wcqh9CG5h3AvsABwHrgLYsazTwk2QH4KPDyqrqpX7dc+2mKNi3rfqqqO6rqALpvGj0IeMjiRrTxJrcpycOA19C17dHAzsCrFy/C0SV5GnB9VV0wrn2Y6DuD+erdqlrX/l4PfJzuhX3dxFBV+3v94kU4b9O1Ydn2XVVd1/5h3Qm8i58P+y6LNiXZmi4hvq+qPtaKl3U/TdWm5d5PE6rqRuCLwK/RDV9PfGFaP+672tTq7wPcsGkjHV2vTU9pl16qqm4F/oXl00+PBZ6eZC3dZeMnAn/HAvaRib4ziK/eTXLvJDtOLAO/BVxC15Yj22pHAp9cnAg3ynRtOAN4fptZ+xjgh72h4yVt0nXCZ9L1FXRtOqLNrt0b2A84b1PHN5N2TfAk4PKqemuvatn203RtWub9tCLJTm15O+BJdHMPvgg8q602uZ8m+u9ZwBfayMySMU2b/rv3BjN017P7/bRkj72qek1V7VlVK+lyzxeq6vdYyD4a90zC5XKjm5n5P3TXr1632PHMsw370M0C/gZw6UQ76K7ffB74FnA2sPNixzpLOz5AN0T6M7prU0dN1wa6mbT/2PrtYmDVYsc/hza9p8V8UXvx7tZb/3WtTd8EnrrY8U/RnoPphuUvAi5st0OXcz/N0Kbl3E8PB/6rxX4J8BetfB+6NyVrgA8D27Tybdv9Na1+n8Vuwxza9IXWT5cA7+XnM/OX/LHXa9vj+fms+wXrI78CV5KkAXPoXpKkATPRS5I0YCZ6SZIGzEQvSdKAmeglSRowE72ku0ly/yQfTPLt9lXKZyZ58By38dpxxSdpbvx4naS7tC8b+Q/g1Kp6Zyt7BPALVfWVOWznlqraYUxhSpoDz+gl9T0B+NlEkgeoqm8AX03yN0kuSXJxkudA961xSc5pv/99SZLHJTke2K6VvW+R2iGp2Wr2VSRtRh4GTPXjGv+b7kddHgHsApyf5BzgecBnq+q4JFsC21fVV5K8tLofHZG0yEz0kkZxMPCBqrqD7odrvkz3K2HnAye3H4P5RFVduIgxSpqCQ/eS+i4FHjXqylV1DvAbdL+odUqS548rMEnzY6KX1PcFYJskR08UJHk4cCPwnCRbJllBl9zPS/JA4LqqehfwbuDA9rCftbN8SYvMoXtJd6mqSvJM4G1JXg38FFgLvBzYge6XEQt4VVVdm+RI4P8k+RlwCzBxRn8icFGSr1f3k5uSFokfr5MkacAcupckacBM9JIkDZiJXpKkATPRS5I0YCZ6SZIGzEQvSdKAmeglSRqw/w9mzVfMtf19cgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Test the selection operators\n", "# Make fake parameters, using the index as the values (so we can differentiate them)\n", "lam = 10000 # number of individuals in generation\n", "mu = 1000 # number of individuals in breeding pool\n", "NP = 5 # num of parameters per individual\n", "G = np.zeros( (lam,NP) )\n", "for i in range(lam):\n", " G[i,:] = i\n", "Gcost = np.linspace(0.1,500,lam)\n", "settings = GASettings(numParents=mu, numChildren=lam)\n", "\n", "settings.selection = 'uniform'\n", "(P, Pcost) = select_pool(G, Gcost, settings)\n", "plt.figure( figsize=(8,4) )\n", "plt.hist( Pcost );\n", "plt.title( \"Breeding Pool Chosen Uniformly\")\n", "plt.xlabel( 'Cost')\n", "plt.ylabel('Frequency')\n", "\n", "settings.selection = 'truncation'\n", "(P, Pcost) = select_pool(G, Gcost, settings)\n", "plt.figure( figsize=(8,4) )\n", "plt.hist( Pcost );\n", "plt.title( \"Breeding Pool Chosen with Truncation Selection\")\n", "plt.xlabel( 'Cost')\n", "plt.ylabel('Frequency')\n", "\n", "settings.selection = 'tournament'\n", "settings.tournamentSize = 2\n", "(P, Pcost) = select_pool(G, Gcost, settings)\n", "plt.figure( figsize=(8,4) )\n", "plt.hist( Pcost );\n", "plt.title( \"Breeding Pool Chosen with Tournament Selection (k=2)\")\n", "plt.xlabel( 'Cost')\n", "plt.ylabel('Frequency')\n", "\n", "settings.selection = 'tournament'\n", "settings.tournamentSize = 5\n", "(P, Pcost) = select_pool(G, Gcost, settings)\n", "plt.figure( figsize=(8,4) )\n", "plt.hist( Pcost );\n", "plt.title( \"Breeding Pool Chosen with Tournament Selection (k=5)\")\n", "plt.xlabel( 'Cost')\n", "plt.ylabel('Frequency')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Test the GA on the pattern cost function\n", "\n", "Test it with the pattern cost function. Plot the costs for all individuals in all the generations." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best of generation 1 has cost 1.4625628422855141\n", "Best of generation 2 has cost 1.4625628422855141\n", "Best of generation 3 has cost 1.4625628422855141\n", "Best of generation 4 has cost 1.4625628422855141\n", "Best of generation 5 has cost 1.4625628422855141\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def pattern_cost_function( params ):\n", " return scipy.linalg.norm( params-np.array([1,5,2.5,2,4,3,0]) )\n", "\n", "\n", "PN = 7\n", "lb = np.zeros( (PN,) );\n", "ub = 5 + np.zeros( (PN,) );\n", "cost_fcn = pattern_cost_function;\n", "settings = GASettings(numParents=10, numChildren=50)\n", "settings.numGenerations = 5;\n", "settings.eliteCount = 1;\n", "settings.selection = 'tournament';\n", "\n", "(params, cost, all_params, all_costs) = GA(pattern_cost_function, lb, ub, settings);\n", "\n", "plt.figure( figsize=(8,4) )\n", "legs = []\n", "for i in range(len(all_costs)):\n", " plt.plot( np.arange(all_costs[i].size), all_costs[i], '*' )\n", " legs.append( \"Generation\" + str(i) )\n", "plt.legend( legs );" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implement a cost function for the Goodwin oscillator" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "def goodwin_oscillator( t, statevars, params ):\n", " X = statevars[0];\n", " Y = statevars[1];\n", " Z = statevars[2];\n", " alpha_1 = params[0]\n", " K = params[1]\n", " n = params[2]\n", " gamma_1 = params[3]\n", " alpha_2 = params[4]\n", " gamma_2 = params[5]\n", " alpha_3 = params[6]\n", " gamma_3 = params[7]\n", " \n", " dydt = np.zeros( (3,) )\n", " dydt[0] = alpha_1*K**n/(K**n+Z**n) - gamma_1*X\n", " dydt[1] = alpha_2*X - gamma_2*Y;\n", " dydt[2] = alpha_3*Y - gamma_3*Z;\n", "\n", " return dydt\n", "\n", "def get_period(t,x):\n", " \"\"\" Approximate the period of a 1-D x, given the time-steps t.\n", " Returns a tuple with the period and the standard deviation of the period over time.\n", " if the value of the standard deviation is not smaller than 0.1, then\n", " it means the period estimate is dodgy and you shouldn't use it. Instead,\n", " plot your simulation and figure out why it isn't periodic - maybe it just\n", " hasn't reached the limit cycle yet.\"\"\"\n", " idxs = scipy.signal.find_peaks(x)\n", " idxs = idxs[0]\n", " times = t[idxs]\n", " period = np.mean(np.diff(times));\n", " sdperiod = np.sqrt(np.var(np.diff(times)));\n", " return (period,sdperiod)\n", "\n", "def goodwin_circadian_error( params, debug=False ):\n", " mf = lambda t,y : goodwin_oscillator(t,y, params)\n", "\n", " sol1 = scipy.integrate.solve_ivp( fun=mf, t_span=(0,500), y0=(.1,.1,.1) )\n", " sol2 = scipy.integrate.solve_ivp( fun=mf, t_span=(0,100), y0=sol1.y[:,-1], \n", " t_eval=np.arange(0,100,.01) )\n", " # Compute the period of the first state. It is a scalar.\n", " (period,sdper) = get_period( sol2.t, sol2.y[0,:] )\n", " # compute the peak-to-trough amp for each state\n", " # by computing the min and max over time and subtracting.\n", " # amps will be an ndarray of length 3.\n", " amps = sol2.y.max(axis=1)-sol2.y.min(axis=1)\n", " # an amplitude larger than 0.1 is going to have low cost\n", " # scale the amplitudes and then compute the exponential for\n", " # each amp. Since log(0.001)<0, the curve will be decreasing\n", " # as the amplitude is increasing. \n", " # amp_errvals will be an ndarray of length 3.\n", " rate = np.log(0.001)/0.1;\n", " amp_errvals = np.exp(np.multiply(rate,amps));\n", " # The amplitude cost is the sum of the 3 amplitude error values.\n", " acost = amp_errvals.sum()\n", " # amplitude should not be shrinking or growing\n", " # compute the 3 amplitudes for the first half of the simulation\n", " # and then for the second\n", " half = sol2.y.shape[1]//2\n", " amps1 = sol2.y[:,:half].max(axis=1)-sol2.y[:,:half].min(axis=1)\n", " amps2 = sol2.y[:,half:].max(axis=1)-sol2.y[:,half:].min(axis=1)\n", " if debug:\n", " print( amps1 )\n", " print(amps2)\n", " # sum the amplitudes and take their difference. Then multiply\n", " # the difference by 100 (to amplify it) and square the result.\n", " bcost = (100*(amps1.sum()-amps2.sum()))**2\n", " if debug:\n", " print((period-24)**2, acost, bcost, amps1.sum(), amps2.sum() )\n", "\n", " # The total cost is the squared difference between the period and 24 hours \n", " # plue the two amplitude costs. We weight the acost with 5 because it values\n", " # tend to be small.\n", " return (period-24)**2 + 5*acost + bcost" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run the GA for the Goodwin Oscillator\n", "\n", "Run the GA once for a given selection operator. Then plot the costs for each generation.\n", "\n", "With 50 parents and 250 kids per generation, this takes Stephanie about 1 minute to run." ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best of generation 1 has cost 2.063118673336476\n", "Best of generation 2 has cost 1.2930071341997662\n", "Best of generation 3 has cost 0.23944766825335567\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ ":15: RuntimeWarning: invalid value encountered in double_scalars\n", " dydt[0] = alpha_1*K**n/(K**n+Z**n) - gamma_1*X\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Best of generation 4 has cost 0.23944766825335567\n", "Best of generation 5 has cost 0.13037789093802268\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# For reference, here is a set of working parameters.\n", "# I am going to construct the lower and upper bounds of parameter\n", "# space so that they capture these values.\n", "# alpha_1 = 1\n", "# K = 0.61\n", "# n = 11\n", "# gamma_1 = 0.15\n", "# alpha_2 = 1\n", "# gamma_2 = 0.15\n", "# alpha_3 = 1\n", "# gamma_3 = 0.25\n", "\n", "param_names = ['alpha_1','K','n','gamma_1','alpha_2','gamma_2','alpha _3','gamma_3']\n", "lb = np.array([0.001,0.001,4,0.001,0.05,0.001,0.05,0.001])\n", "ub = np.array( [2,2,15,1,2,1,2,1])\n", "\n", "# We will use more parents and children than with the toy problem.\n", "settings = GASettings(numParents=50, numChildren=250)\n", "settings.numGenerations = 5;\n", "settings.eliteCount = 1;\n", "settings.selection = 'tournament';\n", "settings.tournamentSize = 2;\n", "\n", "# Run algorithm\n", "(params, cost, all_params, all_costs) = GA(goodwin_circadian_error, lb, ub, settings);\n", "\n", "# Plot costs\n", "legs = []\n", "for i in range(len(all_costs)):\n", " plt.plot( np.arange(all_costs[i].size), all_costs[i], '*' )\n", " legs.append( \"Generation\" + str(i) )\n", "\n", "plt.legend( legs ); " ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Re-Plot costs using a log-scale for the y axis.\n", "# This allows us to see the differences a little bit better.\n", "legs = []\n", "for i in range(len(all_costs)):\n", " plt.semilogy( np.arange(all_costs[i].size), all_costs[i], '*' )\n", " legs.append( \"Generation\" + str(i) )\n", "plt.legend( legs ); " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example analysis of GA with Goodwin Oscillator\n", "\n", "Run the GA for tournaments of size 2 and 5. Run the algorithm 5 times, saving the results in .npz files, because this will take awhile.\n", "\n", "Subsequent cells read in the files and plot the results." ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "# For reference, here is a set of working parameters.\n", "# I am going to construct the lower and upper bounds of parameter\n", "# space so that they capture these values.\n", "# alpha_1 = 1\n", "# K = 0.61\n", "# n = 11\n", "# gamma_1 = 0.15\n", "# alpha_2 = 1\n", "# gamma_2 = 0.15\n", "# alpha_3 = 1\n", "# gamma_3 = 0.25\n", "\n", "param_names = ['alpha_1','K','n','gamma_1','alpha_2','gamma_2','alpha _3','gamma_3']\n", "lb = np.array([0.001,0.001,4,0.001,0.05,0.001,0.05,0.001])\n", "ub = np.array( [2,2,15,1,2,1,2,1])\n", "\n", "# We will use more parents and children than with the toy problem.\n", "settings = GASettings(numParents=100, numChildren=500)\n", "settings.numGenerations = 5;\n", "settings.eliteCount = 1;\n", "settings.selection = 'tournament';\n", "settings.tournamentSize = 5;\n", "\n", "for runNum in range(1,6):\n", " fn = \"Goodwin_tournament%d_run%d.npz\" % (settings.tournamentSize,runNum)\n", " if os.path.isfile( fn ):\n", " continue\n", "\n", " (params, cost, all_params, all_costs) = GA(goodwin_circadian_error, lb, ub, settings);\n", " np.savez( fn, params=params, cost=cost, all_params=all_params, all_costs=all_costs )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot the costs for each generation for all 5 runs of a GA\n", "\n", "For a given tournament size, read in the files with GA results and plot the costs for each generation in a subplot." ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAJDCAYAAAAGkG70AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAADGM0lEQVR4nOzdeXxTVfrH8c+TpEmh7FAE2YoooKxCBdefiDI47hvugKMziIMo7jo4Djg6KqMzKDqgI464oqICKuqgyIw6IosCsokoRUGEspUWaNIk5/fHvWnTNmnTNk3S9nm/Xn1xc5LcPG3KzbfnnHuPGGNQSimllKpPHMkuQCmllFIq3jTgKKWUUqre0YCjlFJKqXpHA45SSiml6h0NOEoppZSqdzTgKKWUUqrecSW7gFSwYsWKti6X61mgNxr6kiEIrPH7/b8dOHDgzmQXo5RSqu7TgAO4XK5n27Vrd3RmZuZeh8OhFwZKsGAwKLm5ucf88ssvzwLnJbsepZRSdZ/2Vlh6Z2Zm7tdwkxwOh8NkZmbmYfWgKaWUUjWmAcfi0HCTXPbPX38flVJKxYV+oKSIn376yXXuued27dixY59evXod3b9//54vvPBCi2TU8u677zZduHBhRuj2lClTMp988snW1d3fPffc065z5869s7Kyer/55pvN4lOlUkopFZ0GnGratvdQ2rnTPuvx875DNZ7HFAwGOffcc4885ZRTCrZu3frN2rVr17/++us//PTTT+541BpJUVFR1PsWLVrU9NNPP20Sun3nnXfm3njjjbur8zorVqxIf+utt1p9++23az/44IONEyZM6Oz3+6uzK6WUUipmGnCq6a8fbmi/ZltekykfbDi8pvt65513mqalpZk777wzN9TWvXt338SJE3f6/X6uv/76jr179z66e/fux/z1r39tA1Yvy6BBg3qceeaZR3Tt2rXXeeed1zUYDALw6aefNj7uuON69OrV6+iTTz75qC1btqQBDBo0qMe1117bqXfv3kc/8MADh73yyivN+/bt2/Poo48+5sQTT+z+008/ub799lv3Cy+8kDljxozDevbsecwHH3zQ5NZbbz38vvvuOwzgf//7X6N+/fr17N69+zHDhg3rlpub6wzt+4YbbujQp0+fo7Oysnp/8MEHTQDmzJnT4qKLLtrTqFEj07NnT1+XLl28ixcvzkAppZSqRRpwquioiQsGZN393sC5K3/ONMDclT9nZt393sCjJi4YUN19fvPNN4369u17MNJ9U6dObdO8efPAmjVr1q9atWr9rFmzMjds2OAGWL9+faOnnnrqp02bNq398ccfPQsXLmzi9Xrlpptu6jxv3rzv165du3706NG7br/99g6h/fl8PlmzZs36yZMn7xg2bFjBypUrN6xfv37dJZdcsuf+++9v16NHD9+oUaNyx44du2PDhg3rzjzzzILweq655pquf/nLX7Zu3LhxXa9evQ7dddddxQHP7/fLN998s/6RRx756f777z8cYNu2be5OnTr5Qo85/PDDfbXZM6WUUkqBniZeZYtvP+2bP81f0/HT73a18PqDDo/LETzlqMx995/f66d4vcbIkSM7L126tElaWprp2LGjd8OGDY3nz5/fEiA/P9+5bt26dLfbbfr06XOgW7duRQC9evU6+P3337tbtWrl/+677xoNHTq0O1jDX5mZmcXjUVdcccWe0PbmzZvdF1xwQcfc3Nw0n8/n6NSpk7eiunbv3u3Mz893nn322QUAv/vd73aPGDHiiND9I0aM2Atw4oknHrjjjjs0xCillEoaDThV1KFlo6IMjyvg8wcdbqfD+PxBRxOPM3B4i0bVnljSp0+fQ/PmzWsZuv3iiy/+uH37dld2dvbRHTp08D322GM/XnzxxfvDn/Puu+829Xg8xWd+OZ1O/H6/GGPkyCOPPLRy5coNkV6radOmwdD2jTfe2Pnmm2/+5aqrrsp79913m4Z6XaorPT3dALhcLgKBgAB06NChVI/Nzz//XKpHRymllKoNOkRVDbsP+NIuOLZD7uzrj19/wbEdcncd8KXVZH/nnntuvtfrlUceeSQz1FZQUOAAGDZsWN706dMzvV6vAKxevdqzf//+qO9b3759C/fs2eP66KOPMgC8Xq8sX748PdJj8/PznZ07dy4CeP7554vPkmratGkgPz/fWfbxrVu3DjRr1iwQml8zc+bM1ieccEJB2ceFu/jii/e99dZbrQ4dOiQbNmxw5+TkpA8ZMuRARc9RSimlakp7cKrhpesGfx/aHtC55Y813Z/D4eCdd975fty4cZ2eeOKJdq1atfI3btw4MGnSpK3XXnvt3pycHE+fPn2ONsZIq1atihYsWPB9tH2lp6eb2bNnf3/TTTd1zs/PdwYCAbnhhht2ZGdnF5Z97MSJE3++4oorujVv3tx/8skn5//4448esELJJZdc0u39999vMXXq1FLf37/+9a/NN9xwQ5ebbrrJ0blzZ++rr76aU9H3lp2dXXjBBRfs6d69ey+n08nf/va3LS6X/toppZSqXWKMXt9u1apVOf369duV7DoaulWrVrXp169fVrLrUEopVffpEJVSSiml6h0NOEoppZSqdzTgKKWUUqre0YCjlFJKqXpHA45SSiml6h0NOEoppZSqdzTgpIiffvrJde6553bt2LFjn169eh3dv3//ni+88EKLZNTy7rvvNl24cGHxgphTpkzJfPLJJ1tX9JxofvnlF+fgwYO7N27c+NhRo0Z1jl+VSimlVHR6xbXq2vdTGq+PPILLXvqe5h2rvUwDWOtFnXvuuUdeeeWVu995553NABs3bnS/8cYbLeJSawRFRUWkpUW+APOiRYuaNmnSJDBs2LADAOGrnFdV48aNzf333//zqlWrGq1Zs6ZRdfejlFJKVYX24FTXovvb8/PKJnw8uUbrNwG88847TdPS0kx4kOjevbtv4sSJO/1+P9dff33H3r17H929e/dj/vrXv7YBq5dl0KBBPc4888wjunbt2uu8887rGgxay0x9+umnjY877rgevXr1Ovrkk08+asuWLWkAgwYN6nHttdd26t2799EPPPDAYa+88krzvn379jz66KOPOfHEE7v/9NNPrm+//db9wgsvZM6YMeOwnj17HvPBBx80ufXWWw+/7777DgP43//+16hfv349u3fvfsywYcO65ebmOkP7vuGGGzr06dPn6KysrN6h5RyaNWsWHD58eEF6enoQpZRSKkE04FTVnzMHMKn5QFa/ngkGVr+eyaTmA/lz5oDq7vKbb75p1Ldv34OR7ps6dWqb5s2bB9asWbN+1apV62fNmpW5YcMGN8D69esbPfXUUz9t2rRp7Y8//uhZuHBhE6/XKzfddFPnefPmfb927dr1o0eP3nX77bd3CO3P5/PJmjVr1k+ePHnHsGHDClauXLlh/fr16y655JI9999/f7sePXr4Ro0alTt27NgdGzZsWHfmmWeWWmvqmmuu6fqXv/xl68aNG9f16tXr0F133VUc8Px+v3zzzTfrH3nkkZ9qunCnUkopVRM6RFVV47/6hgV3dOT7RS0IeB04PUGOPH0fZ/31p3i9xMiRIzsvXbq0SVpamunYsaN3w4YNjefPn98SrAUy161bl+52u02fPn0OdOvWrQigV69eB7///nt3q1at/N99912joUOHdgdr+CszM7MotO8rrrhiT2h78+bN7gsuuKBjbm5ums/nc3Tq1MlbUV27d+925ufnO88+++wCgN/97ne7R4wYcUTo/hEjRuwFOPHEEw/ccccd7mj7UUoppWqbBpyqatGpCE+TAAGfA6fbEPA58DQJ1GQeTp8+fQ7NmzevZej2iy+++OP27dtd2dnZR3fo0MH32GOP/XjxxRfvD3/Ou+++29Tj8RQvJOZ0OvH7/WKMkSOPPPLQypUrN0R6raZNmxYPFd14442db7755l+uuuqqvHfffbdpTXtd0tPTDYDL5SIQCEhN9qWUUkrVhA5RVceBXWn0vTSXa95bT99LcynIjTxbN0bnnntuvtfrlUceeSQz1FZQUOAAGDZsWN706dMzvV6vAKxevdqzf//+qO9b3759C/fs2eP66KOPMgC8Xq8sX748PdJj8/PznZ07dy4CeP7554vPkmratGkgPz/fWfbxrVu3DjRr1iwQml8zc+bM1ieccEJB2ccppZRSyaY9ONUxau73xdudBv1Y0905HA7eeeed78eNG9fpiSeeaNeqVSt/48aNA5MmTdp67bXX7s3JyfH06dPnaGOMtGrVqmjBggXfR9tXenq6mT179vc33XRT5/z8fGcgEJAbbrhhR3Z2dmHZx06cOPHnK664olvz5s39J598cv6PP/7oAbj44ov3XXLJJd3ef//9FlOnTi31/f3rX//afMMNN3S56aabHJ07d/a++uqrOZV9fx06dOhTUFDgLCoqkg8//LDFggULNg4cOLBcPUoppVS8iDGm8kfVc6tWrcrp16/frmTX0dCtWrWqTb9+/bKSXYdSSqm6T4eolFJKKVXvaMBRSimlVL2jAUcppZRS9Y4GHKWUUkrVOxpwlFJKKVXvNLjTxNu0aWOysrJKtU2ZMoV169Z1SU5FKmT37t1kZ2fraX11nD/oZ2vBVjo26YjLUfkhZsWKFbuMMZmVPjAFRDp+KKXiqyrHkIqOHw0u4GRlZbF8+fJSbevXr+foo49OUkWWHTt2cMstt7BkyRJatmyJ2+3mzjvv5MILL0x4LYsXL8btdnPiiScCMGPGDBo3bsyoUaOqvK+FCxdy99134/P5cLvd/PWvf2Xo0KER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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "tournamentSize = 5\n", "\n", "plt.figure( figsize=(8,8) )\n", "for runNum in range(1,6):\n", " plt.subplot( 5, 2, (runNum-1)*2+1 )\n", " fn = \"Goodwin_tournament%d_run%d.npz\" %(tournamentSize,runNum)\n", " f = np.load( fn, allow_pickle=True )\n", " all_costs = f['all_costs']\n", " all_params = f['all_params']\n", " legs = []\n", " for i in range(len(all_costs)):\n", " plt.plot( np.arange(all_costs[i].size), all_costs[i], '*' )\n", " legs.append( \"Generation\" + str(i) )\n", " plt.ylabel( \"Cost\")\n", " plt.xlabel( 'Individual')\n", "\n", " if runNum == 1:\n", " plt.legend( legs ); \n", " plt.subplot( 5, 2, (runNum-1)*2+2 )\n", " for i in range(len(all_costs)):\n", " plt.semilogy( np.arange(all_costs[i].size), all_costs[i], '*' )\n", " plt.xlabel( 'Individual')\n", "\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot results from a single GA run\n", "\n", "Load in the run, then plot the costs for each generation in one figure. Then, plot the values of the parameters in a jitter plot. Construct the jitter plot so that we can adjust the a threshold so that we can include parameters from all children or just those from children with costs below the threshold." ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "runNum = 2\n", "tournamentSize = 5\n", "fn = \"Goodwin_tournament%d_run%d.npz\" %(tournamentSize,runNum)\n", "f = np.load( fn, allow_pickle=True )\n", "all_costs = f['all_costs']\n", "all_params = f['all_params']\n", "params = f['params']\n", "cost = f['cost']\n", "\n", "plt.figure( figsize=(12,4) )\n", "plt.subplot( 1, 2, 1 )\n", "legs = []\n", "for i in range(len(all_costs)):\n", " plt.plot( np.arange(all_costs[i].size), all_costs[i], '*' )\n", " legs.append( \"Generation\" + str(i) )\n", "plt.legend( legs );\n", "plt.ylabel(\"Cost\")\n", "plt.xlabel(\"Individual\")\n", "plt.subplot( 1, 2, 2 )\n", "for i in range(len(all_costs)):\n", " plt.semilogy( np.arange(all_costs[i].size), all_costs[i], '*' )\n", "plt.xlabel(\"Individual\")\n", "\n", "plt.figure(figsize=(12,4));\n", "PN = lb.size\n", "dp = 1/(2*settings.numGenerations)\n", "cost_threshold = np.inf #5\n", "\n", "for g in range(settings.numGenerations+1):\n", " idx = all_costs[g] < cost_threshold\n", " for i in range(lb.size):\n", " plt.plot( i+g*dp + np.random.rand(np.count_nonzero(idx))*dp, all_params[g][idx,i], '.C'+ str(g))\n", "plt.xticks( ticks=np.arange(0,PN)+0.25, labels=param_names);\n", "plt.ylabel( \"Parameter Value\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot the simulation from the best individual in the GA run we have been studying." ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha_1 : 0.8205447402924716\n", "K : 0.47903044097377767\n", "n : 14.255274697239507\n", "gamma_1 : 0.18387237605656992\n", "alpha_2 : 0.8696674455635882\n", "gamma_2 : 0.18991037604502864\n", "alpha _3 : 1.0894937827638904\n", "gamma_3 : 0.1930820228413166\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mf = lambda t,y : goodwin_oscillator(t,y, params)\n", "\n", "sol1 = scipy.integrate.solve_ivp( fun=mf, t_span=(0,500), y0=(.1,.1,.1) )\n", "sol2 = scipy.integrate.solve_ivp( fun=mf, t_span=(0,100), y0=sol1.y[:,-1], \n", " t_eval=np.arange(0,100,.01) )\n", "\n", "plt.figure()\n", "plt.plot( sol2.t, sol2.y.T );\n", "plt.xlabel( \"Time (h)\")\n", "plt.ylabel( \"Concentration\")\n", "plt.legend( ['X','Y','Z'])\n", "\n", "for i in range(len(params)):\n", " print(param_names[i], ':', params[i])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Code used to generate figures for lecture notes\n", "These are related to the cost function for Goodwin.\n", "\n", "First, we want the period to be close to 24h." ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# period_diff is the difference between the simulation period and 24\n", "period_diffs = np.arange(-6,6,0.01)\n", "plt.figure()\n", "plt.plot( period_diffs, (period_diffs)**2 )\n", "plt.xlabel( \"Difference between Period and 24h\")\n", "plt.ylabel( \"Cost due to Period Difference\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Second, we want the amplitude in the first half of the simulation to be the same as the amplitude in the second half of the simulation." ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# amp_diffs is the sum of the amps during the first half minus the \n", "# sum of the amps during the second half\n", "amp_diffs = np.arange(-0.5,0.5,0.001)\n", "plt.figure()\n", "plt.plot( amp_diffs, (100*amp_diffs)**2 )\n", "plt.xlabel( \"Difference in sum of amplitudes between halves of simulation\")\n", "plt.ylabel( \"Cost due to Amplitude Change\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Third, we want the amplitude to be larger than 0.1" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0010000000000000002\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rate = np.log(0.001)/0.1\n", "amps = np.arange(0.001,0.2,0.001)\n", "plt.figure()\n", "plt.plot( amps, np.exp(rate*amps))\n", "plt.xlabel( \"Amplitude of a Single State Variable\")\n", "plt.ylabel( \"Cost due to Amplitude\")\n", "print( np.exp(rate*0.1))" ] } ], "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }