Recorded some experiment results
[cipher-tools.git] / hillclimbing-results / hillclimbing-experiments.ipynb
1 {
2 "cells": [
3 {
4 "cell_type": "code",
5 "execution_count": 1,
6 "metadata": {},
7 "outputs": [],
8 "source": [
9 "import os,sys,inspect\n",
10 "currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))\n",
11 "parentdir = os.path.dirname(currentdir)\n",
12 "sys.path.insert(0,parentdir) "
13 ]
14 },
15 {
16 "cell_type": "code",
17 "execution_count": 2,
18 "metadata": {},
19 "outputs": [],
20 "source": [
21 "from cipher.caesar import *\n",
22 "from cipher.affine import *\n",
23 "from cipher.keyword_cipher import *\n",
24 "from cipher.vigenere import *\n",
25 "from cipher.playfair import *\n",
26 "from cipher.column_transposition import *\n",
27 "from support.text_prettify import *\n",
28 "from support.plot_frequency_histogram import *"
29 ]
30 },
31 {
32 "cell_type": "code",
33 "execution_count": 3,
34 "metadata": {},
35 "outputs": [],
36 "source": [
37 "# import logger as myl\n",
38 "# import logging\n",
39 "# myl.logger.setLevel(logging.DEBUG)\n",
40 "# mylg = logging.getLogger('cipherbreak')\n",
41 "import logging\n",
42 "from logger import logger\n",
43 "\n",
44 "import re\n",
45 "from datetime import datetime\n",
46 "import pandas as pd\n",
47 "import csv\n",
48 "import matplotlib as mpl\n",
49 "import matplotlib.pyplot as plt\n",
50 "%matplotlib inline\n",
51 "\n",
52 "from scipy.stats import kendalltau"
53 ]
54 },
55 {
56 "cell_type": "code",
57 "execution_count": 4,
58 "metadata": {},
59 "outputs": [],
60 "source": [
61 "logger.setLevel(logging.DEBUG)"
62 ]
63 },
64 {
65 "cell_type": "code",
66 "execution_count": 5,
67 "metadata": {},
68 "outputs": [],
69 "source": [
70 "def commonest_alphabet(text):\n",
71 " counts = collections.Counter(sanitise(text))\n",
72 " letters = cat(p[0] for p in counts.most_common())\n",
73 " return cat(deduplicate(letters + string.ascii_lowercase))"
74 ]
75 },
76 {
77 "cell_type": "code",
78 "execution_count": 6,
79 "metadata": {},
80 "outputs": [],
81 "source": [
82 "def random_ciphertext(message_length):\n",
83 " sample_start = random.randint(0, corpus_length - message_length)\n",
84 " sample = corpus[sample_start:(sample_start + message_length)]\n",
85 " key = list(string.ascii_lowercase)\n",
86 " random.shuffle(key)\n",
87 " key = cat(key)\n",
88 " ciphertext = keyword_encipher(sample, key)\n",
89 " return key, ciphertext"
90 ]
91 },
92 {
93 "cell_type": "code",
94 "execution_count": 7,
95 "metadata": {},
96 "outputs": [],
97 "source": [
98 "def log_parse(text, verbose=False):\n",
99 " parts = text.split(' - ')\n",
100 " dt = datetime.strptime(parts[0], \"%Y-%m-%d %H:%M:%S,%f\")\n",
101 " blurb = parts[-1]\n",
102 " worker = int(re.search('worker (\\d+)', blurb).group(1))\n",
103 " iteration = int(re.search('iteration (\\d+)', blurb).group(1))\n",
104 " fitness = float(re.search('fitness (-?\\d+\\.\\d+)', blurb).group(1))\n",
105 " if verbose:\n",
106 " ca = re.search('current alphabet (\\w+)', blurb).group(1)\n",
107 " pa = re.search('plain alphabet (\\w+)', blurb).group(1)\n",
108 " return {'time': dt, 'worker': worker, 'iteration': iteration, 'fitness': fitness, \n",
109 " 'cipher_alphabet': ca, 'plain_alphabet': pa}\n",
110 " else:\n",
111 " return {'time': dt, 'worker': worker, 'iteration': iteration, 'fitness': fitness}"
112 ]
113 },
114 {
115 "cell_type": "code",
116 "execution_count": 8,
117 "metadata": {},
118 "outputs": [],
119 "source": [
120 "# ps = [log_parse(line, verbose=True) for line in open('cipher.log').readlines()[:10]]\n",
121 "# df = pd.DataFrame(ps)\n",
122 "# df = df.set_index(['worker', 'iteration']).sort_index()\n",
123 "# df[['fitness', 'plain_alphabet', 'cipher_alphabet']].to_csv('test.csv', header=True)\n"
124 ]
125 },
126 {
127 "cell_type": "code",
128 "execution_count": 9,
129 "metadata": {},
130 "outputs": [],
131 "source": [
132 "def dump_result(starttime, filename, verbose=False):\n",
133 " parsed = [log_parse(line, verbose=verbose) for line in open('cipher.log')]\n",
134 " trace = pd.DataFrame([p for p in parsed if p['time'] > starttime])\n",
135 " trace = trace.set_index(['worker', 'iteration']).sort_index()\n",
136 " workers = list(sorted(set(trace.index.get_level_values(0))))\n",
137 " if verbose:\n",
138 " trace[['fitness', 'plain_alphabet', 'cipher_alphabet']].to_csv(filename, header=True)\n",
139 " else:\n",
140 " trace.fitness.to_csv(filename, header=True)\n",
141 " return workers, trace"
142 ]
143 },
144 {
145 "cell_type": "code",
146 "execution_count": 10,
147 "metadata": {},
148 "outputs": [
149 {
150 "data": {
151 "text/plain": [
152 "'etoainhsrdlumwycfgpbvkxjqz'"
153 ]
154 },
155 "execution_count": 10,
156 "metadata": {},
157 "output_type": "execute_result"
158 }
159 ],
160 "source": [
161 "plain_alpha = cat(p[0] for p in english_counts.most_common())\n",
162 "plain_alpha"
163 ]
164 },
165 {
166 "cell_type": "code",
167 "execution_count": 11,
168 "metadata": {},
169 "outputs": [],
170 "source": [
171 "def unscramble_alphabet(cipher_alphabet, plain_alphabet):\n",
172 " mapping = {p: c for p, c in zip(plain_alphabet, cipher_alphabet)}\n",
173 " unscrambled = cat(mapping[p] for p in sorted(mapping))\n",
174 " return unscrambled"
175 ]
176 },
177 {
178 "cell_type": "code",
179 "execution_count": 12,
180 "metadata": {},
181 "outputs": [
182 {
183 "data": {
184 "text/plain": [
185 "'theadventuresofsherl'"
186 ]
187 },
188 "execution_count": 12,
189 "metadata": {},
190 "output_type": "execute_result"
191 }
192 ],
193 "source": [
194 "# pt = sanitise(open('../2017/8b.plaintext').read())\n",
195 "corpus = sanitise(open('../support/sherlock-holmes.txt').read())\n",
196 "corpus_length = len(corpus)\n",
197 "pt = corpus\n",
198 "pt[:20]"
199 ]
200 },
201 {
202 "cell_type": "markdown",
203 "metadata": {},
204 "source": [
205 "# Development"
206 ]
207 },
208 {
209 "cell_type": "code",
210 "execution_count": 13,
211 "metadata": {},
212 "outputs": [
213 {
214 "data": {
215 "text/plain": [
216 "-542391.5369482826"
217 ]
218 },
219 "execution_count": 13,
220 "metadata": {},
221 "output_type": "execute_result"
222 }
223 ],
224 "source": [
225 "Pletters(pt)"
226 ]
227 },
228 {
229 "cell_type": "code",
230 "execution_count": 14,
231 "metadata": {},
232 "outputs": [
233 {
234 "data": {
235 "text/plain": [
236 "-1471429.4753165497"
237 ]
238 },
239 "execution_count": 14,
240 "metadata": {},
241 "output_type": "execute_result"
242 }
243 ],
244 "source": [
245 "Ptrigrams(pt)"
246 ]
247 },
248 {
249 "cell_type": "code",
250 "execution_count": 15,
251 "metadata": {},
252 "outputs": [
253 {
254 "data": {
255 "text/plain": [
256 "'etaoihnsrdlumwcyfgpbvkxjqz'"
257 ]
258 },
259 "execution_count": 15,
260 "metadata": {},
261 "output_type": "execute_result"
262 }
263 ],
264 "source": [
265 "commonest_alphabet(pt)"
266 ]
267 },
268 {
269 "cell_type": "code",
270 "execution_count": 16,
271 "metadata": {},
272 "outputs": [
273 {
274 "data": {
275 "text/plain": [
276 "('qlkwrmaznifhoxjgspvudybtec',\n",
277 " 'jogqxexjbnmejdqprbrhhdgnxejdph',\n",
278 " 'ompanynowifyouarewellupinyourl')"
279 ]
280 },
281 "execution_count": 16,
282 "metadata": {},
283 "output_type": "execute_result"
284 }
285 ],
286 "source": [
287 "k, c = random_ciphertext(30)\n",
288 "k, c, keyword_decipher(c, k)"
289 ]
290 },
291 {
292 "cell_type": "code",
293 "execution_count": 17,
294 "metadata": {},
295 "outputs": [
296 {
297 "data": {
298 "text/plain": [
299 "'yearningforrespiteth'"
300 ]
301 },
302 "execution_count": 17,
303 "metadata": {},
304 "output_type": "execute_result"
305 }
306 ],
307 "source": [
308 "pt = sanitise(open('../2017/8b.plaintext').read())\n",
309 "pt[:20]"
310 ]
311 },
312 {
313 "cell_type": "code",
314 "execution_count": 44,
315 "metadata": {},
316 "outputs": [
317 {
318 "data": {
319 "text/plain": [
320 "'guefwqwydaffujhqlulmufanewjjsddufutejtegjlsfwutqwlabuupjewtbuupjqwlanawlmjbqlmxeiyexsjewtlmuxeiutawq'"
321 ]
322 },
323 "execution_count": 44,
324 "metadata": {},
325 "output_type": "execute_result"
326 }
327 ],
328 "source": [
329 "ct_key = list(string.ascii_lowercase)\n",
330 "random.shuffle(ct_key)\n",
331 "ct_key = cat(ct_key)\n",
332 "# ct = keyword_encipher(pt, 'arcanaimperii')\n",
333 "ct = keyword_encipher(pt, ct_key)\n",
334 "ct[:100]"
335 ]
336 },
337 {
338 "cell_type": "code",
339 "execution_count": 11,
340 "metadata": {},
341 "outputs": [
342 {
343 "data": {
344 "text/plain": [
345 "('itkabjesqnguhwycmplrvfxdoz', -14681.308607565503)"
346 ]
347 },
348 "execution_count": 11,
349 "metadata": {},
350 "output_type": "execute_result"
351 }
352 ],
353 "source": [
354 "sa_cipher_alphabet, score = simulated_annealing_break(ct, plain_alphabet=plain_alpha, cipher_alphabet=ct_alpha)\n",
355 "sa_cipher_alphabet, score"
356 ]
357 },
358 {
359 "cell_type": "code",
360 "execution_count": 75,
361 "metadata": {},
362 "outputs": [
363 {
364 "data": {
365 "text/plain": [
366 "'arcnimpebdfghjkloqstuvwxyz'"
367 ]
368 },
369 "execution_count": 75,
370 "metadata": {},
371 "output_type": "execute_result"
372 }
373 ],
374 "source": [
375 "cat(p[1] for p in sorted(zip(plain_alpha, sa_cipher_alphabet[0])))"
376 ]
377 },
378 {
379 "cell_type": "code",
380 "execution_count": 10,
381 "metadata": {},
382 "outputs": [
383 {
384 "data": {
385 "text/plain": [
386 "'arcnimpebdfghjkloqstuvwxyz'"
387 ]
388 },
389 "execution_count": 10,
390 "metadata": {},
391 "output_type": "execute_result"
392 }
393 ],
394 "source": [
395 "keyword_cipher_alphabet_of('arcanaimperii')"
396 ]
397 },
398 {
399 "cell_type": "code",
400 "execution_count": 10,
401 "metadata": {},
402 "outputs": [
403 {
404 "name": "stdout",
405 "output_type": "stream",
406 "text": [
407 "cipher.log enigma.log\n"
408 ]
409 }
410 ],
411 "source": [
412 "!ls *log"
413 ]
414 },
415 {
416 "cell_type": "code",
417 "execution_count": 15,
418 "metadata": {},
419 "outputs": [
420 {
421 "data": {
422 "text/plain": [
423 "['2018-12-05 18:27:56,697 - cipherbreak - DEBUG - Simulated annealing worker 8: iteration 0, temperature 200, current alphabet itakbjsqenguhcpmwylvrfxodz, plain alphabet etoainhsrdlumwycfgpbvkxjqz, current_fitness -17464.568516864027, best_plaintext geosninychsseapitetreshmonaauccesedoadogatusnedint',\n",
424 " '2018-12-05 18:27:56,698 - cipherbreak - DEBUG - Simulated annealing worker 0: iteration 0, temperature 200, current alphabet itakbjsqenguhcpmwylvrfxodz, plain alphabet etoainhsrdlumwycfgpbvkxjqz, current_fitness -17464.568516864027, best_plaintext geosninycassehkitetresamonhhuccesedohdoghtusnedint',\n",
425 " '2018-12-05 18:27:56,698 - cipherbreak - DEBUG - Simulated annealing worker 2: iteration 0, temperature 200, current alphabet itakbjsqenguhcpmwylvrfxodz, plain alphabet etoainhsrdlumwycfgpbvkxjqz, current_fitness -17464.568516864027, best_plaintext geosnhnycasseiphtetresamoniiuccesedoidogitusnedhnt',\n",
426 " '2018-12-05 18:27:56,698 - cipherbreak - DEBUG - Simulated annealing worker 1: iteration 0, temperature 200, current alphabet itakbjsqenguhcpmwylvrfxodz, plain alphabet etoainhsrdlumwycfgpbvkxjqz, current_fitness -17464.568516864027, best_plaintext geosnhnycasseiphtetresamoniiuccesedoidogitusnedhnt',\n",
427 " '2018-12-05 18:27:56,699 - cipherbreak - DEBUG - Simulated annealing worker 3: iteration 0, temperature 200, current alphabet itakbjsqenguhcpmwyrvlfxodz, plain alphabet etoainhsrdlumwycfgpbvkxjqz, current_fitness -17467.215783229432, best_plaintext geosninycassehvitetresamonhhuccesedohdoghtusnedint']"
428 ]
429 },
430 "execution_count": 15,
431 "metadata": {},
432 "output_type": "execute_result"
433 }
434 ],
435 "source": [
436 "recs = open('cipher.log').read().splitlines()\n",
437 "recs[:5]"
438 ]
439 },
440 {
441 "cell_type": "code",
442 "execution_count": 46,
443 "metadata": {},
444 "outputs": [
445 {
446 "data": {
447 "text/plain": [
448 "{'time': datetime.datetime(2018, 12, 5, 18, 27, 56, 697000),\n",
449 " 'worker': 8,\n",
450 " 'iteration': 0,\n",
451 " 'fitness': -17464.568516864027}"
452 ]
453 },
454 "execution_count": 46,
455 "metadata": {},
456 "output_type": "execute_result"
457 }
458 ],
459 "source": [
460 "log_parse(recs[0])"
461 ]
462 },
463 {
464 "cell_type": "code",
465 "execution_count": 47,
466 "metadata": {},
467 "outputs": [
468 {
469 "data": {
470 "text/plain": [
471 "[{'time': datetime.datetime(2018, 12, 5, 18, 27, 57, 557000),\n",
472 " 'worker': 8,\n",
473 " 'iteration': 500,\n",
474 " 'fitness': -19506.212009034196},\n",
475 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 57, 635000),\n",
476 " 'worker': 9,\n",
477 " 'iteration': 500,\n",
478 " 'fitness': -18038.95559884915},\n",
479 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 57, 993000),\n",
480 " 'worker': 5,\n",
481 " 'iteration': 500,\n",
482 " 'fitness': -17327.223609157583},\n",
483 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 57, 995000),\n",
484 " 'worker': 3,\n",
485 " 'iteration': 500,\n",
486 " 'fitness': -18946.41644162794},\n",
487 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 57, 996000),\n",
488 " 'worker': 2,\n",
489 " 'iteration': 500,\n",
490 " 'fitness': -21014.221984327247},\n",
491 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 57, 998000),\n",
492 " 'worker': 7,\n",
493 " 'iteration': 500,\n",
494 " 'fitness': -20093.45361142934},\n",
495 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 57, 998000),\n",
496 " 'worker': 4,\n",
497 " 'iteration': 500,\n",
498 " 'fitness': -20003.348090823332},\n",
499 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 57, 999000),\n",
500 " 'worker': 1,\n",
501 " 'iteration': 500,\n",
502 " 'fitness': -19134.666194684774},\n",
503 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 58),\n",
504 " 'worker': 6,\n",
505 " 'iteration': 500,\n",
506 " 'fitness': -18597.23462090166},\n",
507 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 58, 1000),\n",
508 " 'worker': 0,\n",
509 " 'iteration': 500,\n",
510 " 'fitness': -18848.039141799247},\n",
511 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 58, 276000),\n",
512 " 'worker': 8,\n",
513 " 'iteration': 1000,\n",
514 " 'fitness': -19011.452688727233},\n",
515 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 58, 352000),\n",
516 " 'worker': 9,\n",
517 " 'iteration': 1000,\n",
518 " 'fitness': -18741.08747198464},\n",
519 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 58, 954000),\n",
520 " 'worker': 8,\n",
521 " 'iteration': 1500,\n",
522 " 'fitness': -19324.48074341969},\n",
523 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 56000),\n",
524 " 'worker': 9,\n",
525 " 'iteration': 1500,\n",
526 " 'fitness': -19194.180212110503},\n",
527 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 273000),\n",
528 " 'worker': 5,\n",
529 " 'iteration': 1000,\n",
530 " 'fitness': -18079.493977379658},\n",
531 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 275000),\n",
532 " 'worker': 2,\n",
533 " 'iteration': 1000,\n",
534 " 'fitness': -19586.334887748137},\n",
535 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 276000),\n",
536 " 'worker': 7,\n",
537 " 'iteration': 1000,\n",
538 " 'fitness': -19595.283669119322},\n",
539 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 282000),\n",
540 " 'worker': 3,\n",
541 " 'iteration': 1000,\n",
542 " 'fitness': -19556.303534097875},\n",
543 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 283000),\n",
544 " 'worker': 0,\n",
545 " 'iteration': 1000,\n",
546 " 'fitness': -19060.650868638797},\n",
547 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 285000),\n",
548 " 'worker': 6,\n",
549 " 'iteration': 1000,\n",
550 " 'fitness': -19048.945801444726},\n",
551 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 286000),\n",
552 " 'worker': 1,\n",
553 " 'iteration': 1000,\n",
554 " 'fitness': -17780.893262937854},\n",
555 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 288000),\n",
556 " 'worker': 4,\n",
557 " 'iteration': 1000,\n",
558 " 'fitness': -19871.461472608527},\n",
559 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 656000),\n",
560 " 'worker': 8,\n",
561 " 'iteration': 2000,\n",
562 " 'fitness': -18541.60058087154},\n",
563 " {'time': datetime.datetime(2018, 12, 5, 18, 27, 59, 762000),\n",
564 " 'worker': 9,\n",
565 " 'iteration': 2000,\n",
566 " 'fitness': -18139.230527668664},\n",
567 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 307000),\n",
568 " 'worker': 4,\n",
569 " 'iteration': 1500,\n",
570 " 'fitness': -19615.20233677959},\n",
571 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 341000),\n",
572 " 'worker': 8,\n",
573 " 'iteration': 2500,\n",
574 " 'fitness': -18792.355486875542},\n",
575 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 538000),\n",
576 " 'worker': 5,\n",
577 " 'iteration': 1500,\n",
578 " 'fitness': -19614.656719789735},\n",
579 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 540000),\n",
580 " 'worker': 2,\n",
581 " 'iteration': 1500,\n",
582 " 'fitness': -19420.645677197903},\n",
583 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 547000),\n",
584 " 'worker': 3,\n",
585 " 'iteration': 1500,\n",
586 " 'fitness': -19516.69841398513},\n",
587 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 547000),\n",
588 " 'worker': 7,\n",
589 " 'iteration': 1500,\n",
590 " 'fitness': -19230.947512617677},\n",
591 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 552000),\n",
592 " 'worker': 6,\n",
593 " 'iteration': 1500,\n",
594 " 'fitness': -19062.24295819328},\n",
595 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 555000),\n",
596 " 'worker': 1,\n",
597 " 'iteration': 1500,\n",
598 " 'fitness': -19005.04145812939},\n",
599 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 559000),\n",
600 " 'worker': 0,\n",
601 " 'iteration': 1500,\n",
602 " 'fitness': -19678.103852267177},\n",
603 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 826000),\n",
604 " 'worker': 9,\n",
605 " 'iteration': 2500,\n",
606 " 'fitness': -18554.14253773069},\n",
607 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 0, 996000),\n",
608 " 'worker': 4,\n",
609 " 'iteration': 2000,\n",
610 " 'fitness': -19797.711974806178},\n",
611 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 15000),\n",
612 " 'worker': 8,\n",
613 " 'iteration': 3000,\n",
614 " 'fitness': -18929.774792204666},\n",
615 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 684000),\n",
616 " 'worker': 4,\n",
617 " 'iteration': 2500,\n",
618 " 'fitness': -18404.449071388823},\n",
619 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 727000),\n",
620 " 'worker': 8,\n",
621 " 'iteration': 3500,\n",
622 " 'fitness': -18413.47164984584},\n",
623 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 815000),\n",
624 " 'worker': 2,\n",
625 " 'iteration': 2000,\n",
626 " 'fitness': -18449.545495871713},\n",
627 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 817000),\n",
628 " 'worker': 5,\n",
629 " 'iteration': 2000,\n",
630 " 'fitness': -20293.16285350564},\n",
631 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 821000),\n",
632 " 'worker': 7,\n",
633 " 'iteration': 2000,\n",
634 " 'fitness': -18382.9684664272},\n",
635 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 828000),\n",
636 " 'worker': 3,\n",
637 " 'iteration': 2000,\n",
638 " 'fitness': -19269.277188085696},\n",
639 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 838000),\n",
640 " 'worker': 6,\n",
641 " 'iteration': 2000,\n",
642 " 'fitness': -18034.64907452757},\n",
643 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 838000),\n",
644 " 'worker': 1,\n",
645 " 'iteration': 2000,\n",
646 " 'fitness': -20212.029343114173},\n",
647 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 1, 848000),\n",
648 " 'worker': 0,\n",
649 " 'iteration': 2000,\n",
650 " 'fitness': -18398.93978482426},\n",
651 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 2, 106000),\n",
652 " 'worker': 9,\n",
653 " 'iteration': 3000,\n",
654 " 'fitness': -17022.580186111096},\n",
655 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 2, 370000),\n",
656 " 'worker': 4,\n",
657 " 'iteration': 3000,\n",
658 " 'fitness': -18341.09176296995},\n",
659 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 2, 436000),\n",
660 " 'worker': 8,\n",
661 " 'iteration': 4000,\n",
662 " 'fitness': -17620.87851235687},\n",
663 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 49000),\n",
664 " 'worker': 4,\n",
665 " 'iteration': 3500,\n",
666 " 'fitness': -18629.108009257943},\n",
667 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 79000),\n",
668 " 'worker': 2,\n",
669 " 'iteration': 2500,\n",
670 " 'fitness': -18229.656265246995},\n",
671 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 83000),\n",
672 " 'worker': 5,\n",
673 " 'iteration': 2500,\n",
674 " 'fitness': -19086.384794143425},\n",
675 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 85000),\n",
676 " 'worker': 7,\n",
677 " 'iteration': 2500,\n",
678 " 'fitness': -17864.67484051336},\n",
679 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 95000),\n",
680 " 'worker': 3,\n",
681 " 'iteration': 2500,\n",
682 " 'fitness': -18518.178105852596},\n",
683 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 102000),\n",
684 " 'worker': 8,\n",
685 " 'iteration': 4500,\n",
686 " 'fitness': -18886.480601943767},\n",
687 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 104000),\n",
688 " 'worker': 6,\n",
689 " 'iteration': 2500,\n",
690 " 'fitness': -17969.995425476307},\n",
691 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 109000),\n",
692 " 'worker': 1,\n",
693 " 'iteration': 2500,\n",
694 " 'fitness': -17400.637120062693},\n",
695 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 121000),\n",
696 " 'worker': 0,\n",
697 " 'iteration': 2500,\n",
698 " 'fitness': -18747.729945027986},\n",
699 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 384000),\n",
700 " 'worker': 9,\n",
701 " 'iteration': 3500,\n",
702 " 'fitness': -20705.07819308174},\n",
703 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 786000),\n",
704 " 'worker': 8,\n",
705 " 'iteration': 5000,\n",
706 " 'fitness': -18084.38300999115},\n",
707 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 3, 835000),\n",
708 " 'worker': 2,\n",
709 " 'iteration': 3000,\n",
710 " 'fitness': -18620.50568328267},\n",
711 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 180000),\n",
712 " 'worker': 4,\n",
713 " 'iteration': 4000,\n",
714 " 'fitness': -18336.454140137244},\n",
715 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 361000),\n",
716 " 'worker': 1,\n",
717 " 'iteration': 3000,\n",
718 " 'fitness': -19478.17147468461},\n",
719 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 370000),\n",
720 " 'worker': 7,\n",
721 " 'iteration': 3000,\n",
722 " 'fitness': -17877.74019133228},\n",
723 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 371000),\n",
724 " 'worker': 3,\n",
725 " 'iteration': 3000,\n",
726 " 'fitness': -19048.338653729337},\n",
727 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 376000),\n",
728 " 'worker': 5,\n",
729 " 'iteration': 3000,\n",
730 " 'fitness': -20898.734244859043},\n",
731 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 386000),\n",
732 " 'worker': 6,\n",
733 " 'iteration': 3000,\n",
734 " 'fitness': -16939.27057282322},\n",
735 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 409000),\n",
736 " 'worker': 0,\n",
737 " 'iteration': 3000,\n",
738 " 'fitness': -19854.447324573906},\n",
739 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 533000),\n",
740 " 'worker': 2,\n",
741 " 'iteration': 3500,\n",
742 " 'fitness': -17187.53758324829},\n",
743 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 648000),\n",
744 " 'worker': 8,\n",
745 " 'iteration': 5500,\n",
746 " 'fitness': -18895.743869174006},\n",
747 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 4, 669000),\n",
748 " 'worker': 9,\n",
749 " 'iteration': 4000,\n",
750 " 'fitness': -19501.45392767446},\n",
751 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 26000),\n",
752 " 'worker': 1,\n",
753 " 'iteration': 3500,\n",
754 " 'fitness': -19606.201177583636},\n",
755 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 245000),\n",
756 " 'worker': 2,\n",
757 " 'iteration': 4000,\n",
758 " 'fitness': -18393.7240060119},\n",
759 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 444000),\n",
760 " 'worker': 4,\n",
761 " 'iteration': 4500,\n",
762 " 'fitness': -18387.174172922445},\n",
763 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 635000),\n",
764 " 'worker': 3,\n",
765 " 'iteration': 3500,\n",
766 " 'fitness': -17041.761138586608},\n",
767 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 642000),\n",
768 " 'worker': 7,\n",
769 " 'iteration': 3500,\n",
770 " 'fitness': -17392.748738228944},\n",
771 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 650000),\n",
772 " 'worker': 6,\n",
773 " 'iteration': 3500,\n",
774 " 'fitness': -17330.16526324624},\n",
775 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 667000),\n",
776 " 'worker': 5,\n",
777 " 'iteration': 3500,\n",
778 " 'fitness': -19135.242019282377},\n",
779 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 697000),\n",
780 " 'worker': 0,\n",
781 " 'iteration': 3500,\n",
782 " 'fitness': -17418.19577491629},\n",
783 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 753000),\n",
784 " 'worker': 1,\n",
785 " 'iteration': 4000,\n",
786 " 'fitness': -19393.961211753554},\n",
787 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 934000),\n",
788 " 'worker': 8,\n",
789 " 'iteration': 6000,\n",
790 " 'fitness': -17830.33557166024},\n",
791 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 945000),\n",
792 " 'worker': 9,\n",
793 " 'iteration': 4500,\n",
794 " 'fitness': -17892.435290290625},\n",
795 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 5, 981000),\n",
796 " 'worker': 2,\n",
797 " 'iteration': 4500,\n",
798 " 'fitness': -18698.144154223184},\n",
799 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 6, 435000),\n",
800 " 'worker': 1,\n",
801 " 'iteration': 4500,\n",
802 " 'fitness': -18800.545050055454},\n",
803 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 6, 503000),\n",
804 " 'worker': 0,\n",
805 " 'iteration': 4000,\n",
806 " 'fitness': -16632.42554157389},\n",
807 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 6, 719000),\n",
808 " 'worker': 4,\n",
809 " 'iteration': 5000,\n",
810 " 'fitness': -18280.140281591077},\n",
811 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 6, 912000),\n",
812 " 'worker': 3,\n",
813 " 'iteration': 4000,\n",
814 " 'fitness': -18542.627305858536},\n",
815 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 6, 916000),\n",
816 " 'worker': 7,\n",
817 " 'iteration': 4000,\n",
818 " 'fitness': -18493.69033006823},\n",
819 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 6, 927000),\n",
820 " 'worker': 6,\n",
821 " 'iteration': 4000,\n",
822 " 'fitness': -17393.388119756386},\n",
823 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 6, 953000),\n",
824 " 'worker': 5,\n",
825 " 'iteration': 4000,\n",
826 " 'fitness': -17503.069503416547},\n",
827 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 7, 126000),\n",
828 " 'worker': 1,\n",
829 " 'iteration': 5000,\n",
830 " 'fitness': -17390.336776695618},\n",
831 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 7, 165000),\n",
832 " 'worker': 0,\n",
833 " 'iteration': 4500,\n",
834 " 'fitness': -17634.827628782918},\n",
835 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 7, 200000),\n",
836 " 'worker': 8,\n",
837 " 'iteration': 6500,\n",
838 " 'fitness': -17428.607305695987},\n",
839 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 7, 219000),\n",
840 " 'worker': 9,\n",
841 " 'iteration': 5000,\n",
842 " 'fitness': -18170.02084407561},\n",
843 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 7, 270000),\n",
844 " 'worker': 2,\n",
845 " 'iteration': 5000,\n",
846 " 'fitness': -17827.94293353811},\n",
847 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 7, 856000),\n",
848 " 'worker': 5,\n",
849 " 'iteration': 4500,\n",
850 " 'fitness': -18082.931621876454},\n",
851 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 7, 983000),\n",
852 " 'worker': 4,\n",
853 " 'iteration': 5500,\n",
854 " 'fitness': -18595.65422981538},\n",
855 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 62000),\n",
856 " 'worker': 1,\n",
857 " 'iteration': 5500,\n",
858 " 'fitness': -17193.700008245654},\n",
859 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 183000),\n",
860 " 'worker': 3,\n",
861 " 'iteration': 4500,\n",
862 " 'fitness': -19429.72065240524},\n",
863 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 185000),\n",
864 " 'worker': 7,\n",
865 " 'iteration': 4500,\n",
866 " 'fitness': -18511.027065967108},\n",
867 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 195000),\n",
868 " 'worker': 6,\n",
869 " 'iteration': 4500,\n",
870 " 'fitness': -17859.105332243653},\n",
871 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 442000),\n",
872 " 'worker': 0,\n",
873 " 'iteration': 5000,\n",
874 " 'fitness': -18033.2447620835},\n",
875 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 487000),\n",
876 " 'worker': 8,\n",
877 " 'iteration': 7000,\n",
878 " 'fitness': -16984.79188180881},\n",
879 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 489000),\n",
880 " 'worker': 9,\n",
881 " 'iteration': 5500,\n",
882 " 'fitness': -18378.049112148143},\n",
883 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 533000),\n",
884 " 'worker': 2,\n",
885 " 'iteration': 5500,\n",
886 " 'fitness': -17716.896348117207},\n",
887 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 592000),\n",
888 " 'worker': 5,\n",
889 " 'iteration': 5000,\n",
890 " 'fitness': -20390.806341044932},\n",
891 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 8, 798000),\n",
892 " 'worker': 1,\n",
893 " 'iteration': 6000,\n",
894 " 'fitness': -18116.594707989414},\n",
895 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 260000),\n",
896 " 'worker': 4,\n",
897 " 'iteration': 6000,\n",
898 " 'fitness': -18894.618827025028},\n",
899 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 376000),\n",
900 " 'worker': 5,\n",
901 " 'iteration': 5500,\n",
902 " 'fitness': -19739.451268522404},\n",
903 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 459000),\n",
904 " 'worker': 3,\n",
905 " 'iteration': 5000,\n",
906 " 'fitness': -18602.940996743786},\n",
907 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 467000),\n",
908 " 'worker': 7,\n",
909 " 'iteration': 5000,\n",
910 " 'fitness': -17799.05403285316},\n",
911 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 474000),\n",
912 " 'worker': 6,\n",
913 " 'iteration': 5000,\n",
914 " 'fitness': -16545.601685561487},\n",
915 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 695000),\n",
916 " 'worker': 1,\n",
917 " 'iteration': 6500,\n",
918 " 'fitness': -15521.23314383998},\n",
919 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 705000),\n",
920 " 'worker': 0,\n",
921 " 'iteration': 5500,\n",
922 " 'fitness': -16848.17732266875},\n",
923 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 750000),\n",
924 " 'worker': 8,\n",
925 " 'iteration': 7500,\n",
926 " 'fitness': -17651.668173724873},\n",
927 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 766000),\n",
928 " 'worker': 9,\n",
929 " 'iteration': 6000,\n",
930 " 'fitness': -17678.75330561347},\n",
931 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 9, 815000),\n",
932 " 'worker': 2,\n",
933 " 'iteration': 6000,\n",
934 " 'fitness': -17889.376509552665},\n",
935 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 524000),\n",
936 " 'worker': 4,\n",
937 " 'iteration': 6500,\n",
938 " 'fitness': -18659.056280723984},\n",
939 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 613000),\n",
940 " 'worker': 9,\n",
941 " 'iteration': 6500,\n",
942 " 'fitness': -17650.74134056951},\n",
943 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 620000),\n",
944 " 'worker': 2,\n",
945 " 'iteration': 6500,\n",
946 " 'fitness': -18187.980824614297},\n",
947 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 655000),\n",
948 " 'worker': 5,\n",
949 " 'iteration': 6000,\n",
950 " 'fitness': -18529.548428506027},\n",
951 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 721000),\n",
952 " 'worker': 3,\n",
953 " 'iteration': 5500,\n",
954 " 'fitness': -18410.71610809687},\n",
955 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 733000),\n",
956 " 'worker': 6,\n",
957 " 'iteration': 5500,\n",
958 " 'fitness': -16826.458193958388},\n",
959 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 736000),\n",
960 " 'worker': 7,\n",
961 " 'iteration': 5500,\n",
962 " 'fitness': -18002.74242422733},\n",
963 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 966000),\n",
964 " 'worker': 1,\n",
965 " 'iteration': 7000,\n",
966 " 'fitness': -16047.53530288506},\n",
967 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 10, 977000),\n",
968 " 'worker': 0,\n",
969 " 'iteration': 6000,\n",
970 " 'fitness': -16154.124706442182},\n",
971 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 11, 22000),\n",
972 " 'worker': 8,\n",
973 " 'iteration': 8000,\n",
974 " 'fitness': -16817.91911998762},\n",
975 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 11, 287000),\n",
976 " 'worker': 9,\n",
977 " 'iteration': 7000,\n",
978 " 'fitness': -17358.130163552203},\n",
979 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 11, 324000),\n",
980 " 'worker': 2,\n",
981 " 'iteration': 7000,\n",
982 " 'fitness': -16861.63470732543},\n",
983 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 11, 799000),\n",
984 " 'worker': 4,\n",
985 " 'iteration': 7000,\n",
986 " 'fitness': -17953.192243685102},\n",
987 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 11, 914000),\n",
988 " 'worker': 5,\n",
989 " 'iteration': 6500,\n",
990 " 'fitness': -17889.94069028997},\n",
991 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 11, 944000),\n",
992 " 'worker': 9,\n",
993 " 'iteration': 7500,\n",
994 " 'fitness': -17143.640914346324},\n",
995 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 11, 994000),\n",
996 " 'worker': 3,\n",
997 " 'iteration': 6000,\n",
998 " 'fitness': -18536.570483679698},\n",
999 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 11, 998000),\n",
1000 " 'worker': 2,\n",
1001 " 'iteration': 7500,\n",
1002 " 'fitness': -16539.514654309765},\n",
1003 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 12, 4000),\n",
1004 " 'worker': 6,\n",
1005 " 'iteration': 6000,\n",
1006 " 'fitness': -16679.173786884076},\n",
1007 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 12, 12000),\n",
1008 " 'worker': 7,\n",
1009 " 'iteration': 6000,\n",
1010 " 'fitness': -18175.711713672594},\n",
1011 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 12, 225000),\n",
1012 " 'worker': 1,\n",
1013 " 'iteration': 7500,\n",
1014 " 'fitness': -16452.52144633103},\n",
1015 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 12, 233000),\n",
1016 " 'worker': 0,\n",
1017 " 'iteration': 6500,\n",
1018 " 'fitness': -16452.404246043414},\n",
1019 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 12, 289000),\n",
1020 " 'worker': 8,\n",
1021 " 'iteration': 8500,\n",
1022 " 'fitness': -17006.474846719855},\n",
1023 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 12, 641000),\n",
1024 " 'worker': 9,\n",
1025 " 'iteration': 8000,\n",
1026 " 'fitness': -16614.803388816013},\n",
1027 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 12, 901000),\n",
1028 " 'worker': 0,\n",
1029 " 'iteration': 7000,\n",
1030 " 'fitness': -16677.326420272075},\n",
1031 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 58000),\n",
1032 " 'worker': 4,\n",
1033 " 'iteration': 7500,\n",
1034 " 'fitness': -18339.282467115518},\n",
1035 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 72000),\n",
1036 " 'worker': 2,\n",
1037 " 'iteration': 8000,\n",
1038 " 'fitness': -17301.8417114411},\n",
1039 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 182000),\n",
1040 " 'worker': 5,\n",
1041 " 'iteration': 7000,\n",
1042 " 'fitness': -17334.537156849256},\n",
1043 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 261000),\n",
1044 " 'worker': 3,\n",
1045 " 'iteration': 6500,\n",
1046 " 'fitness': -18031.285622561743},\n",
1047 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 268000),\n",
1048 " 'worker': 6,\n",
1049 " 'iteration': 6500,\n",
1050 " 'fitness': -16422.7375527152},\n",
1051 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 279000),\n",
1052 " 'worker': 7,\n",
1053 " 'iteration': 6500,\n",
1054 " 'fitness': -17504.187460278605},\n",
1055 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 326000),\n",
1056 " 'worker': 9,\n",
1057 " 'iteration': 8500,\n",
1058 " 'fitness': -16971.464100835325},\n",
1059 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 493000),\n",
1060 " 'worker': 1,\n",
1061 " 'iteration': 8000,\n",
1062 " 'fitness': -15773.499250805828},\n",
1063 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 555000),\n",
1064 " 'worker': 8,\n",
1065 " 'iteration': 9000,\n",
1066 " 'fitness': -15226.057813342175},\n",
1067 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 575000),\n",
1068 " 'worker': 0,\n",
1069 " 'iteration': 7500,\n",
1070 " 'fitness': -17240.73733527656},\n",
1071 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 13, 994000),\n",
1072 " 'worker': 9,\n",
1073 " 'iteration': 9000,\n",
1074 " 'fitness': -16049.627773653003},\n",
1075 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 267000),\n",
1076 " 'worker': 0,\n",
1077 " 'iteration': 8000,\n",
1078 " 'fitness': -17538.610976751468},\n",
1079 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 331000),\n",
1080 " 'worker': 2,\n",
1081 " 'iteration': 8500,\n",
1082 " 'fitness': -15999.749156327724},\n",
1083 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 333000),\n",
1084 " 'worker': 4,\n",
1085 " 'iteration': 8000,\n",
1086 " 'fitness': -18309.78608355871},\n",
1087 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 442000),\n",
1088 " 'worker': 5,\n",
1089 " 'iteration': 7500,\n",
1090 " 'fitness': -16256.00720008966},\n",
1091 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 528000),\n",
1092 " 'worker': 3,\n",
1093 " 'iteration': 7000,\n",
1094 " 'fitness': -17581.20303046428},\n",
1095 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 534000),\n",
1096 " 'worker': 6,\n",
1097 " 'iteration': 7000,\n",
1098 " 'fitness': -16925.788998820055},\n",
1099 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 554000),\n",
1100 " 'worker': 7,\n",
1101 " 'iteration': 7000,\n",
1102 " 'fitness': -18572.05453072059},\n",
1103 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 678000),\n",
1104 " 'worker': 9,\n",
1105 " 'iteration': 9500,\n",
1106 " 'fitness': -15830.921286816676},\n",
1107 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 752000),\n",
1108 " 'worker': 1,\n",
1109 " 'iteration': 8500,\n",
1110 " 'fitness': -16599.40684997735},\n",
1111 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 14, 807000),\n",
1112 " 'worker': 8,\n",
1113 " 'iteration': 9500,\n",
1114 " 'fitness': -17117.33019989978},\n",
1115 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 176000),\n",
1116 " 'worker': 0,\n",
1117 " 'iteration': 8500,\n",
1118 " 'fitness': -16889.43933685168},\n",
1119 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 247000),\n",
1120 " 'worker': 5,\n",
1121 " 'iteration': 8000,\n",
1122 " 'fitness': -16374.072710564345},\n",
1123 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 488000),\n",
1124 " 'worker': 9,\n",
1125 " 'iteration': 10000,\n",
1126 " 'fitness': -16153.189088061568},\n",
1127 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 590000),\n",
1128 " 'worker': 4,\n",
1129 " 'iteration': 8500,\n",
1130 " 'fitness': -17260.794949962612},\n",
1131 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 600000),\n",
1132 " 'worker': 2,\n",
1133 " 'iteration': 9000,\n",
1134 " 'fitness': -16764.03048646914},\n",
1135 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 791000),\n",
1136 " 'worker': 3,\n",
1137 " 'iteration': 7500,\n",
1138 " 'fitness': -17960.814964208697},\n",
1139 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 807000),\n",
1140 " 'worker': 6,\n",
1141 " 'iteration': 7500,\n",
1142 " 'fitness': -16817.494896507043},\n",
1143 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 818000),\n",
1144 " 'worker': 7,\n",
1145 " 'iteration': 7500,\n",
1146 " 'fitness': -17811.92361311319},\n",
1147 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 918000),\n",
1148 " 'worker': 0,\n",
1149 " 'iteration': 9000,\n",
1150 " 'fitness': -15703.685929976222},\n",
1151 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 15, 921000),\n",
1152 " 'worker': 5,\n",
1153 " 'iteration': 8500,\n",
1154 " 'fitness': -15528.756041988652},\n",
1155 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 16, 45000),\n",
1156 " 'worker': 1,\n",
1157 " 'iteration': 9000,\n",
1158 " 'fitness': -15689.40995208135},\n",
1159 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 16, 76000),\n",
1160 " 'worker': 8,\n",
1161 " 'iteration': 10000,\n",
1162 " 'fitness': -15898.65336137873},\n",
1163 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 16, 744000),\n",
1164 " 'worker': 9,\n",
1165 " 'iteration': 10500,\n",
1166 " 'fitness': -15544.678618934651},\n",
1167 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 16, 792000),\n",
1168 " 'worker': 0,\n",
1169 " 'iteration': 9500,\n",
1170 " 'fitness': -16813.40458563439},\n",
1171 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 16, 827000),\n",
1172 " 'worker': 5,\n",
1173 " 'iteration': 9000,\n",
1174 " 'fitness': -15269.089304752624},\n",
1175 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 16, 856000),\n",
1176 " 'worker': 4,\n",
1177 " 'iteration': 9000,\n",
1178 " 'fitness': -16424.939130016453},\n",
1179 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 16, 866000),\n",
1180 " 'worker': 2,\n",
1181 " 'iteration': 9500,\n",
1182 " 'fitness': -15617.851287894646},\n",
1183 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 17, 64000),\n",
1184 " 'worker': 3,\n",
1185 " 'iteration': 8000,\n",
1186 " 'fitness': -17258.223976007055},\n",
1187 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 17, 79000),\n",
1188 " 'worker': 6,\n",
1189 " 'iteration': 8000,\n",
1190 " 'fitness': -16706.30829529822},\n",
1191 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 17, 91000),\n",
1192 " 'worker': 7,\n",
1193 " 'iteration': 8000,\n",
1194 " 'fitness': -16172.10089134246},\n",
1195 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 17, 309000),\n",
1196 " 'worker': 1,\n",
1197 " 'iteration': 9500,\n",
1198 " 'fitness': -15278.98850746955},\n",
1199 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 17, 337000),\n",
1200 " 'worker': 8,\n",
1201 " 'iteration': 10500,\n",
1202 " 'fitness': -15970.498815455323},\n",
1203 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 17, 484000),\n",
1204 " 'worker': 0,\n",
1205 " 'iteration': 10000,\n",
1206 " 'fitness': -16965.959540158852},\n",
1207 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 17, 497000),\n",
1208 " 'worker': 5,\n",
1209 " 'iteration': 9500,\n",
1210 " 'fitness': -16171.253641185343},\n",
1211 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 7000),\n",
1212 " 'worker': 9,\n",
1213 " 'iteration': 11000,\n",
1214 " 'fitness': -15481.776383794944},\n",
1215 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 106000),\n",
1216 " 'worker': 4,\n",
1217 " 'iteration': 9500,\n",
1218 " 'fitness': -16114.148485332731},\n",
1219 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 133000),\n",
1220 " 'worker': 2,\n",
1221 " 'iteration': 10000,\n",
1222 " 'fitness': -15897.207732365574},\n",
1223 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 198000),\n",
1224 " 'worker': 5,\n",
1225 " 'iteration': 10000,\n",
1226 " 'fitness': -15976.32225367706},\n",
1227 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 239000),\n",
1228 " 'worker': 0,\n",
1229 " 'iteration': 10500,\n",
1230 " 'fitness': -16419.503701784342},\n",
1231 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 324000),\n",
1232 " 'worker': 3,\n",
1233 " 'iteration': 8500,\n",
1234 " 'fitness': -18014.381767746403},\n",
1235 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 340000),\n",
1236 " 'worker': 6,\n",
1237 " 'iteration': 8500,\n",
1238 " 'fitness': -16178.495320022208},\n",
1239 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 345000),\n",
1240 " 'worker': 7,\n",
1241 " 'iteration': 8500,\n",
1242 " 'fitness': -15721.917263183206},\n",
1243 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 584000),\n",
1244 " 'worker': 1,\n",
1245 " 'iteration': 10000,\n",
1246 " 'fitness': -15166.897915355234},\n",
1247 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 18, 601000),\n",
1248 " 'worker': 8,\n",
1249 " 'iteration': 11000,\n",
1250 " 'fitness': -15495.913965599955},\n",
1251 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 20000),\n",
1252 " 'worker': 0,\n",
1253 " 'iteration': 11000,\n",
1254 " 'fitness': -16055.595445458615},\n",
1255 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 46000),\n",
1256 " 'worker': 5,\n",
1257 " 'iteration': 10500,\n",
1258 " 'fitness': -16352.652198437934},\n",
1259 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 263000),\n",
1260 " 'worker': 9,\n",
1261 " 'iteration': 11500,\n",
1262 " 'fitness': -15910.295343982507},\n",
1263 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 375000),\n",
1264 " 'worker': 4,\n",
1265 " 'iteration': 10000,\n",
1266 " 'fitness': -15442.82645508135},\n",
1267 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 389000),\n",
1268 " 'worker': 2,\n",
1269 " 'iteration': 10500,\n",
1270 " 'fitness': -15805.574304375701},\n",
1271 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 597000),\n",
1272 " 'worker': 3,\n",
1273 " 'iteration': 9000,\n",
1274 " 'fitness': -17576.045133748434},\n",
1275 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 611000),\n",
1276 " 'worker': 6,\n",
1277 " 'iteration': 9000,\n",
1278 " 'fitness': -15855.870210506502},\n",
1279 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 614000),\n",
1280 " 'worker': 7,\n",
1281 " 'iteration': 9000,\n",
1282 " 'fitness': -16943.864439542413},\n",
1283 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 691000),\n",
1284 " 'worker': 0,\n",
1285 " 'iteration': 11500,\n",
1286 " 'fitness': -15555.725375024595},\n",
1287 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 729000),\n",
1288 " 'worker': 5,\n",
1289 " 'iteration': 11000,\n",
1290 " 'fitness': -15611.291563558481},\n",
1291 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 845000),\n",
1292 " 'worker': 1,\n",
1293 " 'iteration': 10500,\n",
1294 " 'fitness': -15877.554815426058},\n",
1295 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 19, 849000),\n",
1296 " 'worker': 8,\n",
1297 " 'iteration': 11500,\n",
1298 " 'fitness': -15316.43445909589},\n",
1299 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 20, 382000),\n",
1300 " 'worker': 0,\n",
1301 " 'iteration': 12000,\n",
1302 " 'fitness': -15931.767571476821},\n",
1303 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 20, 420000),\n",
1304 " 'worker': 5,\n",
1305 " 'iteration': 11500,\n",
1306 " 'fitness': -15532.023378075712},\n",
1307 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 20, 523000),\n",
1308 " 'worker': 9,\n",
1309 " 'iteration': 12000,\n",
1310 " 'fitness': -15182.326272203387},\n",
1311 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 20, 545000),\n",
1312 " 'worker': 4,\n",
1313 " 'iteration': 10500,\n",
1314 " 'fitness': -15992.144134516864},\n",
1315 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 20, 653000),\n",
1316 " 'worker': 2,\n",
1317 " 'iteration': 11000,\n",
1318 " 'fitness': -15948.179868074802},\n",
1319 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 20, 854000),\n",
1320 " 'worker': 3,\n",
1321 " 'iteration': 9500,\n",
1322 " 'fitness': -16698.55512123499},\n",
1323 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 20, 867000),\n",
1324 " 'worker': 6,\n",
1325 " 'iteration': 9500,\n",
1326 " 'fitness': -15737.678737800343},\n",
1327 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 20, 870000),\n",
1328 " 'worker': 7,\n",
1329 " 'iteration': 9500,\n",
1330 " 'fitness': -16180.902687655534},\n",
1331 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 99000),\n",
1332 " 'worker': 5,\n",
1333 " 'iteration': 12000,\n",
1334 " 'fitness': -15522.1739409343},\n",
1335 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 111000),\n",
1336 " 'worker': 8,\n",
1337 " 'iteration': 12000,\n",
1338 " 'fitness': -15415.186441688731},\n",
1339 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 115000),\n",
1340 " 'worker': 1,\n",
1341 " 'iteration': 11000,\n",
1342 " 'fitness': -15611.885500014081},\n",
1343 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 208000),\n",
1344 " 'worker': 4,\n",
1345 " 'iteration': 11000,\n",
1346 " 'fitness': -15870.803780938573},\n",
1347 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 562000),\n",
1348 " 'worker': 0,\n",
1349 " 'iteration': 12500,\n",
1350 " 'fitness': -15149.982360435166},\n",
1351 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 773000),\n",
1352 " 'worker': 9,\n",
1353 " 'iteration': 12500,\n",
1354 " 'fitness': -15175.194651961283},\n",
1355 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 774000),\n",
1356 " 'worker': 5,\n",
1357 " 'iteration': 12500,\n",
1358 " 'fitness': -15479.452140178499},\n",
1359 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 867000),\n",
1360 " 'worker': 4,\n",
1361 " 'iteration': 11500,\n",
1362 " 'fitness': -15683.571040993067},\n",
1363 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 21, 905000),\n",
1364 " 'worker': 2,\n",
1365 " 'iteration': 11500,\n",
1366 " 'fitness': -15285.330433802024},\n",
1367 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 22, 117000),\n",
1368 " 'worker': 3,\n",
1369 " 'iteration': 10000,\n",
1370 " 'fitness': -16140.718106173423},\n",
1371 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 22, 131000),\n",
1372 " 'worker': 6,\n",
1373 " 'iteration': 10000,\n",
1374 " 'fitness': -15532.23903357282},\n",
1375 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 22, 137000),\n",
1376 " 'worker': 7,\n",
1377 " 'iteration': 10000,\n",
1378 " 'fitness': -16454.16864218011},\n",
1379 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 22, 361000),\n",
1380 " 'worker': 8,\n",
1381 " 'iteration': 12500,\n",
1382 " 'fitness': -15451.09375070572},\n",
1383 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 22, 374000),\n",
1384 " 'worker': 1,\n",
1385 " 'iteration': 11500,\n",
1386 " 'fitness': -14953.309532478948},\n",
1387 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 22, 474000),\n",
1388 " 'worker': 5,\n",
1389 " 'iteration': 13000,\n",
1390 " 'fitness': -15659.15259443666},\n",
1391 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 22, 582000),\n",
1392 " 'worker': 4,\n",
1393 " 'iteration': 12000,\n",
1394 " 'fitness': -15869.087172295838},\n",
1395 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 22, 837000),\n",
1396 " 'worker': 0,\n",
1397 " 'iteration': 13000,\n",
1398 " 'fitness': -15417.420509588284},\n",
1399 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 35000),\n",
1400 " 'worker': 9,\n",
1401 " 'iteration': 13000,\n",
1402 " 'fitness': -14755.133509144218},\n",
1403 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 134000),\n",
1404 " 'worker': 5,\n",
1405 " 'iteration': 13500,\n",
1406 " 'fitness': -14696.82992865629},\n",
1407 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 169000),\n",
1408 " 'worker': 2,\n",
1409 " 'iteration': 12000,\n",
1410 " 'fitness': -15646.531721637635},\n",
1411 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 274000),\n",
1412 " 'worker': 4,\n",
1413 " 'iteration': 12500,\n",
1414 " 'fitness': -15210.315534893452},\n",
1415 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 372000),\n",
1416 " 'worker': 3,\n",
1417 " 'iteration': 10500,\n",
1418 " 'fitness': -15694.77409965568},\n",
1419 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 378000),\n",
1420 " 'worker': 7,\n",
1421 " 'iteration': 10500,\n",
1422 " 'fitness': -15259.729176088413},\n",
1423 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 393000),\n",
1424 " 'worker': 6,\n",
1425 " 'iteration': 10500,\n",
1426 " 'fitness': -17056.42671837105},\n",
1427 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 623000),\n",
1428 " 'worker': 8,\n",
1429 " 'iteration': 13000,\n",
1430 " 'fitness': -14753.192978629439},\n",
1431 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 23, 646000),\n",
1432 " 'worker': 1,\n",
1433 " 'iteration': 12000,\n",
1434 " 'fitness': -15288.147896117103},\n",
1435 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 105000),\n",
1436 " 'worker': 4,\n",
1437 " 'iteration': 13000,\n",
1438 " 'fitness': -15060.603210355042},\n",
1439 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 114000),\n",
1440 " 'worker': 0,\n",
1441 " 'iteration': 13500,\n",
1442 " 'fitness': -15007.5508773021},\n",
1443 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 205000),\n",
1444 " 'worker': 5,\n",
1445 " 'iteration': 14000,\n",
1446 " 'fitness': -14938.424693950374},\n",
1447 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 290000),\n",
1448 " 'worker': 7,\n",
1449 " 'iteration': 11000,\n",
1450 " 'fitness': -15771.680706420595},\n",
1451 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 293000),\n",
1452 " 'worker': 9,\n",
1453 " 'iteration': 13500,\n",
1454 " 'fitness': -14976.114071536189},\n",
1455 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 431000),\n",
1456 " 'worker': 2,\n",
1457 " 'iteration': 12500,\n",
1458 " 'fitness': -15400.307210930276},\n",
1459 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 643000),\n",
1460 " 'worker': 3,\n",
1461 " 'iteration': 11000,\n",
1462 " 'fitness': -15905.972572862838},\n",
1463 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 675000),\n",
1464 " 'worker': 6,\n",
1465 " 'iteration': 11000,\n",
1466 " 'fitness': -16446.158550232558},\n",
1467 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 876000),\n",
1468 " 'worker': 8,\n",
1469 " 'iteration': 13500,\n",
1470 " 'fitness': -14781.142456953165},\n",
1471 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 24, 914000),\n",
1472 " 'worker': 1,\n",
1473 " 'iteration': 12500,\n",
1474 " 'fitness': -14981.672242306711},\n",
1475 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 20000),\n",
1476 " 'worker': 7,\n",
1477 " 'iteration': 11500,\n",
1478 " 'fitness': -16164.260679369723},\n",
1479 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 44000),\n",
1480 " 'worker': 4,\n",
1481 " 'iteration': 13500,\n",
1482 " 'fitness': -15069.41761792247},\n",
1483 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 403000),\n",
1484 " 'worker': 0,\n",
1485 " 'iteration': 14000,\n",
1486 " 'fitness': -14876.118543452645},\n",
1487 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 458000),\n",
1488 " 'worker': 5,\n",
1489 " 'iteration': 14500,\n",
1490 " 'fitness': -14961.285575467244},\n",
1491 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 572000),\n",
1492 " 'worker': 9,\n",
1493 " 'iteration': 14000,\n",
1494 " 'fitness': -14863.556266989302},\n",
1495 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 705000),\n",
1496 " 'worker': 2,\n",
1497 " 'iteration': 13000,\n",
1498 " 'fitness': -14977.415942610598},\n",
1499 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 904000),\n",
1500 " 'worker': 3,\n",
1501 " 'iteration': 11500,\n",
1502 " 'fitness': -14993.584839523564},\n",
1503 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 906000),\n",
1504 " 'worker': 7,\n",
1505 " 'iteration': 12000,\n",
1506 " 'fitness': -15141.475802739613},\n",
1507 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 25, 944000),\n",
1508 " 'worker': 6,\n",
1509 " 'iteration': 11500,\n",
1510 " 'fitness': -16009.08750955859},\n",
1511 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 26, 145000),\n",
1512 " 'worker': 8,\n",
1513 " 'iteration': 14000,\n",
1514 " 'fitness': -14827.099904866538},\n",
1515 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 26, 194000),\n",
1516 " 'worker': 4,\n",
1517 " 'iteration': 14000,\n",
1518 " 'fitness': -15116.224925495997},\n",
1519 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 26, 202000),\n",
1520 " 'worker': 1,\n",
1521 " 'iteration': 13000,\n",
1522 " 'fitness': -15149.029029083624},\n",
1523 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 26, 686000),\n",
1524 " 'worker': 0,\n",
1525 " 'iteration': 14500,\n",
1526 " 'fitness': -14758.523310234728},\n",
1527 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 26, 725000),\n",
1528 " 'worker': 5,\n",
1529 " 'iteration': 15000,\n",
1530 " 'fitness': -14781.142456953165},\n",
1531 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 26, 830000),\n",
1532 " 'worker': 9,\n",
1533 " 'iteration': 14500,\n",
1534 " 'fitness': -14758.523310234728},\n",
1535 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 26, 960000),\n",
1536 " 'worker': 2,\n",
1537 " 'iteration': 13500,\n",
1538 " 'fitness': -14813.046812753024},\n",
1539 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 27, 61000),\n",
1540 " 'worker': 7,\n",
1541 " 'iteration': 12500,\n",
1542 " 'fitness': -15340.860844544492},\n",
1543 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 27, 170000),\n",
1544 " 'worker': 3,\n",
1545 " 'iteration': 12000,\n",
1546 " 'fitness': -15305.374336482708},\n",
1547 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 27, 226000),\n",
1548 " 'worker': 6,\n",
1549 " 'iteration': 12000,\n",
1550 " 'fitness': -15573.850829771378},\n",
1551 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 27, 309000),\n",
1552 " 'worker': 4,\n",
1553 " 'iteration': 14500,\n",
1554 " 'fitness': -15004.196963177967},\n",
1555 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 27, 445000),\n",
1556 " 'worker': 8,\n",
1557 " 'iteration': 14500,\n",
1558 " 'fitness': -14968.808339959272},\n",
1559 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 27, 465000),\n",
1560 " 'worker': 1,\n",
1561 " 'iteration': 13500,\n",
1562 " 'fitness': -15189.679227108176},\n",
1563 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 27, 972000),\n",
1564 " 'worker': 0,\n",
1565 " 'iteration': 15000,\n",
1566 " 'fitness': -14700.923210187424},\n",
1567 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 27, 982000),\n",
1568 " 'worker': 5,\n",
1569 " 'iteration': 15500,\n",
1570 " 'fitness': -14696.82992865629},\n",
1571 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 28, 158000),\n",
1572 " 'worker': 9,\n",
1573 " 'iteration': 15000,\n",
1574 " 'fitness': -15026.706407974296},\n",
1575 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 28, 257000),\n",
1576 " 'worker': 2,\n",
1577 " 'iteration': 14000,\n",
1578 " 'fitness': -14698.864981580778},\n",
1579 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 28, 341000),\n",
1580 " 'worker': 4,\n",
1581 " 'iteration': 15000,\n",
1582 " 'fitness': -14739.612188053427},\n",
1583 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 28, 368000),\n",
1584 " 'worker': 7,\n",
1585 " 'iteration': 13000,\n",
1586 " 'fitness': -15327.626863056204},\n",
1587 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 28, 441000),\n",
1588 " 'worker': 3,\n",
1589 " 'iteration': 12500,\n",
1590 " 'fitness': -15100.949728117137},\n",
1591 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 28, 491000),\n",
1592 " 'worker': 6,\n",
1593 " 'iteration': 12500,\n",
1594 " 'fitness': -14909.17876099893},\n",
1595 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 28, 750000),\n",
1596 " 'worker': 1,\n",
1597 " 'iteration': 14000,\n",
1598 " 'fitness': -15309.029815268066},\n",
1599 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 28, 765000),\n",
1600 " 'worker': 8,\n",
1601 " 'iteration': 15000,\n",
1602 " 'fitness': -14900.16872092433},\n",
1603 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 29, 232000),\n",
1604 " 'worker': 0,\n",
1605 " 'iteration': 15500,\n",
1606 " 'fitness': -14696.82992865629},\n",
1607 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 29, 250000),\n",
1608 " 'worker': 5,\n",
1609 " 'iteration': 16000,\n",
1610 " 'fitness': -14767.359551554202},\n",
1611 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 29, 411000),\n",
1612 " 'worker': 9,\n",
1613 " 'iteration': 15500,\n",
1614 " 'fitness': -14689.84155926745},\n",
1615 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 29, 412000),\n",
1616 " 'worker': 4,\n",
1617 " 'iteration': 15500,\n",
1618 " 'fitness': -14698.864981580778},\n",
1619 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 29, 521000),\n",
1620 " 'worker': 2,\n",
1621 " 'iteration': 14500,\n",
1622 " 'fitness': -14696.82992865629},\n",
1623 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 29, 655000),\n",
1624 " 'worker': 7,\n",
1625 " 'iteration': 13500,\n",
1626 " 'fitness': -15470.913319339978},\n",
1627 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 29, 704000),\n",
1628 " 'worker': 3,\n",
1629 " 'iteration': 13000,\n",
1630 " 'fitness': -14689.84155926745},\n",
1631 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 29, 759000),\n",
1632 " 'worker': 6,\n",
1633 " 'iteration': 13000,\n",
1634 " 'fitness': -14818.384022705113},\n",
1635 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 11000),\n",
1636 " 'worker': 1,\n",
1637 " 'iteration': 14500,\n",
1638 " 'fitness': -14939.247773294534},\n",
1639 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 64000),\n",
1640 " 'worker': 8,\n",
1641 " 'iteration': 15500,\n",
1642 " 'fitness': -14696.82992865629},\n",
1643 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 501000),\n",
1644 " 'worker': 0,\n",
1645 " 'iteration': 16000,\n",
1646 " 'fitness': -14689.84155926745},\n",
1647 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 504000),\n",
1648 " 'worker': 5,\n",
1649 " 'iteration': 16500,\n",
1650 " 'fitness': -14698.864981580778},\n",
1651 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 676000),\n",
1652 " 'worker': 9,\n",
1653 " 'iteration': 16000,\n",
1654 " 'fitness': -14696.82992865629},\n",
1655 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 693000),\n",
1656 " 'worker': 4,\n",
1657 " 'iteration': 16000,\n",
1658 " 'fitness': -14681.308607565503},\n",
1659 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 782000),\n",
1660 " 'worker': 2,\n",
1661 " 'iteration': 15000,\n",
1662 " 'fitness': -14681.308607565503},\n",
1663 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 956000),\n",
1664 " 'worker': 7,\n",
1665 " 'iteration': 14000,\n",
1666 " 'fitness': -15019.728235593766},\n",
1667 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 30, 958000),\n",
1668 " 'worker': 3,\n",
1669 " 'iteration': 13500,\n",
1670 " 'fitness': -15374.657983398703},\n",
1671 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 31, 16000),\n",
1672 " 'worker': 6,\n",
1673 " 'iteration': 13500,\n",
1674 " 'fitness': -15025.874342597837},\n",
1675 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 31, 278000),\n",
1676 " 'worker': 1,\n",
1677 " 'iteration': 15000,\n",
1678 " 'fitness': -14700.923210187424},\n",
1679 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 31, 326000),\n",
1680 " 'worker': 8,\n",
1681 " 'iteration': 16000,\n",
1682 " 'fitness': -14681.308607565503},\n",
1683 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 31, 755000),\n",
1684 " 'worker': 0,\n",
1685 " 'iteration': 16500,\n",
1686 " 'fitness': -14700.923210187424},\n",
1687 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 31, 765000),\n",
1688 " 'worker': 5,\n",
1689 " 'iteration': 17000,\n",
1690 " 'fitness': -14681.308607565503},\n",
1691 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 31, 931000),\n",
1692 " 'worker': 9,\n",
1693 " 'iteration': 16500,\n",
1694 " 'fitness': -14698.864981580778},\n",
1695 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 31, 946000),\n",
1696 " 'worker': 4,\n",
1697 " 'iteration': 16500,\n",
1698 " 'fitness': -14681.308607565503},\n",
1699 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 32, 31000),\n",
1700 " 'worker': 2,\n",
1701 " 'iteration': 15500,\n",
1702 " 'fitness': -14698.864981580778},\n",
1703 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 32, 203000),\n",
1704 " 'worker': 7,\n",
1705 " 'iteration': 14500,\n",
1706 " 'fitness': -15131.743534205201},\n",
1707 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 32, 221000),\n",
1708 " 'worker': 3,\n",
1709 " 'iteration': 14000,\n",
1710 " 'fitness': -15436.793571633094},\n",
1711 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 32, 282000),\n",
1712 " 'worker': 6,\n",
1713 " 'iteration': 14000,\n",
1714 " 'fitness': -14855.72679572798},\n",
1715 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 32, 535000),\n",
1716 " 'worker': 1,\n",
1717 " 'iteration': 15500,\n",
1718 " 'fitness': -14827.099904866538},\n",
1719 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 32, 578000),\n",
1720 " 'worker': 8,\n",
1721 " 'iteration': 16500,\n",
1722 " 'fitness': -14681.308607565503},\n",
1723 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 22000),\n",
1724 " 'worker': 0,\n",
1725 " 'iteration': 17000,\n",
1726 " 'fitness': -14681.308607565503},\n",
1727 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 23000),\n",
1728 " 'worker': 5,\n",
1729 " 'iteration': 17500,\n",
1730 " 'fitness': -14689.84155926745},\n",
1731 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 195000),\n",
1732 " 'worker': 9,\n",
1733 " 'iteration': 17000,\n",
1734 " 'fitness': -14689.84155926745},\n",
1735 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 210000),\n",
1736 " 'worker': 4,\n",
1737 " 'iteration': 17000,\n",
1738 " 'fitness': -14739.612188053427},\n",
1739 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 293000),\n",
1740 " 'worker': 2,\n",
1741 " 'iteration': 16000,\n",
1742 " 'fitness': -14681.308607565503},\n",
1743 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 464000),\n",
1744 " 'worker': 7,\n",
1745 " 'iteration': 15000,\n",
1746 " 'fitness': -14902.507624188043},\n",
1747 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 476000),\n",
1748 " 'worker': 3,\n",
1749 " 'iteration': 14500,\n",
1750 " 'fitness': -14681.308607565503},\n",
1751 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 539000),\n",
1752 " 'worker': 6,\n",
1753 " 'iteration': 14500,\n",
1754 " 'fitness': -15015.681704727132},\n",
1755 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 801000),\n",
1756 " 'worker': 1,\n",
1757 " 'iteration': 16000,\n",
1758 " 'fitness': -14689.84155926745},\n",
1759 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 33, 841000),\n",
1760 " 'worker': 8,\n",
1761 " 'iteration': 17000,\n",
1762 " 'fitness': -14696.82992865629},\n",
1763 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 276000),\n",
1764 " 'worker': 0,\n",
1765 " 'iteration': 17500,\n",
1766 " 'fitness': -14681.308607565503},\n",
1767 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 285000),\n",
1768 " 'worker': 5,\n",
1769 " 'iteration': 18000,\n",
1770 " 'fitness': -14681.308607565503},\n",
1771 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 458000),\n",
1772 " 'worker': 9,\n",
1773 " 'iteration': 17500,\n",
1774 " 'fitness': -14700.923210187424},\n",
1775 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 474000),\n",
1776 " 'worker': 4,\n",
1777 " 'iteration': 17500,\n",
1778 " 'fitness': -14681.308607565503},\n",
1779 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 538000),\n",
1780 " 'worker': 2,\n",
1781 " 'iteration': 16500,\n",
1782 " 'fitness': -14689.84155926745},\n",
1783 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 719000),\n",
1784 " 'worker': 7,\n",
1785 " 'iteration': 15500,\n",
1786 " 'fitness': -14865.21908397404},\n",
1787 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 735000),\n",
1788 " 'worker': 3,\n",
1789 " 'iteration': 15000,\n",
1790 " 'fitness': -14778.1362419798},\n",
1791 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 806000),\n",
1792 " 'worker': 6,\n",
1793 " 'iteration': 15000,\n",
1794 " 'fitness': -14890.36011820834},\n",
1795 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 34, 901000),\n",
1796 " 'worker': 1,\n",
1797 " 'iteration': 16500,\n",
1798 " 'fitness': -14681.308607565503},\n",
1799 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 35, 94000),\n",
1800 " 'worker': 8,\n",
1801 " 'iteration': 17500,\n",
1802 " 'fitness': -14681.308607565503},\n",
1803 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 35, 305000),\n",
1804 " 'worker': 9,\n",
1805 " 'iteration': 18000,\n",
1806 " 'fitness': -14681.308607565503},\n",
1807 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 35, 538000),\n",
1808 " 'worker': 5,\n",
1809 " 'iteration': 18500,\n",
1810 " 'fitness': -14681.308607565503},\n",
1811 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 35, 542000),\n",
1812 " 'worker': 0,\n",
1813 " 'iteration': 18000,\n",
1814 " 'fitness': -14689.84155926745},\n",
1815 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 35, 542000),\n",
1816 " 'worker': 4,\n",
1817 " 'iteration': 18000,\n",
1818 " 'fitness': -14681.308607565503},\n",
1819 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 35, 800000),\n",
1820 " 'worker': 2,\n",
1821 " 'iteration': 17000,\n",
1822 " 'fitness': -14689.84155926745},\n",
1823 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 35, 983000),\n",
1824 " 'worker': 3,\n",
1825 " 'iteration': 15500,\n",
1826 " 'fitness': -14758.523310234728},\n",
1827 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 35, 987000),\n",
1828 " 'worker': 7,\n",
1829 " 'iteration': 16000,\n",
1830 " 'fitness': -14696.82992865629},\n",
1831 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 36, 65000),\n",
1832 " 'worker': 6,\n",
1833 " 'iteration': 15500,\n",
1834 " 'fitness': -14696.82992865629},\n",
1835 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 36, 77000),\n",
1836 " 'worker': 9,\n",
1837 " 'iteration': 18500,\n",
1838 " 'fitness': -14681.308607565503},\n",
1839 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 36, 161000),\n",
1840 " 'worker': 1,\n",
1841 " 'iteration': 17000,\n",
1842 " 'fitness': -14689.84155926745},\n",
1843 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 36, 361000),\n",
1844 " 'worker': 8,\n",
1845 " 'iteration': 18000,\n",
1846 " 'fitness': -14681.308607565503},\n",
1847 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 36, 719000),\n",
1848 " 'worker': 4,\n",
1849 " 'iteration': 18500,\n",
1850 " 'fitness': -14681.308607565503},\n",
1851 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 36, 802000),\n",
1852 " 'worker': 5,\n",
1853 " 'iteration': 19000,\n",
1854 " 'fitness': -14681.308607565503},\n",
1855 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 36, 815000),\n",
1856 " 'worker': 0,\n",
1857 " 'iteration': 18500,\n",
1858 " 'fitness': -14681.308607565503},\n",
1859 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 36, 877000),\n",
1860 " 'worker': 9,\n",
1861 " 'iteration': 19000,\n",
1862 " 'fitness': -14681.308607565503},\n",
1863 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 37, 49000),\n",
1864 " 'worker': 2,\n",
1865 " 'iteration': 17500,\n",
1866 " 'fitness': -14681.308607565503},\n",
1867 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 37, 244000),\n",
1868 " 'worker': 3,\n",
1869 " 'iteration': 16000,\n",
1870 " 'fitness': -14700.923210187424},\n",
1871 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 37, 278000),\n",
1872 " 'worker': 7,\n",
1873 " 'iteration': 16500,\n",
1874 " 'fitness': -14698.864981580778},\n",
1875 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 37, 331000),\n",
1876 " 'worker': 6,\n",
1877 " 'iteration': 16000,\n",
1878 " 'fitness': -14681.308607565503},\n",
1879 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 37, 414000),\n",
1880 " 'worker': 1,\n",
1881 " 'iteration': 17500,\n",
1882 " 'fitness': -14681.308607565503},\n",
1883 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 37, 617000),\n",
1884 " 'worker': 8,\n",
1885 " 'iteration': 18500,\n",
1886 " 'fitness': -14681.308607565503},\n",
1887 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 37, 618000),\n",
1888 " 'worker': 9,\n",
1889 " 'iteration': 19500,\n",
1890 " 'fitness': -14681.308607565503},\n",
1891 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 37, 895000),\n",
1892 " 'worker': 4,\n",
1893 " 'iteration': 19000,\n",
1894 " 'fitness': -14681.308607565503},\n",
1895 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 58000),\n",
1896 " 'worker': 5,\n",
1897 " 'iteration': 19500,\n",
1898 " 'fitness': -14681.308607565503},\n",
1899 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 77000),\n",
1900 " 'worker': 0,\n",
1901 " 'iteration': 19000,\n",
1902 " 'fitness': -14681.308607565503},\n",
1903 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 308000),\n",
1904 " 'worker': 2,\n",
1905 " 'iteration': 18000,\n",
1906 " 'fitness': -14681.308607565503},\n",
1907 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 492000),\n",
1908 " 'worker': 3,\n",
1909 " 'iteration': 16500,\n",
1910 " 'fitness': -14681.308607565503},\n",
1911 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 545000),\n",
1912 " 'worker': 7,\n",
1913 " 'iteration': 17000,\n",
1914 " 'fitness': -14689.84155926745},\n",
1915 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 586000),\n",
1916 " 'worker': 6,\n",
1917 " 'iteration': 16500,\n",
1918 " 'fitness': -14767.359551554202},\n",
1919 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 679000),\n",
1920 " 'worker': 1,\n",
1921 " 'iteration': 18000,\n",
1922 " 'fitness': -14681.308607565503},\n",
1923 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 878000),\n",
1924 " 'worker': 8,\n",
1925 " 'iteration': 19000,\n",
1926 " 'fitness': -14681.308607565503},\n",
1927 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 38, 910000),\n",
1928 " 'worker': 4,\n",
1929 " 'iteration': 19500,\n",
1930 " 'fitness': -14681.308607565503},\n",
1931 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 39, 324000),\n",
1932 " 'worker': 0,\n",
1933 " 'iteration': 19500,\n",
1934 " 'fitness': -14681.308607565503},\n",
1935 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 39, 556000),\n",
1936 " 'worker': 2,\n",
1937 " 'iteration': 18500,\n",
1938 " 'fitness': -14681.308607565503},\n",
1939 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 39, 749000),\n",
1940 " 'worker': 3,\n",
1941 " 'iteration': 17000,\n",
1942 " 'fitness': -14696.82992865629},\n",
1943 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 39, 797000),\n",
1944 " 'worker': 7,\n",
1945 " 'iteration': 17500,\n",
1946 " 'fitness': -14681.308607565503},\n",
1947 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 39, 848000),\n",
1948 " 'worker': 6,\n",
1949 " 'iteration': 17000,\n",
1950 " 'fitness': -14758.523310234728},\n",
1951 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 39, 916000),\n",
1952 " 'worker': 1,\n",
1953 " 'iteration': 18500,\n",
1954 " 'fitness': -14681.308607565503},\n",
1955 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 40, 70000),\n",
1956 " 'worker': 8,\n",
1957 " 'iteration': 19500,\n",
1958 " 'fitness': -14681.308607565503},\n",
1959 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 40, 437000),\n",
1960 " 'worker': 2,\n",
1961 " 'iteration': 19000,\n",
1962 " 'fitness': -14681.308607565503},\n",
1963 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 40, 481000),\n",
1964 " 'worker': 7,\n",
1965 " 'iteration': 18000,\n",
1966 " 'fitness': -14681.308607565503},\n",
1967 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 40, 555000),\n",
1968 " 'worker': 1,\n",
1969 " 'iteration': 19000,\n",
1970 " 'fitness': -14681.308607565503},\n",
1971 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 40, 880000),\n",
1972 " 'worker': 3,\n",
1973 " 'iteration': 17500,\n",
1974 " 'fitness': -14681.308607565503},\n",
1975 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 40, 931000),\n",
1976 " 'worker': 6,\n",
1977 " 'iteration': 17500,\n",
1978 " 'fitness': -14681.308607565503},\n",
1979 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 41, 57000),\n",
1980 " 'worker': 2,\n",
1981 " 'iteration': 19500,\n",
1982 " 'fitness': -14681.308607565503},\n",
1983 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 41, 100000),\n",
1984 " 'worker': 7,\n",
1985 " 'iteration': 18500,\n",
1986 " 'fitness': -14681.308607565503},\n",
1987 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 41, 178000),\n",
1988 " 'worker': 1,\n",
1989 " 'iteration': 19500,\n",
1990 " 'fitness': -14681.308607565503},\n",
1991 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 41, 517000),\n",
1992 " 'worker': 3,\n",
1993 " 'iteration': 18000,\n",
1994 " 'fitness': -14681.308607565503},\n",
1995 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 41, 574000),\n",
1996 " 'worker': 6,\n",
1997 " 'iteration': 18000,\n",
1998 " 'fitness': -14681.308607565503},\n",
1999 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 41, 745000),\n",
2000 " 'worker': 7,\n",
2001 " 'iteration': 19000,\n",
2002 " 'fitness': -14681.308607565503},\n",
2003 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 42, 129000),\n",
2004 " 'worker': 3,\n",
2005 " 'iteration': 18500,\n",
2006 " 'fitness': -14681.308607565503},\n",
2007 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 42, 187000),\n",
2008 " 'worker': 6,\n",
2009 " 'iteration': 18500,\n",
2010 " 'fitness': -14681.308607565503},\n",
2011 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 42, 367000),\n",
2012 " 'worker': 7,\n",
2013 " 'iteration': 19500,\n",
2014 " 'fitness': -14681.308607565503},\n",
2015 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 42, 753000),\n",
2016 " 'worker': 3,\n",
2017 " 'iteration': 19000,\n",
2018 " 'fitness': -14681.308607565503},\n",
2019 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 42, 810000),\n",
2020 " 'worker': 6,\n",
2021 " 'iteration': 19000,\n",
2022 " 'fitness': -14681.308607565503},\n",
2023 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 43, 363000),\n",
2024 " 'worker': 3,\n",
2025 " 'iteration': 19500,\n",
2026 " 'fitness': -14681.308607565503},\n",
2027 " {'time': datetime.datetime(2018, 12, 5, 18, 28, 43, 416000),\n",
2028 " 'worker': 6,\n",
2029 " 'iteration': 19500,\n",
2030 " 'fitness': -14681.308607565503},\n",
2031 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 305000),\n",
2032 " 'worker': 7,\n",
2033 " 'iteration': 0,\n",
2034 " 'fitness': -17064.948772927888},\n",
2035 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 307000),\n",
2036 " 'worker': 1,\n",
2037 " 'iteration': 0,\n",
2038 " 'fitness': -17464.568516864027},\n",
2039 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 307000),\n",
2040 " 'worker': 2,\n",
2041 " 'iteration': 0,\n",
2042 " 'fitness': -17464.568516864027},\n",
2043 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 307000),\n",
2044 " 'worker': 0,\n",
2045 " 'iteration': 0,\n",
2046 " 'fitness': -17464.568516864027},\n",
2047 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 307000),\n",
2048 " 'worker': 3,\n",
2049 " 'iteration': 0,\n",
2050 " 'fitness': -17464.568516864027},\n",
2051 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 307000),\n",
2052 " 'worker': 4,\n",
2053 " 'iteration': 0,\n",
2054 " 'fitness': -17464.568516864027},\n",
2055 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 307000),\n",
2056 " 'worker': 5,\n",
2057 " 'iteration': 0,\n",
2058 " 'fitness': -17536.258720447695},\n",
2059 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 307000),\n",
2060 " 'worker': 6,\n",
2061 " 'iteration': 0,\n",
2062 " 'fitness': -17489.373605685694},\n",
2063 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 308000),\n",
2064 " 'worker': 8,\n",
2065 " 'iteration': 0,\n",
2066 " 'fitness': -17464.568516864027},\n",
2067 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 30, 308000),\n",
2068 " 'worker': 9,\n",
2069 " 'iteration': 0,\n",
2070 " 'fitness': -17464.568516864027},\n",
2071 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 483000),\n",
2072 " 'worker': 7,\n",
2073 " 'iteration': 500,\n",
2074 " 'fitness': -20011.926080833462},\n",
2075 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 584000),\n",
2076 " 'worker': 8,\n",
2077 " 'iteration': 500,\n",
2078 " 'fitness': -18720.58237892333},\n",
2079 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 586000),\n",
2080 " 'worker': 2,\n",
2081 " 'iteration': 500,\n",
2082 " 'fitness': -20221.715741201548},\n",
2083 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 641000),\n",
2084 " 'worker': 6,\n",
2085 " 'iteration': 500,\n",
2086 " 'fitness': -20971.93227245418},\n",
2087 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 650000),\n",
2088 " 'worker': 1,\n",
2089 " 'iteration': 500,\n",
2090 " 'fitness': -17958.557690043537},\n",
2091 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 653000),\n",
2092 " 'worker': 0,\n",
2093 " 'iteration': 500,\n",
2094 " 'fitness': -19456.419361176002},\n",
2095 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 668000),\n",
2096 " 'worker': 9,\n",
2097 " 'iteration': 500,\n",
2098 " 'fitness': -18794.76060121247},\n",
2099 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 690000),\n",
2100 " 'worker': 5,\n",
2101 " 'iteration': 500,\n",
2102 " 'fitness': -19179.138598606725},\n",
2103 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 711000),\n",
2104 " 'worker': 3,\n",
2105 " 'iteration': 500,\n",
2106 " 'fitness': -17988.766735978654},\n",
2107 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 31, 717000),\n",
2108 " 'worker': 4,\n",
2109 " 'iteration': 500,\n",
2110 " 'fitness': -18970.09109208436},\n",
2111 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 32, 663000),\n",
2112 " 'worker': 0,\n",
2113 " 'iteration': 1000,\n",
2114 " 'fitness': -19192.661068367157},\n",
2115 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 32, 812000),\n",
2116 " 'worker': 7,\n",
2117 " 'iteration': 1000,\n",
2118 " 'fitness': -18440.462795548294},\n",
2119 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 32, 907000),\n",
2120 " 'worker': 2,\n",
2121 " 'iteration': 1000,\n",
2122 " 'fitness': -19208.61349253221},\n",
2123 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 32, 913000),\n",
2124 " 'worker': 8,\n",
2125 " 'iteration': 1000,\n",
2126 " 'fitness': -21074.221350148688},\n",
2127 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 32, 967000),\n",
2128 " 'worker': 1,\n",
2129 " 'iteration': 1000,\n",
2130 " 'fitness': -19380.999140599124},\n",
2131 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 32, 977000),\n",
2132 " 'worker': 9,\n",
2133 " 'iteration': 1000,\n",
2134 " 'fitness': -17994.519054935667},\n",
2135 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 32, 979000),\n",
2136 " 'worker': 6,\n",
2137 " 'iteration': 1000,\n",
2138 " 'fitness': -19306.156116067286},\n",
2139 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 33, 32000),\n",
2140 " 'worker': 5,\n",
2141 " 'iteration': 1000,\n",
2142 " 'fitness': -20337.97301214875},\n",
2143 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 33, 35000),\n",
2144 " 'worker': 3,\n",
2145 " 'iteration': 1000,\n",
2146 " 'fitness': -19975.76171434862},\n",
2147 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 33, 44000),\n",
2148 " 'worker': 4,\n",
2149 " 'iteration': 1000,\n",
2150 " 'fitness': -19476.28521852281},\n",
2151 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 33, 684000),\n",
2152 " 'worker': 0,\n",
2153 " 'iteration': 1500,\n",
2154 " 'fitness': -21362.030853695927},\n",
2155 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 186000),\n",
2156 " 'worker': 1,\n",
2157 " 'iteration': 1500,\n",
2158 " 'fitness': -17714.641624264746},\n",
2159 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 229000),\n",
2160 " 'worker': 7,\n",
2161 " 'iteration': 1500,\n",
2162 " 'fitness': -18542.121696900136},\n",
2163 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 233000),\n",
2164 " 'worker': 2,\n",
2165 " 'iteration': 1500,\n",
2166 " 'fitness': -20058.056128897606},\n",
2167 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 289000),\n",
2168 " 'worker': 8,\n",
2169 " 'iteration': 1500,\n",
2170 " 'fitness': -19942.833685138357},\n",
2171 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 291000),\n",
2172 " 'worker': 9,\n",
2173 " 'iteration': 1500,\n",
2174 " 'fitness': -17125.250461558895},\n",
2175 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 357000),\n",
2176 " 'worker': 3,\n",
2177 " 'iteration': 1500,\n",
2178 " 'fitness': -20433.11384868423},\n",
2179 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 382000),\n",
2180 " 'worker': 4,\n",
2181 " 'iteration': 1500,\n",
2182 " 'fitness': -19266.8556439343},\n",
2183 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 454000),\n",
2184 " 'worker': 5,\n",
2185 " 'iteration': 1500,\n",
2186 " 'fitness': -19485.148402491643},\n",
2187 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 34, 600000),\n",
2188 " 'worker': 6,\n",
2189 " 'iteration': 1500,\n",
2190 " 'fitness': -18819.539234026674},\n",
2191 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 103000),\n",
2192 " 'worker': 0,\n",
2193 " 'iteration': 2000,\n",
2194 " 'fitness': -19439.674465428758},\n",
2195 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 477000),\n",
2196 " 'worker': 1,\n",
2197 " 'iteration': 2000,\n",
2198 " 'fitness': -19958.84007847232},\n",
2199 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 602000),\n",
2200 " 'worker': 2,\n",
2201 " 'iteration': 2000,\n",
2202 " 'fitness': -19670.81172833396},\n",
2203 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 713000),\n",
2204 " 'worker': 9,\n",
2205 " 'iteration': 2000,\n",
2206 " 'fitness': -17142.009059028445},\n",
2207 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 726000),\n",
2208 " 'worker': 8,\n",
2209 " 'iteration': 2000,\n",
2210 " 'fitness': -19683.9963358193},\n",
2211 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 730000),\n",
2212 " 'worker': 7,\n",
2213 " 'iteration': 2000,\n",
2214 " 'fitness': -17340.009861643404},\n",
2215 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 762000),\n",
2216 " 'worker': 3,\n",
2217 " 'iteration': 2000,\n",
2218 " 'fitness': -19369.723029067667},\n",
2219 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 863000),\n",
2220 " 'worker': 4,\n",
2221 " 'iteration': 2000,\n",
2222 " 'fitness': -19034.682763381767},\n",
2223 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 35, 930000),\n",
2224 " 'worker': 5,\n",
2225 " 'iteration': 2000,\n",
2226 " 'fitness': -19724.425130764797},\n",
2227 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 36, 121000),\n",
2228 " 'worker': 6,\n",
2229 " 'iteration': 2000,\n",
2230 " 'fitness': -19113.68657413882},\n",
2231 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 36, 676000),\n",
2232 " 'worker': 0,\n",
2233 " 'iteration': 2500,\n",
2234 " 'fitness': -19494.92220907886},\n",
2235 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 36, 899000),\n",
2236 " 'worker': 1,\n",
2237 " 'iteration': 2500,\n",
2238 " 'fitness': -17619.247219933895},\n",
2239 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 36, 951000),\n",
2240 " 'worker': 8,\n",
2241 " 'iteration': 2500,\n",
2242 " 'fitness': -18733.49038445007},\n",
2243 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 36, 967000),\n",
2244 " 'worker': 2,\n",
2245 " 'iteration': 2500,\n",
2246 " 'fitness': -19275.265763427655},\n",
2247 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 37, 54000),\n",
2248 " 'worker': 9,\n",
2249 " 'iteration': 2500,\n",
2250 " 'fitness': -18403.8355946094},\n",
2251 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 37, 88000),\n",
2252 " 'worker': 3,\n",
2253 " 'iteration': 2500,\n",
2254 " 'fitness': -19514.81650956374},\n",
2255 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 37, 149000),\n",
2256 " 'worker': 7,\n",
2257 " 'iteration': 2500,\n",
2258 " 'fitness': -18321.512123184442},\n",
2259 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 37, 167000),\n",
2260 " 'worker': 5,\n",
2261 " 'iteration': 2500,\n",
2262 " 'fitness': -18757.70142762439},\n",
2263 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 37, 242000),\n",
2264 " 'worker': 4,\n",
2265 " 'iteration': 2500,\n",
2266 " 'fitness': -19803.012956369163},\n",
2267 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 37, 469000),\n",
2268 " 'worker': 6,\n",
2269 " 'iteration': 2500,\n",
2270 " 'fitness': -20912.58774667283},\n",
2271 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 37, 862000),\n",
2272 " 'worker': 0,\n",
2273 " 'iteration': 3000,\n",
2274 " 'fitness': -19409.258503714384},\n",
2275 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 315000),\n",
2276 " 'worker': 1,\n",
2277 " 'iteration': 3000,\n",
2278 " 'fitness': -18872.173637934306},\n",
2279 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 329000),\n",
2280 " 'worker': 2,\n",
2281 " 'iteration': 3000,\n",
2282 " 'fitness': -20509.129709514265},\n",
2283 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 348000),\n",
2284 " 'worker': 8,\n",
2285 " 'iteration': 3000,\n",
2286 " 'fitness': -17321.155277579343},\n",
2287 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 421000),\n",
2288 " 'worker': 3,\n",
2289 " 'iteration': 3000,\n",
2290 " 'fitness': -19427.389011059782},\n",
2291 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 467000),\n",
2292 " 'worker': 9,\n",
2293 " 'iteration': 3000,\n",
2294 " 'fitness': -19207.343443988215},\n",
2295 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 480000),\n",
2296 " 'worker': 4,\n",
2297 " 'iteration': 3000,\n",
2298 " 'fitness': -18721.56447624704},\n",
2299 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 518000),\n",
2300 " 'worker': 5,\n",
2301 " 'iteration': 3000,\n",
2302 " 'fitness': -18572.50782004681},\n",
2303 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 531000),\n",
2304 " 'worker': 7,\n",
2305 " 'iteration': 3000,\n",
2306 " 'fitness': -19691.162343454114},\n",
2307 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 38, 731000),\n",
2308 " 'worker': 6,\n",
2309 " 'iteration': 3000,\n",
2310 " 'fitness': -18979.35240339668},\n",
2311 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 191000),\n",
2312 " 'worker': 0,\n",
2313 " 'iteration': 3500,\n",
2314 " 'fitness': -19375.464976830353},\n",
2315 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 562000),\n",
2316 " 'worker': 5,\n",
2317 " 'iteration': 3500,\n",
2318 " 'fitness': -17050.915692093513},\n",
2319 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 634000),\n",
2320 " 'worker': 1,\n",
2321 " 'iteration': 3500,\n",
2322 " 'fitness': -19343.737531858267},\n",
2323 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 656000),\n",
2324 " 'worker': 2,\n",
2325 " 'iteration': 3500,\n",
2326 " 'fitness': -18634.214126420095},\n",
2327 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 670000),\n",
2328 " 'worker': 8,\n",
2329 " 'iteration': 3500,\n",
2330 " 'fitness': -17754.52887821668},\n",
2331 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 733000),\n",
2332 " 'worker': 3,\n",
2333 " 'iteration': 3500,\n",
2334 " 'fitness': -19132.250603393244},\n",
2335 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 783000),\n",
2336 " 'worker': 4,\n",
2337 " 'iteration': 3500,\n",
2338 " 'fitness': -19196.35892101146},\n",
2339 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 816000),\n",
2340 " 'worker': 9,\n",
2341 " 'iteration': 3500,\n",
2342 " 'fitness': -19002.690919176286},\n",
2343 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 863000),\n",
2344 " 'worker': 7,\n",
2345 " 'iteration': 3500,\n",
2346 " 'fitness': -19133.298070206092},\n",
2347 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 39, 868000),\n",
2348 " 'worker': 6,\n",
2349 " 'iteration': 3500,\n",
2350 " 'fitness': -19757.791544465104},\n",
2351 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 40, 468000),\n",
2352 " 'worker': 0,\n",
2353 " 'iteration': 4000,\n",
2354 " 'fitness': -18553.631818438087},\n",
2355 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 40, 701000),\n",
2356 " 'worker': 5,\n",
2357 " 'iteration': 4000,\n",
2358 " 'fitness': -16989.573092675015},\n",
2359 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 40, 967000),\n",
2360 " 'worker': 6,\n",
2361 " 'iteration': 4000,\n",
2362 " 'fitness': -18738.132464822625},\n",
2363 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 40, 975000),\n",
2364 " 'worker': 2,\n",
2365 " 'iteration': 4000,\n",
2366 " 'fitness': -18180.86838796417},\n",
2367 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 40, 984000),\n",
2368 " 'worker': 1,\n",
2369 " 'iteration': 4000,\n",
2370 " 'fitness': -18858.92834820425},\n",
2371 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 40, 995000),\n",
2372 " 'worker': 8,\n",
2373 " 'iteration': 4000,\n",
2374 " 'fitness': -16734.063130383078},\n",
2375 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 41, 46000),\n",
2376 " 'worker': 3,\n",
2377 " 'iteration': 4000,\n",
2378 " 'fitness': -17763.14484564346},\n",
2379 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 41, 113000),\n",
2380 " 'worker': 4,\n",
2381 " 'iteration': 4000,\n",
2382 " 'fitness': -18163.721019481505},\n",
2383 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 41, 160000),\n",
2384 " 'worker': 9,\n",
2385 " 'iteration': 4000,\n",
2386 " 'fitness': -19530.52326303019},\n",
2387 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 41, 211000),\n",
2388 " 'worker': 7,\n",
2389 " 'iteration': 4000,\n",
2390 " 'fitness': -17672.714496294167},\n",
2391 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 41, 331000),\n",
2392 " 'worker': 0,\n",
2393 " 'iteration': 4500,\n",
2394 " 'fitness': -18842.347858107038},\n",
2395 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 12000),\n",
2396 " 'worker': 5,\n",
2397 " 'iteration': 4500,\n",
2398 " 'fitness': -17109.64535862546},\n",
2399 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 130000),\n",
2400 " 'worker': 6,\n",
2401 " 'iteration': 4500,\n",
2402 " 'fitness': -19746.393461068335},\n",
2403 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 284000),\n",
2404 " 'worker': 2,\n",
2405 " 'iteration': 4500,\n",
2406 " 'fitness': -17870.85254780358},\n",
2407 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 310000),\n",
2408 " 'worker': 8,\n",
2409 " 'iteration': 4500,\n",
2410 " 'fitness': -16373.62611877824},\n",
2411 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 320000),\n",
2412 " 'worker': 1,\n",
2413 " 'iteration': 4500,\n",
2414 " 'fitness': -18999.185125551114},\n",
2415 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 359000),\n",
2416 " 'worker': 3,\n",
2417 " 'iteration': 4500,\n",
2418 " 'fitness': -19515.749071948336},\n",
2419 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 396000),\n",
2420 " 'worker': 0,\n",
2421 " 'iteration': 5000,\n",
2422 " 'fitness': -19347.171864885633},\n",
2423 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 438000),\n",
2424 " 'worker': 4,\n",
2425 " 'iteration': 4500,\n",
2426 " 'fitness': -17635.78592431806},\n",
2427 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 477000),\n",
2428 " 'worker': 9,\n",
2429 " 'iteration': 4500,\n",
2430 " 'fitness': -19750.17321013555},\n",
2431 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 525000),\n",
2432 " 'worker': 7,\n",
2433 " 'iteration': 4500,\n",
2434 " 'fitness': -19314.5595862402},\n",
2435 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 42, 963000),\n",
2436 " 'worker': 6,\n",
2437 " 'iteration': 5000,\n",
2438 " 'fitness': -17726.01705706373},\n",
2439 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 163000),\n",
2440 " 'worker': 0,\n",
2441 " 'iteration': 5500,\n",
2442 " 'fitness': -18460.352807643045},\n",
2443 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 328000),\n",
2444 " 'worker': 5,\n",
2445 " 'iteration': 5000,\n",
2446 " 'fitness': -17586.309577218046},\n",
2447 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 605000),\n",
2448 " 'worker': 8,\n",
2449 " 'iteration': 5000,\n",
2450 " 'fitness': -16458.461467144996},\n",
2451 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 626000),\n",
2452 " 'worker': 2,\n",
2453 " 'iteration': 5000,\n",
2454 " 'fitness': -18053.662807774603},\n",
2455 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 633000),\n",
2456 " 'worker': 1,\n",
2457 " 'iteration': 5000,\n",
2458 " 'fitness': -17556.989179356522},\n",
2459 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 665000),\n",
2460 " 'worker': 3,\n",
2461 " 'iteration': 5000,\n",
2462 " 'fitness': -16565.51797668411},\n",
2463 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 755000),\n",
2464 " 'worker': 6,\n",
2465 " 'iteration': 5500,\n",
2466 " 'fitness': -18771.2540141021},\n",
2467 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 756000),\n",
2468 " 'worker': 4,\n",
2469 " 'iteration': 5000,\n",
2470 " 'fitness': -16790.05625163381},\n",
2471 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 791000),\n",
2472 " 'worker': 9,\n",
2473 " 'iteration': 5000,\n",
2474 " 'fitness': -19310.352955589842},\n",
2475 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 840000),\n",
2476 " 'worker': 7,\n",
2477 " 'iteration': 5000,\n",
2478 " 'fitness': -17269.433973269734},\n",
2479 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 43, 981000),\n",
2480 " 'worker': 0,\n",
2481 " 'iteration': 6000,\n",
2482 " 'fitness': -18814.96821348566},\n",
2483 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 44, 639000),\n",
2484 " 'worker': 5,\n",
2485 " 'iteration': 5500,\n",
2486 " 'fitness': -17610.98134319619},\n",
2487 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 44, 852000),\n",
2488 " 'worker': 6,\n",
2489 " 'iteration': 6000,\n",
2490 " 'fitness': -18747.634629002703},\n",
2491 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 44, 940000),\n",
2492 " 'worker': 8,\n",
2493 " 'iteration': 5500,\n",
2494 " 'fitness': -16072.713130144652},\n",
2495 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 44, 941000),\n",
2496 " 'worker': 1,\n",
2497 " 'iteration': 5500,\n",
2498 " 'fitness': -17447.21951963203},\n",
2499 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 44, 950000),\n",
2500 " 'worker': 2,\n",
2501 " 'iteration': 5500,\n",
2502 " 'fitness': -17879.626209735092},\n",
2503 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 44, 974000),\n",
2504 " 'worker': 3,\n",
2505 " 'iteration': 5500,\n",
2506 " 'fitness': -17184.11615532316},\n",
2507 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 45, 68000),\n",
2508 " 'worker': 4,\n",
2509 " 'iteration': 5500,\n",
2510 " 'fitness': -17654.84898582997},\n",
2511 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 45, 106000),\n",
2512 " 'worker': 9,\n",
2513 " 'iteration': 5500,\n",
2514 " 'fitness': -17503.410891164338},\n",
2515 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 45, 160000),\n",
2516 " 'worker': 7,\n",
2517 " 'iteration': 5500,\n",
2518 " 'fitness': -16720.074082517604},\n",
2519 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 45, 198000),\n",
2520 " 'worker': 0,\n",
2521 " 'iteration': 6500,\n",
2522 " 'fitness': -18298.223867411583},\n",
2523 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 45, 766000),\n",
2524 " 'worker': 5,\n",
2525 " 'iteration': 6000,\n",
2526 " 'fitness': -18553.826194757083},\n",
2527 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 45, 973000),\n",
2528 " 'worker': 1,\n",
2529 " 'iteration': 6000,\n",
2530 " 'fitness': -16807.054548173965},\n",
2531 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 176000),\n",
2532 " 'worker': 6,\n",
2533 " 'iteration': 6500,\n",
2534 " 'fitness': -19078.385403827335},\n",
2535 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 267000),\n",
2536 " 'worker': 2,\n",
2537 " 'iteration': 6000,\n",
2538 " 'fitness': -17462.57956085574},\n",
2539 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 268000),\n",
2540 " 'worker': 8,\n",
2541 " 'iteration': 6000,\n",
2542 " 'fitness': -17724.567503651004},\n",
2543 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 291000),\n",
2544 " 'worker': 3,\n",
2545 " 'iteration': 6000,\n",
2546 " 'fitness': -17136.71456663387},\n",
2547 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 396000),\n",
2548 " 'worker': 4,\n",
2549 " 'iteration': 6000,\n",
2550 " 'fitness': -17222.7418938044},\n",
2551 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 422000),\n",
2552 " 'worker': 9,\n",
2553 " 'iteration': 6000,\n",
2554 " 'fitness': -17163.013191063783},\n",
2555 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 486000),\n",
2556 " 'worker': 7,\n",
2557 " 'iteration': 6000,\n",
2558 " 'fitness': -15923.583455585313},\n",
2559 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 534000),\n",
2560 " 'worker': 0,\n",
2561 " 'iteration': 7000,\n",
2562 " 'fitness': -17555.99144953487},\n",
2563 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 594000),\n",
2564 " 'worker': 5,\n",
2565 " 'iteration': 6500,\n",
2566 " 'fitness': -16095.3325939862},\n",
2567 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 46, 758000),\n",
2568 " 'worker': 1,\n",
2569 " 'iteration': 6500,\n",
2570 " 'fitness': -17598.30468566638},\n",
2571 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 362000),\n",
2572 " 'worker': 5,\n",
2573 " 'iteration': 7000,\n",
2574 " 'fitness': -17155.508484406248},\n",
2575 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 494000),\n",
2576 " 'worker': 6,\n",
2577 " 'iteration': 7000,\n",
2578 " 'fitness': -17373.945618134694},\n",
2579 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 543000),\n",
2580 " 'worker': 1,\n",
2581 " 'iteration': 7000,\n",
2582 " 'fitness': -18716.93812649565},\n",
2583 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 559000),\n",
2584 " 'worker': 2,\n",
2585 " 'iteration': 6500,\n",
2586 " 'fitness': -17132.098624244063},\n",
2587 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 564000),\n",
2588 " 'worker': 8,\n",
2589 " 'iteration': 6500,\n",
2590 " 'fitness': -16212.897757753763},\n",
2591 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 588000),\n",
2592 " 'worker': 3,\n",
2593 " 'iteration': 6500,\n",
2594 " 'fitness': -18532.2474041536},\n",
2595 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 694000),\n",
2596 " 'worker': 4,\n",
2597 " 'iteration': 6500,\n",
2598 " 'fitness': -17839.708378581247},\n",
2599 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 714000),\n",
2600 " 'worker': 9,\n",
2601 " 'iteration': 6500,\n",
2602 " 'fitness': -16941.399876819683},\n",
2603 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 780000),\n",
2604 " 'worker': 7,\n",
2605 " 'iteration': 6500,\n",
2606 " 'fitness': -17068.075735363327},\n",
2607 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 47, 825000),\n",
2608 " 'worker': 0,\n",
2609 " 'iteration': 7500,\n",
2610 " 'fitness': -17280.01016268159},\n",
2611 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 48, 335000),\n",
2612 " 'worker': 5,\n",
2613 " 'iteration': 7500,\n",
2614 " 'fitness': -16308.943529035794},\n",
2615 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 48, 345000),\n",
2616 " 'worker': 1,\n",
2617 " 'iteration': 7500,\n",
2618 " 'fitness': -17767.950488886243},\n",
2619 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 48, 476000),\n",
2620 " 'worker': 8,\n",
2621 " 'iteration': 7000,\n",
2622 " 'fitness': -17878.68094126451},\n",
2623 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 48, 798000),\n",
2624 " 'worker': 6,\n",
2625 " 'iteration': 7500,\n",
2626 " 'fitness': -16851.996781322716},\n",
2627 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 48, 880000),\n",
2628 " 'worker': 2,\n",
2629 " 'iteration': 7000,\n",
2630 " 'fitness': -16658.854021932362},\n",
2631 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 48, 896000),\n",
2632 " 'worker': 3,\n",
2633 " 'iteration': 7000,\n",
2634 " 'fitness': -16257.617448235551},\n",
2635 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 3000),\n",
2636 " 'worker': 4,\n",
2637 " 'iteration': 7000,\n",
2638 " 'fitness': -16307.070462677171},\n",
2639 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 16000),\n",
2640 " 'worker': 9,\n",
2641 " 'iteration': 7000,\n",
2642 " 'fitness': -16395.145359446204},\n",
2643 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 89000),\n",
2644 " 'worker': 7,\n",
2645 " 'iteration': 7000,\n",
2646 " 'fitness': -16377.420100014382},\n",
2647 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 93000),\n",
2648 " 'worker': 1,\n",
2649 " 'iteration': 8000,\n",
2650 " 'fitness': -18326.355874175948},\n",
2651 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 129000),\n",
2652 " 'worker': 0,\n",
2653 " 'iteration': 8000,\n",
2654 " 'fitness': -17208.764190910104},\n",
2655 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 191000),\n",
2656 " 'worker': 8,\n",
2657 " 'iteration': 7500,\n",
2658 " 'fitness': -17878.188388548733},\n",
2659 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 638000),\n",
2660 " 'worker': 5,\n",
2661 " 'iteration': 8000,\n",
2662 " 'fitness': -15999.453933213032},\n",
2663 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 827000),\n",
2664 " 'worker': 1,\n",
2665 " 'iteration': 8500,\n",
2666 " 'fitness': -17936.125618392205},\n",
2667 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 49, 943000),\n",
2668 " 'worker': 8,\n",
2669 " 'iteration': 8000,\n",
2670 " 'fitness': -17506.631134173378},\n",
2671 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 100000),\n",
2672 " 'worker': 6,\n",
2673 " 'iteration': 8000,\n",
2674 " 'fitness': -17566.086945631425},\n",
2675 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 176000),\n",
2676 " 'worker': 2,\n",
2677 " 'iteration': 7500,\n",
2678 " 'fitness': -15570.94946286388},\n",
2679 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 182000),\n",
2680 " 'worker': 3,\n",
2681 " 'iteration': 7500,\n",
2682 " 'fitness': -16553.28915763965},\n",
2683 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 302000),\n",
2684 " 'worker': 4,\n",
2685 " 'iteration': 7500,\n",
2686 " 'fitness': -16501.180389660924},\n",
2687 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 303000),\n",
2688 " 'worker': 9,\n",
2689 " 'iteration': 7500,\n",
2690 " 'fitness': -16250.722025520972},\n",
2691 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 381000),\n",
2692 " 'worker': 7,\n",
2693 " 'iteration': 7500,\n",
2694 " 'fitness': -17268.919774722508},\n",
2695 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 419000),\n",
2696 " 'worker': 0,\n",
2697 " 'iteration': 8500,\n",
2698 " 'fitness': -17048.836849959105},\n",
2699 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 581000),\n",
2700 " 'worker': 1,\n",
2701 " 'iteration': 9000,\n",
2702 " 'fitness': -17810.016087094227},\n",
2703 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 678000),\n",
2704 " 'worker': 8,\n",
2705 " 'iteration': 8500,\n",
2706 " 'fitness': -18752.845284275703},\n",
2707 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 50, 927000),\n",
2708 " 'worker': 5,\n",
2709 " 'iteration': 8500,\n",
2710 " 'fitness': -16175.607528275586},\n",
2711 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 321000),\n",
2712 " 'worker': 1,\n",
2713 " 'iteration': 9500,\n",
2714 " 'fitness': -16721.142895272147},\n",
2715 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 396000),\n",
2716 " 'worker': 6,\n",
2717 " 'iteration': 8500,\n",
2718 " 'fitness': -17123.34118469316},\n",
2719 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 439000),\n",
2720 " 'worker': 8,\n",
2721 " 'iteration': 9000,\n",
2722 " 'fitness': -17206.462551935492},\n",
2723 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 480000),\n",
2724 " 'worker': 2,\n",
2725 " 'iteration': 8000,\n",
2726 " 'fitness': -16055.229264463589},\n",
2727 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 481000),\n",
2728 " 'worker': 3,\n",
2729 " 'iteration': 8000,\n",
2730 " 'fitness': -15971.124638912872},\n",
2731 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 601000),\n",
2732 " 'worker': 9,\n",
2733 " 'iteration': 8000,\n",
2734 " 'fitness': -16750.905525795755},\n",
2735 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 604000),\n",
2736 " 'worker': 4,\n",
2737 " 'iteration': 8000,\n",
2738 " 'fitness': -16221.64902996803},\n",
2739 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 687000),\n",
2740 " 'worker': 7,\n",
2741 " 'iteration': 8000,\n",
2742 " 'fitness': -16168.508201710261},\n",
2743 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 51, 718000),\n",
2744 " 'worker': 0,\n",
2745 " 'iteration': 9000,\n",
2746 " 'fitness': -17309.88570310366},\n",
2747 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 225000),\n",
2748 " 'worker': 5,\n",
2749 " 'iteration': 9000,\n",
2750 " 'fitness': -16630.758677893176},\n",
2751 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 306000),\n",
2752 " 'worker': 1,\n",
2753 " 'iteration': 10000,\n",
2754 " 'fitness': -16458.37817939503},\n",
2755 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 341000),\n",
2756 " 'worker': 8,\n",
2757 " 'iteration': 9500,\n",
2758 " 'fitness': -18115.910872797052},\n",
2759 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 707000),\n",
2760 " 'worker': 6,\n",
2761 " 'iteration': 9000,\n",
2762 " 'fitness': -18076.206333573326},\n",
2763 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 765000),\n",
2764 " 'worker': 3,\n",
2765 " 'iteration': 8500,\n",
2766 " 'fitness': -16554.325053408993},\n",
2767 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 773000),\n",
2768 " 'worker': 2,\n",
2769 " 'iteration': 8500,\n",
2770 " 'fitness': -16358.06215804406},\n",
2771 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 890000),\n",
2772 " 'worker': 9,\n",
2773 " 'iteration': 8500,\n",
2774 " 'fitness': -17732.5396101792},\n",
2775 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 904000),\n",
2776 " 'worker': 4,\n",
2777 " 'iteration': 8500,\n",
2778 " 'fitness': -17404.41627980615},\n",
2779 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 52, 981000),\n",
2780 " 'worker': 7,\n",
2781 " 'iteration': 8500,\n",
2782 " 'fitness': -17044.235539199384},\n",
2783 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 53, 2000),\n",
2784 " 'worker': 5,\n",
2785 " 'iteration': 9500,\n",
2786 " 'fitness': -16157.472136689625},\n",
2787 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 53, 30000),\n",
2788 " 'worker': 0,\n",
2789 " 'iteration': 9500,\n",
2790 " 'fitness': -15935.254778228882},\n",
2791 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 53, 63000),\n",
2792 " 'worker': 1,\n",
2793 " 'iteration': 10500,\n",
2794 " 'fitness': -15790.70127875513},\n",
2795 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 53, 650000),\n",
2796 " 'worker': 8,\n",
2797 " 'iteration': 10000,\n",
2798 " 'fitness': -18568.583229449458},\n",
2799 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 53, 731000),\n",
2800 " 'worker': 2,\n",
2801 " 'iteration': 9000,\n",
2802 " 'fitness': -15423.7885269577},\n",
2803 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 53, 743000),\n",
2804 " 'worker': 5,\n",
2805 " 'iteration': 10000,\n",
2806 " 'fitness': -15907.693594558705},\n",
2807 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54),\n",
2808 " 'worker': 6,\n",
2809 " 'iteration': 9500,\n",
2810 " 'fitness': -16802.56684951041},\n",
2811 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 60000),\n",
2812 " 'worker': 3,\n",
2813 " 'iteration': 9000,\n",
2814 " 'fitness': -16145.569612905003},\n",
2815 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 188000),\n",
2816 " 'worker': 9,\n",
2817 " 'iteration': 9000,\n",
2818 " 'fitness': -16435.36881207485},\n",
2819 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 213000),\n",
2820 " 'worker': 4,\n",
2821 " 'iteration': 9000,\n",
2822 " 'fitness': -15597.017179474158},\n",
2823 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 223000),\n",
2824 " 'worker': 1,\n",
2825 " 'iteration': 11000,\n",
2826 " 'fitness': -15864.058756356626},\n",
2827 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 291000),\n",
2828 " 'worker': 7,\n",
2829 " 'iteration': 9000,\n",
2830 " 'fitness': -17089.426146020563},\n",
2831 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 328000),\n",
2832 " 'worker': 0,\n",
2833 " 'iteration': 10000,\n",
2834 " 'fitness': -15694.589651580845},\n",
2835 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 467000),\n",
2836 " 'worker': 2,\n",
2837 " 'iteration': 9500,\n",
2838 " 'fitness': -15490.089700212742},\n",
2839 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 661000),\n",
2840 " 'worker': 5,\n",
2841 " 'iteration': 10500,\n",
2842 " 'fitness': -15331.448882458491},\n",
2843 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 950000),\n",
2844 " 'worker': 8,\n",
2845 " 'iteration': 10500,\n",
2846 " 'fitness': -18254.79538782754},\n",
2847 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 54, 983000),\n",
2848 " 'worker': 1,\n",
2849 " 'iteration': 11500,\n",
2850 " 'fitness': -15453.810944913927},\n",
2851 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 215000),\n",
2852 " 'worker': 2,\n",
2853 " 'iteration': 10000,\n",
2854 " 'fitness': -15788.27615253343},\n",
2855 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 315000),\n",
2856 " 'worker': 6,\n",
2857 " 'iteration': 10000,\n",
2858 " 'fitness': -15387.352075338764},\n",
2859 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 345000),\n",
2860 " 'worker': 3,\n",
2861 " 'iteration': 9500,\n",
2862 " 'fitness': -16906.638018393314},\n",
2863 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 472000),\n",
2864 " 'worker': 9,\n",
2865 " 'iteration': 9500,\n",
2866 " 'fitness': -16910.471933948906},\n",
2867 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 502000),\n",
2868 " 'worker': 4,\n",
2869 " 'iteration': 9500,\n",
2870 " 'fitness': -15838.845009907493},\n",
2871 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 584000),\n",
2872 " 'worker': 7,\n",
2873 " 'iteration': 9500,\n",
2874 " 'fitness': -16236.663760999885},\n",
2875 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 608000),\n",
2876 " 'worker': 0,\n",
2877 " 'iteration': 10500,\n",
2878 " 'fitness': -15582.878773613726},\n",
2879 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 744000),\n",
2880 " 'worker': 1,\n",
2881 " 'iteration': 12000,\n",
2882 " 'fitness': -15857.712951845626},\n",
2883 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 963000),\n",
2884 " 'worker': 5,\n",
2885 " 'iteration': 11000,\n",
2886 " 'fitness': -15224.34418167227},\n",
2887 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 55, 990000),\n",
2888 " 'worker': 2,\n",
2889 " 'iteration': 10500,\n",
2890 " 'fitness': -15510.124537814698},\n",
2891 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 259000),\n",
2892 " 'worker': 8,\n",
2893 " 'iteration': 11000,\n",
2894 " 'fitness': -16684.797395049696},\n",
2895 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 509000),\n",
2896 " 'worker': 1,\n",
2897 " 'iteration': 12500,\n",
2898 " 'fitness': -15899.290135264084},\n",
2899 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 606000),\n",
2900 " 'worker': 6,\n",
2901 " 'iteration': 10500,\n",
2902 " 'fitness': -16982.897162746085},\n",
2903 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 643000),\n",
2904 " 'worker': 3,\n",
2905 " 'iteration': 10000,\n",
2906 " 'fitness': -15880.24335549858},\n",
2907 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 726000),\n",
2908 " 'worker': 2,\n",
2909 " 'iteration': 11000,\n",
2910 " 'fitness': -15618.302247103386},\n",
2911 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 769000),\n",
2912 " 'worker': 9,\n",
2913 " 'iteration': 10000,\n",
2914 " 'fitness': -15910.365820786265},\n",
2915 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 803000),\n",
2916 " 'worker': 4,\n",
2917 " 'iteration': 10000,\n",
2918 " 'fitness': -16076.436195135359},\n",
2919 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 886000),\n",
2920 " 'worker': 7,\n",
2921 " 'iteration': 10000,\n",
2922 " 'fitness': -15601.565064812852},\n",
2923 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 56, 900000),\n",
2924 " 'worker': 0,\n",
2925 " 'iteration': 11000,\n",
2926 " 'fitness': -15314.579171383004},\n",
2927 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 57, 250000),\n",
2928 " 'worker': 1,\n",
2929 " 'iteration': 13000,\n",
2930 " 'fitness': -15114.676681414347},\n",
2931 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 57, 252000),\n",
2932 " 'worker': 5,\n",
2933 " 'iteration': 11500,\n",
2934 " 'fitness': -15681.437564457789},\n",
2935 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 57, 554000),\n",
2936 " 'worker': 8,\n",
2937 " 'iteration': 11500,\n",
2938 " 'fitness': -16874.11729892052},\n",
2939 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 57, 651000),\n",
2940 " 'worker': 2,\n",
2941 " 'iteration': 11500,\n",
2942 " 'fitness': -15088.705999484571},\n",
2943 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 57, 926000),\n",
2944 " 'worker': 3,\n",
2945 " 'iteration': 10500,\n",
2946 " 'fitness': -15500.632495571637},\n",
2947 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 57, 931000),\n",
2948 " 'worker': 6,\n",
2949 " 'iteration': 11000,\n",
2950 " 'fitness': -16376.982856570163},\n",
2951 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 57, 990000),\n",
2952 " 'worker': 1,\n",
2953 " 'iteration': 13500,\n",
2954 " 'fitness': -14758.523310234728},\n",
2955 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 22000),\n",
2956 " 'worker': 5,\n",
2957 " 'iteration': 12000,\n",
2958 " 'fitness': -15581.876640395263},\n",
2959 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 53000),\n",
2960 " 'worker': 9,\n",
2961 " 'iteration': 10500,\n",
2962 " 'fitness': -15936.659326834395},\n",
2963 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 94000),\n",
2964 " 'worker': 4,\n",
2965 " 'iteration': 10500,\n",
2966 " 'fitness': -16394.41556159084},\n",
2967 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 179000),\n",
2968 " 'worker': 0,\n",
2969 " 'iteration': 11500,\n",
2970 " 'fitness': -14942.449992115211},\n",
2971 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 190000),\n",
2972 " 'worker': 7,\n",
2973 " 'iteration': 10500,\n",
2974 " 'fitness': -15356.809574891702},\n",
2975 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 748000),\n",
2976 " 'worker': 5,\n",
2977 " 'iteration': 12500,\n",
2978 " 'fitness': -15276.710353852186},\n",
2979 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 766000),\n",
2980 " 'worker': 1,\n",
2981 " 'iteration': 14000,\n",
2982 " 'fitness': -15162.08405060763},\n",
2983 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 854000),\n",
2984 " 'worker': 8,\n",
2985 " 'iteration': 12000,\n",
2986 " 'fitness': -15741.267175116936},\n",
2987 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 58, 946000),\n",
2988 " 'worker': 2,\n",
2989 " 'iteration': 12000,\n",
2990 " 'fitness': -15368.482505196353},\n",
2991 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 59, 221000),\n",
2992 " 'worker': 6,\n",
2993 " 'iteration': 11500,\n",
2994 " 'fitness': -15691.10227685781},\n",
2995 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 59, 222000),\n",
2996 " 'worker': 3,\n",
2997 " 'iteration': 11000,\n",
2998 " 'fitness': -15197.534159786483},\n",
2999 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 59, 346000),\n",
3000 " 'worker': 9,\n",
3001 " 'iteration': 11000,\n",
3002 " 'fitness': -15246.633563963847},\n",
3003 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 59, 391000),\n",
3004 " 'worker': 4,\n",
3005 " 'iteration': 11000,\n",
3006 " 'fitness': -15207.373029629109},\n",
3007 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 59, 467000),\n",
3008 " 'worker': 0,\n",
3009 " 'iteration': 12000,\n",
3010 " 'fitness': -15471.335261220765},\n",
3011 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 59, 488000),\n",
3012 " 'worker': 7,\n",
3013 " 'iteration': 11000,\n",
3014 " 'fitness': -15123.146456093333},\n",
3015 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 59, 495000),\n",
3016 " 'worker': 5,\n",
3017 " 'iteration': 13000,\n",
3018 " 'fitness': -15369.523244430631},\n",
3019 " {'time': datetime.datetime(2018, 12, 5, 19, 32, 59, 496000),\n",
3020 " 'worker': 1,\n",
3021 " 'iteration': 14500,\n",
3022 " 'fitness': -14703.30465175159},\n",
3023 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 141000),\n",
3024 " 'worker': 8,\n",
3025 " 'iteration': 12500,\n",
3026 " 'fitness': -15978.29558113683},\n",
3027 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 202000),\n",
3028 " 'worker': 5,\n",
3029 " 'iteration': 13500,\n",
3030 " 'fitness': -15210.248129074906},\n",
3031 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 228000),\n",
3032 " 'worker': 2,\n",
3033 " 'iteration': 12500,\n",
3034 " 'fitness': -15070.932598973135},\n",
3035 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 236000),\n",
3036 " 'worker': 1,\n",
3037 " 'iteration': 15000,\n",
3038 " 'fitness': -14696.82992865629},\n",
3039 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 501000),\n",
3040 " 'worker': 3,\n",
3041 " 'iteration': 11500,\n",
3042 " 'fitness': -15417.87854337438},\n",
3043 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 513000),\n",
3044 " 'worker': 6,\n",
3045 " 'iteration': 12000,\n",
3046 " 'fitness': -15497.453865796844},\n",
3047 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 622000),\n",
3048 " 'worker': 9,\n",
3049 " 'iteration': 11500,\n",
3050 " 'fitness': -15256.022958715765},\n",
3051 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 674000),\n",
3052 " 'worker': 4,\n",
3053 " 'iteration': 11500,\n",
3054 " 'fitness': -15448.106606929205},\n",
3055 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 743000),\n",
3056 " 'worker': 0,\n",
3057 " 'iteration': 12500,\n",
3058 " 'fitness': -14977.106397283767},\n",
3059 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 775000),\n",
3060 " 'worker': 7,\n",
3061 " 'iteration': 11500,\n",
3062 " 'fitness': -16115.80710224294},\n",
3063 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 945000),\n",
3064 " 'worker': 1,\n",
3065 " 'iteration': 15500,\n",
3066 " 'fitness': -14753.192978629439},\n",
3067 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 0, 951000),\n",
3068 " 'worker': 5,\n",
3069 " 'iteration': 14000,\n",
3070 " 'fitness': -14993.717806464269},\n",
3071 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 1, 441000),\n",
3072 " 'worker': 8,\n",
3073 " 'iteration': 13000,\n",
3074 " 'fitness': -15566.600288230786},\n",
3075 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 1, 518000),\n",
3076 " 'worker': 2,\n",
3077 " 'iteration': 13000,\n",
3078 " 'fitness': -15120.200192040631},\n",
3079 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 1, 685000),\n",
3080 " 'worker': 4,\n",
3081 " 'iteration': 12000,\n",
3082 " 'fitness': -14893.816656932617},\n",
3083 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 1, 698000),\n",
3084 " 'worker': 1,\n",
3085 " 'iteration': 16000,\n",
3086 " 'fitness': -14698.864981580778},\n",
3087 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 1, 797000),\n",
3088 " 'worker': 3,\n",
3089 " 'iteration': 12000,\n",
3090 " 'fitness': -15697.580890996342},\n",
3091 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 1, 806000),\n",
3092 " 'worker': 6,\n",
3093 " 'iteration': 12500,\n",
3094 " 'fitness': -15437.324954281872},\n",
3095 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 1, 923000),\n",
3096 " 'worker': 9,\n",
3097 " 'iteration': 12000,\n",
3098 " 'fitness': -14985.884198039563},\n",
3099 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 2, 33000),\n",
3100 " 'worker': 0,\n",
3101 " 'iteration': 13000,\n",
3102 " 'fitness': -14954.236485580337},\n",
3103 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 2, 45000),\n",
3104 " 'worker': 5,\n",
3105 " 'iteration': 14500,\n",
3106 " 'fitness': -14798.207889316744},\n",
3107 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 2, 79000),\n",
3108 " 'worker': 7,\n",
3109 " 'iteration': 12000,\n",
3110 " 'fitness': -15218.980965385977},\n",
3111 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 2, 720000),\n",
3112 " 'worker': 8,\n",
3113 " 'iteration': 13500,\n",
3114 " 'fitness': -15307.30604779866},\n",
3115 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 2, 750000),\n",
3116 " 'worker': 1,\n",
3117 " 'iteration': 16500,\n",
3118 " 'fitness': -14772.059055189866},\n",
3119 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 2, 810000),\n",
3120 " 'worker': 2,\n",
3121 " 'iteration': 13500,\n",
3122 " 'fitness': -15509.930069578795},\n",
3123 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 2, 842000),\n",
3124 " 'worker': 4,\n",
3125 " 'iteration': 12500,\n",
3126 " 'fitness': -15078.39977289335},\n",
3127 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 3, 83000),\n",
3128 " 'worker': 3,\n",
3129 " 'iteration': 12500,\n",
3130 " 'fitness': -15258.335326596824},\n",
3131 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 3, 119000),\n",
3132 " 'worker': 6,\n",
3133 " 'iteration': 13000,\n",
3134 " 'fitness': -14848.550016511359},\n",
3135 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 3, 218000),\n",
3136 " 'worker': 9,\n",
3137 " 'iteration': 12500,\n",
3138 " 'fitness': -14689.84155926745},\n",
3139 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 3, 314000),\n",
3140 " 'worker': 0,\n",
3141 " 'iteration': 13500,\n",
3142 " 'fitness': -14762.142170684896},\n",
3143 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 3, 350000),\n",
3144 " 'worker': 5,\n",
3145 " 'iteration': 15000,\n",
3146 " 'fitness': -14696.82992865629},\n",
3147 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 3, 376000),\n",
3148 " 'worker': 7,\n",
3149 " 'iteration': 12500,\n",
3150 " 'fitness': -15026.934771143106},\n",
3151 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 19000),\n",
3152 " 'worker': 8,\n",
3153 " 'iteration': 14000,\n",
3154 " 'fitness': -14689.84155926745},\n",
3155 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 39000),\n",
3156 " 'worker': 1,\n",
3157 " 'iteration': 17000,\n",
3158 " 'fitness': -14681.308607565503},\n",
3159 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 104000),\n",
3160 " 'worker': 2,\n",
3161 " 'iteration': 14000,\n",
3162 " 'fitness': -14689.84155926745},\n",
3163 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 139000),\n",
3164 " 'worker': 4,\n",
3165 " 'iteration': 13000,\n",
3166 " 'fitness': -14909.800865024245},\n",
3167 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 378000),\n",
3168 " 'worker': 3,\n",
3169 " 'iteration': 13000,\n",
3170 " 'fitness': -15115.91350339263},\n",
3171 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 400000),\n",
3172 " 'worker': 6,\n",
3173 " 'iteration': 13500,\n",
3174 " 'fitness': -15039.58557529451},\n",
3175 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 515000),\n",
3176 " 'worker': 9,\n",
3177 " 'iteration': 13000,\n",
3178 " 'fitness': -14822.625860493024},\n",
3179 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 605000),\n",
3180 " 'worker': 0,\n",
3181 " 'iteration': 14000,\n",
3182 " 'fitness': -14932.523831654122},\n",
3183 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 638000),\n",
3184 " 'worker': 5,\n",
3185 " 'iteration': 15500,\n",
3186 " 'fitness': -14689.84155926745},\n",
3187 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 4, 681000),\n",
3188 " 'worker': 7,\n",
3189 " 'iteration': 13000,\n",
3190 " 'fitness': -15166.683262976208},\n",
3191 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 311000),\n",
3192 " 'worker': 8,\n",
3193 " 'iteration': 14500,\n",
3194 " 'fitness': -14696.82992865629},\n",
3195 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 320000),\n",
3196 " 'worker': 1,\n",
3197 " 'iteration': 17500,\n",
3198 " 'fitness': -14681.308607565503},\n",
3199 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 394000),\n",
3200 " 'worker': 2,\n",
3201 " 'iteration': 14500,\n",
3202 " 'fitness': -14698.864981580778},\n",
3203 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 439000),\n",
3204 " 'worker': 4,\n",
3205 " 'iteration': 13500,\n",
3206 " 'fitness': -15057.5152032743},\n",
3207 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 634000),\n",
3208 " 'worker': 9,\n",
3209 " 'iteration': 13500,\n",
3210 " 'fitness': -15013.715132067427},\n",
3211 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 663000),\n",
3212 " 'worker': 3,\n",
3213 " 'iteration': 13500,\n",
3214 " 'fitness': -14759.146412767077},\n",
3215 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 698000),\n",
3216 " 'worker': 5,\n",
3217 " 'iteration': 16000,\n",
3218 " 'fitness': -14689.84155926745},\n",
3219 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 705000),\n",
3220 " 'worker': 6,\n",
3221 " 'iteration': 14000,\n",
3222 " 'fitness': -14873.687469365803},\n",
3223 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 896000),\n",
3224 " 'worker': 0,\n",
3225 " 'iteration': 14500,\n",
3226 " 'fitness': -14978.652512051753},\n",
3227 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 5, 996000),\n",
3228 " 'worker': 7,\n",
3229 " 'iteration': 13500,\n",
3230 " 'fitness': -15395.233923017795},\n",
3231 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 6, 517000),\n",
3232 " 'worker': 9,\n",
3233 " 'iteration': 14000,\n",
3234 " 'fitness': -14797.257897943533},\n",
3235 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 6, 575000),\n",
3236 " 'worker': 5,\n",
3237 " 'iteration': 16500,\n",
3238 " 'fitness': -14681.308607565503},\n",
3239 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 6, 611000),\n",
3240 " 'worker': 8,\n",
3241 " 'iteration': 15000,\n",
3242 " 'fitness': -14698.864981580778},\n",
3243 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 6, 613000),\n",
3244 " 'worker': 1,\n",
3245 " 'iteration': 18000,\n",
3246 " 'fitness': -14681.308607565503},\n",
3247 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 6, 691000),\n",
3248 " 'worker': 2,\n",
3249 " 'iteration': 15000,\n",
3250 " 'fitness': -14784.610965075099},\n",
3251 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 6, 741000),\n",
3252 " 'worker': 4,\n",
3253 " 'iteration': 14000,\n",
3254 " 'fitness': -15147.438375322876},\n",
3255 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 6, 960000),\n",
3256 " 'worker': 3,\n",
3257 " 'iteration': 14000,\n",
3258 " 'fitness': -14964.296601131206},\n",
3259 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 6, 994000),\n",
3260 " 'worker': 6,\n",
3261 " 'iteration': 14500,\n",
3262 " 'fitness': -14805.06948647775},\n",
3263 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 7, 272000),\n",
3264 " 'worker': 0,\n",
3265 " 'iteration': 15000,\n",
3266 " 'fitness': -15018.371309111777},\n",
3267 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 7, 322000),\n",
3268 " 'worker': 7,\n",
3269 " 'iteration': 14000,\n",
3270 " 'fitness': -14939.804035587642},\n",
3271 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 7, 476000),\n",
3272 " 'worker': 9,\n",
3273 " 'iteration': 14500,\n",
3274 " 'fitness': -14895.606254501257},\n",
3275 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 7, 808000),\n",
3276 " 'worker': 5,\n",
3277 " 'iteration': 17000,\n",
3278 " 'fitness': -14700.923210187424},\n",
3279 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 7, 898000),\n",
3280 " 'worker': 1,\n",
3281 " 'iteration': 18500,\n",
3282 " 'fitness': -14681.308607565503},\n",
3283 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 7, 902000),\n",
3284 " 'worker': 8,\n",
3285 " 'iteration': 15500,\n",
3286 " 'fitness': -14958.4987562011},\n",
3287 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 7, 981000),\n",
3288 " 'worker': 2,\n",
3289 " 'iteration': 15500,\n",
3290 " 'fitness': -14766.30773587518},\n",
3291 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 8, 40000),\n",
3292 " 'worker': 4,\n",
3293 " 'iteration': 14500,\n",
3294 " 'fitness': -15076.754837130193},\n",
3295 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 8, 103000),\n",
3296 " 'worker': 7,\n",
3297 " 'iteration': 14500,\n",
3298 " 'fitness': -14912.056192855927},\n",
3299 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 8, 280000),\n",
3300 " 'worker': 3,\n",
3301 " 'iteration': 14500,\n",
3302 " 'fitness': -14767.679364469022},\n",
3303 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 8, 288000),\n",
3304 " 'worker': 9,\n",
3305 " 'iteration': 15000,\n",
3306 " 'fitness': -14986.75304537988},\n",
3307 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 8, 296000),\n",
3308 " 'worker': 6,\n",
3309 " 'iteration': 15000,\n",
3310 " 'fitness': -14964.408288222712},\n",
3311 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 8, 554000),\n",
3312 " 'worker': 0,\n",
3313 " 'iteration': 15500,\n",
3314 " 'fitness': -14986.892588150418},\n",
3315 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 24000),\n",
3316 " 'worker': 7,\n",
3317 " 'iteration': 15000,\n",
3318 " 'fitness': -14698.864981580778},\n",
3319 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 99000),\n",
3320 " 'worker': 5,\n",
3321 " 'iteration': 17500,\n",
3322 " 'fitness': -14681.308607565503},\n",
3323 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 165000),\n",
3324 " 'worker': 9,\n",
3325 " 'iteration': 15500,\n",
3326 " 'fitness': -14696.82992865629},\n",
3327 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 190000),\n",
3328 " 'worker': 1,\n",
3329 " 'iteration': 19000,\n",
3330 " 'fitness': -14681.308607565503},\n",
3331 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 203000),\n",
3332 " 'worker': 8,\n",
3333 " 'iteration': 16000,\n",
3334 " 'fitness': -14698.864981580778},\n",
3335 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 279000),\n",
3336 " 'worker': 2,\n",
3337 " 'iteration': 16000,\n",
3338 " 'fitness': -14761.868065704366},\n",
3339 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 340000),\n",
3340 " 'worker': 4,\n",
3341 " 'iteration': 15000,\n",
3342 " 'fitness': -14877.657337982304},\n",
3343 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 582000),\n",
3344 " 'worker': 3,\n",
3345 " 'iteration': 15000,\n",
3346 " 'fitness': -14739.612188053427},\n",
3347 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 585000),\n",
3348 " 'worker': 6,\n",
3349 " 'iteration': 15500,\n",
3350 " 'fitness': -14991.71033865808},\n",
3351 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 849000),\n",
3352 " 'worker': 0,\n",
3353 " 'iteration': 16000,\n",
3354 " 'fitness': -14698.864981580778},\n",
3355 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 864000),\n",
3356 " 'worker': 7,\n",
3357 " 'iteration': 15500,\n",
3358 " 'fitness': -14700.923210187424},\n",
3359 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 9, 995000),\n",
3360 " 'worker': 9,\n",
3361 " 'iteration': 16000,\n",
3362 " 'fitness': -14681.308607565503},\n",
3363 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 395000),\n",
3364 " 'worker': 5,\n",
3365 " 'iteration': 18000,\n",
3366 " 'fitness': -14681.308607565503},\n",
3367 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 485000),\n",
3368 " 'worker': 1,\n",
3369 " 'iteration': 19500,\n",
3370 " 'fitness': -14681.308607565503},\n",
3371 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 501000),\n",
3372 " 'worker': 8,\n",
3373 " 'iteration': 16500,\n",
3374 " 'fitness': -14766.30773587518},\n",
3375 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 563000),\n",
3376 " 'worker': 2,\n",
3377 " 'iteration': 16500,\n",
3378 " 'fitness': -14771.903569422147},\n",
3379 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 619000),\n",
3380 " 'worker': 7,\n",
3381 " 'iteration': 16000,\n",
3382 " 'fitness': -14919.68053225613},\n",
3383 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 626000),\n",
3384 " 'worker': 4,\n",
3385 " 'iteration': 15500,\n",
3386 " 'fitness': -14689.84155926745},\n",
3387 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 743000),\n",
3388 " 'worker': 9,\n",
3389 " 'iteration': 16500,\n",
3390 " 'fitness': -14681.308607565503},\n",
3391 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 869000),\n",
3392 " 'worker': 3,\n",
3393 " 'iteration': 15500,\n",
3394 " 'fitness': -14797.42321524005},\n",
3395 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 10, 877000),\n",
3396 " 'worker': 6,\n",
3397 " 'iteration': 16000,\n",
3398 " 'fitness': -14689.84155926745},\n",
3399 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 11, 122000),\n",
3400 " 'worker': 0,\n",
3401 " 'iteration': 16500,\n",
3402 " 'fitness': -14681.308607565503},\n",
3403 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 11, 485000),\n",
3404 " 'worker': 5,\n",
3405 " 'iteration': 18500,\n",
3406 " 'fitness': -14681.308607565503},\n",
3407 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 11, 491000),\n",
3408 " 'worker': 7,\n",
3409 " 'iteration': 16500,\n",
3410 " 'fitness': -14808.607142582212},\n",
3411 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 11, 510000),\n",
3412 " 'worker': 9,\n",
3413 " 'iteration': 17000,\n",
3414 " 'fitness': -14689.84155926745},\n",
3415 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 11, 792000),\n",
3416 " 'worker': 8,\n",
3417 " 'iteration': 17000,\n",
3418 " 'fitness': -14700.923210187424},\n",
3419 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 11, 849000),\n",
3420 " 'worker': 2,\n",
3421 " 'iteration': 17000,\n",
3422 " 'fitness': -14689.84155926745},\n",
3423 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 11, 917000),\n",
3424 " 'worker': 4,\n",
3425 " 'iteration': 16000,\n",
3426 " 'fitness': -14696.82992865629},\n",
3427 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 12, 155000),\n",
3428 " 'worker': 6,\n",
3429 " 'iteration': 16500,\n",
3430 " 'fitness': -14681.308607565503},\n",
3431 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 12, 163000),\n",
3432 " 'worker': 3,\n",
3433 " 'iteration': 16000,\n",
3434 " 'fitness': -14698.864981580778},\n",
3435 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 12, 254000),\n",
3436 " 'worker': 9,\n",
3437 " 'iteration': 17500,\n",
3438 " 'fitness': -14700.923210187424},\n",
3439 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 12, 409000),\n",
3440 " 'worker': 0,\n",
3441 " 'iteration': 17000,\n",
3442 " 'fitness': -14696.82992865629},\n",
3443 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 12, 447000),\n",
3444 " 'worker': 5,\n",
3445 " 'iteration': 19000,\n",
3446 " 'fitness': -14681.308607565503},\n",
3447 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 12, 748000),\n",
3448 " 'worker': 8,\n",
3449 " 'iteration': 17500,\n",
3450 " 'fitness': -14703.30465175159},\n",
3451 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 12, 794000),\n",
3452 " 'worker': 7,\n",
3453 " 'iteration': 17000,\n",
3454 " 'fitness': -14698.864981580778},\n",
3455 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 67000),\n",
3456 " 'worker': 9,\n",
3457 " 'iteration': 18000,\n",
3458 " 'fitness': -14681.308607565503},\n",
3459 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 135000),\n",
3460 " 'worker': 2,\n",
3461 " 'iteration': 17500,\n",
3462 " 'fitness': -14689.84155926745},\n",
3463 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 204000),\n",
3464 " 'worker': 4,\n",
3465 " 'iteration': 16500,\n",
3466 " 'fitness': -14703.30465175159},\n",
3467 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 430000),\n",
3468 " 'worker': 5,\n",
3469 " 'iteration': 19500,\n",
3470 " 'fitness': -14681.308607565503},\n",
3471 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 452000),\n",
3472 " 'worker': 6,\n",
3473 " 'iteration': 17000,\n",
3474 " 'fitness': -14700.923210187424},\n",
3475 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 452000),\n",
3476 " 'worker': 3,\n",
3477 " 'iteration': 16500,\n",
3478 " 'fitness': -14681.308607565503},\n",
3479 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 559000),\n",
3480 " 'worker': 8,\n",
3481 " 'iteration': 18000,\n",
3482 " 'fitness': -14681.308607565503},\n",
3483 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 691000),\n",
3484 " 'worker': 0,\n",
3485 " 'iteration': 17500,\n",
3486 " 'fitness': -14681.308607565503},\n",
3487 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 13, 918000),\n",
3488 " 'worker': 9,\n",
3489 " 'iteration': 18500,\n",
3490 " 'fitness': -14681.308607565503},\n",
3491 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 14, 81000),\n",
3492 " 'worker': 7,\n",
3493 " 'iteration': 17500,\n",
3494 " 'fitness': -14681.308607565503},\n",
3495 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 14, 345000),\n",
3496 " 'worker': 8,\n",
3497 " 'iteration': 18500,\n",
3498 " 'fitness': -14681.308607565503},\n",
3499 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 14, 429000),\n",
3500 " 'worker': 2,\n",
3501 " 'iteration': 18000,\n",
3502 " 'fitness': -14681.308607565503},\n",
3503 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 14, 502000),\n",
3504 " 'worker': 4,\n",
3505 " 'iteration': 17000,\n",
3506 " 'fitness': -14703.30465175159},\n",
3507 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 14, 660000),\n",
3508 " 'worker': 9,\n",
3509 " 'iteration': 19000,\n",
3510 " 'fitness': -14681.308607565503},\n",
3511 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 14, 731000),\n",
3512 " 'worker': 6,\n",
3513 " 'iteration': 17500,\n",
3514 " 'fitness': -14681.308607565503},\n",
3515 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 14, 743000),\n",
3516 " 'worker': 3,\n",
3517 " 'iteration': 17000,\n",
3518 " 'fitness': -14698.864981580778},\n",
3519 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 14, 976000),\n",
3520 " 'worker': 0,\n",
3521 " 'iteration': 18000,\n",
3522 " 'fitness': -14681.308607565503},\n",
3523 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 15, 20000),\n",
3524 " 'worker': 8,\n",
3525 " 'iteration': 19000,\n",
3526 " 'fitness': -14681.308607565503},\n",
3527 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 15, 356000),\n",
3528 " 'worker': 9,\n",
3529 " 'iteration': 19500,\n",
3530 " 'fitness': -14681.308607565503},\n",
3531 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 15, 373000),\n",
3532 " 'worker': 7,\n",
3533 " 'iteration': 18000,\n",
3534 " 'fitness': -14689.84155926745},\n",
3535 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 15, 448000),\n",
3536 " 'worker': 2,\n",
3537 " 'iteration': 18500,\n",
3538 " 'fitness': -14681.308607565503},\n",
3539 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 15, 596000),\n",
3540 " 'worker': 6,\n",
3541 " 'iteration': 18000,\n",
3542 " 'fitness': -14696.82992865629},\n",
3543 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 15, 695000),\n",
3544 " 'worker': 8,\n",
3545 " 'iteration': 19500,\n",
3546 " 'fitness': -14681.308607565503},\n",
3547 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 15, 778000),\n",
3548 " 'worker': 4,\n",
3549 " 'iteration': 17500,\n",
3550 " 'fitness': -14703.30465175159},\n",
3551 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 16000),\n",
3552 " 'worker': 3,\n",
3553 " 'iteration': 17500,\n",
3554 " 'fitness': -14681.308607565503},\n",
3555 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 128000),\n",
3556 " 'worker': 2,\n",
3557 " 'iteration': 19000,\n",
3558 " 'fitness': -14681.308607565503},\n",
3559 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 248000),\n",
3560 " 'worker': 0,\n",
3561 " 'iteration': 18500,\n",
3562 " 'fitness': -14681.308607565503},\n",
3563 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 274000),\n",
3564 " 'worker': 6,\n",
3565 " 'iteration': 18500,\n",
3566 " 'fitness': -14681.308607565503},\n",
3567 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 532000),\n",
3568 " 'worker': 7,\n",
3569 " 'iteration': 18500,\n",
3570 " 'fitness': -14689.84155926745},\n",
3571 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 662000),\n",
3572 " 'worker': 4,\n",
3573 " 'iteration': 18000,\n",
3574 " 'fitness': -14681.308607565503},\n",
3575 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 786000),\n",
3576 " 'worker': 2,\n",
3577 " 'iteration': 19500,\n",
3578 " 'fitness': -14681.308607565503},\n",
3579 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 868000),\n",
3580 " 'worker': 3,\n",
3581 " 'iteration': 18000,\n",
3582 " 'fitness': -14681.308607565503},\n",
3583 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 909000),\n",
3584 " 'worker': 0,\n",
3585 " 'iteration': 19000,\n",
3586 " 'fitness': -14681.308607565503},\n",
3587 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 16, 947000),\n",
3588 " 'worker': 6,\n",
3589 " 'iteration': 19000,\n",
3590 " 'fitness': -14681.308607565503},\n",
3591 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 17, 231000),\n",
3592 " 'worker': 7,\n",
3593 " 'iteration': 19000,\n",
3594 " 'fitness': -14681.308607565503},\n",
3595 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 17, 320000),\n",
3596 " 'worker': 4,\n",
3597 " 'iteration': 18500,\n",
3598 " 'fitness': -14681.308607565503},\n",
3599 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 17, 524000),\n",
3600 " 'worker': 3,\n",
3601 " 'iteration': 18500,\n",
3602 " 'fitness': -14681.308607565503},\n",
3603 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 17, 581000),\n",
3604 " 'worker': 0,\n",
3605 " 'iteration': 19500,\n",
3606 " 'fitness': -14681.308607565503},\n",
3607 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 17, 605000),\n",
3608 " 'worker': 6,\n",
3609 " 'iteration': 19500,\n",
3610 " 'fitness': -14681.308607565503},\n",
3611 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 17, 878000),\n",
3612 " 'worker': 7,\n",
3613 " 'iteration': 19500,\n",
3614 " 'fitness': -14681.308607565503},\n",
3615 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 17, 996000),\n",
3616 " 'worker': 4,\n",
3617 " 'iteration': 19000,\n",
3618 " 'fitness': -14681.308607565503},\n",
3619 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 18, 173000),\n",
3620 " 'worker': 3,\n",
3621 " 'iteration': 19000,\n",
3622 " 'fitness': -14681.308607565503},\n",
3623 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 18, 642000),\n",
3624 " 'worker': 4,\n",
3625 " 'iteration': 19500,\n",
3626 " 'fitness': -14681.308607565503},\n",
3627 " {'time': datetime.datetime(2018, 12, 5, 19, 33, 18, 817000),\n",
3628 " 'worker': 3,\n",
3629 " 'iteration': 19500,\n",
3630 " 'fitness': -14681.308607565503}]"
3631 ]
3632 },
3633 "execution_count": 47,
3634 "metadata": {},
3635 "output_type": "execute_result"
3636 }
3637 ],
3638 "source": [
3639 "parsed = [log_parse(line) for line in open('cipher.log')]\n",
3640 "parsed[10:]"
3641 ]
3642 },
3643 {
3644 "cell_type": "code",
3645 "execution_count": 56,
3646 "metadata": {
3647 "scrolled": true
3648 },
3649 "outputs": [
3650 {
3651 "data": {
3652 "text/html": [
3653 "<div>\n",
3654 "<style scoped>\n",
3655 " .dataframe tbody tr th:only-of-type {\n",
3656 " vertical-align: middle;\n",
3657 " }\n",
3658 "\n",
3659 " .dataframe tbody tr th {\n",
3660 " vertical-align: top;\n",
3661 " }\n",
3662 "\n",
3663 " .dataframe thead th {\n",
3664 " text-align: right;\n",
3665 " }\n",
3666 "</style>\n",
3667 "<table border=\"1\" class=\"dataframe\">\n",
3668 " <thead>\n",
3669 " <tr style=\"text-align: right;\">\n",
3670 " <th></th>\n",
3671 " <th></th>\n",
3672 " <th>fitness</th>\n",
3673 " <th>time</th>\n",
3674 " </tr>\n",
3675 " <tr>\n",
3676 " <th>worker</th>\n",
3677 " <th>iteration</th>\n",
3678 " <th></th>\n",
3679 " <th></th>\n",
3680 " </tr>\n",
3681 " </thead>\n",
3682 " <tbody>\n",
3683 " <tr>\n",
3684 " <th rowspan=\"30\" valign=\"top\">0</th>\n",
3685 " <th>0</th>\n",
3686 " <td>-17464.568517</td>\n",
3687 " <td>2018-12-05 19:32:30.307</td>\n",
3688 " </tr>\n",
3689 " <tr>\n",
3690 " <th>500</th>\n",
3691 " <td>-19456.419361</td>\n",
3692 " <td>2018-12-05 19:32:31.653</td>\n",
3693 " </tr>\n",
3694 " <tr>\n",
3695 " <th>1000</th>\n",
3696 " <td>-19192.661068</td>\n",
3697 " <td>2018-12-05 19:32:32.663</td>\n",
3698 " </tr>\n",
3699 " <tr>\n",
3700 " <th>1500</th>\n",
3701 " <td>-21362.030854</td>\n",
3702 " <td>2018-12-05 19:32:33.684</td>\n",
3703 " </tr>\n",
3704 " <tr>\n",
3705 " <th>2000</th>\n",
3706 " <td>-19439.674465</td>\n",
3707 " <td>2018-12-05 19:32:35.103</td>\n",
3708 " </tr>\n",
3709 " <tr>\n",
3710 " <th>2500</th>\n",
3711 " <td>-19494.922209</td>\n",
3712 " <td>2018-12-05 19:32:36.676</td>\n",
3713 " </tr>\n",
3714 " <tr>\n",
3715 " <th>3000</th>\n",
3716 " <td>-19409.258504</td>\n",
3717 " <td>2018-12-05 19:32:37.862</td>\n",
3718 " </tr>\n",
3719 " <tr>\n",
3720 " <th>3500</th>\n",
3721 " <td>-19375.464977</td>\n",
3722 " <td>2018-12-05 19:32:39.191</td>\n",
3723 " </tr>\n",
3724 " <tr>\n",
3725 " <th>4000</th>\n",
3726 " <td>-18553.631818</td>\n",
3727 " <td>2018-12-05 19:32:40.468</td>\n",
3728 " </tr>\n",
3729 " <tr>\n",
3730 " <th>4500</th>\n",
3731 " <td>-18842.347858</td>\n",
3732 " <td>2018-12-05 19:32:41.331</td>\n",
3733 " </tr>\n",
3734 " <tr>\n",
3735 " <th>5000</th>\n",
3736 " <td>-19347.171865</td>\n",
3737 " <td>2018-12-05 19:32:42.396</td>\n",
3738 " </tr>\n",
3739 " <tr>\n",
3740 " <th>5500</th>\n",
3741 " <td>-18460.352808</td>\n",
3742 " <td>2018-12-05 19:32:43.163</td>\n",
3743 " </tr>\n",
3744 " <tr>\n",
3745 " <th>6000</th>\n",
3746 " <td>-18814.968213</td>\n",
3747 " <td>2018-12-05 19:32:43.981</td>\n",
3748 " </tr>\n",
3749 " <tr>\n",
3750 " <th>6500</th>\n",
3751 " <td>-18298.223867</td>\n",
3752 " <td>2018-12-05 19:32:45.198</td>\n",
3753 " </tr>\n",
3754 " <tr>\n",
3755 " <th>7000</th>\n",
3756 " <td>-17555.991450</td>\n",
3757 " <td>2018-12-05 19:32:46.534</td>\n",
3758 " </tr>\n",
3759 " <tr>\n",
3760 " <th>7500</th>\n",
3761 " <td>-17280.010163</td>\n",
3762 " <td>2018-12-05 19:32:47.825</td>\n",
3763 " </tr>\n",
3764 " <tr>\n",
3765 " <th>8000</th>\n",
3766 " <td>-17208.764191</td>\n",
3767 " <td>2018-12-05 19:32:49.129</td>\n",
3768 " </tr>\n",
3769 " <tr>\n",
3770 " <th>8500</th>\n",
3771 " <td>-17048.836850</td>\n",
3772 " <td>2018-12-05 19:32:50.419</td>\n",
3773 " </tr>\n",
3774 " <tr>\n",
3775 " <th>9000</th>\n",
3776 " <td>-17309.885703</td>\n",
3777 " <td>2018-12-05 19:32:51.718</td>\n",
3778 " </tr>\n",
3779 " <tr>\n",
3780 " <th>9500</th>\n",
3781 " <td>-15935.254778</td>\n",
3782 " <td>2018-12-05 19:32:53.030</td>\n",
3783 " </tr>\n",
3784 " <tr>\n",
3785 " <th>10000</th>\n",
3786 " <td>-15694.589652</td>\n",
3787 " <td>2018-12-05 19:32:54.328</td>\n",
3788 " </tr>\n",
3789 " <tr>\n",
3790 " <th>10500</th>\n",
3791 " <td>-15582.878774</td>\n",
3792 " <td>2018-12-05 19:32:55.608</td>\n",
3793 " </tr>\n",
3794 " <tr>\n",
3795 " <th>11000</th>\n",
3796 " <td>-15314.579171</td>\n",
3797 " <td>2018-12-05 19:32:56.900</td>\n",
3798 " </tr>\n",
3799 " <tr>\n",
3800 " <th>11500</th>\n",
3801 " <td>-14942.449992</td>\n",
3802 " <td>2018-12-05 19:32:58.179</td>\n",
3803 " </tr>\n",
3804 " <tr>\n",
3805 " <th>12000</th>\n",
3806 " <td>-15471.335261</td>\n",
3807 " <td>2018-12-05 19:32:59.467</td>\n",
3808 " </tr>\n",
3809 " <tr>\n",
3810 " <th>12500</th>\n",
3811 " <td>-14977.106397</td>\n",
3812 " <td>2018-12-05 19:33:00.743</td>\n",
3813 " </tr>\n",
3814 " <tr>\n",
3815 " <th>13000</th>\n",
3816 " <td>-14954.236486</td>\n",
3817 " <td>2018-12-05 19:33:02.033</td>\n",
3818 " </tr>\n",
3819 " <tr>\n",
3820 " <th>13500</th>\n",
3821 " <td>-14762.142171</td>\n",
3822 " <td>2018-12-05 19:33:03.314</td>\n",
3823 " </tr>\n",
3824 " <tr>\n",
3825 " <th>14000</th>\n",
3826 " <td>-14932.523832</td>\n",
3827 " <td>2018-12-05 19:33:04.605</td>\n",
3828 " </tr>\n",
3829 " <tr>\n",
3830 " <th>14500</th>\n",
3831 " <td>-14978.652512</td>\n",
3832 " <td>2018-12-05 19:33:05.896</td>\n",
3833 " </tr>\n",
3834 " <tr>\n",
3835 " <th>...</th>\n",
3836 " <th>...</th>\n",
3837 " <td>...</td>\n",
3838 " <td>...</td>\n",
3839 " </tr>\n",
3840 " <tr>\n",
3841 " <th rowspan=\"30\" valign=\"top\">9</th>\n",
3842 " <th>5000</th>\n",
3843 " <td>-19310.352956</td>\n",
3844 " <td>2018-12-05 19:32:43.791</td>\n",
3845 " </tr>\n",
3846 " <tr>\n",
3847 " <th>5500</th>\n",
3848 " <td>-17503.410891</td>\n",
3849 " <td>2018-12-05 19:32:45.106</td>\n",
3850 " </tr>\n",
3851 " <tr>\n",
3852 " <th>6000</th>\n",
3853 " <td>-17163.013191</td>\n",
3854 " <td>2018-12-05 19:32:46.422</td>\n",
3855 " </tr>\n",
3856 " <tr>\n",
3857 " <th>6500</th>\n",
3858 " <td>-16941.399877</td>\n",
3859 " <td>2018-12-05 19:32:47.714</td>\n",
3860 " </tr>\n",
3861 " <tr>\n",
3862 " <th>7000</th>\n",
3863 " <td>-16395.145359</td>\n",
3864 " <td>2018-12-05 19:32:49.016</td>\n",
3865 " </tr>\n",
3866 " <tr>\n",
3867 " <th>7500</th>\n",
3868 " <td>-16250.722026</td>\n",
3869 " <td>2018-12-05 19:32:50.303</td>\n",
3870 " </tr>\n",
3871 " <tr>\n",
3872 " <th>8000</th>\n",
3873 " <td>-16750.905526</td>\n",
3874 " <td>2018-12-05 19:32:51.601</td>\n",
3875 " </tr>\n",
3876 " <tr>\n",
3877 " <th>8500</th>\n",
3878 " <td>-17732.539610</td>\n",
3879 " <td>2018-12-05 19:32:52.890</td>\n",
3880 " </tr>\n",
3881 " <tr>\n",
3882 " <th>9000</th>\n",
3883 " <td>-16435.368812</td>\n",
3884 " <td>2018-12-05 19:32:54.188</td>\n",
3885 " </tr>\n",
3886 " <tr>\n",
3887 " <th>9500</th>\n",
3888 " <td>-16910.471934</td>\n",
3889 " <td>2018-12-05 19:32:55.472</td>\n",
3890 " </tr>\n",
3891 " <tr>\n",
3892 " <th>10000</th>\n",
3893 " <td>-15910.365821</td>\n",
3894 " <td>2018-12-05 19:32:56.769</td>\n",
3895 " </tr>\n",
3896 " <tr>\n",
3897 " <th>10500</th>\n",
3898 " <td>-15936.659327</td>\n",
3899 " <td>2018-12-05 19:32:58.053</td>\n",
3900 " </tr>\n",
3901 " <tr>\n",
3902 " <th>11000</th>\n",
3903 " <td>-15246.633564</td>\n",
3904 " <td>2018-12-05 19:32:59.346</td>\n",
3905 " </tr>\n",
3906 " <tr>\n",
3907 " <th>11500</th>\n",
3908 " <td>-15256.022959</td>\n",
3909 " <td>2018-12-05 19:33:00.622</td>\n",
3910 " </tr>\n",
3911 " <tr>\n",
3912 " <th>12000</th>\n",
3913 " <td>-14985.884198</td>\n",
3914 " <td>2018-12-05 19:33:01.923</td>\n",
3915 " </tr>\n",
3916 " <tr>\n",
3917 " <th>12500</th>\n",
3918 " <td>-14689.841559</td>\n",
3919 " <td>2018-12-05 19:33:03.218</td>\n",
3920 " </tr>\n",
3921 " <tr>\n",
3922 " <th>13000</th>\n",
3923 " <td>-14822.625860</td>\n",
3924 " <td>2018-12-05 19:33:04.515</td>\n",
3925 " </tr>\n",
3926 " <tr>\n",
3927 " <th>13500</th>\n",
3928 " <td>-15013.715132</td>\n",
3929 " <td>2018-12-05 19:33:05.634</td>\n",
3930 " </tr>\n",
3931 " <tr>\n",
3932 " <th>14000</th>\n",
3933 " <td>-14797.257898</td>\n",
3934 " <td>2018-12-05 19:33:06.517</td>\n",
3935 " </tr>\n",
3936 " <tr>\n",
3937 " <th>14500</th>\n",
3938 " <td>-14895.606255</td>\n",
3939 " <td>2018-12-05 19:33:07.476</td>\n",
3940 " </tr>\n",
3941 " <tr>\n",
3942 " <th>15000</th>\n",
3943 " <td>-14986.753045</td>\n",
3944 " <td>2018-12-05 19:33:08.288</td>\n",
3945 " </tr>\n",
3946 " <tr>\n",
3947 " <th>15500</th>\n",
3948 " <td>-14696.829929</td>\n",
3949 " <td>2018-12-05 19:33:09.165</td>\n",
3950 " </tr>\n",
3951 " <tr>\n",
3952 " <th>16000</th>\n",
3953 " <td>-14681.308608</td>\n",
3954 " <td>2018-12-05 19:33:09.995</td>\n",
3955 " </tr>\n",
3956 " <tr>\n",
3957 " <th>16500</th>\n",
3958 " <td>-14681.308608</td>\n",
3959 " <td>2018-12-05 19:33:10.743</td>\n",
3960 " </tr>\n",
3961 " <tr>\n",
3962 " <th>17000</th>\n",
3963 " <td>-14689.841559</td>\n",
3964 " <td>2018-12-05 19:33:11.510</td>\n",
3965 " </tr>\n",
3966 " <tr>\n",
3967 " <th>17500</th>\n",
3968 " <td>-14700.923210</td>\n",
3969 " <td>2018-12-05 19:33:12.254</td>\n",
3970 " </tr>\n",
3971 " <tr>\n",
3972 " <th>18000</th>\n",
3973 " <td>-14681.308608</td>\n",
3974 " <td>2018-12-05 19:33:13.067</td>\n",
3975 " </tr>\n",
3976 " <tr>\n",
3977 " <th>18500</th>\n",
3978 " <td>-14681.308608</td>\n",
3979 " <td>2018-12-05 19:33:13.918</td>\n",
3980 " </tr>\n",
3981 " <tr>\n",
3982 " <th>19000</th>\n",
3983 " <td>-14681.308608</td>\n",
3984 " <td>2018-12-05 19:33:14.660</td>\n",
3985 " </tr>\n",
3986 " <tr>\n",
3987 " <th>19500</th>\n",
3988 " <td>-14681.308608</td>\n",
3989 " <td>2018-12-05 19:33:15.356</td>\n",
3990 " </tr>\n",
3991 " </tbody>\n",
3992 "</table>\n",
3993 "<p>400 rows × 2 columns</p>\n",
3994 "</div>"
3995 ],
3996 "text/plain": [
3997 " fitness time\n",
3998 "worker iteration \n",
3999 "0 0 -17464.568517 2018-12-05 19:32:30.307\n",
4000 " 500 -19456.419361 2018-12-05 19:32:31.653\n",
4001 " 1000 -19192.661068 2018-12-05 19:32:32.663\n",
4002 " 1500 -21362.030854 2018-12-05 19:32:33.684\n",
4003 " 2000 -19439.674465 2018-12-05 19:32:35.103\n",
4004 " 2500 -19494.922209 2018-12-05 19:32:36.676\n",
4005 " 3000 -19409.258504 2018-12-05 19:32:37.862\n",
4006 " 3500 -19375.464977 2018-12-05 19:32:39.191\n",
4007 " 4000 -18553.631818 2018-12-05 19:32:40.468\n",
4008 " 4500 -18842.347858 2018-12-05 19:32:41.331\n",
4009 " 5000 -19347.171865 2018-12-05 19:32:42.396\n",
4010 " 5500 -18460.352808 2018-12-05 19:32:43.163\n",
4011 " 6000 -18814.968213 2018-12-05 19:32:43.981\n",
4012 " 6500 -18298.223867 2018-12-05 19:32:45.198\n",
4013 " 7000 -17555.991450 2018-12-05 19:32:46.534\n",
4014 " 7500 -17280.010163 2018-12-05 19:32:47.825\n",
4015 " 8000 -17208.764191 2018-12-05 19:32:49.129\n",
4016 " 8500 -17048.836850 2018-12-05 19:32:50.419\n",
4017 " 9000 -17309.885703 2018-12-05 19:32:51.718\n",
4018 " 9500 -15935.254778 2018-12-05 19:32:53.030\n",
4019 " 10000 -15694.589652 2018-12-05 19:32:54.328\n",
4020 " 10500 -15582.878774 2018-12-05 19:32:55.608\n",
4021 " 11000 -15314.579171 2018-12-05 19:32:56.900\n",
4022 " 11500 -14942.449992 2018-12-05 19:32:58.179\n",
4023 " 12000 -15471.335261 2018-12-05 19:32:59.467\n",
4024 " 12500 -14977.106397 2018-12-05 19:33:00.743\n",
4025 " 13000 -14954.236486 2018-12-05 19:33:02.033\n",
4026 " 13500 -14762.142171 2018-12-05 19:33:03.314\n",
4027 " 14000 -14932.523832 2018-12-05 19:33:04.605\n",
4028 " 14500 -14978.652512 2018-12-05 19:33:05.896\n",
4029 "... ... ...\n",
4030 "9 5000 -19310.352956 2018-12-05 19:32:43.791\n",
4031 " 5500 -17503.410891 2018-12-05 19:32:45.106\n",
4032 " 6000 -17163.013191 2018-12-05 19:32:46.422\n",
4033 " 6500 -16941.399877 2018-12-05 19:32:47.714\n",
4034 " 7000 -16395.145359 2018-12-05 19:32:49.016\n",
4035 " 7500 -16250.722026 2018-12-05 19:32:50.303\n",
4036 " 8000 -16750.905526 2018-12-05 19:32:51.601\n",
4037 " 8500 -17732.539610 2018-12-05 19:32:52.890\n",
4038 " 9000 -16435.368812 2018-12-05 19:32:54.188\n",
4039 " 9500 -16910.471934 2018-12-05 19:32:55.472\n",
4040 " 10000 -15910.365821 2018-12-05 19:32:56.769\n",
4041 " 10500 -15936.659327 2018-12-05 19:32:58.053\n",
4042 " 11000 -15246.633564 2018-12-05 19:32:59.346\n",
4043 " 11500 -15256.022959 2018-12-05 19:33:00.622\n",
4044 " 12000 -14985.884198 2018-12-05 19:33:01.923\n",
4045 " 12500 -14689.841559 2018-12-05 19:33:03.218\n",
4046 " 13000 -14822.625860 2018-12-05 19:33:04.515\n",
4047 " 13500 -15013.715132 2018-12-05 19:33:05.634\n",
4048 " 14000 -14797.257898 2018-12-05 19:33:06.517\n",
4049 " 14500 -14895.606255 2018-12-05 19:33:07.476\n",
4050 " 15000 -14986.753045 2018-12-05 19:33:08.288\n",
4051 " 15500 -14696.829929 2018-12-05 19:33:09.165\n",
4052 " 16000 -14681.308608 2018-12-05 19:33:09.995\n",
4053 " 16500 -14681.308608 2018-12-05 19:33:10.743\n",
4054 " 17000 -14689.841559 2018-12-05 19:33:11.510\n",
4055 " 17500 -14700.923210 2018-12-05 19:33:12.254\n",
4056 " 18000 -14681.308608 2018-12-05 19:33:13.067\n",
4057 " 18500 -14681.308608 2018-12-05 19:33:13.918\n",
4058 " 19000 -14681.308608 2018-12-05 19:33:14.660\n",
4059 " 19500 -14681.308608 2018-12-05 19:33:15.356\n",
4060 "\n",
4061 "[400 rows x 2 columns]"
4062 ]
4063 },
4064 "execution_count": 56,
4065 "metadata": {},
4066 "output_type": "execute_result"
4067 }
4068 ],
4069 "source": [
4070 "threshold = datetime(2018, 12, 6, 1)\n",
4071 "trace = pd.DataFrame([p for p in parsed if p['time'] > threshold])\n",
4072 "trace = trace.set_index(['worker', 'iteration']).sort_index()\n",
4073 "trace"
4074 ]
4075 },
4076 {
4077 "cell_type": "code",
4078 "execution_count": 60,
4079 "metadata": {},
4080 "outputs": [
4081 {
4082 "data": {
4083 "text/plain": [
4084 "<matplotlib.axes._subplots.AxesSubplot at 0x7fbfa56aecc0>"
4085 ]
4086 },
4087 "execution_count": 60,
4088 "metadata": {},
4089 "output_type": "execute_result"
4090 },
4091 {
4092 "data": {
4093 "image/png": "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\n",
4094 "text/plain": [
4095 "<Figure size 432x288 with 1 Axes>"
4096 ]
4097 },
4098 "metadata": {
4099 "needs_background": "light"
4100 },
4101 "output_type": "display_data"
4102 }
4103 ],
4104 "source": [
4105 "trace1.loc[0].fitness.plot()"
4106 ]
4107 },
4108 {
4109 "cell_type": "code",
4110 "execution_count": 64,
4111 "metadata": {},
4112 "outputs": [
4113 {
4114 "data": {
4115 "text/plain": [
4116 "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]"
4117 ]
4118 },
4119 "execution_count": 64,
4120 "metadata": {},
4121 "output_type": "execute_result"
4122 }
4123 ],
4124 "source": [
4125 "workers = list(sorted(set(trace1.index.get_level_values(0))))\n",
4126 "workers"
4127 ]
4128 },
4129 {
4130 "cell_type": "code",
4131 "execution_count": 71,
4132 "metadata": {},
4133 "outputs": [
4134 {
4135 "data": {
4136 "image/png": "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\n",
4137 "text/plain": [
4138 "<Figure size 432x288 with 1 Axes>"
4139 ]
4140 },
4141 "metadata": {
4142 "needs_background": "light"
4143 },
4144 "output_type": "display_data"
4145 }
4146 ],
4147 "source": [
4148 "fig, ax = plt.subplots()\n",
4149 "for w in workers:\n",
4150 " trace1.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4151 " trace2.loc[w].fitness.plot(ax=ax, color='#00000020')"
4152 ]
4153 },
4154 {
4155 "cell_type": "markdown",
4156 "metadata": {},
4157 "source": [
4158 "# Experiments"
4159 ]
4160 },
4161 {
4162 "cell_type": "code",
4163 "execution_count": 113,
4164 "metadata": {},
4165 "outputs": [
4166 {
4167 "data": {
4168 "text/plain": [
4169 "[('z', 25), ('g', 23), ('n', 1), ('q', 1), ('w', 1)]"
4170 ]
4171 },
4172 "execution_count": 113,
4173 "metadata": {},
4174 "output_type": "execute_result"
4175 }
4176 ],
4177 "source": [
4178 "ct_key, ct = random_ciphertext(2000)\n",
4179 "ct_alpha = commonest_alphabet(ct)\n",
4180 "collections.Counter(sanitise(ct)).most_common()[-5:]"
4181 ]
4182 },
4183 {
4184 "cell_type": "code",
4185 "execution_count": 114,
4186 "metadata": {},
4187 "outputs": [
4188 {
4189 "name": "stdout",
4190 "output_type": "stream",
4191 "text": [
4192 "-6762.002908994096\n"
4193 ]
4194 },
4195 {
4196 "data": {
4197 "text/plain": [
4198 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4199 " 'rkyepdtmcbuihfjlvxsogznqwa',\n",
4200 " 'eolbrvxtpqzuhdyswcmkigfnja',\n",
4201 " 1.0)"
4202 ]
4203 },
4204 "execution_count": 114,
4205 "metadata": {},
4206 "output_type": "execute_result"
4207 },
4208 {
4209 "data": {
4210 "image/png": "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\n",
4211 "text/plain": [
4212 "<Figure size 432x288 with 1 Axes>"
4213 ]
4214 },
4215 "metadata": {
4216 "needs_background": "light"
4217 },
4218 "output_type": "display_data"
4219 }
4220 ],
4221 "source": [
4222 "start_time = datetime.now()\n",
4223 "found_cipher_alphabet, score = simulated_annealing_break(\n",
4224 " ct, \n",
4225 " fitness=Ptrigrams,\n",
4226 " swap_index_finder=gaussian_swap_index,\n",
4227 " plain_alphabet=plain_alpha, cipher_alphabet=ct_alpha,\n",
4228 " workers=24)\n",
4229 "print(score)\n",
4230 "# workers, trace = dump_result(start_time, 'sa-given-trigram-gaussian.csv', verbose=True)\n",
4231 "workers, trace = dump_result(start_time, 'test.csv', verbose=True)\n",
4232 "\n",
4233 "fig, ax = plt.subplots()\n",
4234 "for w in workers:\n",
4235 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4236 "\n",
4237 "( ct_key, found_cipher_alphabet, \n",
4238 " unscramble_alphabet(found_cipher_alphabet, plain_alpha), \n",
4239 " kendalltau([ord(c) for c in unscramble_alphabet(found_cipher_alphabet, plain_alpha)], [ord(c) for c in ct_key])[0]\n",
4240 ")"
4241 ]
4242 },
4243 {
4244 "cell_type": "code",
4245 "execution_count": 115,
4246 "metadata": {},
4247 "outputs": [
4248 {
4249 "name": "stdout",
4250 "output_type": "stream",
4251 "text": [
4252 "-2494.5491330863815\n"
4253 ]
4254 },
4255 {
4256 "data": {
4257 "text/plain": [
4258 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4259 " 'yxhursvdtwgbjmeoqcpkizfnla',\n",
4260 " 0.05230769230769231)"
4261 ]
4262 },
4263 "execution_count": 115,
4264 "metadata": {},
4265 "output_type": "execute_result"
4266 },
4267 {
4268 "data": {
4269 "image/png": "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\n",
4270 "text/plain": [
4271 "<Figure size 432x288 with 1 Axes>"
4272 ]
4273 },
4274 "metadata": {
4275 "needs_background": "light"
4276 },
4277 "output_type": "display_data"
4278 }
4279 ],
4280 "source": [
4281 "start_time = datetime.now()\n",
4282 "found_cipher_alphabet, score = monoalphabetic_break_hillclimbing_mp(\n",
4283 " ct, \n",
4284 " swap_index_finder=uniform_swap_index, \n",
4285 " workers=24)\n",
4286 "print(score)\n",
4287 "workers, trace = dump_result(start_time, 'hillclimbing-random-unigram-uniform.csv')\n",
4288 "\n",
4289 "fig, ax = plt.subplots()\n",
4290 "for w in workers:\n",
4291 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4292 "\n",
4293 "ct_key, found_cipher_alphabet, kendalltau([ord(c) for c in found_cipher_alphabet], [ord(c) for c in ct_key])[0]"
4294 ]
4295 },
4296 {
4297 "cell_type": "code",
4298 "execution_count": 116,
4299 "metadata": {},
4300 "outputs": [
4301 {
4302 "name": "stdout",
4303 "output_type": "stream",
4304 "text": [
4305 "-6762.002908994096\n"
4306 ]
4307 },
4308 {
4309 "data": {
4310 "text/plain": [
4311 "('eolbrvxtpqzuhdyswcmkigfnja', 'eolbrvxtpqzuhdyswcmkigfnja', 1.0)"
4312 ]
4313 },
4314 "execution_count": 116,
4315 "metadata": {},
4316 "output_type": "execute_result"
4317 },
4318 {
4319 "data": {
4320 "image/png": "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\n",
4321 "text/plain": [
4322 "<Figure size 432x288 with 1 Axes>"
4323 ]
4324 },
4325 "metadata": {
4326 "needs_background": "light"
4327 },
4328 "output_type": "display_data"
4329 }
4330 ],
4331 "source": [
4332 "start_time = datetime.now()\n",
4333 "found_cipher_alphabet, score = monoalphabetic_break_hillclimbing_mp(\n",
4334 " ct, \n",
4335 " fitness=Ptrigrams,\n",
4336 " swap_index_finder=uniform_swap_index, \n",
4337 " workers=24)\n",
4338 "print(score)\n",
4339 "workers, trace = dump_result(start_time, 'hillclimbing-random-trigram-uniform.csv')\n",
4340 "\n",
4341 "fig, ax = plt.subplots()\n",
4342 "for w in workers:\n",
4343 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4344 "\n",
4345 "ct_key, found_cipher_alphabet, kendalltau([ord(c) for c in found_cipher_alphabet], [ord(c) for c in ct_key])[0] "
4346 ]
4347 },
4348 {
4349 "cell_type": "code",
4350 "execution_count": 117,
4351 "metadata": {},
4352 "outputs": [
4353 {
4354 "name": "stdout",
4355 "output_type": "stream",
4356 "text": [
4357 "-6762.002908994096\n"
4358 ]
4359 },
4360 {
4361 "data": {
4362 "text/plain": [
4363 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4364 " 'rkyepdtmcbuihfjlvxsogznqwa',\n",
4365 " 'eolbrvxtpqzuhdyswcmkigfnja',\n",
4366 " 1.0)"
4367 ]
4368 },
4369 "execution_count": 117,
4370 "metadata": {},
4371 "output_type": "execute_result"
4372 },
4373 {
4374 "data": {
4375 "image/png": "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\n",
4376 "text/plain": [
4377 "<Figure size 432x288 with 1 Axes>"
4378 ]
4379 },
4380 "metadata": {
4381 "needs_background": "light"
4382 },
4383 "output_type": "display_data"
4384 }
4385 ],
4386 "source": [
4387 "start_time = datetime.now()\n",
4388 "found_cipher_alphabet, score = monoalphabetic_break_hillclimbing_mp(\n",
4389 " ct, \n",
4390 " fitness=Ptrigrams,\n",
4391 " swap_index_finder=uniform_swap_index,\n",
4392 " plain_alphabet=plain_alpha, cipher_alphabet=ct_alpha,\n",
4393 " workers=24)\n",
4394 "print(score)\n",
4395 "workers, trace = dump_result(start_time, 'hillclimbing-given-trigram-uniform.csv', verbose=True)\n",
4396 "\n",
4397 "fig, ax = plt.subplots()\n",
4398 "for w in workers:\n",
4399 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4400 "\n",
4401 "\n",
4402 "( ct_key, found_cipher_alphabet, \n",
4403 " unscramble_alphabet(found_cipher_alphabet, plain_alpha), \n",
4404 " kendalltau([ord(c) for c in unscramble_alphabet(found_cipher_alphabet, plain_alpha)], [ord(c) for c in ct_key])[0]\n",
4405 ")"
4406 ]
4407 },
4408 {
4409 "cell_type": "code",
4410 "execution_count": 118,
4411 "metadata": {},
4412 "outputs": [
4413 {
4414 "name": "stdout",
4415 "output_type": "stream",
4416 "text": [
4417 "-6762.002908994096\n"
4418 ]
4419 },
4420 {
4421 "data": {
4422 "text/plain": [
4423 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4424 " 'rkyepdtmcbuihfjlvxsogznqwa',\n",
4425 " 'eolbrvxtpqzuhdyswcmkigfnja',\n",
4426 " 1.0)"
4427 ]
4428 },
4429 "execution_count": 118,
4430 "metadata": {},
4431 "output_type": "execute_result"
4432 },
4433 {
4434 "data": {
4435 "image/png": "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\n",
4436 "text/plain": [
4437 "<Figure size 432x288 with 1 Axes>"
4438 ]
4439 },
4440 "metadata": {
4441 "needs_background": "light"
4442 },
4443 "output_type": "display_data"
4444 }
4445 ],
4446 "source": [
4447 "start_time = datetime.now()\n",
4448 "found_cipher_alphabet, score = monoalphabetic_break_hillclimbing_mp(\n",
4449 " ct, \n",
4450 " fitness=Ptrigrams,\n",
4451 " swap_index_finder=gaussian_swap_index,\n",
4452 " plain_alphabet=plain_alpha, cipher_alphabet=ct_alpha,\n",
4453 " workers=24)\n",
4454 "print(score)\n",
4455 "workers, trace = dump_result(start_time, 'hillclimbing-given-trigram-gaussian.csv')\n",
4456 "\n",
4457 "fig, ax = plt.subplots()\n",
4458 "for w in workers:\n",
4459 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4460 "\n",
4461 "( ct_key, found_cipher_alphabet, \n",
4462 " unscramble_alphabet(found_cipher_alphabet, plain_alpha), \n",
4463 " kendalltau([ord(c) for c in unscramble_alphabet(found_cipher_alphabet, plain_alpha)], [ord(c) for c in ct_key])[0]\n",
4464 ")\n"
4465 ]
4466 },
4467 {
4468 "cell_type": "code",
4469 "execution_count": 119,
4470 "metadata": {},
4471 "outputs": [
4472 {
4473 "name": "stdout",
4474 "output_type": "stream",
4475 "text": [
4476 "-2494.5491330863815\n"
4477 ]
4478 },
4479 {
4480 "data": {
4481 "text/plain": [
4482 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4483 " 'yxhursvdtqgbjmeoncpkizfwla',\n",
4484 " 0.015384615384615385)"
4485 ]
4486 },
4487 "execution_count": 119,
4488 "metadata": {},
4489 "output_type": "execute_result"
4490 },
4491 {
4492 "data": {
4493 "image/png": "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\n",
4494 "text/plain": [
4495 "<Figure size 432x288 with 1 Axes>"
4496 ]
4497 },
4498 "metadata": {
4499 "needs_background": "light"
4500 },
4501 "output_type": "display_data"
4502 }
4503 ],
4504 "source": [
4505 "start_time = datetime.now()\n",
4506 "found_cipher_alphabet, score = simulated_annealing_break(\n",
4507 " ct, \n",
4508 " swap_index_finder=uniform_swap_index,\n",
4509 " fitness=Pletters,\n",
4510 " workers=24)\n",
4511 "print(score)\n",
4512 "workers, trace = dump_result(start_time, 'sa-random-unigram-uniform.csv')\n",
4513 "\n",
4514 "fig, ax = plt.subplots()\n",
4515 "for w in workers:\n",
4516 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4517 "\n",
4518 "( ct_key, found_cipher_alphabet, \n",
4519 " kendalltau([ord(c) for c in found_cipher_alphabet], [ord(c) for c in ct_key])[0]\n",
4520 ")"
4521 ]
4522 },
4523 {
4524 "cell_type": "code",
4525 "execution_count": 120,
4526 "metadata": {},
4527 "outputs": [
4528 {
4529 "name": "stdout",
4530 "output_type": "stream",
4531 "text": [
4532 "-6762.002908994096\n"
4533 ]
4534 },
4535 {
4536 "data": {
4537 "text/plain": [
4538 "('eolbrvxtpqzuhdyswcmkigfnja', 'eolbrvxtpqzuhdyswcmkigfnja', 1.0)"
4539 ]
4540 },
4541 "execution_count": 120,
4542 "metadata": {},
4543 "output_type": "execute_result"
4544 },
4545 {
4546 "data": {
4547 "image/png": "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\n",
4548 "text/plain": [
4549 "<Figure size 432x288 with 1 Axes>"
4550 ]
4551 },
4552 "metadata": {
4553 "needs_background": "light"
4554 },
4555 "output_type": "display_data"
4556 }
4557 ],
4558 "source": [
4559 "start_time = datetime.now()\n",
4560 "found_cipher_alphabet, score = simulated_annealing_break(\n",
4561 " ct, \n",
4562 " fitness=Ptrigrams,\n",
4563 " swap_index_finder=uniform_swap_index, \n",
4564 " workers=24)\n",
4565 "print(score)\n",
4566 "workers, trace = dump_result(start_time, 'sa-random-trigram-uniform.csv')\n",
4567 "\n",
4568 "fig, ax = plt.subplots()\n",
4569 "for w in workers:\n",
4570 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4571 "\n",
4572 "( ct_key, found_cipher_alphabet, \n",
4573 " kendalltau([ord(c) for c in found_cipher_alphabet], [ord(c) for c in ct_key])[0]\n",
4574 ")"
4575 ]
4576 },
4577 {
4578 "cell_type": "code",
4579 "execution_count": 121,
4580 "metadata": {},
4581 "outputs": [
4582 {
4583 "name": "stdout",
4584 "output_type": "stream",
4585 "text": [
4586 "-6762.002908994096\n"
4587 ]
4588 },
4589 {
4590 "data": {
4591 "text/plain": [
4592 "('eolbrvxtpqzuhdyswcmkigfnja', 'eolbrvxtpqzuhdyswcmkigfnja', 1.0)"
4593 ]
4594 },
4595 "execution_count": 121,
4596 "metadata": {},
4597 "output_type": "execute_result"
4598 },
4599 {
4600 "data": {
4601 "image/png": "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\n",
4602 "text/plain": [
4603 "<Figure size 432x288 with 1 Axes>"
4604 ]
4605 },
4606 "metadata": {
4607 "needs_background": "light"
4608 },
4609 "output_type": "display_data"
4610 }
4611 ],
4612 "source": [
4613 "start_time = datetime.now()\n",
4614 "found_cipher_alphabet, score = simulated_annealing_break(\n",
4615 " ct, \n",
4616 " fitness=Ptrigrams,\n",
4617 " swap_index_finder=uniform_swap_index, \n",
4618 " initial_temperature=50,\n",
4619 " workers=24)\n",
4620 "print(score)\n",
4621 "workers, trace = dump_result(start_time, 'sa-random-trigram-uniform-50.csv')\n",
4622 "\n",
4623 "fig, ax = plt.subplots()\n",
4624 "for w in workers:\n",
4625 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4626 "\n",
4627 "( ct_key, found_cipher_alphabet, \n",
4628 " kendalltau([ord(c) for c in found_cipher_alphabet], [ord(c) for c in ct_key])[0]\n",
4629 ")"
4630 ]
4631 },
4632 {
4633 "cell_type": "code",
4634 "execution_count": 122,
4635 "metadata": {},
4636 "outputs": [
4637 {
4638 "name": "stdout",
4639 "output_type": "stream",
4640 "text": [
4641 "-6762.002908994096\n"
4642 ]
4643 },
4644 {
4645 "data": {
4646 "text/plain": [
4647 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4648 " 'rkyepdtmcbuihfjlvxsogznqwa',\n",
4649 " 'eolbrvxtpqzuhdyswcmkigfnja',\n",
4650 " 1.0)"
4651 ]
4652 },
4653 "execution_count": 122,
4654 "metadata": {},
4655 "output_type": "execute_result"
4656 },
4657 {
4658 "data": {
4659 "image/png": "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\n",
4660 "text/plain": [
4661 "<Figure size 432x288 with 1 Axes>"
4662 ]
4663 },
4664 "metadata": {
4665 "needs_background": "light"
4666 },
4667 "output_type": "display_data"
4668 }
4669 ],
4670 "source": [
4671 "start_time = datetime.now()\n",
4672 "found_cipher_alphabet, score = simulated_annealing_break(\n",
4673 " ct, \n",
4674 " fitness=Ptrigrams,\n",
4675 " swap_index_finder=uniform_swap_index,\n",
4676 " plain_alphabet=plain_alpha, cipher_alphabet=ct_alpha,\n",
4677 " workers=24)\n",
4678 "print(score)\n",
4679 "workers, trace = dump_result(start_time, 'sa-given-trigram-uniform.csv')\n",
4680 "\n",
4681 "fig, ax = plt.subplots()\n",
4682 "for w in workers:\n",
4683 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4684 "\n",
4685 "( ct_key, found_cipher_alphabet, \n",
4686 " unscramble_alphabet(found_cipher_alphabet, plain_alpha), \n",
4687 " kendalltau([ord(c) for c in unscramble_alphabet(found_cipher_alphabet, plain_alpha)], [ord(c) for c in ct_key])[0]\n",
4688 ")"
4689 ]
4690 },
4691 {
4692 "cell_type": "code",
4693 "execution_count": 123,
4694 "metadata": {},
4695 "outputs": [
4696 {
4697 "name": "stdout",
4698 "output_type": "stream",
4699 "text": [
4700 "-6762.002908994096\n"
4701 ]
4702 },
4703 {
4704 "data": {
4705 "text/plain": [
4706 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4707 " 'rkyepdtmcbuihfjlvxsogznqwa',\n",
4708 " 'eolbrvxtpqzuhdyswcmkigfnja',\n",
4709 " 1.0)"
4710 ]
4711 },
4712 "execution_count": 123,
4713 "metadata": {},
4714 "output_type": "execute_result"
4715 },
4716 {
4717 "data": {
4718 "image/png": "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\n",
4719 "text/plain": [
4720 "<Figure size 432x288 with 1 Axes>"
4721 ]
4722 },
4723 "metadata": {
4724 "needs_background": "light"
4725 },
4726 "output_type": "display_data"
4727 }
4728 ],
4729 "source": [
4730 "start_time = datetime.now()\n",
4731 "found_cipher_alphabet, score = simulated_annealing_break(\n",
4732 " ct, \n",
4733 " fitness=Ptrigrams,\n",
4734 " swap_index_finder=uniform_swap_index,\n",
4735 " plain_alphabet=plain_alpha, cipher_alphabet=ct_alpha,\n",
4736 " initial_temperature=50,\n",
4737 " workers=24)\n",
4738 "print(score)\n",
4739 "workers, trace = dump_result(start_time, 'sa-given-trigram-uniform-50.csv')\n",
4740 "\n",
4741 "fig, ax = plt.subplots()\n",
4742 "for w in workers:\n",
4743 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4744 "\n",
4745 "( ct_key, found_cipher_alphabet, \n",
4746 " unscramble_alphabet(found_cipher_alphabet, plain_alpha), \n",
4747 " kendalltau([ord(c) for c in unscramble_alphabet(found_cipher_alphabet, plain_alpha)], [ord(c) for c in ct_key])[0]\n",
4748 ")"
4749 ]
4750 },
4751 {
4752 "cell_type": "code",
4753 "execution_count": 124,
4754 "metadata": {},
4755 "outputs": [
4756 {
4757 "name": "stdout",
4758 "output_type": "stream",
4759 "text": [
4760 "-6762.002908994096\n"
4761 ]
4762 },
4763 {
4764 "data": {
4765 "text/plain": [
4766 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4767 " 'rkyepdtmcbuihfjlvxsogznqwa',\n",
4768 " 'eolbrvxtpqzuhdyswcmkigfnja',\n",
4769 " 1.0)"
4770 ]
4771 },
4772 "execution_count": 124,
4773 "metadata": {},
4774 "output_type": "execute_result"
4775 },
4776 {
4777 "data": {
4778 "image/png": "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\n",
4779 "text/plain": [
4780 "<Figure size 432x288 with 1 Axes>"
4781 ]
4782 },
4783 "metadata": {
4784 "needs_background": "light"
4785 },
4786 "output_type": "display_data"
4787 }
4788 ],
4789 "source": [
4790 "start_time = datetime.now()\n",
4791 "found_cipher_alphabet, score = simulated_annealing_break(\n",
4792 " ct, \n",
4793 " fitness=Ptrigrams,\n",
4794 " swap_index_finder=gaussian_swap_index,\n",
4795 " plain_alphabet=plain_alpha, cipher_alphabet=ct_alpha,\n",
4796 " workers=24)\n",
4797 "print(score)\n",
4798 "workers, trace = dump_result(start_time, 'sa-given-trigram-gaussian.csv', verbose=True)\n",
4799 "\n",
4800 "fig, ax = plt.subplots()\n",
4801 "for w in workers:\n",
4802 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4803 "\n",
4804 "( ct_key, found_cipher_alphabet, \n",
4805 " unscramble_alphabet(found_cipher_alphabet, plain_alpha), \n",
4806 " kendalltau([ord(c) for c in unscramble_alphabet(found_cipher_alphabet, plain_alpha)], [ord(c) for c in ct_key])[0]\n",
4807 ")"
4808 ]
4809 },
4810 {
4811 "cell_type": "code",
4812 "execution_count": 125,
4813 "metadata": {},
4814 "outputs": [
4815 {
4816 "name": "stdout",
4817 "output_type": "stream",
4818 "text": [
4819 "-6762.002908994096\n"
4820 ]
4821 },
4822 {
4823 "data": {
4824 "text/plain": [
4825 "('eolbrvxtpqzuhdyswcmkigfnja',\n",
4826 " 'rkyepdtmcbuihfjlvxsogznqwa',\n",
4827 " 'eolbrvxtpqzuhdyswcmkigfnja',\n",
4828 " 1.0)"
4829 ]
4830 },
4831 "execution_count": 125,
4832 "metadata": {},
4833 "output_type": "execute_result"
4834 },
4835 {
4836 "data": {
4837 "image/png": "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\n",
4838 "text/plain": [
4839 "<Figure size 432x288 with 1 Axes>"
4840 ]
4841 },
4842 "metadata": {
4843 "needs_background": "light"
4844 },
4845 "output_type": "display_data"
4846 }
4847 ],
4848 "source": [
4849 "start_time = datetime.now()\n",
4850 "found_cipher_alphabet, score = simulated_annealing_break(\n",
4851 " ct, \n",
4852 " fitness=Ptrigrams,\n",
4853 " swap_index_finder=gaussian_swap_index,\n",
4854 " plain_alphabet=plain_alpha, cipher_alphabet=ct_alpha,\n",
4855 " initial_temperature=50,\n",
4856 " workers=24)\n",
4857 "print(score)\n",
4858 "workers, trace = dump_result(start_time, 'sa-given-trigram-gaussian-50.csv', verbose=True)\n",
4859 "\n",
4860 "fig, ax = plt.subplots()\n",
4861 "for w in workers:\n",
4862 " trace.loc[w].fitness.plot(ax=ax, color='#00000020')\n",
4863 "\n",
4864 "( ct_key, found_cipher_alphabet, \n",
4865 " unscramble_alphabet(found_cipher_alphabet, plain_alpha), \n",
4866 " kendalltau([ord(c) for c in unscramble_alphabet(found_cipher_alphabet, plain_alpha)], [ord(c) for c in ct_key])[0]\n",
4867 ")"
4868 ]
4869 },
4870 {
4871 "cell_type": "code",
4872 "execution_count": 126,
4873 "metadata": {},
4874 "outputs": [],
4875 "source": [
4876 "import glob"
4877 ]
4878 },
4879 {
4880 "cell_type": "code",
4881 "execution_count": 127,
4882 "metadata": {},
4883 "outputs": [
4884 {
4885 "name": "stdout",
4886 "output_type": "stream",
4887 "text": [
4888 "-2494.549133086381 -3935.561885011543 sa-random-unigram-uniform.csv\n",
4889 "-2494.549133086381 -3862.1721721032586 hillclimbing-random-unigram-uniform.csv\n"
4890 ]
4891 }
4892 ],
4893 "source": [
4894 "for f in glob.glob(\"*unigram*.csv\"):\n",
4895 " df = pd.read_csv(f)\n",
4896 " print(df.fitness.max(), df.fitness.min(), f)"
4897 ]
4898 },
4899 {
4900 "cell_type": "code",
4901 "execution_count": 128,
4902 "metadata": {},
4903 "outputs": [
4904 {
4905 "name": "stdout",
4906 "output_type": "stream",
4907 "text": [
4908 "-6762.002908994095 -12382.205332762649 hillclimbing-random-trigram-uniform.csv\n",
4909 "-6762.002908994095 -8523.074815108963 sa-given-trigram-uniform-50.csv\n",
4910 "-6762.002908994095 -12897.908909587839 sa-random-trigram-uniform-50.csv\n",
4911 "-6762.002908994095 -8347.978847763903 hillclimbing-given-trigram-uniform.csv\n",
4912 "-6762.002908994095 -11531.53274337052 sa-given-trigram-gaussian.csv\n",
4913 "-6762.002908994095 -8347.978847763903 hillclimbing-given-trigram-gaussian.csv\n",
4914 "-6762.002908994095 -12999.784533122312 sa-random-trigram-uniform.csv\n",
4915 "-6762.002908994095 -8612.777635758275 sa-given-trigram-gaussian-50.csv\n",
4916 "-6762.002908994095 -10935.574066404368 sa-given-trigram-uniform.csv\n"
4917 ]
4918 }
4919 ],
4920 "source": [
4921 "for f in glob.glob(\"*trigram*.csv\"):\n",
4922 " df = pd.read_csv(f)\n",
4923 " print(df.fitness.max(), df.fitness.min(), f)"
4924 ]
4925 },
4926 {
4927 "cell_type": "code",
4928 "execution_count": null,
4929 "metadata": {},
4930 "outputs": [],
4931 "source": []
4932 }
4933 ],
4934 "metadata": {
4935 "kernelspec": {
4936 "display_name": "Python 3",
4937 "language": "python",
4938 "name": "python3"
4939 },
4940 "language_info": {
4941 "codemirror_mode": {
4942 "name": "ipython",
4943 "version": 3
4944 },
4945 "file_extension": ".py",
4946 "mimetype": "text/x-python",
4947 "name": "python",
4948 "nbconvert_exporter": "python",
4949 "pygments_lexer": "ipython3",
4950 "version": "3.6.7"
4951 }
4952 },
4953 "nbformat": 4,
4954 "nbformat_minor": 2
4955 }