{ "cells": [ { "cell_type": "code", "execution_count": 49, "metadata": { "ExecuteTime": { "end_time": "2018-11-08T12:01:26.887378Z", "start_time": "2018-11-08T11:59:20.555120Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 2.0371462254637036\n", "5 1.2627275872415693\n", "10 1.0066820798778844\n", "15 0.8490826685553882\n", "20 0.8403085146761157\n", "25 0.8403085146761157\n", "30 0.6098448729183391\n", "35 0.6098448729183391\n", "40 0.6098448729183391\n", "45 0.6098448729183391\n", "50 0.6098448729183391\n", "55 0.6098448729183391\n", "60 0.5007617315148936\n", "65 0.5007617315148936\n", "70 0.5007617315148936\n", "75 0.5007617315148936\n", "80 0.5007617315148936\n", "85 0.5007617315148936\n", "90 0.5007617315148936\n", "95 0.5007617315148936\n", "100 0.5007617315148936\n", "105 0.5007617315148936\n", "110 0.5007617315148936\n", "115 0.5007617315148936\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Process ForkPoolWorker-297404:\n", "Process ForkPoolWorker-297401:\n", "Process ForkPoolWorker-297400:\n", "Process ForkPoolWorker-297408:\n", "Process ForkPoolWorker-297399:\n", "Process ForkPoolWorker-297407:\n", "Process ForkPoolWorker-297409:\n" ] }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0mpop\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindiv\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0muniform\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mbnds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbnds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 50\u001b[0;31m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhstry\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mde\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mde_cp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfobj\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0marc_par\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbounds\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbnds\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpop\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhistory\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mit_start\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mits_first\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpopsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpsnew\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mits\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mits_second\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlam_low\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m400\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlam_high\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m800\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlam_pts\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m50\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 51\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 52\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/miesca/de2.py\u001b[0m in \u001b[0;36mde_cp\u001b[0;34m(fobj, bounds, pop, history, it_start, mut, crossp, popsize, its, **kwargs)\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[0mtrialarr\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwhere\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcross_points\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmutant\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpop\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0mtrial_denorm\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmin_b\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mtrialarr\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mdiff\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 43\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfobj\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrial_denorm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 44\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpopsize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mfitness\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36marc_par\u001b[0;34m(pop, **kwargs)\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0mjobs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindivi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindiv\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[0marg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mjobs\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 33\u001b[0;31m \u001b[0mansw\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpool\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtmm_wrapper2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0marg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 34\u001b[0m \u001b[0mpool\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mansw\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.7/multiprocessing/pool.py\u001b[0m in \u001b[0;36mmap\u001b[0;34m(self, func, iterable, chunksize)\u001b[0m\n\u001b[1;32m 266\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ma\u001b[0m \u001b[0mlist\u001b[0m \u001b[0mthat\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mreturned\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 267\u001b[0m '''\n\u001b[0;32m--> 268\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_map_async\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmapstar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 269\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 270\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mstarmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.7/multiprocessing/pool.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 649\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 650\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 651\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 652\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mready\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 653\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mTimeoutError\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.7/multiprocessing/pool.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 646\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 647\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 648\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_event\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 649\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 650\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.7/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 550\u001b[0m \u001b[0msignaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_flag\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 551\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0msignaled\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 552\u001b[0;31m \u001b[0msignaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cond\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 553\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msignaled\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 554\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/lib/python3.7/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 294\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# restore state no matter what (e.g., KeyboardInterrupt)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 295\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 296\u001b[0;31m \u001b[0mwaiter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0macquire\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 297\u001b[0m \u001b[0mgotit\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 298\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] }, { "name": "stderr", "output_type": "stream", "text": [ "Process ForkPoolWorker-297403:\n", "Process ForkPoolWorker-297405:\n", "Process ForkPoolWorker-297406:\n", "Process ForkPoolWorker-297402:\n", "Process ForkPoolWorker-297398:\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", "Traceback (most recent call last):\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", "Traceback (most recent call last):\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 297, in _bootstrap\n", " self.run()\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/process.py\", line 99, in run\n", " self._target(*self._args, **self._kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 121, in worker\n", " result = (True, func(*args, **kwds))\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"/home/hegder/miesca/makeqx.py\", line 264, in tmm_eval_wsweep\n", " d_x, n_x = make_nxdx(qx=qx, cthick=cthick, wavelen=lam, n_substrate=n_subs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/multiprocessing/pool.py\", line 44, in mapstar\n", " return list(map(*args))\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"/home/hegder/miesca/makeqx.py\", line 147, in make_nxdx\n", " n_x = [1.0] + sde.tolist() + [n_substrate]\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 324, in coh_tmm\n", " dtype=complex),\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 313, in coh_tmm\n", " th_list[i], th_list[i+1])\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 323, in coh_tmm\n", " make_2x2_array(exp(-1j*delta[i]), 0, 0, exp(1j*delta[i]),\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 343, in coh_tmm\n", " vw_list[i,:] = np.transpose(vw)\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 325, in coh_tmm\n", " make_2x2_array(1, r_list[i,i+1], r_list[i,i+1], 1, dtype=complex))\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 325, in coh_tmm\n", " make_2x2_array(1, r_list[i,i+1], r_list[i,i+1], 1, dtype=complex))\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 325, in coh_tmm\n", " make_2x2_array(1, r_list[i,i+1], r_list[i,i+1], 1, dtype=complex))\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", "KeyboardInterrupt\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 37, in make_2x2_array\n", " my_array[0,0] = a\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 128, in interface_r\n", " return ((n_i * cos(th_i) - n_f * cos(th_f)) /\n", "KeyboardInterrupt\n", "KeyboardInterrupt\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 323, in coh_tmm\n", " make_2x2_array(exp(-1j*delta[i]), 0, 0, exp(1j*delta[i]),\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 325, in coh_tmm\n", " make_2x2_array(1, r_list[i,i+1], r_list[i,i+1], 1, dtype=complex))\n", "KeyboardInterrupt\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 322, in coh_tmm\n", " M_list[i] = (1/t_list[i,i+1]) * np.dot(\n", "KeyboardInterrupt\n", "KeyboardInterrupt\n", " File \"\", line 23, in tmm_wrapper2\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", "KeyboardInterrupt\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 36, in make_2x2_array\n", " my_array = np.empty((2,2), dtype=dtype)\n", "KeyboardInterrupt\n", " File \"/home/hegder/miesca/makeqx.py\", line 265, in tmm_eval_wsweep\n", " Rs[lidx] = 100*coh_tmm('s',n_x,d_x, th_0=inc_ang*degree,lam_vac=lam)\n", "KeyboardInterrupt\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 325, in coh_tmm\n", " make_2x2_array(1, r_list[i,i+1], r_list[i,i+1], 1, dtype=complex))\n", "KeyboardInterrupt\n", "KeyboardInterrupt\n", " File \"/home/hegder/anaconda3/lib/python3.7/site-packages/tmm/tmm_core.py\", line 38, in make_2x2_array\n", " my_array[0,1] = b\n", "KeyboardInterrupt\n" ] } ], "source": [ "import warnings\n", "warnings.filterwarnings(\"ignore\",category =RuntimeWarning)\n", "import numpy as np\n", "import makeqx as mkq\n", "import de2 as de\n", "import multiprocessing as mp\n", " \n", "def arc_0(qx, lam_min=400, lam_max=800, npoints=50):\n", " cthick = qx[0]\n", " q_x = qx[1:]\n", " Rs0, Rp0 = mkq.tmm_lam_parallel(q_x, cthick, 0, n_par=12, lam_low=lam_min, lam_high=lam_max, lam_pts=npoints, n_subs=1.52)\n", " return np.mean(Rs0)\n", " \n", "def arc_dig_0(qx, lam_min=400, lam_max=800, npoints=50):\n", " cthick = qx[0]\n", " q_x = mkq.digitize_qx(qx[1:], dlevels=2)\n", " Rs0, Rp0 = mkq.tmm_lam_parallel(q_x, cthick, 0, n_par=12, lam_low=lam_min, lam_high=lam_max, lam_pts=npoints, n_subs=1.52)\n", " return np.mean(Rs0)\n", "\n", "\n", "def tmm_wrapper2(arg):\n", " args, kwargs = arg\n", " return mkq.tmm_eval_wsweep(*args, **kwargs)\n", "\n", "\n", "def arc_par(pop, **kwargs):\n", " jobs = []\n", " pool=mp.Pool(12)\n", " for indiv in pop:\n", " indivi = mkq.digitize_qx(indiv[1:], dlevels=4)\n", " jobs.append((indivi, indiv[0], 0))\n", " arg = [(j, kwargs) for j in jobs]\n", " answ = np.array(pool.map(tmm_wrapper2, arg))\n", " pool.close()\n", " return np.mean(answ, axis=1)\n", "\n", " \n", "num_layers = 15 \n", "bnds = [(0, 1)]*num_layers\n", "bnds = [(200, 300)] + bnds\n", "its_first = 0\n", "psnew = 500\n", "its_second = 800\n", "\n", "pop = np.ones((psnew, 1+ num_layers))\n", "for indiv in range(psnew):\n", " pop[indiv,1:] = mkq.make_qx(num_layers)\n", " pop[indiv,0] = np.random.uniform( bnds[0][0], bnds[0][1], 1 )\n", " \n", "b, c, hstry = de.de_cp(fobj=arc_par, bounds=bnds, pop=pop, history=[], it_start=its_first, popsize=psnew, its=its_second, lam_low=400, lam_high=800, lam_pts=50)\n", "\n", "\n", "#m1 = mkq.tmm_eval2(qx=pop[0][1:], cthick=pop[0][0]) \n", "#m2 = mkq.tmm_eval(qx=pop[0][1:], cthick=pop[0][0]) \n", "\n", "#arc_par(pop, lam_low=400, lam_high=800, lam_pts=50)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2018-11-04T11:51:16.346401Z", "start_time": "2018-11-04T11:51:16.339004Z" } }, "outputs": [], "source": [ "np.savetxt(X=b, fname='b.txt')" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "ExecuteTime": { "end_time": "2018-11-08T11:29:07.146923Z", "start_time": "2018-11-08T11:29:07.139727Z" } }, "outputs": [ { "data": { "text/plain": [ "(0.3985360204052582, 500.0)" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c, b[0]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2018-11-04T12:53:39.666806Z", "start_time": "2018-11-04T12:53:39.659691Z" } }, "outputs": [], "source": [ "import makeqx as mkq\n", "mkq.make_qx(10)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2018-11-04T13:56:02.195399Z", "start_time": "2018-11-04T13:56:02.187776Z" } }, "outputs": [], "source": [ "bnds[0][0]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.0" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false } }, "nbformat": 4, "nbformat_minor": 2 }