From 6a3270bfac8d6b6b2629238d3aa3e54239736bd4 Mon Sep 17 00:00:00 2001 From: waterfall-xi <146172962+waterfall-xi@users.noreply.github.com> Date: Mon, 6 Nov 2023 06:19:08 +0800 Subject: [PATCH 01/26] Remove duplicate termination assign in algorithm.py (#493) There are dulicate termination assign in line 41 and line 70, then lines 69 to 71 of the code are removed. --- pymoo/core/algorithm.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/pymoo/core/algorithm.py b/pymoo/core/algorithm.py index f3fc071f5..441aef1db 100644 --- a/pymoo/core/algorithm.py +++ b/pymoo/core/algorithm.py @@ -66,9 +66,6 @@ def __init__(self, # the random seed that was used self.seed = seed - # an algorithm can defined the default termination which can be overwritten - self.termination = termination - # the function evaluator object (can be used to inject code) if evaluator is None: evaluator = Evaluator() From 51418b1e5567ebccd40cef2dba5ec20788d147b0 Mon Sep 17 00:00:00 2001 From: Romain Egele Date: Sun, 5 Nov 2023 23:32:53 +0100 Subject: [PATCH 02/26] "n_last" replaced by "period" in termination documentation (#489) --- docs/source/interface/termination.ipynb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/source/interface/termination.ipynb b/docs/source/interface/termination.ipynb index 0a3fbdaa1..bc3d9bb49 100644 --- a/docs/source/interface/termination.ipynb +++ b/docs/source/interface/termination.ipynb @@ -115,7 +115,7 @@ "Commonly used are the movement in the design space `f_tol` and the convergence in the constraint `cv_tol` and objective space `f_tol`.\n", "To provide an upper bound for the algorithm, we recommend supplying a maximum number of generations `n_max_gen` or function evaluations `n_max_evals`.\n", "\n", - "Moreover, it is worth mentioning that tolerance termination is based on a sliding window. Not only the last, but a sequence of the `n_last` generations are used to calculate compare the tolerances with an bound defined by the user." + "Moreover, it is worth mentioning that tolerance termination is based on a sliding window. Not only the last, but a sequence of the `period` generations are used to calculate compare the tolerances with an bound defined by the user." ] }, { @@ -560,7 +560,11 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "name": "python" + } + }, "nbformat": 4, "nbformat_minor": 4 } From 1607a8dcd04f3ba917a57162b1e1bcbb10dd2767 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Thu, 16 Nov 2023 18:35:41 -0800 Subject: [PATCH 03/26] error in brkga pymoo implementation #499 --- pymoo/algorithms/soo/nonconvex/brkga.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pymoo/algorithms/soo/nonconvex/brkga.py b/pymoo/algorithms/soo/nonconvex/brkga.py index 2a6decd4f..5b3aed408 100755 --- a/pymoo/algorithms/soo/nonconvex/brkga.py +++ b/pymoo/algorithms/soo/nonconvex/brkga.py @@ -10,7 +10,6 @@ from pymoo.operators.crossover.binx import BinomialCrossover from pymoo.operators.mutation.nom import NoMutation from pymoo.operators.sampling.rnd import FloatRandomSampling -from pymoo.operators.selection.rnd import RandomSelection from pymoo.termination.default import DefaultSingleObjectiveTermination from pymoo.util.display.single import SingleObjectiveOutput from pymoo.util.nds.non_dominated_sorting import NonDominatedSorting @@ -60,8 +59,8 @@ class EliteBiasedSelection(Selection): def _do(self, problem, pop, n_select, n_parents, **kwargs): _type = pop.get("type") - elites = np.where(_type == "elite")[0] - non_elites = np.where(_type == "non_elite")[0] + elites = np.where(_type == "elite")[0].astype(int) + non_elites = np.where(_type == "non_elite")[0].astype(int) # if through duplicate elimination no non-elites exist if len(non_elites) == 0: From 65bfd1f06c3ed49ea0ff43402b1d4eb7ecd36f09 Mon Sep 17 00:00:00 2001 From: Charles David Mupende Date: Sun, 19 Nov 2023 18:55:43 +0100 Subject: [PATCH 04/26] Add KGB dmoea algorithm (#497) --- df-problems-kgb-test.py | 135 +++++++++++ kgb-doku.md | 75 ++++++ ps.json | 1 + pymoo/algorithms/moo/kgb.py | 443 ++++++++++++++++++++++++++++++++++++ 4 files changed, 654 insertions(+) create mode 100755 df-problems-kgb-test.py create mode 100644 kgb-doku.md create mode 100644 ps.json create mode 100755 pymoo/algorithms/moo/kgb.py diff --git a/df-problems-kgb-test.py b/df-problems-kgb-test.py new file mode 100755 index 000000000..9b69b3479 --- /dev/null +++ b/df-problems-kgb-test.py @@ -0,0 +1,135 @@ +import json +import time +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +from pymoo.algorithms.moo.dnsga2 import DNSGA2 +from pymoo.core.callback import CallbackCollection, Callback +from pymoo.optimize import minimize +from pymoo.problems import get_problem +from pymoo.problems.dyn import TimeSimulation +from pymoo.termination import get_termination +from pymoo.indicators.igd import IGD +from pymoo.indicators.hv import Hypervolume +from statistics import mean +from pymoo.algorithms.moo.kgb import KGB + +# Experimental Settings +n_var = 5 +change_frequency = 10 +change_severity = 1 +pop_size = 100 +max_n_gen = 30 * change_frequency +termination = get_termination("n_gen", max_n_gen) +problem_string = "df1" +verbose = False +seed = 1 + +# Metric Vars / Callbacks +po_gen = [] +igds = [] +hvs = [] +pof = [] +pos = [] + +def reset_metrics(): + global po_gen, igds, hvs, igds_monitor, hvs_monitor, pof, pos + po_gen = [] + igds = [] + hvs = [] + igds_monitor = [] + hvs_monitor = [] + pof = [] + pos = [] + +def update_metrics(algorithm): + + _F = algorithm.opt.get("F") + PF = algorithm.problem._calc_pareto_front() + igd = IGD(PF).do(_F) + hv = Hypervolume(pf=PF).do(_F) + + pos.append(algorithm.opt.get("X")) + igds.append(igd) + hvs.append(hv) + + po_gen.append(algorithm.opt) + + pof.append(PF) + +class DefaultDynCallback(Callback): + + def _update(self, algorithm): + + update_metrics(algorithm) + +# Function to run an algorithm and return the results +def run_algorithm(problem, algorithm, termination, seed, verbose): + reset_metrics() + simulation = TimeSimulation() + callback = CallbackCollection(DefaultDynCallback(), simulation) + res = minimize(problem, algorithm, termination=termination, callback=callback, seed=seed, verbose=verbose) + return res, igds, hvs + +# Function to plot metrics on an axis +def plot_metrics(ax, data, ylabel, label=None): + ax.set_xlabel("Generation") + ax.set_ylabel(ylabel) + ax.plot(data, label=label) + + +def main(): + # DNSGA2 + problem = get_problem(problem_string, taut=change_frequency, nt=change_severity, n_var=n_var) + algorithm = DNSGA2(pop_size=pop_size) + start = time.time() + res, igds, hvs = run_algorithm(problem, algorithm, termination, seed, verbose) + print("DNSGA2 Performance") + print(f'Time: {time.time() - start}') + print("MIGDS", mean(igds)) + print("MHV", mean(hvs)) + + fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5)) + plot_metrics(ax1, hvs, "Hypervolume", label="DNSGA2") + plot_metrics(ax2, igds, "IGD", label="DNSGA2") + + # KGB-DMOEA + problem = get_problem(problem_string, taut=change_frequency, nt=change_severity, n_var=n_var) + algorithm = KGB(pop_size=pop_size, save_ps=True) + start = time.time() + res, igds, hvs = run_algorithm(problem, algorithm, termination, seed, verbose) + + print("KGBDMOEA Performance") + print(f'Time: {time.time() - start}') + print("MIGDS", mean(igds)) + print("MHV", mean(hvs)) + + plot_metrics(ax1, hvs, "Hypervolume", label="KGB-DMOEA") + plot_metrics(ax2, igds, "IGD", label="KGB-DMOEA") + + # KGB-DMOA with PS Init load archive of POS + + with open('ps.json', 'r') as f: + ps = json.load(f) + + problem = get_problem(problem_string, taut=change_frequency, nt=change_severity, n_var=n_var) + algorithm = KGB(pop_size=pop_size, ps=ps, save_ps=True) + start = time.time() + res, igds, hvs = run_algorithm(problem, algorithm, termination, seed, verbose) + + print("KGBDMOEA Performance") + print(f'Time: {time.time() - start}') + print("MIGDS", mean(igds)) + print("MHV", mean(hvs)) + + plot_metrics(ax1, hvs, "Hypervolume", label="KGB-DMOA with PS Init") + plot_metrics(ax2, igds, "IGD", label="KGB-DMOA with PS Init") + + ax1.legend() + ax2.legend() + + plt.tight_layout() + plt.savefig('output_plot.png') + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/kgb-doku.md b/kgb-doku.md new file mode 100644 index 000000000..61c1290cd --- /dev/null +++ b/kgb-doku.md @@ -0,0 +1,75 @@ +KGB-DMOEA (Knowledge-Guided Bayesian Dynamic +Multi-Objective Evolutionary Algorithm) Overview +KGB-DMOEA is a sophisticated evolutionary algorithm +for dynamic multi-objective optimization problems +(DMOPs). It employs a knowledge-guided Bayesian +classification approach to adeptly navigate and +adapt to changing Pareto-optimal solutions in +dynamic environments. This algorithm utilizes past +search experiences, distinguishing them as +beneficial or non-beneficial, to effectively direct +the search in new scenarios. Key Features + • Knowledge Reconstruction-Examination + (KRE): Dynamically re-evaluates historical + optimal solutions based on their relevance + and utility in the current environment. • + Bayesian Classification: Employs a Naive + Bayesian Classifier to forecast + high-quality initial populations for new + environments. • Adaptive Strategy: + Incorporates dynamic parameter adjustment + for optimized performance across varying + dynamic contexts. +Parameters • perc_detect_change (float, optional): + Proportion of the population used to detect + environmental changes. Default: 0.1. • + perc_diversity (float, optional): + Proportion of the population allocated for + introducing diversity. Default: 0.3. • + c_size (int, optional): Cluster size. + Default: 13. • eps (float, optional): + Threshold for detecting changes. Default: + 0.0. • ps (dict, optional): Record of + historical Pareto sets. Default: {}. • + pertub_dev (float, optional): Deviation for + perturbation in diversity introduction. + Default: 0.1. • save_ps (bool, optional): + Option to save Pareto set data. Default: + False. +Methods • __init__(**kwargs): Initializes the + KGB-DMOEA algorithm with the provided + parameters. • + knowledge_reconstruction_examination(): + Implements the KRE strategy. • + naive_bayesian_classifier(pop_useful, + pop_useless): Trains the Naive Bayesian + Classifier using useful and useless + populations. • add_to_ps(): Incorporates + the current Pareto optimal set into the + historical Pareto set. • + predicted_population(X_test, Y_test): + Constructs a predicted population based on + classifier outcomes. • + calculate_cluster_centroid(solution_cluster): + Calculates the centroid for a specified + solution cluster. • check_boundaries(pop): + Ensures all population solutions stay + within defined problem boundaries. • + random_strategy(N_r): Generates a random + population within the bounds of the + problem. • diversify_population(pop): + Introduces diversity to the population. • + _advance(**kwargs): Progresses the + optimization algorithm by one iteration. +Usage Example from pymoo.algorithms.moo.kgb import +KGB +# Define your problem +problem = ... +# Initialize KGB-DMOEA with specific parameters +algorithm = KGB( perc_detect_change=0.1, + perc_diversity=0.3, c_size=13, eps=0.0, ps={}, + pertub_dev=0.1, save_ps=False +) +# Execute the optimization +res = minimize(problem, algorithm, ...) References + 1. Yulong Ye, Lingjie Li, Qiuzhen Lin, Ka-Chun Wong, Jianqiang Li, Zhong Ming. “A knowledge guided Bayesian classification for dynamic multi-objective optimization”. Knowledge-Based Systems, Volume 251, 2022. Link to the paper diff --git a/ps.json b/ps.json new file mode 100644 index 000000000..4df9ce006 --- /dev/null +++ b/ps.json @@ -0,0 +1 @@ +{"0-0": {"solutions": [[0.5123317262563989, 0.2023380329950608, 0.0001821203314204961, 0.1126145256877617, 0.16580573612734895], [0.4327386354776238, 0.2566664997966296, 0.05996119426890481, 0.04261242210999726, 0.06504244022651949], [0.588124667994153, 0.13627955980572554, 0.05991768951221166, 0.12533148083265333, 0.042357244286428064], [0.5883609018435333, 0.13628031089314407, 0.05991768951221166, 0.12621114784214083, 0.042357244286428064], [0.6035987621284739, 0.13627955980572554, 0.04415633851740351, 0.12533148083265333, 0.042357244286428064], [0.5343227360064572, 0.13582744844496858, 0.0001530995016647968, 0.11192774139119151, 0.024048830629702506], [0.6474515488414054, 0.16351019304710707, 0.1532460554244126, 0.12108808422928172, 0.043477091822563846], [0.537221472935759, 0.04553664818909668, 0.031339917256603386, 0.009914682216209975, 0.044490764184480815], [0.5242393077718953, 0.13645597674810356, 0.2023871021668181, 0.07030120923391037, 0.0005657720934143518], [0.4413714333409106, 0.013512117200044887, 0.1601576471599723, 0.04837722038173767, 0.07464569590589447], [0.3109140830316663, 0.13560540519070968, 0.1689396258117692, 0.0024404201113589277, 0.10772697780914876], [0.4932743980297918, 0.13588331239517573, 0.06483224553852074, 0.06119139246290378, 0.021966562929995697], [0.5435128047909131, 0.12165225556072906, 0.06312010975296345, 0.0603651467541556, 0.01892404492019301], [0.5483961001716806, 0.09392455498917746, 0.06312010975296345, 0.0603651467541556, 0.011910346491646493], [0.45144737090970566, 0.09164026597135697, 0.05315506056439995, 0.08087590628015023, 0.049652857070650674], [0.4936226314625132, 0.0929936689219144, 0.015270027239791761, 0.06119139246290378, 0.021966562929995697], [0.5832598961304145, 0.012430211171893635, 0.06312010975296345, 0.0603651467541556, 0.01892404492019301], [0.5536580098003163, 0.012225406907677476, 0.06312010975296345, 0.0603651467541556, 0.01892404492019301], [0.5530266401493, 0.012225406907677476, 0.06310150711143415, 0.05935589978926691, 0.01892404492019301], [0.5506427470603904, 0.012435583540836096, 0.10148751844243357, 0.08075826607256514, 0.01892404492019301], [0.5197899713271297, 0.015207186737493772, 0.03643685899269235, 0.0835703315497647, 0.05066401759699001], [0.5074802584221807, 0.014343848592204389, 0.029428109643403196, 0.0835703315497647, 0.037216996092524574], [0.5036065882630004, 0.01372697810611622, 0.05204678966053718, 0.10219222931755931, 0.05112122967432135], [0.6146313132620088, 0.03790806813350768, 0.14665063242788368, 7.901780743422432e-06, 0.01892404492019301], [0.4874152345781565, 0.0624416794817487, 0.05343094205011627, 0.0637820844597954, 0.04331798421409121], [0.511207257788223, 0.0914555927534242, 0.02979168611645943, 0.040887914853401694, 0.010534424904031323], [0.5200248914815522, 0.09232314933073056, 0.04564443326717637, 0.03688348937751476, 0.042121578498568325], [0.5514003061987025, 0.0624416794817487, 0.07303618541577843, 0.0073260529004107525, 0.04210752039280363], [0.5356553044869369, 0.0624416794817487, 0.07335456369007347, 0.0035099031459572966, 0.04210752039280363], [0.554307494349408, 0.04180097224980341, 0.03701799417643219, 0.001555831708804526, 0.04268290162959811], [0.5850939676032789, 0.025801027508226614, 0.049182823384909174, 0.021183127892834237, 0.06872306387081627], [0.567760761941969, 0.048521542037004435, 0.034803787744398136, 0.03422047910628201, 0.07155571887447562], [0.5265426668919843, 0.005560041382060135, 0.07313531950401429, 0.007457864899626902, 0.00519726001885374], [0.5838862320423088, 0.025766001944024487, 0.04580448914805476, 0.011429413553888244, 0.13861754179814892], [0.7108824557806599, 0.03324639611539067, 0.07868870055780645, 0.0833991118202541, 0.021907332596371808], [0.6459715130331765, 0.0018168249462296926, 0.13205663458428812, 0.08330187359046258, 0.03216258807345296], [0.739122420216895, 0.02399242830493177, 0.004934269576069683, 0.05754797030040827, 0.10260893128739082], [0.7727927281686289, 0.0011665195334886053, 0.03419827109123415, 0.08356983275605104, 0.08362044188157537], [0.7760110752865373, 0.00011749169172368956, 0.0040241145152968266, 0.061153303011448626, 0.1042584219252787], [0.7504705481815036, 0.005435813544147933, 0.0835215659508752, 0.028180221688835938, 0.10764061867076549], [0.7472430172131415, 0.005435813544147933, 0.0835215659508752, 0.028180221688835938, 0.10866136668856449], [0.6397120343374894, 0.01514233423520879, 0.06310149158595807, 0.04637281384836195, 0.11936821630325935], [0.6710293514436996, 0.050540786469150126, 0.06463732336263625, 0.08553450921711281, 0.08041697401784587], [0.6769499522162913, 0.0034139604207805855, 0.033617856158002585, 0.0698220492282336, 0.07859743214523926], [0.6839851403970176, 0.010493288934795144, 0.03256433465267701, 0.08553450921711281, 0.08041697401784587], [0.6461627605783159, 0.009412624526032157, 0.005322270890356723, 0.07997111307294924, 0.10708428107119936], [0.6811519584284724, 0.00817893528075258, 0.00501323192242068, 0.058478392868454854, 0.10507699955618921], [0.6612003431778989, 0.042449282876536626, 0.0040241145152968266, 0.0824543031088803, 0.07382368155379337], [0.6978775577456604, 0.0011674128019949989, 0.005672800622529811, 0.02184733573798789, 0.08362044188157537], [0.6961332676792191, 0.0926481704875283, 0.06283832844078319, 0.007324538174440676, 0.08104279907691171], [0.657529353456121, 0.12932851734840262, 0.03437815857066623, 0.08878510889812935, 0.00464451935303635], [0.6594252819265574, 0.08280633496186963, 0.027176729652266134, 0.0824543031088803, 0.06486106842044603], [0.6584813062582882, 0.09385578429728347, 0.02955097492900942, 0.11231431346186939, 0.03649907689621766], [0.6932701087118723, 0.048521542037004435, 0.036433140610519985, 0.05162248755956356, 0.07155571887447562], [0.6666493731543743, 0.008740976335578174, 0.04996859406641635, 0.05069182561812072, 0.08012120688992712], [0.7513992576613546, 0.03195362144273403, 0.0492221664782259, 0.06558893805742651, 0.07662204059046354], [0.7000109911918965, 0.0478184004703941, 0.03602939367344811, 0.05162248755956356, 0.0303191419248066], [0.72066251099965, 0.03786793576798947, 0.010907189180888392, 0.05947221183480933, 0.03375967378088074], [0.7304251239209952, 0.03225876658227764, 0.012936886381587229, 0.06344531142111569, 0.03387738678261562], [0.7635591980052443, 0.03195362144273403, 0.017848117176429798, 0.06559083288414261, 0.0453014340758232], [0.7420218985481977, 0.04045951423688621, 6.592203046538667e-05, 0.09890587221763539, 0.05072841770861391], [0.7125329574814389, 0.01027624075705355, 0.007538518066134336, 0.020356931332678366, 0.03485371704673259], [0.6763350017546859, 0.03487822001826718, 0.06536085913642384, 0.019068072216510024, 0.0004140421089899142], [0.6454301092721618, 0.03207721042568981, 0.06711380180121718, 0.04494399290153274, 0.03387738678261562], [0.6147466127275849, 0.0295659956598584, 0.008074285378563084, 0.020307302180291975, 0.057588648006793544], [0.6083142962894938, 0.026900994917692933, 0.007008854218486224, 0.020307302180291975, 0.05813085627972788], [0.603384767471863, 0.026900994917692933, 0.007020936984890369, 0.03426102396590914, 0.047724994750027415], [0.6325433789226906, 0.0387148857498959, 0.0005918303189303489, 0.019006203340285577, 0.03471128096311979], [0.6478444201546654, 0.026900994917692933, 0.007020936984890369, 0.011718054092523291, 0.047724994750027415], [0.6318515477199449, 0.026865969353490806, 0.007008854218486224, 0.06325718819572124, 0.06664336211000342], [0.6567204638617404, 0.0421248239259935, 0.03874394653633721, 0.025351642632085586, 0.0715891598727879], [0.6033789953196009, 0.0850822906183686, 0.007374046536819626, 0.047341736874511264, 0.07344463856368849], [0.667251995131324, 0.03589981143145278, 0.008035903478662317, 0.08886714426538146, 5.422998648309252e-05], [0.8118152140753848, 0.0295659956598584, 0.008074285378563084, 0.020307302180291975, 0.057588648006793544], [0.7724539572010138, 0.030337125876406773, 0.007811080131967579, 0.006416161800958236, 0.033278427652810624], [0.800280994908342, 0.025933931256485326, 0.049592412229368076, 0.026904469362088512, 0.03363814689707867], [0.7574173468746553, 0.006235850280570538, 0.05604359084570716, 0.013490669531022403, 0.003673437097163487], [0.6123015553793913, 0.05517651474185922, 0.07617233891469438, 0.061113997829437966, 0.056194052572418635], [0.6610039143095612, 0.05553904087378042, 0.05617223655023343, 0.0017012237441721527, 0.07315512248077402], [0.7005489497946237, 0.052866533092135244, 0.02075397104421145, 0.014434272546204434, 0.003654828125802506], [0.7075526691759494, 0.052866533092135244, 0.02075397104421145, 0.0142479343284263, 0.003654828125802506], [0.6783300072398785, 0.049520630208118435, 0.007376180061314536, 0.001143049777074784, 0.005260122228477513], [0.6748874348916842, 0.05804981084210826, 0.06809353488347657, 0.02355618897930946, 0.00031962162300091883], [0.6263386126014494, 0.05195169603918133, 0.08713937329813923, 0.0012388461130971341, 0.020276877809632877], [0.6269746624042741, 0.05195169603918133, 0.06780864624832145, 0.0012388461130971341, 6.680909982686653e-06], [0.648470391249432, 0.052743422990788255, 0.046701455211212675, 2.1124354056027304e-05, 3.3535058212609548e-06], [0.6449384217640403, 0.05195169603918133, 0.047882235087997604, 0.0012388461130971341, 0.0005174221567270151], [0.6386080082465915, 0.10794303734202039, 0.013303155045625029, 0.002582228525415936, 0.03225398704949464], [0.6415440337022097, 0.10794303734202039, 0.013303155045625029, 0.0026316075062543225, 0.03225398704949464], [0.5630352582592313, 0.007153896380175568, 0.049742160759018064, 0.00023662067118645352, 0.01132052295930151], [0.5079773278585191, 0.0373362656988899, 0.03471328693756749, 0.00014176995884345941, 0.020937723967009395], [0.5216854467032213, 0.049928819014511974, 0.03444067339825069, 0.0011566389003927133, 0.007965887632900376], [0.5472904794502984, 0.052866533092135244, 0.021935622209520944, 0.000636470636066761, 0.003654828125802506], [0.5358962949718886, 0.019488636152357394, 0.0070750848925837636, 0.0005274424578223316, 0.05097025527477914], [0.5493676969228027, 0.015314416882543341, 0.007515725460362582, 0.022257443625154524, 0.009865237569832201], [0.5903892126620114, 0.05540839925089312, 0.007447530637776565, 0.00014133311925365556, 0.00013386208273972935], [0.5981135555844485, 0.05195169603918133, 0.035351738917115766, 0.0012388461130971341, 3.3535058212609548e-06], [0.5056469012953158, 0.09406768146806178, 0.009620169643898079, 0.00011203275266463957, 0.051330648264870535], [0.5877459986207871, 0.029928807904420096, 0.12886854988754137, 0.0010500003410493161, 0.0040332929240316645], [0.6107041357047825, 0.03257910720206614, 0.04459619507579584, 0.0002795433660886214, 0.007415057568435364], [0.6349028656251551, 0.05546246698524791, 0.053335019308742446, 9.483877317762639e-05, 0.005608712662152529], [0.65342363189769, 0.01177085995673736, 0.04768161046521766, 0.00011582688962881685, 0.00043897117359977325], [0.6441023979205138, 0.0010905822998233037, 0.06849991036751847, 5.143021492734555e-06, 0.01004764071671022], [0.6668224244410265, 0.003490362464375063, 0.025726679147600517, 0.00020297591524639363, 0.004636463499302863], [0.6282708385582636, 0.0012009924203249711, 0.024098528316752015, 0.02558028534559848, 0.032661444140434454], [0.5936006380562309, 0.0, 0.006339585965499106, 0.00032297626734765095, 0.003276717210450482], [0.589988834285955, 4.501262986432783e-05, 0.02596466183665746, 0.0005403973118276173, 0.03538874130838135], [0.5820397752081876, 0.006784103589726927, 0.07190594039546298, 0.000877119343477179, 0.0009822598294787696], [0.5765411670775621, 0.00034293454351741297, 0.07871683354304969, 0.006390828161567024, 0.01858063935642099], [0.570449355899209, 0.004027421785796166, 0.05384280629226337, 0.0, 0.011964529984240899], [0.6973966747917013, 0.0006695291186756547, 0.03217402697736748, 0.0005403973118276173, 0.03538874130838135], [0.685525245920313, 0.0009280792682820923, 0.03944807215661508, 0.0006643399985586905, 0.0363696133479918], [0.6779794243313089, 0.014769415876554167, 0.03371077675036255, 8.237169894025588e-06, 0.04474871043743525], [0.7147652766625481, 0.013398929326613471, 0.029751615638508314, 0.002732518497758414, 0.04253929846209396], [0.7230223129542874, 9.65029829264343e-05, 0.030279482651868146, 0.0026490812172779363, 0.039896598825840325], [0.7515317668682855, 0.0, 0.031457194445617176, 0.0, 0.0321591585581004], [0.7375641664781548, 0.00030541394955903176, 0.03377422189050805, 0.0, 0.04486554710896741], [0.7654613280421535, 0.0, 0.021962945619173634, 0.0004960193742599183, 0.06973937329216719], [0.7924105671852244, 0.019209290214941867, 0.05806027716886972, 0.007169206299094155, 0.011101776087081391], [0.7768100770090272, 0.03257910720206614, 0.04324619431480172, 0.0002795433660886214, 0.007708550121747378], [0.7826148386421581, 0.0006174175004039877, 0.025998357589817705, 0.00020239524194723624, 0.007708550121747378], [0.7709336183975761, 0.02881498196017898, 0.06984460434897155, 0.0, 0.03601274151247173], [0.7410433359909645, 0.0031371034249726678, 0.052996058127665294, 0.00017342887146799653, 0.000563083382403004], [0.7625235825193369, 0.07180585132312556, 0.0536025932149124, 0.0005414253843332138, 0.05180930227826422], [0.6347272906004309, 0.04166558823804799, 0.018691926085277914, 0.0006128503489458183, 0.04104723022213196], [0.5951950796968299, 0.0014545318458003336, 0.044323348264218916, 0.05785941262552158, 0.00743941474333688], [0.6178591078115859, 2.781296967128808e-07, 0.011790487290722247, 1.697346448838134e-05, 5.359541907506915e-08], [0.6040130064704693, 0.013827452251319386, 0.01315382815679314, 0.00035734115741789985, 0.005082253433228259], [0.5993976422667897, 0.0007981147790248923, 0.04062344889347811, 0.01784428254496448, 2.323238821784918e-05], [0.6279663829654912, 0.030239936383160235, 0.020266564958364954, 0.0345231558829055, 0.0006000054304080224], [0.6409162432652293, 3.62933143857007e-05, 0.010983416864875504, 0.05341711985882851, 0.0003759434192958117], [0.6493950574621942, 4.141019500501555e-05, 0.045665613723244555, 0.026240020547994798, 0.0018353757303678307], [0.6868042122542687, 0.00015012475554490655, 0.013798376654346097, 0.0004491838377841031, 0.0], [0.673269496019014, 4.94594787643376e-05, 0.007300039009874821, 0.0, 0.0], [0.6604933076165157, 0.0072526912511161334, 0.018929424359247205, 0.0, 0.0], [0.6614291748150067, 0.0071896016553389406, 0.018639707464034167, 0.0, 0.0], [0.6718150433181591, 0.0072526912511161334, 0.018929424359247205, 0.0, 0.0], [0.7024126927522931, 0.0, 0.007847466405293385, 3.4062147030387824e-05, 0.0], [0.7270818279475527, 0.0005031960251011269, 0.01602800147594078, 0.00021806186070639252, 0.0], [0.717273826358539, 0.0, 0.015784270439605758, 1.0514926270920738e-07, 0.0], [0.7324606884712832, 1.6370386015680935e-07, 0.010065535329617565, 0.0022710881010128206, 0.0], [0.7392126884282921, 1.0565252176856956e-05, 0.010065535329617565, 0.00017449167791525663, 0.0], [0.7454059308078281, 0.0007796009053854299, 0.03999312488032221, 0.00040318104544144646, 0.0072162783524971005], [0.7832518428348789, 2.4584598544256024e-06, 0.01607699122016763, 2.312001683366094e-06, 0.0], [0.7581924866439194, 0.013827452251319386, 0.014312230492635886, 0.0002946167695942227, 0.005082253433228259], [0.7618988285857977, 0.00022055728348703823, 0.014312230492635886, 0.0002946167695942227, 0.0002347721735764135], [0.7719943615276186, 7.581719788251437e-06, 0.003940589749394222, 0.002410029702675372, 0.003077248752109429], [0.7709155217489673, 0.013623889622667057, 0.014539498579036369, 0.014891737155452663, 0.00027390747577868413], [0.7161192595513843, 0.022486633726491678, 0.045388361302583904, 0.020074679102975883, 0.0002505321732365784], [0.8000618016481847, 0.00048737971906854735, 0.04432309017580142, 8.320789908591517e-05, 0.06234861168664607], [0.5312033556843245, 0.0018329344112707306, 0.028006807327890057, 0.040624675190031885, 0.09055491826877202], [0.5156468598676699, 0.014769415876554167, 0.009431598006855849, 0.08623343384559774, 0.04474871043743525], [0.5463043637474555, 1.743760944993883e-05, 0.04720634733725509, 2.5770198288697465e-05, 0.039957071223096614], [0.5246754036364001, 0.00033913933893989375, 0.050419314498818917, 0.0004019357176742386, 0.04421120754632582], [0.5001129995292564, 0.00016026084987805396, 0.033604199466538504, 0.0, 0.03549951450620925], [0.5069150321229322, 0.0007216532233500299, 0.03352011457075783, 0.0022390344780122513, 0.017308728819504758], [0.4757906442612143, 0.0, 0.0023270831125309643, 1.0292391526927215e-05, 0.04838624212772192], [0.48363157117294303, 0.0009784863385154385, 0.0009685545676202979, 0.0026167489479578176, 0.007704337361470122], [0.5615613121131915, 0.03660794582428539, 0.002935033969762208, 0.040624675190031885, 0.01673710686001754], [0.38668360817205805, 0.0007181924126067329, 0.05331538994185868, 8.319035698503086e-05, 0.004670894757616532], [0.3975791128363011, 0.0006843648994671883, 0.050130591101177215, 0.00011338534418966715, 0.03706930846757031], [0.41531467995402693, 0.006784103589726927, 0.07190594039546298, 0.000877119343477179, 0.00021912159343904537], [0.42354045425194364, 0.019810484527591442, 0.05530483162616828, 0.0006707382083686066, 0.010401930454015152], [0.43189619102509147, 3.541805519238577e-05, 0.05162368407475085, 0.0003351079058251036, 0.04000927431607396], [0.44201544220083866, 0.016633610308116987, 0.028967415398967102, 0.0009989519200638286, 0.0035621333951728062], [0.4710241299720155, 0.018978635079347, 0.07193889970998224, 0.0, 0.04477299581928908], [0.45766991504619475, 0.021727546449447233, 0.06675151218647198, 7.85838013102082e-05, 0.01419134776544631], [0.44970658975117306, 5.404043265211378e-05, 0.03580105691044803, 0.040624675190031885, 0.01725701483120677], [0.47371446023772, 0.008087479164607878, 0.038564354122406504, 0.012031017668298498, 0.028736769919465735], [0.49198165036370123, 0.014236600447621244, 0.03753906070780375, 0.008968270673324886, 0.0130112124603982], [0.45867796330146754, 1.9000329464417365e-06, 0.003986649274064412, 0.03531591046561164, 0.03392667217190197], [0.4537868393443447, 0.0008628747580536264, 0.018567997439425547, 0.01978895095357546, 0.030280309659730636], [0.44542776729767025, 0.00015225244597676622, 0.02050595346003571, 0.0339154856841703, 0.03392667217190197], [0.4816253646083186, 0.025846050687703747, 0.00232503963678137, 0.0012683066458269079, 1.39766740066891e-08], [0.46913677637418083, 0.00026947989616355177, 0.0012828234567737393, 0.009099587869781968, 0.0], [0.5087526359804605, 0.011656220960335657, 0.056370639790739356, 0.03471594438545038, 0.0008114690550354107], [0.5197540918904286, 0.004404332382709173, 0.017620731394358945, 0.0008392206363016502, 0.027656790193519333], [0.504463424307185, 0.004641537774706297, 0.0030114643157539006, 0.013988898594563405, 0.02798471659299323], [0.5293797575251484, 0.00026947989616355177, 0.005875425458600869, 0.009318017411899082, 5.816919461609652e-05], [0.5375063817441371, 0.017786216470842428, 0.0011162615293705963, 0.008154247075569417, 0.012788364691373585], [0.5465878539620581, 0.015989418234920894, 0.01900545699323656, 0.004179225039192134, 1.0681463001846784e-06], [0.5485899343347791, 0.015989418234920894, 0.0446648587691059, 0.004179225039192134, 1.1255915427595462e-06], [0.5666602912261207, 0.0014545318458003336, 0.04682359305540425, 0.003427375965140811, 0.0076964153769721304], [0.5667848960119016, 2.6437141078659854e-05, 0.04177311172340233, 3.936466184090853e-06, 0.008792305560637648], [0.5780757501702496, 0.013540805393064032, 0.03954993216295413, 0.00019196023500305808, 0.037746845325813794], [0.5779511453844687, 0.012639336686544468, 0.04700159772768297, 0.003427375965140811, 0.037575761292818116], [0.43439456591925396, 0.07423786466520382, 0.007966662199798795, 0.0008877230692184192, 5.253240504916044e-06], [0.6091011948865259, 0.045864220180666576, 0.04558101682446332, 0.004797185365277502, 0.04328406985178383], [0.6125292802801211, 0.021897642909446714, 0.03897826498475136, 0.0001986428080729066, 0.0013533461723005194], [0.62109759983466, 0.04618577915115112, 0.038651260364341945, 0.00019864633599670173, 0.0013533461723005194], [0.6255148360254086, 0.03309819353483613, 0.00025117250708315414, 0.0076021472903280915, 0.0020940528456632745], [0.6485654000924427, 0.023449499906328348, 0.046885677213994434, 0.00021097017488138324, 0.02749939874522652], [0.5835799206903368, 0.005037777420926938, 0.0009320142829306139, 0.045881173127764435, 0.03768262448923254], [0.6371776634258511, 0.004913057241104052, 0.006850324725469089, 0.06953265158469685, 0.0012137487805629068], [0.6444435519459206, 0.01928637132719469, 0.039256229331502385, 0.06938626243809176, 0.0003154282175506021], [0.5427454706908547, 0.07466182900389569, 0.0, 1.7921226768724573e-07, 0.0], [0.5934821877509309, 0.06867160537105668, 0.005374844546778303, 0.013393353325182551, 0.00732313596905995], [0.6027729967754465, 0.06867160537105668, 0.008256144302608777, 0.013393353325182551, 0.00732313596905995], [0.5705644828092383, 0.07083742087157935, 0.012140020402422687, 0.0162388822279419, 0.0], [0.5608361820215956, 0.008470134057071754, 0.03862389649807811, 0.0002503515457127895, 0.013587912856179236], [0.5771236097622374, 0.034548497873534666, 0.043694034245050764, 0.00024348950850484625, 0.03162258167848921], [0.5213538968797384, 0.03281623309897133, 0.038651260364341945, 8.508193960404115e-05, 7.4121089068176355e-06], [0.529178907819007, 0.015185155764496684, 0.020721257847055873, 5.388863509964457e-06, 0.008525778090024909], [0.5125697508746845, 0.014486200796731456, 0.01147939438449272, 0.02820831421367844, 0.050242594847999866], [0.5018505937821962, 0.03246980815614864, 0.044303674619413175, 0.028746937339378734, 0.04263240927416451], [0.537923257168117, 0.022946411471763982, 0.03883548087665584, 0.031067209534226984, 0.036221437066306664], [0.6812870703058033, 0.08287845572154687, 0.03967019677320653, 0.026589334490703956, 0.10792611812585182], [0.757462414892329, 0.0242658894411765, 0.015061497340544586, 0.002277015027034487, 0.006695296249821493], [0.7643885987619264, 0.00857561033365186, 0.005409650729838432, 0.00834193475906218, 0.00033461096680287294], [0.7366309923539516, 0.008997014024131304, 0.0, 0.02417034868852217, 0.003168396526265993], [0.7292907553872885, 0.02070839481094971, 0.0006211332357459534, 0.0014189201810367678, 0.032297505988576565], [0.7217279884779422, 0.03518517032947201, 0.03373617868770657, 0.0009645328205823422, 0.02749939874522652], [0.6871701604424673, 0.03436127343960504, 0.03887322736409657, 0.02820831421367844, 0.032281569002378885], [0.6678324186029085, 0.07920671382000044, 0.017382903147718613, 0.002325548303057335, 0.03305105443242102], [0.7124378827232434, 0.07089950021715462, 0.020353833589990725, 0.0, 0.013474523125743692], [0.7038029748428576, 0.05679600752479415, 0.004822587504398734, 0.006438276360515541, 0.0034475190932156605], [0.6986695074076946, 0.007324480718907331, 0.01133402430237598, 0.07076864783260817, 0.0008823068281624928], [0.7214639146883526, 0.02851840026593514, 0.016088176130609574, 0.09051659006705326, 0.006704800018517721], [0.8361551343603937, 0.0070767501915566895, 0.023625654572819694, 0.029040954624113716, 0.0037989326592048865], [0.818001308928874, 0.009103863668917737, 0.020721076491182967, 0.03680559986450088, 0.011862275198945227], [0.8029437807444415, 0.03987072504838904, 0.023625654572819694, 0.029060261060729883, 0.0032511230466177564], [0.8096061155953966, 0.044509746978016546, 0.012129124801514735, 0.026605269232453405, 0.02974537615568238], [0.8126420675215644, 0.02596206892466005, 0.015061497340544586, 0.002277015027034487, 0.015831421023614713], [0.7743942066322902, 0.03045496736677055, 0.048789992411878536, 0.0010844386188300992, 0.015865406161970755], [0.7852879090596631, 0.022437858286488876, 0.02862055261317857, 0.007385223550996314, 0.0012383125190373687], [0.621597857002902, 0.03267770871031058, 0.035925238302504665, 0.025744866969301665, 0.029624811284013283], [0.6121438916050409, 0.019985398983939452, 0.03426138477000257, 0.02142320294883213, 0.006697105693277367], [0.6056724604448794, 0.0021023672683612576, 0.03037866647448373, 0.006097095227968981, 0.020063048238252962], [0.6264630415624372, 0.032947215108503444, 0.035914666796558026, 0.04700525013109875, 0.00041914334242542685], [0.6353317081912726, 0.0024817498815647293, 0.035925238302504665, 0.04700525013109875, 0.020063465952976527], [0.5830310528058136, 0.013233218024929154, 0.028477072195116256, 0.04022324401844338, 0.00036509381658370553], [0.5993764540609301, 0.02081601450918781, 0.01948071190703479, 0.03989218627621391, 0.0004673602239169822], [0.6553720158371023, 0.002073021847842527, 0.03544240570475461, 0.00035361792715779203, 0.020063048238252962], [0.6427343850624568, 0.0030789249630234217, 0.028477072195116256, 0.006904157200367874, 0.0005031561001412644], [0.6834723088538911, 7.181256055216554e-05, 0.027157951639796424, 0.02699538579598811, 0.016718554806621617], [0.6760823521483855, 0.0016613646754318426, 0.031108682270507265, 0.010742567663375363, 0.017129988049912923], [0.4978574474000671, 0.00027691802154556104, 0.0017980906330117199, 0.0024198888641854197, 0.004490353956264837], [0.4847225657612203, 0.00027691802154556104, 0.0017980906330117199, 0.012465117131968573, 0.004490353956264837], [0.47810125627546096, 0.008808119425760402, 0.007978232293493297, 0.026911748680185, 0.00047474811262405905], [0.5064740121710916, 0.0002717551001684465, 0.0012002677231654699, 0.01797007623237047, 0.02604896926897337], [0.5737550119610757, 0.0021023672683612576, 0.03037866647448373, 0.006084930539854237, 0.020063048238252962], [0.5426767430257758, 0.010675866132410682, 0.04148436992851272, 0.006458770510667955, 0.0035582473706756886], [0.533747760179216, 0.010381768391072198, 0.01877030095605851, 0.027755657081039303, 0.00995967695926775], [0.5551635598417526, 0.0, 0.00377767583046789, 0.01660605750387717, 0.0013987645864562582], [0.5231329737412556, 0.0005425135814199761, 0.007053580045985098, 0.0033005912817177935, 0.0012066290622810595], [0.5329375733129967, 0.032947215108503444, 0.03570635428957253, 0.04700525013109875, 0.019528412619613352], [0.5647768151725119, 0.0035205983975376623, 0.017991107545592064, 0.05406634715724666, 0.05202642939434887], [0.55505352112197, 0.021167780180100095, 0.011941400219918255, 0.03462065331075015, 0.08080415771674501], [0.7354198163997334, 0.0034840939135304377, 0.096149696120477, 0.022088913638938647, 0.006694287086129531], [0.7050654224052904, 0.020119951313178917, 0.09514187045637093, 0.022088913638938647, 0.003690681928123078], [0.7954152221637173, 0.00023558786848582448, 0.05101597862019228, 0.044349615181088695, 0.006736570921932197], [0.7786709886685793, 0.00023558786848582448, 0.04052766105365342, 0.020889992080295797, 0.00669668484213734], [0.7703170314775718, 0.0002491733507927396, 0.00713365802835527, 0.04153360500701159, 0.0014051948355248145], [0.757343235558889, 0.01710854465772433, 0.025233871892076508, 0.041583569286527226, 0.0066230232548380435], [0.7625756659758596, 0.009558146714049903, 0.03201732703868214, 0.03517979481942712, 0.010177625109241402], [0.7417061899643496, 0.0007596003745112372, 0.03405037322298597, 0.016265951436458655, 0.0024107727917001467], [0.7476807097500879, 0.000628033961756304, 0.05154009786014057, 0.040987915402083346, 0.00033936852423170817], [0.7182840974779395, 0.0019297304769519811, 4.99280417982223e-06, 0.05024005955326259, 0.006676007063422654], [0.7086102112737434, 0.03004582369584033, 0.005767866048755756, 0.016642810531039304, 0.001433543734811707], [0.6689380829219753, 0.03293389774691786, 0.04277237629230457, 0.05397703136840777, 0.019529688268314468], [0.6912872660618394, 0.034495897716670505, 0.029217264655954617, 0.07809838267203759, 0.017739984581528145], [0.7033538315197507, 0.0, 0.05077811316495087, 0.11234273449755988, 0.0008964103971616962], [0.8085444244083019, 0.00023558786848582448, 0.04052766105365342, 0.10770787743282756, 0.008133172514637098], [0.6329428089159427, 0.03004497403924394, 0.036327945842928186, 0.026709597518454704, 0.02787090527797862], [0.6359544592519889, 0.007272851562083309, 0.03305139362858567, 0.034503685374575044, 0.02721079797492875], [0.6124945254821317, 0.007272851562083309, 0.03305139362858567, 0.034503685374575044, 0.02721079797492875], [0.623315180541524, 0.03393530325082335, 0.001875533278067297, 0.027619087853424568, 0.014923712205380102], [0.6045047671716486, 0.045276109597157214, 0.004645085530414449, 0.011370181626141429, 0.012720936458676183], [0.6556456208988117, 0.0005446362343190445, 0.01811938101081355, 0.03424511411993045, 0.033277566653976236], [0.683797443692699, 0.018001336061920576, 0.02128843204550958, 0.013868023436641421, 0.0028089007154264226], [0.6751587799168633, 0.02937872522246895, 0.033868896096677883, 0.015313171638198245, 0.024059704395818827], [0.6595471857614154, 0.013962288194603309, 0.03733332969377784, 0.015256435041947045, 0.0173754734376005], [0.6679087873024921, 0.043376120529931575, 0.05542078785191802, 0.005497635749047193, 0.03163311934718573], [0.5928672184898587, 0.001407819230758809, 0.0188260297215365, 0.00017003121802169376, 0.0004459533978951758], [0.5966245362917173, 0.0014385375699865217, 0.024408105947729453, 0.007031635330284211, 0.0006026891258678769], [0.5648248866044965, 0.018545456858212173, 0.01254136472501451, 0.004067011097496248, 0.003299763939136856], [0.5838362158733714, 0.03659609167933487, 0.023739384794133473, 0.0076052723973951235, 0.02804462980367546], [0.5759749775433642, 0.026988864980295988, 0.03164509437926575, 0.034390207819616284, 0.03342100427744972], [0.7076481336141638, 0.055171949174739277, 0.03141698736401489, 0.013908644539384923, 0.026837852835180084], [0.698089929171485, 0.010483282625769768, 0.010699856446895736, 0.06096034336185943, 0.03247937098121533], [0.6999917553667775, 0.013419244332005125, 0.03375810188612785, 0.06226880182989726, 0.00787467168479463], [0.7201856345392579, 0.011255709821249939, 0.0870329887365867, 0.060403993112843044, 0.00781908989886624], [0.5192002515511387, 0.022169683486369447, 0.03136015822320326, 0.028207205426882587, 0.11853124785103922], [0.481678151019743, 0.01770229330469951, 0.03263136020158784, 0.013819756765299715, 0.015582476752920245], [0.49044206036805693, 0.033112365644652156, 0.04495785371476177, 0.007132636713900384, 0.02508112898289778], [0.5427243274438245, 0.023778265808736692, 0.0360944519945232, 0.022651666656359287, 0.00803775387157281], [0.5197467396213703, 0.0006387956800839832, 0.031319474420481025, 0.0242383889760447, 0.024106651822067938], [0.5273688407852468, 0.02263187725772718, 0.012827681997310407, 0.007343919760316491, 0.041770430291957164], [0.7548429940240837, 0.0055935289150492035, 0.06057179483508879, 0.027732171720195778, 0.11853124785103922], [0.7616245467266347, 0.022169683486369447, 0.0350094473517412, 0.028251995566116246, 0.11853124785103922], [0.730864871471332, 0.012013355078132157, 0.03714314764118591, 0.01574555509436741, 0.12470928311570748], [0.7317221266601044, 0.025857420828875544, 0.0321383656934812, 0.02849342387313104, 0.07427157252931423], [0.6394675889231776, 6.48347450498341e-07, 0.00031312917189187973, 0.012837666763645766, 0.0005691140663048917], [0.6447884481397664, 2.5638971717523182e-05, 0.016709269961556694, 0.0061419277758326075, 0.00958440338964188], [0.6616649487329359, 0.0, 0.0003683769059979816, 0.0062018359482776, 0.0003882983447202233], [0.6697087169081181, 0.0025807108982575863, 0.00029045816694375955, 0.006646687481199648, 0.0005667787898915703], [0.6544468879082903, 0.0006018599540285139, 0.04118313805792674, 0.012515630873827604, 0.0005775408733184164], [0.6146029829688346, 0.0001230124006598131, 0.0011720580916882327, 0.0012161150764192713, 0.015234142435720431], [0.6065431529932492, 9.756222455195281e-05, 0.025002093279156652, 0.00853706565400797, 0.001287848697760413], [0.5899109123763783, 0.037712300749905156, 0.0003047036670863583, 0.005936862815465009, 0.022360808879528616], [0.6826983921871783, 0.0, 0.0, 0.0719577825604756, 0.0005691140663048917], [0.6750124353685417, 0.0, 0.0, 0.0719577825604756, 0.0005691140663048917], [0.44666937749781277, 0.0010233404429716576, 0.0, 0.00798941806921122, 5.574603897694951e-07], [0.4566332701535415, 0.010697884777837945, 0.0, 0.014962079514978209, 0.0], [0.47260921993265764, 0.0, 3.056825771250251e-05, 0.02451459809207976, 0.0], [0.42125484719101075, 5.089166972160062e-06, 0.00021883233393979538, 0.004091367737534196, 0.005028522165601013], [0.5675070185056813, 0.0, 0.0, 0.0060674967724432234, 0.0], [0.5815732646883897, 5.520564792379709e-06, 0.00021264423190892577, 0.008111653552166946, 3.258651293490378e-05], [0.5586666477589566, 0.0, 0.0, 0.02165829948670146, 0.0], [0.5552968889283589, 0.0039040464361689425, 0.021835257622110166, 0.005673095164943994, 0.0], [0.5450920087645954, 0.0, 0.0, 0.005983238554257451, 0.0], [0.532925593121593, 0.003158497798712901, 0.0, 0.0060683701011631265, 0.0], [0.5408058752681091, 0.0, 0.025367080777631938, 0.00549946504015132, 0.022896361601704496], [0.4888760264959706, 0.002546682472410376, 0.017338778225472754, 0.005746813046480611, 0.025402177647229938], [0.4952198143245923, 0.001369231240722673, 0.0, 0.005375853281826173, 0.0], [0.5213691106393978, 0.029415305634699053, 0.0017945839408123115, 0.009234588578720566, 0.00012209826685250218], [0.508976877370437, 0.02439340014778446, 0.0, 0.00471973536639975, 9.696677802795064e-05], [0.5085035788036159, 0.001369231240722673, 0.052073513194066584, 0.01529221154131477, 0.0], [0.7362982500851354, 8.279964313419156e-05, 0.0009803165113273324, 0.00043387446955920825, 9.154046026285418e-06], [0.7218959964626824, 4.778809872024382e-05, 2.502567492970731e-06, 3.5341320039818797e-06, 1.3502549889834764e-05], [0.6892264554534464, 0.0, 0.025441560204580327, 0.0060683701011631265, 0.016971944866013042], [0.6950230361120593, 0.00024942693033848384, 0.00011803501159269789, 0.02640942499286785, 0.0006073177813937184], [0.7028629917598891, 7.916805479795883e-05, 0.0010203616898584837, 0.011868694780835475, 0.0], [0.7462585265521555, 0.004743405995982185, 0.0002601007522858509, 0.00570868523132798, 0.042499296875674594], [0.763065070278512, 0.0, 0.0, 0.00794398985671158, 0.0011067773545650472], [0.7771274286336461, 0.0036831398529076353, 0.000457870390551436, 0.003708484692883615, 0.01213522120775805], [0.7547259076178773, 0.010458720123732487, 0.01677609846156433, 0.014925781403089148, 0.0], [0.8074670948493979, 0.0006195900136332054, 0.000457870390551436, 0.002576064664359631, 0.0], [0.8167328652355667, 3.363088088487339e-05, 0.00017119264404408946, 0.003708484692883615, 0.0], [0.7979387525512854, 4.013057529520837e-06, 0.0011005493627773318, 0.0060291689359390265, 3.239563251451467e-05], [0.7917793545203302, 0.0006195900136332054, 0.0010569113460206596, 0.0019131990938909167, 0.00023605998614232952], [0.7829529003067093, 0.00032081031887533015, 0.003324696815765152, 0.010827419113260302, 2.2517668062840834e-05], [0.6244324252369725, 0.025471735548137205, 0.03124765057895731, 0.024563241698544305, 0.02508711061765265], [0.619225552833721, 0.01727135248368046, 0.020194747841665417, 0.04014024324478952, 0.017277783469651017], [0.6368963322444823, 0.019362172754548025, 0.018312812262065995, 0.0005973745668948894, 0.005891959719971515], [0.5968815114638076, 0.004592109323170411, 0.016445127414476596, 0.01055985532871024, 0.0029610324850920383], [0.6076793416479598, 0.02378528289120868, 0.019803015248639193, 0.004255323246443964, 0.017241171389399422], [0.6579656902705591, 0.04476348583393276, 0.03128772125506146, 0.014016518628963979, 0.0009049996731837883], [0.6633756283319225, 0.04551092710500281, 0.03128772125506146, 0.014016518628963979, 0.027044124906417596], [0.6861194646416032, 0.05587810183599324, 0.008458060576206999, 0.015531900989952552, 0.029937991030193192], [0.6734023518225343, 0.023785069082411917, 0.03819378309003717, 0.014659517940043883, 0.0476778582021902], [0.5755849911995914, 0.018826353458336356, 0.028621070916803132, 0.002334453071078598, 0.06015198855610246], [0.566373819140962, 0.002551510764818776, 0.028621070916803132, 0.000498452801014378, 0.06015198855610246], [0.4949717342177242, 0.020147250554567033, 0.007633756494170252, 0.034239208250334885, 0.05175819968591022], [0.520878016109586, 6.771337963740187e-05, 0.005633014811944048, 0.030626370399031266, 0.059273670652526214], [0.541333738813552, 0.025471735548137205, 0.017873268529736364, 0.02263027334173294, 0.04302117544429825], [0.5465185769095263, 0.0189772413238223, 0.028278011524302298, 0.0002741801334860926, 0.026472000548602173], [0.5164341156080311, 0.009770512746404763, 0.0021207396248378516, 0.024563241698544305, 0.021906760564611247], [0.530720968989564, 0.005116647232006749, 0.0038412635850876213, 0.001176493738445113, 0.030023346630564753], [0.5270526713775806, 0.004876645011187964, 0.008129873698384698, 0.001176493738445113, 0.030023346630564753], [0.506042648227661, 0.0245275721689628, 0.028278011524302298, 0.02089698711782948, 0.027848861939272967], [0.5562664330142906, 0.0002339832298369187, 0.03526175978445016, 0.032701648747264056, 0.0304152175470766], [0.5974165905318333, 0.013664845465129088, 0.0014045462029901798, 0.0, 0.0], [0.6067283740264796, 0.018453829022233928, 0.0, 0.015230588079971255, 0.0], [0.6245616422925155, 0.010923214597178389, 0.00014032855455603076, 0.035628691662178524, 4.6835820152524163e-05], [0.6155542939330388, 0.05375318134022028, 0.0, 4.13748441391678e-07, 0.0003719749117683836], [0.5871008713690267, 0.033131530601200075, 0.0009703732737317786, 0.002284460018975795, 0.031978898997826674], [0.6767020519450383, 0.013117095701474936, 0.001304358706774152, 0.0, 2.2984312572594132e-06], [0.6693653927569917, 0.011346040993708046, 8.9078633346726e-05, 0.017608192359215173, 0.0], [0.6829581216181331, 0.00465875701133894, 0.009229414870161155, 0.017608192359215173, 0.0], [0.665341293324097, 0.029312345231848013, 0.00013020402117478868, 0.00045742641860103516, 0.006574558797061106], [0.5441758307060985, 0.0006921600134750065, 0.020348709617226096, 0.0, 0.0], [0.5570367771150506, 0.01460418691885162, 0.028311924986373638, 0.0, 0.006965828929228432], [0.5752510153158362, 0.014744371622405775, 0.028311924986373638, 0.0, 0.0067838354492974606], [0.5652463761988166, 0.014630058387243777, 0.00016677152744673084, 0.0, 0.0], [0.6454725722065698, 0.054071305265244174, 0.0, 4.2141434218855984e-07, 0.08890857821025311], [0.696178627454175, 0.02646187408129001, 0.0, 0.07748501692018712, 0.0002905205474417749], [0.6050439550140897, 0.017084023923695138, 0.026319734377223118, 0.0307795220934204, 0.01596615412265981], [0.6148264781012802, 0.000823721112103248, 0.02960736008320803, 0.006852617205382981, 0.008435679045760612], [0.6274326796977531, 0.00021652488834619267, 0.006780420285252782, 0.03680792132638547, 4.714603025118835e-06], [0.6370675455560876, 0.00015131588702433632, 0.0035740032822562176, 0.03828110478862957, 0.010349294227609785], [0.648209541808498, 0.00015131588702433632, 0.0035740032822562176, 0.0384297024157397, 0.010349294227609785], [0.6781073536427451, 0.007091487409655942, 0.025129711323163377, 0.022629010093039744, 0.021900457783072397], [0.6581710091778562, 0.010986004374196737, 0.025297225155992566, 0.016923565940019, 0.01553499949297369], [0.6889744580844658, 0.018354551586729086, 0.03884784201305412, 0.01486626615810795, 0.02572224922946524], [0.5252060183782713, 0.012148227071943933, 0.03419823014148653, 0.07227721926328826, 0.000660675818311474], [0.5376228086147812, 0.01191577399878827, 0.02416976171972141, 0.030012641005022198, 0.0006179321457189177], [0.5628166058155513, 0.0005138984732059359, 0.008371876604047064, 0.031193139896901378, 0.0029025866068937197], [0.584362437338174, 8.201287805516754e-05, 0.011447855208985017, 0.007904872406466312, 0.008818051291411149], [0.5679153097644674, 0.015509424396640697, 0.030340417111311843, 0.0015456835606571726, 0.009041785215973201], [0.5343427444280463, 0.014180406124057212, 0.024073473799272313, 0.001542471715352392, 0.018813527311147493], [0.5598094712038693, 0.0007856922563731494, 0.05317792241528721, 0.004799269194779424, 0.09548464216557587], [0.5991595258506249, 0.007909465427605514, 0.024060128902204794, 0.0004569623725948508, 0.09876939657383166], [0.6066030155332888, 0.036437359289663025, 0.02883510227236121, 0.01963700590242736, 0.008489085488573894], [0.6222047698356747, 0.024227342679388104, 0.022876033614747125, 0.022403164325794162, 0.00038203940405549114], [0.6356052572907642, 0.00036296195819931, 0.029333867144235165, 0.0221262531969467, 0.024035039815310296], [0.6243580622477591, 0.0003306820240534343, 0.04820459729758094, 0.022117166733038218, 0.024035039815310296], [0.6511967222366732, 0.0003306820240534343, 0.04820459729758094, 0.003976918957999502, 0.024035039815310296], [0.5833837421945333, 0.00011844863980918019, 0.0031070340891453333, 0.020076037711878516, 0.002002709520602138], [0.581168322765818, 5.929023494544692e-06, 0.00596164221367243, 0.024128143984506134, 1.479615026399371e-05], [0.6012907067573797, 0.00036296195819931, 0.02009083930682385, 0.0221262531969467, 0.01055426331539466], [0.5672105152747647, 0.012649824787564712, 0.011291137380792945, 0.0034184409486181858, 0.00010831353441082686], [0.6690992878487525, 0.024107573615704474, 0.03825328918218213, 0.030693789549317, 0.0007258083995513379], [0.672141430525699, 0.024107573615704474, 0.029333867144235165, 0.030693789549317, 0.023044547498375877], [0.6852876906686266, 0.024107573615704474, 0.029333867144235165, 0.039840430071516844, 0.024186373354121403], [0.6936229313115736, 0.0017225454281997662, 0.017360201370016693, 0.0018934766250201327, 0.013859321724187842], [0.7158125590965239, 4.90248625469183e-05, 0.013739078791251746, 0.02633038363023344, 0.0004720430062042924], [0.7219439810795469, 0.0010953963686609787, 0.014958340393234862, 0.007718009761541071, 0.0], [0.7059935179687594, 0.010739421799972698, 0.02604182785131057, 0.020623507615992555, 0.00019592492890880067], [0.5380647921594369, 0.0011845380287790128, 0.032561230052416484, 0.01696960926596542, 0.005718048527387133], [0.5203322746085844, 0.016250027022084248, 0.02996199681492427, 0.01708251809830243, 0.0024799060139812333], [0.5081318867264837, 0.010047101920382372, 0.014460714464233762, 0.00484572248835328, 0.0022024661396466416], [0.5265973003827413, 0.01031645458631191, 0.017346156532820678, 0.05243626509233807, 1.8871722102834507e-05], [0.5556410748915838, 0.06561280367350322, 0.004036572927023641, 0.011708248960186012, 0.0003272085957029616], [0.5718082215740458, 0.06317939373664447, 0.011291137380792945, 0.00513617110271204, 0.00010831353441082686], [0.551073847799055, 0.03830204818629993, 0.004036572927023641, 0.011708248960186012, 0.00022037615077895702], [0.5013961421663092, 0.016220854650079816, 0.012049369455320487, 0.08017045389462316, 0.0212446305996835], [0.6307572415189624, 0.006442506499965516, 0.024023315550583423, 0.001103331841659989, 0.00010608642489623324], [0.6223793136041745, 0.022454166191873123, 0.051660661771600475, 0.0011986893389211994, 0.0004766546872179405], [0.6112256290973858, 0.004836475850347993, 0.04485143273582237, 0.034789930768180995, 0.0], [0.618954341219647, 0.021482277608392546, 0.051660661771600475, 0.06490533206404203, 0.0004766546872179405], [0.6549096620643514, 0.04172157468831119, 0.026129758339334286, 0.0, 0.00036310343407511964], [0.6432243254747565, 0.04199548481807418, 0.030299471798982344, 0.0006351693426192261, 0.0025830337469708933], [0.5958859581737184, 0.02504652043557631, 0.01144688133307846, 0.01427177631077444, 0.00029018345540835107], [0.5810017735826475, 0.005869595686807975, 0.021238783009922067, 2.3492571122755355e-07, 4.940742433691677e-09], [0.6770948259093689, 0.017242966541045332, 0.042758286561778824, 8.809913009761618e-05, 0.0], [0.6617948058880451, 0.013374260189719815, 0.07729380588748055, 0.0, 0.0], [0.5651775953712306, 0.034648439301661546, 0.059280321437070224, 0.030684072732861258, 0.0002210889207623591], [0.60860712048521, 0.004866649740367931, 0.0989041921349019, 2.4339312151626286e-06, 0.0], [0.5739881788484569, 0.02429401099963787, 0.08420484551544977, 7.33868567183574e-08, 0.0], [0.5567672374935398, 0.02242416363879669, 0.08379762942805188, 0.0005421544334156883, 0.0005951339959243719], [0.578927108322862, 0.01727006217866405, 0.09825745741173679, 0.0, 0.019779635584343147], [0.7710608092240917, 0.02375835801132916, 0.02925545655379853, 0.032506999327654565, 4.7939559261703235e-05], [0.7505175319355999, 0.0237369552081097, 0.029366609951292286, 0.0004426950286484498, 1.2653454469085143e-06], [0.7681021627242866, 0.026478869230421566, 0.004765805576759314, 0.0016674788782776954, 0.02026024258453321], [0.7329668099106569, 0.05645671164146996, 0.004874536131805669, 0.0034104296367396987, 0.0008848366131003291], [0.7206338236142368, 0.04172157468831119, 0.025015149165104916, 0.0, 0.00036310343407511964], [0.6911190989073273, 0.0033922398526062165, 0.028767243207916758, 0.04099990337780929, 0.0002780934123984332], [0.7106223228848662, 0.02375835801132916, 0.022411367630537925, 0.03770500722264732, 5.293246857123791e-07], [0.7010264414475177, 0.012376593607904177, 0.008410881887370653, 0.008516723329012547, 1.5813469465084367e-05], [0.713600694993755, 0.014960528400921401, 0.02925545655379853, 0.00863854394389748, 1.724088052841577e-05], [0.6862103459856588, 0.03187520173232292, 0.0027087338314674345, 0.011970932568321428, 0.0019280978447587388], [0.6681510839157199, 0.08398264274490311, 0.026129758339334286, 4.539543518505829e-06, 9.344521310972252e-07], [0.7490363734616048, 0.04057189992291659, 0.10653998579435149, 0.00863854394389748, 0.02317833918405994], [0.5080701355509936, 0.005211298771313558, 0.017083773100889883, 5.909820642807737e-08, 0.0], [0.5219789001042892, 0.005321332478402076, 0.017083773100889883, 1.0953422244097178e-05, 0.0], [0.5431116144677783, 0.005854267497558283, 0.025193181946617127, 0.012808625819957745, 7.186524713602004e-07], [0.48636636358967467, 0.014960528400921401, 0.0038843370479443376, 0.007605731534842933, 2.8270201291799647e-07], [0.4610280800499841, 0.016811577036496328, 0.01648336034363112, 0.0, 0.0010508851588307486], [0.43320997546931794, 0.008034342788078783, 0.024553035676581916, 0.0004965005537325602, 9.370777477959096e-05], [0.42540264485974866, 0.017882261644934817, 0.032000377366900805, 0.0, 0.0010508851588307486], [0.4168967429602066, 0.010939156111331318, 0.0008879439150336187, 0.00010736945818403345, 0.0018793099798145238], [0.4455559748333259, 0.021542572009652518, 0.03440600619307177, 0.023159448718167643, 0.02305297265856895], [0.4784924550148403, 0.05396292681604195, 0.004424649703217116, 0.032291971463165786, 2.8353774144334416e-07], [0.40957470844679783, 0.030568322995175756, 0.030043214444743817, 0.001031223517415654, 0.060852113447419705], [0.40891644877007505, 0.08962224660723483, 0.04024615849401382, 0.001043440790212187, 0.00020383025697936742]], "centroid": [0.6194994205385302, 0.023831145045469904, 0.029410624416893495, 0.02216412184450853, 0.021923316716657218]}, "1-0": {"solutions": [[0.0007561088802647276, 0.07271779518030072, 0.13877234330988092, 0.06296729182056693, 0.03476579236398314], [1.1524162046444575e-06, 0.07499827192951623, 0.19350286830045227, 0.0765326576897728, 0.05502985897152052], [1.5368196340515006e-08, 0.07965150299562143, 0.19350286830045227, 0.10401680752421313, 0.05520309301257259], [0.00010397528383958993, 0.013512117200044887, 0.1601574678015597, 0.10448103264999595, 0.0490017284230472], [0.1033435707671228, 0.007250769044574626, 0.1605818042360996, 0.06494759682517214, 0.02865804697461495], [0.10408878009548281, 0.007250769044574626, 0.1605818042360996, 0.052302319828888, 0.023419578030943092], [0.14799059739494402, 0.007250769044574626, 0.15216073450516912, 0.1624549024803152, 0.02865804697461495], [0.06536413437962052, 0.09213371705821957, 0.0034164609356037434, 0.1363828133345446, 0.047915415669555594], [0.007797297336948589, 0.0875711968131376, 0.06309764254012426, 0.037967180661200806, 0.025357104650076012], [0.02425295626493751, 0.085751743915936, 0.06318212647023817, 0.0892042244111017, 0.022536594019682332], [0.07210879542555071, 0.0875711968131376, 0.06309764254012426, 0.037967180661200806, 0.009301855932578817], [0.06708523789221083, 0.13708884544603125, 0.042348220470611486, 0.08897950378646743, 0.0010754922397986227], [0.07919278521177026, 0.0835176473112535, 0.06681877016597812, 0.028203045935243313, 0.02318016764053979], [0.12396019113421969, 0.08179299757459041, 0.10689298085974754, 0.02737211812328806, 0.07963437369290331], [3.156281479707308e-09, 0.03782502826672052, 0.02586191714926761, 0.0977993755032239, 0.06827402283408848], [0.005858355300629892, 0.014953252222336955, 0.030806050485854265, 0.06620434364775755, 0.056835708346871475], [0.0035248699263260696, 0.06467732334536636, 0.027701464227681195, 0.07825799557120122, 0.030607137307088028], [0.08939056088280994, 0.00046965916630621607, 0.0077771297726707544, 0.0607671226187845, 0.020010414798816958], [0.0538573937073315, 0.0024048599327009673, 0.00508442021345154, 0.0009379997238126644, 0.0002231677233124653], [0.04270966281069788, 0.002192621674696426, 0.005155920122875718, 0.00110404370427164, 0.0008201334447062968], [0.030845350151445072, 0.007124384742251895, 0.02572943718089039, 0.0008933565456770917, 0.0002231677233124653], [0.01826921482985176, 0.016138087523842486, 0.014211861687371846, 0.03995532197042845, 0.007630781877249915], [0.008781090283820236, 0.012993780610522615, 0.05059239581934068, 0.01128848282325283, 0.044700819966722406], [0.21623237750153995, 0.006144404949329805, 0.02556394491268484, 0.010596866466565769, 0.04984012730549167], [0.19318314634010353, 0.0012045244919451012, 0.0784859932782428, 0.02807851673033404, 0.050798158160853306], [0.17280691084119693, 0.010993247582962454, 0.053991821585968075, 0.04896995282400059, 0.004764211105905879], [0.15805650085649892, 0.010975450593674028, 0.05553209221955996, 0.04896995282400059, 0.004764211105905879], [0.14434443397554148, 0.022876751232332737, 0.06312010975296345, 0.0603651467541556, 0.018676827930446723], [0.2352563695718199, 0.0078018007476653856, 0.0077771297726707544, 0.0607671226187845, 0.020010414798816958], [0.1980519693731035, 0.051641356556324985, 0.024827389408837552, 0.08165846564631354, 0.018187333016029164], [0.13949948103115067, 0.03312973098002224, 0.0784859932782428, 0.08367733578765613, 0.06178455989903696], [0.12483332581656559, 0.03995357085133658, 0.04354219203414416, 0.11209381281365591, 0.06996892928716622], [0.19250909230848184, 0.03998102687431633, 0.0844338485629585, 0.07862569824766028, 0.05848973338320225], [0.14659467381578248, 0.008268704386386112, 0.002636919050499141, 0.02596750795829013, 0.08062196182363648], [0.21556974063441064, 0.015762570093583284, 0.008198304586517505, 0.13244916135243928, 0.05550207159131886], [0.06965609519658547, 0.025933931256485326, 0.04944027967587622, 0.026904469362088512, 0.031759886189947906], [0.09103486059904865, 0.016123535689313854, 0.06536085913642384, 0.019068072216510024, 0.034286276465229984], [0.05542680346502866, 0.004867152585663809, 0.06542421056292755, 0.02071197898093471, 0.034279977212678156], [0.13453528096994893, 0.01027624075705355, 0.007538518066134336, 0.020356931332678366, 0.047443652086495036], [0.12626459798784534, 0.03207717728417249, 0.02083189119680018, 0.020051963030012054, 0.04655425423722322], [0.11430650697962566, 0.029214927694447716, 0.007818333401785504, 0.021346262785305027, 0.04043812685908745], [0.09799650239876789, 0.048521542037004435, 0.034803787744398136, 0.01923063703030288, 0.03583412102241161], [0.11310227549629565, 0.05749601262822347, 0.007203433843516207, 0.05537282832663343, 0.05837084413730026], [0.15244970190737894, 0.03225876658227764, 0.012936886381587229, 0.06344531142111569, 0.019972699434812516], [0.08221227265254405, 0.01714512715519137, 0.008035903478662317, 0.08886714426538146, 0.03620800178040461], [0.045306943386022314, 0.030337125876406773, 0.012784893542162383, 0.0063093009651164, 0.031648675915152524], [0.010819840247955737, 0.026900994917692933, 0.003638618061079943, 0.020481664400486304, 0.05792821266463164], [0.026537399446622298, 0.03791651861817935, 0.0501886579198798, 0.02030634164867913, 0.04251327629681683], [8.96666494554709e-10, 0.03912176990310463, 0.05024314870925878, 0.020307302180291975, 0.05813085627972788], [1.471309361224829e-07, 0.03912176990310463, 0.04990418635087526, 0.016912971983711417, 0.03491097051380219], [0.07985703656077076, 0.0010371897872024152, 0.04192496488362337, 0.05383150116391239, 0.04237528916284973], [0.11590832257143052, 0.07099861273112712, 0.0759046727315507, 0.0, 0.0005174221567270151], [0.142252826006991, 0.06896302679935307, 0.0759046727315507, 0.035325535088045146, 0.051997645415727024], [0.04417884011886393, 0.0409171411972889, 0.0017417619496121195, 0.05203986697024024, 0.008818435323920647], [0.013791164795594849, 0.047193380017386044, 0.007800352371013647, 0.05053661712812274, 0.0025436282617686853], [1.1126812713118783e-10, 3.45125231593444e-05, 0.003968274021698744, 0.05053661712812274, 0.0027657098957759377], [0.0644222515737202, 0.0003353784211569937, 0.02315375394633279, 0.019079834488769078, 0.0049937356076610664], [0.08046125584156404, 0.0010371897872024152, 0.0239216537941331, 0.050829949727683024, 0.0007233291610063142], [0.022914215090164176, 0.0004416864418639657, 0.001333419872210734, 0.0012713221091348703, 0.04311632383214479], [0.05197380384339717, 0.0008174163486385031, 0.030476072555562533, 0.011570449414902182, 0.04374760738615362], [0.10664185140025595, 0.09450914988000836, 0.009615781692893571, 0.0021596612368692597, 0.04333637569956146], [0.20743581956815949, 0.03752388274393861, 0.026716165392594873, 0.019752625453760244, 0.05572449985011514], [0.19240530153243118, 0.028646451745431685, 0.026716165392594873, 0.02056028870292903, 0.05572449985011514], [0.2167541129573025, 0.01939755317748968, 0.02646679335274903, 0.02300370371442999, 0.05283259330760149], [0.1828116253770894, 0.028648930788481686, 0.04360064765385864, 0.020685400148398397, 0.04709048094546166], [0.22589477921300583, 0.027181501673522374, 0.02762196902847942, 0.00032698904781220013, 9.061017379387304e-06], [0.126527184866217, 0.05892563023636131, 0.021225518290387064, 1.574481862186717e-06, 0.006235751579979586], [0.17030040570323457, 0.05213506860309747, 0.003303823777241994, 0.025655545951394562, 0.003932051878351947], [0.1471136768690839, 0.0056114648795414675, 0.003841979422232994, 0.035325535088045146, 0.051997645415727024], [0.15169792370546592, 0.01819379159027803, 0.003251347437744627, 0.03767594245370258, 0.014442977875309425], [7.99851983731832e-10, 0.20448420348031776, 0.008804888990358035, 0.058893945122238445, 0.009875872405978849], [7.935965126964605e-11, 0.10608799810769054, 0.0017417619496121195, 0.05203986697024024, 0.008259895059596102], [0.10008415798357961, 0.0030242724342869516, 0.014677678175202963, 0.04032788800642877, 0.0577606797158644], [0.1478798074010309, 0.018676610683802452, 0.05332818225522248, 0.0067934912854411555, 0.006470991012535499], [0.1625656648428227, 9.831545656856233e-05, 0.04855256313964977, 0.00011234149810681383, 0.00025195723525157226], [0.16438331184377802, 3.0472876818652544e-06, 0.03071518734917054, 0.0001130404845175435, 7.09681774856575e-05], [0.13513861304413516, 3.0472876818652544e-06, 0.03071518734917054, 0.0001130404845175435, 0.0003139252866221319], [0.1298750227283696, 0.0007229285120903771, 0.03026681708656402, 3.23124682681115e-06, 8.828045111809041e-05], [0.11669430862218827, 0.0010902400919283167, 0.008091348417852973, 5.143021492734555e-06, 0.015128571069517247], [0.12307610172132363, 0.00016154258541324282, 0.030350901982344695, 0.0, 0.035265931002569494], [0.08356722035467062, 0.0008026500803376344, 0.006956306366748391, 0.0, 0.02013420088834371], [0.07765611261507363, 0.0030242724342869516, 0.050605149826458695, 0.0016310851371300616, 0.0577606797158644], [0.09820952933345212, 0.0006782487185798608, 0.06840638378529595, 1.0323199316192563e-07, 0.014109989788768554], [0.0, 0.01992331630266484, 0.03298850519193376, 9.385375001985832e-05, 0.0016800081998850636], [0.015034372096468795, 0.021727546449447233, 0.05310100433286403, 0.002346611849657128, 0.0124255821455275], [0.03218673308487119, 0.00043840423731186795, 0.040592375389142905, 9.19364400509216e-05, 0.001990547393635373], [0.06853390741131749, 0.019625846248140823, 0.04483544308282327, 0.002879034584232009, 0.016404026566000957], [0.05908057383829565, 0.01868480578295521, 0.05331566142994459, 0.0067934912854411555, 0.006470991012535499], [0.04273992812938082, 0.021727546449447233, 0.05310100433286403, 0.002346611849657128, 0.0124255821455275], [0.07436723345975853, 1.638908527385667e-05, 0.006013793196128513, 0.034613144900689084, 0.047499916090721836], [0.09939854019587824, 0.00013932296573267172, 0.012601522387551179, 9.415968420731224e-07, 0.0], [0.11956312684846071, 0.0, 0.015218767902032942, 0.0010217998424293991, 9.806337041673061e-06], [0.1532837334703524, 1.895191603447919e-05, 0.03989893868413374, 0.00013500482960884796, 0.0027079464275638655], [0.1388961777638495, 0.0, 0.06126091899293198, 0.0, 0.0003759434192958117], [0.12826589271774524, 0.024780376074169497, 0.03999312488032221, 0.00858311408047356, 0.0072162783524971005], [0.0, 0.0, 0.003597370289718068, 0.03031252284691668, 0.0], [0.018896947562560884, 3.03562886135697e-08, 0.015182811680191522, 0.03031252284691668, 9.806337041673061e-06], [0.00653271222757601, 1.638908527385667e-05, 0.001188582764478037, 0.00867861318949594, 0.00023016596639284861], [0.048869285616711944, 3.047005661894791e-09, 0.011818457357263085, 1.697346448838134e-05, 5.359541907506915e-08], [0.03764915158983338, 0.0, 0.01641944752559535, 0.0, 0.0], [0.060035546174937726, 1.6973489305584753e-05, 0.005881748388297197, 0.03031252284691668, 0.00015047992792581108], [0.1815656353485171, 0.0006935451076242638, 0.10998338874093075, 0.05131578901650312, 9.536025266784689e-06], [0.10926134931399517, 0.05088198034321967, 0.036454068304751855, 0.03650479549398948, 0.013360426650919188], [0.07423469981790934, 0.045864220180666576, 0.04552794214565038, 0.004797185365277502, 0.007711981162877617], [0.13247876963222377, 0.061261542478722016, 0.037819135199461125, 0.0024222858048421215, 0.01904807514232905], [0.12364285825029864, 0.06867160537105668, 0.011126279768807344, 0.00028052134108477386, 0.0024338927474354677], [0.0999035745356916, 0.05772725467934342, 0.03209059933633762, 0.013143816422836657, 0.0034569072487427577], [0.11532888893695065, 0.05772725467934342, 0.03209059933633762, 0.00030429046468407554, 0.00324328196247484], [0.0, 0.022196573449026376, 0.03770104236745825, 0.04347641261694164, 0.0038338080169959127], [0.038403967827085994, 0.03324897616085484, 0.032218136537476676, 0.039685600210282765, 0.009166139919617278], [0.0570003388673892, 0.005863403182519471, 0.01133402430237598, 0.008460122874633293, 0.00902675666095751], [0.041373564666203566, 0.022121031966245343, 0.000816887595981864, 5.6915130762321916e-05, 0.026548442115622694], [0.006296059505746299, 0.033401810357074825, 0.0003712376212305288, 0.008542329748098846, 0.009166139919617278], [0.1911741989038163, 0.0014497755004988372, 0.025178416005540508, 0.0003785656650364382, 0.0027484604390599666], [0.18275242765937777, 0.03281623309897133, 0.038651260364341945, 3.1953406596912847e-06, 7.968351469141849e-05], [0.17625252812560366, 0.020875485895705054, 0.008614816029494645, 0.0007953508569055745, 0.010782207579470942], [0.16835854296871994, 0.014592987940661214, 0.011126279768807344, 0.00028052134108477386, 0.01300842033830692], [0.16464503748953188, 0.020875485895705054, 0.015348495237431217, 0.0011915001581142108, 0.0022578908421165486], [0.15496361877295484, 0.03045496736677055, 0.0, 0.0002645727927588227, 0.01587513728703881], [0.14676316003856796, 0.02087372235301109, 0.00633963095711022, 0.008798872178715894, 0.060097095957340106], [0.08958754021619589, 3.482574199890724e-05, 0.04570322002186912, 0.0466736397934752, 0.021958587759959708], [0.09812867902041977, 0.02857540146437813, 0.028477072195116256, 0.006904157200367874, 0.0005202588257079369], [0.07678412042092106, 0.0009225386245437818, 0.0516686334213743, 0.003529626888619103, 5.3825931560336215e-05], [0.03902064013568113, 6.256394691770643e-06, 0.01821253631372778, 0.020013064072604426, 0.03984769250507231], [0.06122730336403439, 9.076693093106915e-05, 0.023997088871739625, 0.0466736397934752, 0.00703475711060416], [0.13013759602349184, 0.00018242028012689128, 0.03169080684750698, 0.004608172293839802, 0.0003223818072531691], [0.14638634672987444, 0.008478982378493118, 0.0340360953479694, 0.026186425172355927, 0.0012012768775559839], [0.12232349645960072, 0.024853254843274695, 0.03977709181530134, 0.0354031745190928, 0.0003084289300641441], [0.11019004975912133, 1.1367635356301651e-05, 0.008729943957979075, 0.0015888691138518235, 0.004337645754657013], [0.16728559739199617, 0.01710854465772433, 0.002298314884201156, 0.041383260231185375, 0.0066230232548380435], [0.151912648516071, 0.002798589014648153, 0.0014358100658165129, 0.032922020208553254, 0.009619571148684277], [0.1762066607792062, 0.000110058801164307, 0.03410225262330249, 0.013163874921721958, 7.404948960219176e-05], [0.0, 0.0008191551974434997, 0.0017810602617418514, 0.004521089825913659, 0.0013987938353335466], [0.009222875905135514, 3.9373438787730655e-06, 0.004023331869828019, 0.0040961583809334115, 4.291729494036549e-05], [0.09007431264804583, 0.033183477518883286, 0.033169726002345336, 0.0351479808612007, 0.04094592982054497], [0.0999978370680399, 0.009640298546148526, 0.010142073652422756, 0.004182208493286886, 0.026697884731178484], [0.11398979012848742, 0.016851126675949048, 0.01969974353874002, 0.0008638061437857697, 0.006266016337403035], [0.13317728184356306, 0.009108308923561112, 0.0049778924686652015, 0.02975980982588585, 0.0019906058676651926], [0.12423919661773322, 0.02657927361207734, 0.01956498678434015, 0.03666518566806068, 0.005811319944034648], [0.10927879179376962, 0.016851126675949048, 0.01969974353874002, 0.03413053408518985, 0.007386514044911188], [0.07172682003566726, 0.008868157101534074, 0.0008751838935486447, 0.011333436183701242, 0.022313153033796346], [0.06680635109500904, 0.03659609167933487, 0.023776930535252195, 0.0076052723973951235, 0.02804462980367546], [0.058673270145980505, 0.026684435040721183, 0.04000868148923133, 0.003091492741388869, 0.037090313951968774], [2.9862991826569082e-12, 0.012300659986784312, 0.03179352387795179, 0.028909998875080722, 0.028547945300978775], [0.009938058091098661, 0.014805977850712582, 0.017958049270069294, 0.023665893943729577, 0.027864704452275055], [0.02242378575572529, 0.01863979436960132, 0.01293061497185809, 0.016555757441189645, 0.016742790651484665], [0.04137481013828859, 0.0023393851909180897, 0.022538248671089785, 0.0027433476655750015, 0.054335728310636724], [0.24610364723515177, 0.02395050180279041, 0.011177382975389592, 0.007338314318838718, 0.009487246668259747], [0.24173834306088124, 0.0303004097101664, 0.012120824203687187, 0.0031510313052074274, 0.008098036377337012], [0.2145750939393664, 0.0226527977905875, 0.01592847542317681, 0.005494666482890782, 0.0037504490265373516], [0.22166913037268943, 0.027156930716328864, 0.009799921389923463, 0.02019544111971859, 0.004299936899982697], [0.23297389048881317, 0.033183477518883286, 0.012004811499916458, 0.017955845411023755, 0.04141798186780854], [0.1429367719895372, 0.018538880203577218, 0.003488167338166646, 0.004969470607419849, 5.922417098431511e-05], [0.15525750766381743, 0.005790856872098418, 0.03211888428457535, 0.013550508699621724, 0.0019310868552121635], [0.16701042054144444, 0.05527652805350526, 0.01805026154413357, 0.003917682334096402, 0.0019691214246389532], [0.19419325085686448, 0.028969060879760547, 0.03211888428457535, 0.013550508699621724, 0.0019310868552121635], [0.20791420275165715, 0.05527652805350526, 0.08264506047316476, 0.02266209792731009, 0.00897025648121566], [0.1119577066133855, 0.01859718574019357, 0.0010898920568092397, 0.009237715140778095, 0.002424735411548695], [0.09513853430978837, 0.0006496842015548711, 0.00015639797540256857, 3.4000827670580686e-05, 0.009150755710807812], [0.15693533175004679, 0.001052592552387337, 0.0, 0.004690983281492627, 0.0], [0.16525963249260173, 4.4852216157051903e-05, 1.4191388129038336e-07, 0.0008188229644830809, 6.463292066937062e-05], [0.14467721007554596, 0.0001230124006598131, 0.0011442020212057754, 0.0012161150764192713, 0.015234142435720431], [0.14191343939263795, 0.0038736257638887486, 0.0004560017189363064, 0.025714281077859807, 3.6079930985323223e-06], [0.12122575703043154, 0.0016395122549371223, 0.0009775028627965036, 0.021212860984753057, 0.002424735411548695], [0.12588149458468811, 0.00018560112557261044, 0.03435674908387072, 0.006018372341350003, 1.5512125158748777e-06], [9.270050479732832e-12, 5.690209223189437e-07, 0.0005173404823373765, 0.0060663944056300835, 4.629128480383368e-05], [0.07371106960143614, 4.3553049873648825e-05, 6.099536951581143e-07, 0.008287975062348378, 0.00042947449104258247], [0.05595868837278284, 0.0, 0.0, 0.013945815281017843, 0.0], [0.03460486721038972, 0.0, 0.0002587505002705167, 0.00412657325030903, 0.008495934841691914], [0.0468754442180494, 0.019539975185097, 0.024316916998793448, 0.03135947976957622, 0.0072760694023199304], [0.10419249749445453, 0.028370495487871822, 0.01170599597216404, 0.012044497860581788, 0.020126272944248354], [0.09457045346553837, 0.0027812243586722678, 0.029339112491524662, 0.01354310946248172, 0.05090309222675453], [0.11968892448444818, 0.0018595747807829167, 0.01170599597216404, 0.01193933939476037, 0.020126272944248354], [0.13624779432404044, 0.01804673499911676, 0.03144355600148913, 0.0024437849532144215, 0.011534136768575398], [0.14816841351914314, 0.029772670786592112, 0.031086651052188996, 0.009116793071293781, 0.015013883748051366], [0.1305411743138974, 0.028257169160843, 0.03590178617426623, 0.025652101558592873, 0.012030849418020498], [0.1582540542714429, 0.005655723214453015, 0.031492452472630626, 0.0024437849532144215, 0.01161186542236827], [0.08887961902826103, 0.0023338000145062265, 0.006784566648220006, 0.0033466112578076513, 0.002621429966742757], [0.07213215951706092, 0.003235775638757995, 0.025940557306929526, 0.00033145813169181606, 0.0018821578276461554], [0.05293662177232489, 0.01487518240132308, 0.0056087702234338035, 0.0013145819250974591, 0.04733900520249025], [0.07125408972146446, 0.04642919398636446, 0.006655766751161571, 0.0007301963611622362, 0.017116775150936646], [0.11504565831602642, 0.017983984884815115, 0.03526175978445016, 0.028102803548858357, 0.07843656674359345], [2.4479771237439357e-13, 0.004192986029991618, 0.030627667369133228, 8.808399855727471e-05, 0.025284918950221127], [0.0179478418420565, 0.0017963045176226863, 0.015693811962102178, 0.0006158377053329632, 0.02629302071275422], [0.008589407669917837, 0.0023338000145062265, 0.01176372278624651, 0.010151373821632306, 0.0015762082658549587], [0.036069249483154375, 0.01092928033851068, 0.02624821630075895, 0.029822874615161997, 0.004273358907345395], [0.033404675840100706, 0.01544289930196055, 0.043533329333620883, 0.029498552081461276, 0.005338175564948091], [0.05828057147219812, 0.00785127495026022, 0.020318760762839626, 0.029360877692430593, 0.0053058054322467916], [0.19327985185792584, 0.14012393510452426, 0.00028306974942000906, 0.016937186279907507, 0.02995875818326424], [0.15188149832008718, 0.013631930398330376, 0.0006377962632696044, 0.0004527721285426285, 0.03439394030795089], [0.16487035531049432, 0.0013115756790520391, 0.0004636110889891289, 0.0, 0.02023504974191115], [0.1765560271173146, 0.005791966691853927, 0.0011024450541775085, 0.0036340759886197057, 0.0003968976783958249], [0.16512356516790316, 0.0028885067477945406, 0.0020905528616425285, 0.000448932645223412, 5.930445939014142e-06], [0.13430421193742603, 0.001112520555730457, 0.0004505415920461361, 4.342104548382626e-08, 0.0004682819650147288], [0.12445998831717571, 0.005823492782663833, 2.17883638923156e-06, 0.00974089790099888, 0.0007737845462372842], [0.1038744328073784, 0.0011680457058011818, 0.00024180990968413005, 4.74744743835358e-06, 0.0066892401321502985], [0.11477111519987598, 0.01641643288875486, 0.000990034216795606, 6.075419023177565e-08, 0.0010385601281658677], [0.09318752148181958, 0.07152437869652634, 0.0006288501074659288, 0.0072086976247868195, 0.0010181689445499624], [0.0, 0.006329805383944343, 4.677395526432582e-05, 4.3114818273052745e-08, 0.0], [0.02699200817726613, 0.013577920237341376, 0.0002520860488018725, 0.0, 0.0], [0.016518888247329902, 0.006349524416736998, 0.0037474563903426507, 0.0004527721285426285, 0.0], [0.047655870231726724, 0.01514366773788485, 0.0013418132166173567, 0.001102479936864095, 0.0010068400113575917], [0.061127975974633784, 0.015054710195477942, 9.68967355374174e-07, 0.0, 3.6211211884877234e-07], [0.0760517341035134, 0.014832692791685967, 0.0005309977730954679, 0.001102479936864095, 0.00034626559795564513], [0.08301736890250694, 0.0030983501985507866, 0.00022175523139296224, 1.4966905803560351e-05, 5.93495044340575e-05], [0.09782719802921841, 0.013881613864514766, 0.030705672164994202, 0.01482425629325558, 0.0005546679048660207], [0.10818250963072062, 0.01834882853872304, 0.006932299475991744, 0.014937882846309224, 0.014115370464370898], [0.09203197873929274, 0.03925817687463823, 0.016673284897023924, 0.008072560764925876, 0.012978059312553072], [0.07154698139628078, 0.001961161921314042, 0.025876218450804032, 0.0224577495863916, 0.02270697600462581], [0.05879308329354063, 0.0009053941905470299, 0.025009201718204498, 0.0224577495863916, 0.021527351723491683], [0.05420335462675829, 0.025962159790345708, 0.0054082096024975716, 0.014937882846309224, 0.014238658390964979], [0.0432453062109264, 5.6190092345443496e-05, 0.014509403954417317, 0.003132090667322354, 0.013160775933525855], [0.12820358997186185, 9.789808505349887e-05, 0.02540002516364693, 0.06857710931154667, 0.0065912517186269975], [0.12441997631320692, 3.8575248073217244e-05, 0.030409890504709495, 0.02390487597560221, 0.10099058744234846], [8.647990906284625e-14, 0.0029778823476219792, 0.024237777963539153, 0.0027956319062825558, 0.0013409749740652798], [0.01754087024590678, 5.2870413762285936e-05, 0.07377548556749941, 0.025824957529793302, 0.01890429694892247], [0.20427811005024524, 0.0, 0.02383304571047861, 0.04535856656499377, 0.05096771901339613], [0.2241510435914149, 0.014963007156295116, 0.0028284448809538995, 0.014761589385515665, 0.04915971210296777], [0.2448007176549973, 0.0, 0.02412203770873957, 0.007607092512176743, 0.017190341691879118], [0.2300550439275848, 3.6133386861891766e-05, 0.0006483410628306714, 0.004421103642301642, 0.010482577905039956], [0.2440740855113332, 0.014432829905616062, 0.0012458883626203024, 0.014863412664767539, 0.027149147366632324], [0.17362406527901808, 0.01191577399878827, 0.01626843020551528, 0.029890328405131998, 0.0006179321457189177], [0.1822492597666608, 0.01362807701922819, 0.02682047485018378, 0.022852647771888373, 0.01542991332850692], [0.15919259667229746, 0.030113656027961563, 0.03128365541792804, 0.01391441415712361, 0.02686185333308188], [0.14281856653020564, 0.019052604346216452, 0.006930377878760689, 0.014937882846309224, 0.014115370464370898], [0.19135481784556962, 5.136390835575044e-08, 0.03128365541792804, 0.00479126586587468, 0.02679771870366423], [8.647990906284625e-14, 0.02550540639014616, 0.030627667369133228, 0.002142177309961933, 0.16417351901407712], [7.144726765363455e-16, 0.02550540639014616, 0.017820838081257492, 0.0002612726677932095, 0.16336643937486622], [0.11237024428842671, 0.014422300889795226, 0.029333867144235165, 0.014354126431453163, 0.024619545909309114], [0.10514355387187527, 0.021672437452362782, 0.028017012830964166, 0.019130958465430545, 0.000473893712150536], [0.08740556097442823, 0.0024856324513608955, 0.013141461723626062, 0.015703506645095414, 0.0006259660732973764], [0.06717454481357352, 0.00025984817361046847, 0.017952181937511587, 0.022723760233057215, 0.0010971350494354722], [0.13734916275291492, 0.006454148151537088, 0.025865810161797734, 0.02052929569180856, 0.00013248080963934854], [0.12568378807593228, 0.0038001027748753857, 0.04872224384655009, 0.01411322529766524, 0.0027662908599258747], [0.1484194172754651, 0.0017225454281997662, 0.017855453773334237, 0.0008718742590527323, 7.868782260135208e-07], [0.16351508868307854, 0.00019863547721012467, 0.017133743739266915, 0.004528589471148673, 1.944311971916802e-05], [0.1201734711766233, 0.0009069412147476455, 0.003274555290896035, 0.018497090504351978, 1.1966484942201386e-05], [0.07958332669651491, 0.0024856324513608955, 0.013141461723626062, 0.07224198229624477, 0.006349368202138081], [0.020356123207515564, 0.00026297627362296906, 0.007794809899704949, 0.017090395284405896, 0.0011601352587267122], [0.02593948198319912, 0.006046929657564842, 0.01116849393806836, 0.023480927843881637, 0.0011268055750819524], [4.106708503533001e-12, 7.569691479713896e-06, 0.0043330497219667, 0.022077035102402377, 0.00014175421757640732], [0.002002604373004979, 0.017022742119402468, 0.004224459469265152, 0.003830327679531882, 0.00012950184009345896], [0.046059011153594995, 0.01701207860458072, 0.0029530785039234217, 0.0284462592423709, 0.023518464466410993], [0.03919476766996033, 0.04805235901254855, 0.010131220343817929, 0.00357815809587915, 0.00012950184009345896], [0.23696148119915003, 0.010399889902611861, 0.04488311005787801, 0.07165408530814843, 0.0182095346080074], [0.25084279637293516, 0.0008944079469098455, 0.014876444674556708, 0.08693220929099017, 0.0], [0.2228092510300166, 0.0010631373021978067, 0.029333867144235165, 0.0025864858985296148, 0.024615092979405097], [0.2112798321271251, 0.0010337794386305736, 0.029333867144235165, 0.0031738079066362633, 0.0011182867430837972], [0.19538142853093382, 1.9184099014163403e-05, 0.03604804711111927, 0.004239524032106129, 2.27170582257517e-08], [0.17476654121590124, 0.023160800557616407, 0.03162118533481486, 0.040080238662191646, 0.010044850230822928], [0.2021573128363267, 1.7759192348005447e-07, 0.0043709090241052405, 0.013440412749783633, 0.05361660192869809], [0.18757762658853921, 0.011259550663486224, 0.004728430398575937, 0.0036103278847425674, 0.06598798432054596], [3.0188009617028097e-12, 0.00118467925461642, 0.1697281191496112, 0.017090105310988608, 0.000535015379203271], [1.3231332262469975e-16, 0.02399995109539682, 0.012665982239652956, 0.05065868291016534, 0.2106472815473916], [0.40037566014445125, 0.009847179683685953, 0.03452471441305836, 0.21229033252574486, 0.05518911707571353], [0.42953350152537817, 0.04530858960664737, 0.06372411282065044, 0.08485029263945328, 0.02800778166052284], [0.3974346044651047, 0.01371790232392181, 0.05013190499051977, 0.07956124879611817, 0.016129189801781733], [0.3989298872101187, 0.035022059240030386, 0.06310149158595807, 0.04226700061002965, 0.03999491432782122], [0.3939522544830335, 0.06277861339617502, 0.06249553842366762, 0.06806236604455877, 0.0661648744055841], [0.4139546935016231, 0.025450365310954737, 0.08714458886684726, 0.08424419780218911, 0.0661648744055841], [0.352843252970167, 0.03995357085133658, 0.06680151226396301, 0.10635306619186344, 0.06850531181557992], [0.36141616508240615, 0.015207186737493772, 0.06793744724510133, 0.09996762172476595, 0.03977261185129239], [0.39369990341173794, 0.0022945643627605636, 0.05991334692424516, 0.06839030562601917, 0.09882882690674419], [0.41370234243032755, 0.0009064818497208083, 0.059940800560704305, 0.0845721373836495, 0.09882882690674419], [0.464298690955233, 0.014207303187512184, 0.004312396250998135, 0.08878510889812935, 0.004707311670660026], [0.45510415835839224, 0.004929056733649802, 0.02542935863858263, 0.14236654176527902, 0.049652857070650674], [0.32496388646502805, 0.007372855246792126, 0.0264667862243493, 0.007375278738075364, 0.044090944604870765], [0.3082117778158223, 0.009396993333744906, 0.0264667862243493, 0.007375278738075364, 0.019323482786012793], [0.2940782372711393, 0.01083420682200955, 0.02207053470171995, 0.0091194320314534, 0.049652857070650674], [0.303259644112965, 0.04727753977034199, 0.02556394491268484, 0.015467270478376857, 0.033823811223228056], [0.2988166716904473, 0.008890325692953963, 0.06310149158595807, 0.0032996592041146626, 0.05575882411149581], [0.36423972434391494, 0.0026533318155061193, 0.0006752294656860221, 0.007375278738075364, 0.044090944604870765], [0.3768364942095847, 0.01514233423520879, 0.06312009422748736, 0.004705798678770804, 0.03999491432782122], [0.3762051245585608, 0.01514233423520879, 0.06310149158595807, 0.0035625178494053666, 0.03999491432782122], [0.27017893052758646, 0.017862076095081135, 0.03059126696216942, 0.08341351944345654, 0.07996997514601921], [0.24971825088288196, 0.017862076095081135, 0.03059126696216942, 0.08341351944345654, 0.07996997514601921], [0.29397071017314225, 0.03424858103433368, 0.07345254000336682, 0.08141505035326639, 0.12039345018134022], [0.29272551673112174, 0.025281002411975083, 0.08548713449667206, 0.08146821953353606, 0.11753549087656945], [0.2883924022223196, 0.1361068312974738, 0.07345254000336682, 0.06128052749066489, 0.018198958538089838], [0.35135740858601383, 0.062379648903851385, 0.05230053254165345, 0.06397084969545147, 0.015069188130103647], [0.3644141328390317, 0.06129475936199008, 0.06717545076584652, 0.05818833124537168, 0.04852418238674368], [0.39271168112650545, 0.03170348989229361, 0.0492221664782259, 0.06558893805742651, 0.07662204059046354], [0.3768550586327809, 0.009047094200500467, 0.0501237058427051, 0.013490669531022403, 0.003673437097163487], [0.36755382791143154, 0.009047478958851591, 0.0501237058427051, 0.050559718450704685, 0.003673437097163487], [0.33097638872380997, 0.10999507014884315, 0.04979473358029896, 0.058278801591782635, 0.055686294914085235], [0.3408999532878224, 0.08918868458593832, 0.049889987132671176, 0.023222353537180204, 0.04079724672730617], [0.35741919527872346, 0.08918868458593832, 0.007521588616587863, 0.02318068238776514, 0.04064897514897531], [0.4444889584692653, 0.00935935675799672, 0.02959998399748235, 0.06819660032794557, 0.07662204059046354], [0.4168824401931678, 0.03912176990310463, 0.05024314870925878, 0.020307302180291975, 0.04348188940704109], [0.4224396899037701, 0.03589981143145278, 0.04616567917342787, 0.03714729865057029, 0.042121578498568325], [0.43307177085790427, 0.026900994917692933, 0.0467801078292881, 0.03749337341650796, 0.047801327076715736], [0.42964134237766216, 0.02406402269444742, 0.0010338964612734113, 0.01941831768964826, 0.058949043951597765], [0.41146838217309656, 0.01414113310684668, 0.04852350394686317, 0.11998591579695637, 0.04637952360274235], [0.30395774815593196, 0.004854463115767427, 0.002280928272172987, 0.010652460629625354, 0.0039000310294562204], [0.2704437747590964, 0.026075806904414203, 0.004026619049182466, 0.03724886519153148, 0.04026803963930779], [0.29411267873796654, 0.03985575170810883, 0.0009614794179029634, 0.019006203340285577, 0.03555195321431685], [0.23395514719786, 0.0421248239259935, 0.02646602728799141, 0.02534179588917511, 0.0002851980004494256], [0.2531852073461005, 0.008740591577227052, 0.0501237058427051, 0.013613023460322091, 0.003673437097163487], [0.24388397662471606, 0.008740976335578174, 0.0501237058427051, 0.050681978865862704, 0.003673437097163487], [0.2832702642847543, 0.06129475936199008, 0.069678713683099, 0.03643788961645422, 0.04852418238674368], [0.19132291424022116, 0.01027624075705355, 0.0071900198572472755, 0.020356931332678366, 0.047443652086495036], [0.18743643281852101, 0.011481567537848363, 0.0071900198572472755, 0.02035789186429121, 0.06264025967976006], [0.21096005494264336, 0.029214927694447716, 0.00968328156317029, 0.021425309842100393, 0.04044865869762948], [0.21484365376366588, 0.021767033014232034, 0.008266115433784638, 0.004064691069350626, 0.04042751035388645], [0.17197650628934819, 0.0033539201331044682, 0.04125699540320707, 0.020085347557046426, 0.03388049254173328], [0.1779661868100188, 0.004141029813766572, 0.05865381889568194, 0.020040023150802975, 0.04078774728469219], [0.1586903644823906, 0.03768278720466401, 0.06041269858784848, 0.051660684058329534, 0.03408990502178895], [0.34439594937569695, 0.02721024869035025, 0.030442928868253477, 0.049804294632295416, 0.05479136507788454], [0.35567252990998255, 0.02752677208278019, 0.05596418930732986, 0.04945252488971716, 0.0015599708827733205], [0.3605740803626475, 9.027449799335618e-05, 0.007051925186825396, 0.002261644634742828, 0.03969940129719464], [0.31995908418660424, 0.017065409185170327, 0.009615781692893571, 0.0021596612368692597, 0.043177151413054365], [0.2997183876171619, 0.017065409185170327, 0.008694211830091341, 0.0021596612368692597, 0.043177151413054365], [0.30777968683990486, 0.0001053915070340257, 0.02777417397668362, 0.0017502397869120466, 0.046116058785045794], [0.3311892004972963, 0.0069147093323643355, 0.00695017671049206, 0.025669792508316656, 0.04321737070741087], [0.29050756357613955, 0.014525483071758237, 0.00023347100736593324, 0.052044207053600494, 0.007272197684703458], [0.3976926666635663, 0.020476341354058427, 0.01469113183753605, 0.06209615120486293, 0.051165956523099236], [0.39182366385831957, 0.06264047318286986, 0.07500628040630487, 0.04102481692154173, 0.05795603639699601], [0.27605158010510555, 0.042617146363839606, 0.0759046727315507, 0.02150471879259253, 0.008570041339355489], [0.2677607520872345, 0.0013046941340519556, 0.0722708168168032, 0.02150471879259253, 0.008792134978967461], [0.25463664938415026, 0.028646451745431685, 0.10221923266384314, 0.02056028870292903, 0.036670277921900876], [0.24550514608550292, 0.02602071954409984, 0.06954834928706698, 0.04119485081393358, 0.09126207153477128], [0.44554273502632424, 0.0362859087261771, 0.033528527908087476, 0.0010063385608652022, 0.004598830485759098], [0.37715044845673906, 0.0362859087261771, 0.033528527908087476, 0.0010063385608652022, 0.004598830485759098], [0.4061545706256138, 0.02094692161701469, 0.030333637872538035, 0.002558666420218396, 0.006277894369867219], [0.42658504833592226, 0.008340733085652, 0.047079456908652374, 0.0034423062370534593, 0.05287553968154857], [0.46187374095927236, 0.026858905793952993, 0.05596418930732986, 0.04926755409322608, 0.0015599708827733205], [0.4749244089446933, 0.018140908922864164, 0.047079456908652374, 0.041035330993018926, 0.05329579622593298], [0.4759287204203221, 0.01939755317748968, 0.047079456908652374, 0.041035330993018926, 0.05329579622593298], [0.4840685407742447, 0.01939755317748968, 0.015026079195453214, 0.0547222255091675, 0.03281723454619756], [0.4928993731767303, 0.007745745064832088, 0.047000563709269506, 0.00045309556978266434, 0.02965619382575964], [0.3766847258869222, 8.456750982055725e-05, 0.02880917175164481, 0.02964516783061545, 0.05700747430969245], [0.3325367517366409, 0.013593094377315937, 0.05297212121599584, 0.008049147433146813, 0.07370816568608701], [0.3495762498971845, 0.007025143123826825, 0.009290893827028336, 0.0067075097574079735, 0.028506822970339005], [0.34154965484768574, 3.0429501538106404e-05, 0.0317748603020559, 0.007169206299094155, 0.013472509088441494], [0.32290396844367647, 0.0007216532233500299, 0.03352011457075783, 0.0022390344780122513, 0.017308728819504758], [0.31695715380628764, 0.0, 0.10201073212000053, 0.008335894427611094, 0.017136544587572296], [0.2964884367302224, 0.0, 0.05511324601045675, 0.012391643358902193, 0.016274755817533935], [0.27983317632992205, 2.091613708061093e-08, 0.0009685545676202979, 0.015280527808682769, 0.008016882509231799], [0.27110768150173814, 0.0012046187147779636, 0.024098528316752015, 0.02558028534559848, 0.032661444140434454], [0.27107515476791927, 0.00013804314655002886, 0.04245937768646857, 9.684250955776299e-06, 0.06401783998615193], [0.25738836126001946, 0.045493653611917116, 0.02225209040469598, 2.3950357623312812e-05, 0.039957071223096614], [0.21626174488131503, 4.6578352134027477e-05, 0.051716903577390005, 0.00011216854308026243, 0.03521197363217761], [0.18558586263266175, 0.0030242724342869516, 0.04881542184088543, 0.00031371376186615976, 0.04258065335855771], [0.22724281216307204, 0.0007181924126067329, 0.05333554000253829, 6.277939384488851e-06, 0.007324278395498013], [0.2458234900535633, 0.0, 0.05058082696034136, 0.0, 0.007869437757035282], [0.1813827353113177, 1.1962248381529759e-05, 0.051217341510635395, 0.07073244016434813, 0.008170136335470266], [0.19811810513312034, 0.005971777880482199, 0.051217341510635395, 0.07073244016434813, 0.006315557990486855], [0.2012083290795043, 0.005971777880482199, 0.051217341510635395, 0.07073244016434813, 0.00911481797761824], [0.3054532507363251, 0.0, 0.06138723324542473, 0.0, 0.0], [0.34879192735779596, 0.0014320825381439126, 0.07736570832857731, 0.002093006491624137, 0.0], [0.33612235203264557, 0.022486633726491678, 0.01848183008255949, 0.020074679102975883, 0.0002505321732365784], [0.3101066043974239, 2.4668190159418666e-06, 0.013529201996048922, 0.00037220393420729983, 0.0], [0.3177142269981882, 5.710736916615666e-05, 0.014477981741351323, 0.0046400037785250476, 0.0002661540067789251], [0.3261286892764318, 0.0008526808203282357, 0.017598122815699162, 0.0014814095307420037, 0.0], [0.36047707682730157, 0.0008628747580536264, 0.018567997439425547, 0.01978895095357546, 0.0058117618257411945], [0.3788655447420577, 0.0017296927579588226, 0.026230993058580843, 0.034892339426976525, 0.010834400053270445], [0.4015584419718301, 0.0032349840606276103, 0.01451491287067531, 0.004635910953474931, 0.0002661540067789251], [0.4146400179606241, 0.0017296927579588226, 0.025966603810139603, 0.030442941078028436, 0.010834400053270445], [0.3929758743274273, 4.147002669256634e-05, 0.06298043098010964, 0.0005119224391275136, 0.0003743074166966035], [0.3717723559347187, 0.000698951012565493, 0.03857377447445108, 0.00024819484886316745, 0.0], [0.22488257555277802, 1.6647647432267688e-05, 0.024294161491516066, 0.017520467817066513, 0.0], [0.20377355832626246, 0.024780376074169497, 0.03945340500685967, 0.009674180362345144, 0.0072162783524971005], [0.1881945934983686, 0.00045359102708010177, 0.0033841159425212746, 0.00010658996230214989, 2.1193267869901796e-07], [0.2741872655525847, 4.94594787643376e-05, 0.007283406516069163, 0.0, 0.0], [0.27384316537083053, 2.300475683931355e-05, 0.013470065597692107, 0.0008131673929475131, 0.0], [0.2616406827177732, 0.00011512191405727012, 0.020321046045600134, 0.002416794531060411, 0.0], [0.24913181464580397, 0.00897546511536298, 0.008409580231562293, 0.0016380412454148306, 0.0], [0.25410365068444274, 0.03664386149947567, 0.02067190295538461, 0.006383532151793218, 3.9562577740877205e-05], [0.23947743516239045, 0.00042065008108997095, 0.05960823294753055, 0.03984812225443047, 0.00025667071776866413], [0.3360822834138842, 0.024165220420331958, 0.018606738541888587, 0.02891392066061404, 0.001189278327416553], [0.3257881657891845, 0.01979657114077954, 0.009748169916006159, 0.012522100261358245, 0.009441692019071756], [0.34623260620570234, 0.0343153329039273, 0.021013711613214824, 0.0002503515457127895, 0.013587912856179236], [0.39764885661353594, 0.01793183811393613, 0.0, 0.027865130563326363, 0.041691259038653374], [0.39515504481020974, 0.01805131481777212, 0.028976126101525057, 0.0010752503256334107, 0.03162258167848921], [0.3559028973602768, 0.019440490958510914, 0.0, 0.00010893355775809868, 0.05710506889849375], [0.3850695843083435, 0.05697611686999208, 2.8010861489850998e-05, 0.00014379453276496413, 2.3552515276999706e-05], [0.3735294985825784, 0.02811582232853751, 3.0214629948999844e-06, 9.090610465336967e-05, 7.354376693160386e-06], [0.36343961183084594, 0.028690000039887472, 8.497583774413897e-07, 9.090610465336967e-05, 7.354376693160386e-06], [0.2203871131238605, 0.02804117417684414, 0.006218120171917285, 0.0005574271267375693, 0.0005332632628279422], [0.2219522239404625, 0.019103521670750745, 0.0002757394751229346, 0.0014791845162929686, 0.001975194938501028], [0.2523647042177875, 0.022163071345639926, 0.0017537296078582098, 1.0535432960450752e-08, 0.0025541435048634124], [0.23879814016242523, 0.025075495506143422, 0.0215370863395117, 0.0, 0.03207523879060695], [0.3004305950918718, 0.008751035111832237, 0.01498341447086398, 0.002144283109512594, 0.0016461980957967557], [0.3103864116524845, 0.018463771240132078, 0.0, 7.778970775103463e-05, 0.0], [0.28125970932297695, 0.008751035111832237, 0.01498341447086398, 0.002144283109512594, 2.1204245968132075e-05], [0.27749670957242883, 0.00532771552496944, 0.01498341447086398, 0.0, 0.001311227465210136], [0.268892417038247, 0.07601246196803388, 0.0002757394751229346, 0.0014791845162929686, 0.001975194938501028], [0.2383909686723366, 0.019242454796930847, 0.07435747975998692, 0.0324725440664392, 0.013843379268625982], [0.4231584836375107, 0.02569174890690738, 0.0, 0.0001922575469842787, 0.0012112206238455022], [0.42978556335236645, 0.02569174890690738, 0.0, 0.0001913564490550173, 0.0012112206238455022], [0.46686080651265865, 0.001601160830258068, 0.0, 0.0023102412989974225, 0.003354611872279485], [0.4491462911381445, 0.0014497755004988372, 0.002466883918535957, 0.0032034991282390343, 0.003944632936356046], [0.44906253902985294, 0.0014497755004988372, 0.002466883918535957, 0.0023374605405923413, 0.0], [0.4413208309997711, 0.0620745687027164, 0.0037070102622633536, 3.326317802553248e-06, 0.0251440506401349], [0.47610294129475084, 0.07374385156712536, 0.01009587812150381, 0.0, 0.0], [0.304275692844153, 5.8371230694494094e-05, 0.07183333427964349, 0.01940828216229069, 0.027608490572645708], [0.3149684576131373, 7.259107588159256e-05, 0.05122139902701211, 0.01952985252071328, 0.027608490572645708], [0.3208788471350344, 0.008157331658386564, 0.0008413878825035935, 0.05084579355151378, 0.021910804948865263], [0.3113234917904887, 0.03449582782570688, 0.002831198376665456, 0.05084579355151378, 0.04988920454925769], [0.3501520372398361, 9.076693093106915e-05, 0.024217827811137044, 0.0466736397934752, 0.0006100650674538102], [0.33517111546320666, 0.0017076695461358173, 0.011545179476484368, 0.0038572726803182272, 0.0019038802289136694], [0.39110165213254905, 0.006790190244199027, 0.04267718969644481, 0.023954695577048712, 0.009616050269818589], [0.3701291381643902, 9.616811586058175e-07, 0.05131755490039949, 0.0038729872730921683, 0.0003394681845798298], [0.35563075289053503, 0.0, 0.045741322732461995, 0.008715870474059986, 0.00032984426389871466], [0.2872131580942707, 8.536192972940907e-05, 0.02391231982023445, 0.02387363927702187, 0.015409159505112756], [0.2973565667808736, 8.536192972940907e-05, 0.03856133211996343, 0.029496009331906117, 0.0017440488445200283], [0.27681811209218093, 8.012308475187889e-07, 0.0006267693336530237, 0.04085061261189349, 0.001390450945989452], [0.2815498141843223, 0.00015402823583653973, 0.03853584567281916, 0.05132333926676676, 0.040195477562480826], [0.25002069563413765, 8.477754627211204e-06, 0.03410225262330249, 0.020013064072604426, 0.029508987492667896], [0.23667894357660973, 0.00029133868819074607, 0.011020711903879932, 0.021198817320713662, 0.010989595299204406], [0.4109855717161205, 3.9373438787730655e-06, 0.0038372123784536673, 0.003994015892968008, 4.291729494036549e-05], [0.40436198541643675, 0.03267770871031058, 0.022405864643315412, 0.01230776465224509, 0.008366497241714177], [0.4387662288012245, 0.003345413833071957, 0.04267240058115426, 0.0045112056553610475, 0.03308587698185558], [0.42700543671672847, 0.02859843635652906, 0.04267240058115426, 0.0045112056553610475, 0.03308587698185558], [0.44406958963993604, 9.616811586058175e-07, 0.030251091263026345, 0.006594077737325775, 0.0003394681845798298], [0.4549096708573468, 0.0016613646754318426, 0.030734422037024374, 0.010742567663375363, 0.007912738108910527], [0.4255726477241247, 0.0008093430356389576, 0.04854338220368855, 0.013255026056653362, 0.00020641158926130998], [0.4713550259743084, 0.008304964786510376, 0.05240757968493813, 0.022030535941392246, 0.03331213422322801], [0.4008323133208535, 0.011638776333382731, 0.034053127819544074, 0.081506238998736, 5.8695472204807475e-05], [0.27036230650620047, 0.002951875183928334, 0.05301221981112545, 0.0014635525281378112, 0.07938359752326432], [0.18310271415612206, 0.0001935532664003245, 0.0013380783928984633, 0.0023770581618579173, 0.044172664548774276], [0.2049335998136591, 0.0044153994528989896, 0.0008413878825035935, 0.050773343415033895, 0.028283746693376417], [0.20824553039786847, 0.00015420945665911594, 0.038562984242024166, 0.05209156866756709, 0.037628054438874514], [0.22753733598807518, 0.02983224886449184, 0.05301221981112545, 0.0014635525281378112, 0.04424656673107855], [0.21569470425331666, 0.0007819758986120327, 0.05307925540204447, 0.0002694935652093472, 0.0066097954905269644], [0.3324917721656383, 0.009894193697799095, 0.03150408575455935, 0.026524607823019002, 0.02662582956135118], [0.35649149930856416, 0.01781510117309921, 0.03327303162109155, 0.022213150367839204, 0.02331918301900092], [0.3503772115647701, 0.01895929161993487, 0.018552729892951134, 0.026894477169765216, 0.023915747251712468], [0.3403898200857296, 0.017926002400715027, 0.01677441575027469, 0.017307651460121396, 0.014010379832423155], [0.3231949366356991, 0.009894193697799095, 0.028083092565007947, 0.08996634539287739, 0.02662582956135118], [0.3030431822499754, 0.027885859776321298, 0.032790981000808996, 0.061107658861032574, 0.015842149790691686], [0.265762314251029, 0.009937560097392264, 0.019593453046838377, 0.003006966845938706, 0.006295232162462715], [0.26939010433533395, 0.009894193697799095, 0.0072735669009804035, 0.022173639014239726, 0.014695712620810073], [0.3073547224675952, 0.018665588847716925, 0.01683011817044734, 0.017320819904689554, 0.014010379832423155], [0.2906527457420346, 0.029650334054488206, 0.003316033796420169, 0.004656506662141208, 0.002359279410833297], [0.2823751321494691, 0.017671919752124426, 0.03637867991970709, 0.026638136196277758, 0.02761738617485117], [0.28158120306546824, 0.018580489511383778, 0.09767312313172974, 0.009443424301520856, 0.026465845635733905], [0.4248110296309163, 0.018139104972327295, 0.0008463384885875752, 0.0023287153253311182, 0.004007008229376812], [0.41579519049425484, 0.025837613645597265, 0.0049778924686652015, 0.007316339569351059, 2.872931688074551e-05], [0.39872089902609037, 0.017000304639645403, 0.0072735669009804035, 0.005319613037819911, 0.003317180562020825], [0.4130193310299174, 0.018001336061920576, 0.02128843204550958, 0.0351479808612007, 0.0028089007154264226], [0.4538461088319517, 0.009108308923561112, 0.004233942892408082, 0.0304866732138997, 2.872931688074551e-05], [0.4583648868045176, 0.009108308923561112, 0.0049778924686652015, 0.005316868089883912, 2.872931688074551e-05], [0.38784667779491305, 0.017833670493313608, 0.023010415052595046, 0.026735319776620206, 0.03882542634232157], [0.38709137075579786, 0.025857420828875544, 0.0321383656934812, 0.09319527519251825, 0.015158206060751286], [0.38474141888659075, 0.03823872777427233, 0.11314288986545659, 0.03509263114545878, 0.03340647335368462], [0.3779655124699335, 0.14012393510452426, 0.00028306974942000906, 0.03399692912286108, 0.02995875818326424], [0.27570764193565145, 0.0, 0.0, 0.0059938401964169, 0.0], [0.28592026284152433, 1.0412602255283196e-06, 0.0, 0.007981235756398426, 0.0], [0.29032185917104253, 0.0, 0.00012002801040670794, 0.026701227569191584, 0.0], [0.3318546261994891, 0.004059709550552237, 0.019662186159361127, 0.0006729072932657367, 0.013420312972672016], [0.298896600816864, 0.0005533094146012336, 0.019662186159361127, 0.0006729072932657367, 0.00014080610961294225], [0.31206599064220064, 1.285369271300811e-05, 0.001722425469243062, 3.407118771954487e-06, 0.0], [0.3045573398056526, 7.281658635051819e-07, 0.0, 0.005581806954803928, 0.0002696490007641104], [0.32647131322083006, 0.008739981973851082, 2.1785112567875996e-05, 3.407118771954487e-06, 0.0], [0.36417211095370905, 0.004472777375589194, 0.0, 0.005395250885476993, 8.658237696125353e-06], [0.3757198560287426, 0.004660080959208727, 0.0, 0.004194751912678157, 0.0], [0.35168025744245207, 5.31478007039564e-05, 3.6815662047310575e-05, 0.026287023669866006, 0.0010596173092958655], [0.34163114298882363, 0.024598672960182068, 0.0002397320292136032, 0.005618600849183015, 8.090301950596217e-05], [0.3846844077535034, 0.0, 0.0, 0.03213988235439946, 0.0], [0.3993228764650046, 0.0, 0.0015708476853263818, 0.05324374429289968, 0.0], [0.2205512462208989, 0.0020589048073919314, 0.0002969035532980283, 0.052597835635485826, 0.0], [0.20185462803994086, 0.0009110310756940362, 0.00029342236852865355, 0.00010221768368309358, 3.467456783384608e-05], [0.2618105082153267, 0.0, 0.015766002118780542, 0.0065281767573860325, 0.0], [0.2482698099884137, 0.00048556001475507857, 0.00015639797540256857, 0.00030400872747023524, 0.00907632678111081], [0.25958211721715085, 0.0, 0.0, 0.0065281767573860325, 0.0], [0.23074417228085653, 0.0001230124006598131, 0.0004589151844210642, 0.0008813655846003077, 1.3397363011250461e-05], [0.2430625829952844, 0.0004274771096401918, 0.04323622038610242, 0.00030400872747023524, 0.00907632678111081], [0.1863586187384843, 0.05804485167286698, 0.0003149832177432045, 0.0072583014181983145, 3.3431054140383365e-06], [0.17748573321840155, 0.019539975185097, 0.025424046496633844, 0.029640028796133207, 0.06486648956350544], [0.3425555553898687, 0.005785038895368364, 0.0483090655349071, 0.02298742840825961, 0.013896934899938635], [0.3120007224388209, 0.017199699997979028, 0.029339112491524662, 0.008921229604986317, 0.055522465869830936], [0.3375530388316825, 0.010500296099358562, 0.001780431624126392, 0.000692386149747857, 0.014840878563376805], [0.37447961718493455, 0.018269802216019843, 0.001780431624126392, 0.000692386149747857, 0.013760337004343419], [0.36151378427267805, 0.02206274725942363, 0.006902603271450081, 0.0038895326732289615, 0.011840353478178876], [0.34872786801414946, 0.01475071881851197, 0.02934657420736624, 0.01368602800113064, 0.0007092481700348846], [0.352454100476559, 0.0007636043535636829, 0.02787107344847751, 0.00013717578763689062, 0.007839753080421709], [0.30091282198519825, 0.029746631423198097, 0.019944212941038073, 0.0010730054047640956, 0.006742200751135772], [0.32162315032418465, 0.08527118284552501, 0.01170599597216404, 0.012044497860581788, 0.020126272944248354], [0.1965227336411947, 0.0013478997092389988, 0.0358998513365867, 0.032209558965289826, 0.037063710627347535], [0.17129456971288087, 0.0013478997092389988, 0.03619307591388812, 0.032085669213326326, 0.035189508032128336], [0.17484443543686476, 0.0015067045384579156, 0.047783259264899416, 0.0017856887878762544, 0.018624367199341813], [0.1882357793354736, 0.01004212252454667, 0.05134461585021917, 0.0007245618548068081, 0.01487598553692317], [0.21967926975442897, 0.0277923096098653, 0.024407111682820858, 0.01572911384959827, 0.016288431815704177], [0.22855211467400977, 0.023785069082411917, 0.045858686665334464, 0.015531900989952552, 0.016288431815704177], [0.24457417536419365, 0.014646627655565264, 0.045858686665334464, 0.015531900989952552, 0.016288431815704177], [0.20565574303532042, 0.006051397074044049, 0.016445127414476596, 0.010835710626245292, 0.0029610324850920383], [0.21015640897602317, 0.0018140204669326015, 0.016816574513661302, 0.028160685082241656, 0.01347697915552986], [0.255330119509437, 0.04639322899130259, 0.00617334432912397, 8.968921707876165e-05, 0.0018262894044624826], [0.23530697934346628, 0.04639322899130259, 0.00617334432912397, 8.968921707876165e-05, 0.001602381867930585], [0.26336112306112136, 0.07171857928264166, 0.00776589944351052, 0.008195343981441533, 0.025601750190230983], [0.274908192704672, 0.023785069082411917, 0.005423380545721401, 0.015531900989952552, 0.0476778582021902], [0.2685314793294097, 0.020408936038982035, 0.019618201026284907, 0.029467972983598902, 0.006742200751135772], [0.41791084846451654, 0.02224451172315188, 0.006767087313690374, 0.007915537361572467, 0.06015198855610246], [0.4331172593261033, 0.0016135182534186467, 0.02943576710655058, 0.008586331375309739, 0.06371300586050321], [0.3929680217414031, 0.001739668933663039, 0.02787107344847751, 7.235009086209638e-05, 0.007839753080421709], [0.3849030747116033, 0.01838309027899493, 0.031157655947728225, 0.0006419273413821869, 0.046439813779406175], [0.4735145509111099, 0.005366575733562167, 0.0167040584488201, 0.010184206550132857, 0.01394158422216952], [0.4686034898138614, 0.018269802216019843, 0.001780431624126392, 0.000692386149747857, 0.013760337004343419], [0.4501815151434426, 0.001739668933663039, 0.00797986228528425, 7.235009086209638e-05, 0.007839753080421709], [0.4343233381883681, 0.00971690394480356, 0.014783574495622315, 0.022334646666778667, 0.02630357285603701], [0.4638258651637866, 0.017109095912363956, 0.03144355600148913, 0.05161008319993583, 0.025243409302503076], [0.32566318327504223, 0.015003988330173364, 0.017846766917326486, 0.02862273150288073, 0.0001727202323021492], [0.33717132295813124, 0.011758382073161154, 0.019547316296013268, 5.4913099830932835e-08, 0.006965828929228432], [0.3352105527594914, 0.02419167324571235, 0.01841899005139437, 3.31100229037911e-05, 0.018424280365089363], [0.3030117632361256, 0.009574953239088855, 0.009789518205876079, 0.0, 7.725419006752952e-05], [0.27967792945400527, 0.013631930398330376, 0.0037474563903426507, 0.0004527721285426285, 0.0], [0.2878664089818291, 0.015286757952297378, 0.0008343767147918138, 0.00025225590879138574, 0.0], [0.3143699815454608, 0.013722301696352234, 0.00045047343204850923, 9.334264358524386e-05, 0.023395678382854602], [0.31661116552914903, 0.013722301696352234, 0.00045047343204850923, 9.334264358524386e-05, 0.023395678382854602], [0.3804239424832008, 0.024478646005131426, 5.5941726917062797e-08, 0.003627776012868386, 0.0], [0.36929138496582015, 0.014609942153203052, 0.003680756847950495, 0.0, 0.00016391400663141485], [0.34798375257944214, 0.0019908558897491144, 2.9182143774475377e-07, 0.0, 0.0017206026664629837], [0.35459249292305983, 0.03574396137967038, 0.0010476252294243649, 0.026537468401444483, 5.4999560248109427e-05], [0.29623444852217273, 0.061569163287732986, 4.917514431993213e-06, 0.0005898493371033773, 0.0004719592950878015], [0.36640771984228343, 0.0025016938872999862, 4.976279156364039e-05, 1.688250460743859e-05, 0.06386138754763901], [0.19912461594283926, 0.02478526278271043, 0.0003181584080313646, 0.0, 0.0], [0.20812447059216377, 0.012844365364838375, 4.8495230487638485e-05, 0.0, 9.846768819018852e-06], [0.2180033855854666, 0.011585786219226252, 0.008031932784733607, 0.0008871404439814417, 0.028077260758823018], [0.24373627101851156, 0.006457016664276949, 9.147919856317271e-05, 0.009983602522102692, 0.009681131293045406], [0.23508043393744535, 0.0018124027500755722, 1.3295164937615541e-05, 1.8652249670266413e-09, 0.0034625737909784945], [0.2275396621233125, 0.00961900639261695, 0.0005356303552545934, 0.00011632848683564304, 7.692042238628043e-05], [0.25465668677106457, 0.012844365364838375, 4.8495230487638485e-05, 0.0, 9.846768819018852e-06], [0.2686188874416675, 0.01361221137720401, 4.677395526432582e-05, 4.192267424022898e-09, 0.0], [0.19125998587027895, 0.0017649000035568647, 1.3295164937615541e-05, 0.0, 0.09045896949710452], [0.4072807681451883, 0.007689216663284008, 0.0006333314488019021, 0.0010638167011301262, 0.004292702578284083], [0.44761026874829446, 0.02873674950346089, 0.0001519144991941693, 0.0, 0.0], [0.43555143602327145, 0.02884004453138574, 1.6580716095260543e-05, 0.0, 0.0], [0.43278742897660816, 0.015286757952297378, 0.0003879718063624152, 0.01217457140280451, 0.0], [0.4238740532762104, 0.03761878470619063, 0.023865500662599386, 0.0, 0.0], [0.529968473459795, 0.011353363747319267, 3.472163640362569e-06, 0.0, 0.0], [0.5131347643233799, 0.003050746951008383, 0.0, 0.0, 0.0], [0.5043663788565839, 0.0023569697750014437, 0.0, 0.000580578767347642, 0.0010797975216851885], [0.4945256161175366, 0.02884004453138574, 0.0019813573397839826, 0.0, 0.0], [0.5009436833086975, 0.009144507149594847, 0.003625609188769082, 0.0011609575475337573, 0.02905290135485239], [0.45633270834323997, 0.008428025962568326, 0.002279750319228539, 0.0033898031791379513, 0.019458457933031043], [0.48389735063737604, 0.008311974505755455, 8.864805488602713e-07, 0.0, 1.6737570821976762e-06], [0.46581379008682644, 0.011318244368144936, 0.013552023663030942, 0.0, 9.161823409639062e-09], [0.3379951605108096, 0.003197721103480531, 0.01781833869568814, 0.02513996193131067, 0.02103063155336555], [0.3273443975164732, 0.0032191639926699455, 0.01788950014357325, 0.015452784815896082, 0.0028247689455205404], [0.3461721639447662, 0.00015131588702433632, 0.026418794440826874, 0.02662138653066192, 0.004380194407891638], [0.29975294236994465, 0.0003577286551073337, 0.04019104626896176, 0.01627225104224583, 0.0004816133347553004], [0.2790597104567736, 0.00014800734722583177, 0.0246782569958725, 0.024824653378652237, 0.016264418053146615], [0.39323033055450596, 0.0004330717694511939, 0.02391838514632816, 0.001909616746011332, 0.018983220262476303], [0.3845980844331336, 0.013746214561043956, 0.03087403068573222, 0.001909616746011332, 0.01720581900563], [0.3742303396658687, 0.015509424396640697, 0.0306790170087067, 0.007406754543288131, 0.004434519604271537], [0.36070431302610384, 0.014235401930659707, 0.017548368272034404, 0.026763568120694817, 0.036154718784927264], [0.3611357932117274, 0.002016888521984214, 0.006516086716704408, 0.015267916750239321, 0.009388981317207806], [0.26716692837579703, 0.00016741280074513733, 0.030040901828912257, 0.02459711123512858, 0.08860343090565935], [0.2735384176349219, 0.00010854988806740205, 0.024087830276535663, 0.04050704204414129, 0.08770588291367648], [0.4352338066820943, 0.0009904421510588764, 0.02724142411160826, 0.007693558166497201, 0.030312764116579363], [0.4134418010458113, 0.0032165454383314687, 0.02722114963712155, 0.015083365158783897, 0.021252784513083583], [0.4245628360974468, 0.0032165454383314687, 0.02722300973775925, 0.015083365158783897, 0.021252784513083583], [0.4514640411496944, 0.001515519223929336, 0.029668916624804892, 0.06041057675331768, 0.02120545377425499], [0.45569308335183745, 0.0, 0.030638283681636336, 0.0350334861842629, 0.02541097619208009], [0.4907435818657978, 0.0015856841463671393, 0.01968584416344246, 0.014559873708534555, 0.005002319006899439], [0.48065880936525485, 0.0016862049334611072, 0.03464389260083391, 0.011224332147922508, 0.02551309024348292], [0.48514828723439873, 0.0016862049334611072, 0.035601544821776084, 0.015499733296353011, 0.025830185210436292], [0.46373071509676084, 7.434893288533443e-05, 0.006373855680852863, 0.013146469312103871, 0.0017492182018184893], [0.47492352530081644, 0.06140906778732072, 0.02383304571047861, 0.010994784425390779, 0.007220699045952697], [0.5107317927196285, 1.404729407129845e-06, 0.10176467625158225, 0.0092850847996949, 0.051158579951157246], [0.5080111330446007, 0.009547305573296529, 0.10176467625158225, 0.0092850847996949, 0.01832770752728413], [0.3175526303165767, 0.02769041270473499, 0.0285664774262223, 0.0062190571014193625, 0.019060660811146553], [0.3421461401572165, 0.0011845380287790128, 0.025798847902813, 0.01696960926596542, 0.005718048527387133], [0.3562563772129462, 0.0002700406140483443, 0.030163811808879337, 0.006308776182414105, 6.370802478941379e-06], [0.3639989954145496, 0.005219247243045257, 0.02579247406342794, 0.02062747282323273, 0.0023287733926536207], [0.3717620780285952, 2.6125607213147993e-06, 0.015513701941703761, 0.00428690917968352, 7.659570474425904e-05], [0.3108943073282285, 0.012260939563196765, 0.025876389682561958, 0.00690697458268634, 1.0214852605586102e-05], [0.2708721116714281, 0.016250027022084248, 0.002893820974200517, 0.022431805697438398, 0.0212446305996835], [0.2679352429564392, 0.03688469570869935, 0.002893820974200517, 0.022431805697438398, 0.0212446305996835], [0.2908600824274525, 3.4846710226473605e-05, 0.015242417311957829, 0.004218896483157757, 0.01774958372155183], [0.29331754169, 0.009979156395992235, 0.002893820974200517, 0.022431805697438398, 0.0212446305996835], [0.25562869360753454, 0.010584359457051504, 0.0011827821419218842, 0.000819872770129234, 0.00327139436630592], [0.3253223005743433, 0.07923020882504639, 0.0030293859019025864, 0.0027011465330082363, 1.0386452313182817e-05], [0.4277077199816717, 0.010086939501627926, 0.036249805720025535, 0.005856128870269532, 0.017091476920777962], [0.4472281355335584, 0.010047101920382372, 0.03610569629974804, 0.005856128870269532, 0.01774958372155183], [0.415227052186241, 0.027188918275863498, 0.008937555692954874, 0.006760849210177576, 0.00585560879391297], [0.40462513154771396, 0.0001907605067779257, 0.013985512056193727, 0.011979679274236321, 7.218263824239248e-05], [0.46570484106749566, 0.006454148151537088, 0.015147329699208024, 0.020371296038889056, 3.6592436698895773e-06], [0.45242273479414835, 0.010739421799972698, 0.01519247550379274, 0.013650751665607967, 0.00019592492890880067], [0.4835485037802921, 0.010823671314090339, 0.01565999826614055, 0.012115840282451058, 3.111921424511083e-05], [0.47607682219602626, 0.051075372816674396, 0.035739723274884505, 0.0027011465330082363, 7.868782260135208e-07], [0.48912175383650747, 0.05463861873814453, 0.00935890245461467, 0.023294526511157668, 7.868782260135208e-07], [0.39396531917094696, 0.07923020882504639, 0.035739723274884505, 0.0027011465330082363, 7.868782260135208e-07], [0.39953276038339147, 0.06145521914800651, 0.008296777824084271, 0.022193925176562646, 0.040757298690929256], [0.23524073831330397, 0.01886016176100164, 0.026755202354538606, 0.02101034719006529, 0.0004935152687245477], [0.26274498153422965, 0.0214937753143865, 0.03440600619307177, 0.022819084728024117, 0.02329314260726361], [0.19975729299503092, 0.004667563505458369, 0.0448099208171, 0.00023268964607896475, 0.0], [0.21356410064966563, 0.004842495750405894, 0.0448099208171, 1.250663937048604e-07, 0.0], [0.23747106457629114, 0.005369101660304663, 0.037565329652468546, 3.568619556735923e-05, 4.9618342138114686e-06], [0.2508360736661826, 0.021565145073278363, 0.0013669477720880154, 0.020445605821756044, 0.0070678598477320375], [0.27567304438594986, 0.012376593607904177, 0.0024095252691767547, 0.022218291549477753, 0.0015189718866009567], [0.18317418122515722, 0.0423555573640656, 0.01901258057644844, 4.019949726216562e-05, 4.261258537193585e-07], [0.20656414287495384, 0.017984953393853746, 0.008405097454195556, 0.011535684594069812, 0.0003324602690870995], [0.22904533022458312, 0.04121915411638079, 0.08839188599408682, 1.1140662594467207e-06, 1.5368946730494554e-08], [0.2922900918251365, 0.04412479917344039, 0.05281606574179415, 0.07053991835348401, 0.0], [0.3745147545519949, 0.032189235188962335, 0.0384993115794285, 8.202934805684731e-08, 0.0], [0.38431115127265997, 0.024343983735741797, 0.024023315550583423, 0.001103331841659989, 0.005388688305301224], [0.39438843127167084, 0.0037935250848075072, 0.030312085241486306, 0.020235479512190138, 0.012945774114863147], [0.35270123693307526, 0.005219385033641083, 0.017647232134678614, 5.909820642807737e-08, 1.533986901968199e-05], [0.34890348830612267, 0.005854267497558283, 0.02088971130514221, 1.5430437504585457e-05, 7.186524713602004e-07], [0.33745832957519223, 0.005854456751857981, 0.032071563545767894, 0.0004971553449324923, 0.0003957196104091981], [0.3131188265836585, 0.01817743883478277, 0.04783715946945427, 0.0, 1.2382800999976434e-06], [0.33001411353354226, 0.01733950952867014, 0.051777272566293, 4.797466078257288e-08, 8.086808562131195e-09], [0.32424446254750805, 0.018284454600348953, 0.051777272566293, 0.0, 0.0], [0.29913666452588233, 0.02646502582451678, 0.01832934971850956, 9.561219555954546e-05, 3.860965660847096e-06], [2.1291020162184093e-17, 0.005375960641740729, 0.03601513973365275, 1.3105751132765928e-05, 0.00024475492704306923], [0.0064323280058281584, 0.005259224091410101, 0.03689706013439582, 0.00018617312664006086, 0.0003710566266378498], [0.023947786445258606, 0.030229044933322322, 0.014999171213143453, 1.9891662102467e-05, 4.760839607281593e-07], [0.055437850072585504, 0.0006506195932436867, 0.0047322362985329075, 0.00044433824675362, 0.0006253711705094755], [0.045542468625035304, 0.0006506195932436867, 0.008405097454195556, 0.00036384226179360987, 3.2511166577778305e-05], [0.07982742807760136, 0.01764760536872277, 0.010871475539611038, 0.011484416613670712, 1.366191057126584e-05], [0.0642371269342692, 0.003733298962513572, 0.021830125924560267, 7.866993712265027e-05, 2.5276864707101515e-05], [0.07195963060122629, 0.004611221680044072, 0.029024534762699745, 2.0835171616023e-06, 0.00024599560623723727], [0.16939024222073007, 0.047806365938001895, 0.058254917665128185, 2.1163674267338524e-06, 0.0005274786127656833], [0.11897358800755786, 0.001375968276869869, 0.05525538284466319, 0.0, 3.7669693816644485e-06], [0.10802547288335301, 0.005489943426998862, 0.05873530172904412, 1.1481049339216219e-06, 0.0006403927318735375], [0.0990082341326049, 0.005489943426998862, 0.055288228776870944, 0.00010561631977552312, 0.005450184344218956], [0.08972726094004452, 0.005539450324084715, 0.040967625741283646, 0.000246137733196106, 1.796430440669525e-06], [0.1441561763457852, 0.0011561787584697253, 0.02734598227580192, 1.8548852126254933e-05, 4.007694657996189e-06], [0.15209664486289565, 0.0031030755550541383, 0.017890713599642873, 7.866993712265027e-05, 2.5276864707101515e-05], [0.15798698866986688, 0.018284454600348953, 0.017357350731119586, 2.948272626262941e-06, 2.2704807450211373e-07], [0.12882857522894664, 0.01428707467711357, 0.028353918821775664, 0.0, 0.0], [0.1309187549754049, 0.026478869230421566, 0.007796219370977256, 0.0003771802414211994, 0.02026024258453321]], "centroid": [0.23286455283923657, 0.018066063248924753, 0.026642042154044195, 0.0200245255421085, 0.01912207867096456]}, "2-0": {"solutions": [[0.7389281240929697, 0.13645522566068502, 0.05991768951221166, 0.12322634912172259, 0.044551878544761725], [0.7423040881506267, 0.13326429814029747, 0.002674387843143035, 0.12322634912172259, 0.044551878544761725], [0.8084237784862403, 0.13826707445684394, 0.0028072718549282394, 0.11985437348237213, 0.057757925873158804], [0.7781055326465932, 0.13645522566068502, 0.05991768951221166, 0.12322634912172259, 0.12404356509169326], [0.7800286067556776, 0.13645522566068502, 0.059222114738086175, 0.10534432903324678, 0.12046755780652207], [0.8996397024455436, 0.13582744844496858, 0.17395566668046436, 0.11988693176906413, 0.023366640502740108], [0.8721045989204168, 0.13582744844496858, 0.17282861597899254, 0.11980099788052893, 0.023366640502740108], [0.9147245395040701, 0.25633021598785866, 0.07224224925226452, 0.0717113599236184, 0.046170231102193204], [0.7446060552855922, 0.007308912999962305, 0.1622819680216116, 0.04223166364327412, 0.054960900422395806], [0.7320782256650171, 0.009142952094967627, 0.15049517103893667, 0.12533832526523367, 0.053149838476265865], [0.9879391161961564, 0.013512117200044887, 0.1601576471599723, 0.10425974240660886, 0.07464569590589447], [0.9992076769800174, 0.01588275952258668, 0.1601576471599723, 0.10467392606298329, 0.08734752754112744], [0.9854271175690646, 0.013512117200044887, 0.16085305071422584, 0.12236305273847176, 0.15873257859016177], [0.9541659781771983, 0.02716752896357358, 0.19556773197517818, 0.023189623146997018, 0.05608273096217839], [0.823713900058584, 0.0760519575050003, 0.0043057431541361785, 0.05571828083978821, 0.01968231072970173], [0.7981801097084084, 0.02399242830493177, 0.004934269576069683, 0.05754797030040827, 0.0034946885926747454], [0.7953040075258546, 0.12622755389308196, 0.004312396250998135, 0.08878510889812935, 0.00464451935303635], [0.8749711806847711, 0.0007719531363628365, 0.02351437467151242, 0.08363823796146028, 0.05411408342281042], [0.8435291280802494, 0.007372855246792126, 0.0264667862243493, 0.007925354877211091, 0.05366444056209993], [0.8396019501257331, 0.015316790957315987, 0.03482173084805161, 3.776921268211497e-06, 0.09523604761249893], [0.9952685573378633, 0.022876751232332737, 0.06312010975296345, 0.0603651467541556, 0.018718258338076305], [0.9859452652792995, 0.010853639240773174, 0.06310149158595807, 0.0035625178494053666, 0.038422802217832744], [0.9875056690006776, 0.014953252222336955, 0.06039619388611025, 0.024673229093822968, 0.025089829743811676], [0.9214001141716252, 0.015316790957315987, 0.036750590826064786, 0.06119139246290378, 0.05074149175291024], [0.9464631523401265, 0.014953252222336955, 0.030806050485854265, 0.07015854750768578, 0.05351027746104339], [0.9527252918612621, 0.03782502826672052, 0.02551246893499398, 0.06999722856378417, 0.007459714892080391], [0.9008568109623932, 0.02440866621130028, 0.07424054823209193, 0.09272983006767468, 0.015637301403514634], [0.9851071928183428, 0.011035178997268122, 0.06260204694480513, 0.12618858306184064, 0.02064567180875801], [0.9764332668598898, 0.03312973098002224, 0.0784859932782428, 0.08367733578765613, 0.05716722096102085], [0.9761643587729382, 0.09260711284245682, 0.017703038443510143, 0.08590905738824407, 0.04946193672506263], [0.9429606434769149, 0.09392455498917746, 0.06496513384727984, 0.08821647196677214, 0.018718258338076305], [0.8952079707857202, 0.09471021698875759, 0.07424054823209193, 0.09311053767293585, 0.015637301403514634], [0.8882764025892804, 0.09260711284245682, 0.05303850291684938, 0.08087590628015023, 0.049652857070650674], [0.9439188486328556, 0.015469317968767314, 0.005322270890356723, 0.07997111307294924, 0.10732571947100525], [0.9786967867529371, 0.01541035022690738, 0.005322270890356723, 0.059577993754539746, 0.10732571947100525], [0.9081876770977726, 0.07510342236060961, 0.07172470709062205, 0.07959684454823318, 0.05244417260565085], [0.9220077589368164, 0.03182304520958522, 0.05614386101482592, 0.06344531142111569, 0.04729323085430666], [0.9122457322600752, 0.03912176990310463, 0.05411184696969079, 0.020307302180291975, 0.04717551785257169], [0.87077507303298, 0.040326645423871224, 0.05331867221172251, 0.019032666491195647, 0.047435031908973205], [0.8899038693348611, 0.047057874382134365, 0.04692617733781326, 0.0517958134815196, 0.07208313334846957], [0.8559450010511888, 0.03768278720466401, 0.05683496842205682, 0.051660684058329534, 0.03408990502178895], [0.8516680130186002, 0.03194054453010599, 0.04913759389452669, 0.06271750186984047, 0.06874969797959404], [0.9067314631170973, 0.07504139178271228, 0.11514009750000244, 0.07978560978388924, 0.05244417260565085], [0.8688447089793576, 0.04964713336078204, 0.041307889408938106, 0.11250132828739906, 0.004729710516604535], [0.8809160616327905, 0.07480665921249488, 0.0067362042688851285, 0.029029980815823232, 0.05837084413730026], [0.9749205467306787, 0.012334760806140085, 0.07127449595599458, 0.04829608957814353, 0.06478801028527893], [0.963221615118111, 0.020638389099937544, 0.06105100302506801, 0.05162248755956356, 0.0733107220371086], [0.9563955018438887, 0.020638389099937544, 0.06145474996239549, 0.05162248755956356, 0.0733458727115588], [0.9458482447925172, 0.032258733440760315, 0.0750579659024094, 0.06553319521544591, 0.07569555137094446], [0.9368153615831223, 0.00278638495985796, 0.10253397503383961, 0.04829608957814353, 0.06367808645066944], [0.9466779685469042, 0.010977382660812569, 0.007275363727706617, 0.05579774992418726, 0.05738994035827221], [0.9691269330908229, 0.042360974753689745, 0.0136385088855068, 0.025324334028211534, 0.07334416303542089], [0.9410083601592968, 0.05749666043103198, 0.004027850388317572, 0.06589583786934666, 0.11139885010724018], [0.9998464073549115, 0.08260370513978882, 0.041307889408938106, 0.02121812479931896, 0.03388049254173328], [0.9872590868740414, 0.08393734779324367, 0.05870471290141319, 0.021172800393075508, 0.04078774728469219], [0.8506969466778116, 0.018104667134431277, 0.04575925965767228, 0.00935146693695825, 0.13864417587644856], [0.8866059687372772, 0.05334248414846903, 0.05467567355692404, 0.05305791964707767, 0.03633501746244263], [0.871722222301573, 0.03495615187936534, 0.05467567355692404, 0.05210799691242599, 0.03633501746244263], [0.8688222621974909, 0.053866711205319606, 0.04613647665173384, 0.05285758875586968, 0.05020454522154008], [0.9430647928014018, 0.05301202987149429, 0.047079456908652374, 0.0547222255091675, 0.05287553968154857], [0.9023027871416885, 0.0015357091837986114, 0.06250909382648555, 0.06869871732509514, 0.04438692145356894], [0.9061231570496715, 0.06981602090038537, 0.03471328693756749, 0.00014176995884345941, 0.02100696899290965], [0.8905351307338866, 0.052866533092135244, 0.02286693179422526, 0.0142479343284263, 0.03682667834592718], [0.9993828594394152, 0.0016195281157119143, 0.035354742813439005, 0.0012450754953655407, 0.0008793842679702402], [0.9757156032757932, 0.0033060995673938574, 0.0278542354427828, 0.000113035728937649, 0.010758582626283604], [0.9923792426377205, 0.01401731677481011, 0.06977534477160668, 0.015131152127227421, 0.0016669952612260695], [0.9844596135102847, 0.02289160952174555, 0.0684930584447941, 0.0, 0.0016669952612260695], [0.924636177368479, 0.0, 0.0759046727315507, 8.345984042110814e-06, 0.0005105504026281033], [0.9467856225518444, 0.005127052154398928, 0.08339624044019558, 0.0, 0.0003463674752571533], [0.9288629786061322, 2.3604304054886723e-05, 0.04342893935408342, 8.345984042110814e-06, 0.0005105504026281033], [0.9549723099031358, 0.014525483071758237, 0.030732254646922454, 0.053484252232801, 0.008123300893242116], [0.9637286002166175, 0.04861101016670906, 0.0317948583119496, 0.000113035728937649, 0.051464048432960124], [0.8598682560014085, 0.007032922224911212, 0.0827866918650648, 0.0015547163230008286, 0.07521733091111783], [0.7951267904649212, 0.0, 0.10949218160825408, 0.0, 0.039841021175608185], [0.8375669556213085, 0.03172619014520863, 0.008669411039962046, 0.0010348310150497982, 0.01220953658958969], [0.8130092349414301, 0.04625339933934479, 0.03171479684585042, 0.004402340493488963, 0.049878628301215394], [0.8199955517929028, 0.05553904087378042, 0.06318551286448972, 0.0108688301448389, 0.014611333254919229], [0.8275177709711008, 0.09512541320191992, 0.02114614823484981, 0.0008799786846222664, 0.010315012612163351], [0.8024366304136067, 0.05177793048087918, 0.05207905804063091, 0.05953892929514311, 0.0005174221567270151], [0.8323790981771155, 0.0392402291813594, 0.026257366680134283, 0.08609815082704997, 0.01890268388901542], [0.7964154990978356, 0.017836661122641543, 0.011452384455120049, 0.05953892929514311, 0.0005174221567270151], [0.7562343928750697, 0.040979387422574086, 0.0017417619496121195, 0.05203986697024024, 0.008818435323920647], [0.7390254342351622, 0.0008865793269321708, 0.05458667005031214, 0.073125856308138, 0.045506266159246245], [0.7491623785048921, 0.03488728097510255, 0.05448937833483415, 0.0315088476324997, 0.03633501746244263], [0.7236735247184536, 0.0, 0.008655276117752887, 0.0, 0.04301097703294026], [0.7620092796528524, 0.007052974309323914, 0.0024582015962927653, 0.00014176995884345941, 0.020937723967009395], [0.7781217847962176, 0.00848784252382571, 0.006970563439382238, 0.05214201483298361, 0.10038619801144848], [0.7212750939111553, 0.09450914988000836, 0.00993718497303521, 0.0, 0.04301097703294026], [0.7195743800122427, 0.10086048787053487, 0.03054955992183161, 0.019699308659694423, 0.05785645163732966], [0.8757899285691431, 0.01992331630266484, 0.0546579351465159, 0.05042310627958896, 0.04512082457340642], [0.814223256995925, 0.0015978569126290096, 0.06156204105366017, 0.02042965874221353, 0.06212855363416088], [0.8530573049106492, 0.0015886148747644643, 0.049879694818046376, 0.04412825066412876, 0.04109404363489602], [0.819101046338165, 0.00016026084987805396, 0.032151779285515415, 0.04030117712384085, 0.03549951450620925], [0.8272801188606045, 0.025233593333994053, 0.04739771115068337, 0.04112209453641315, 0.021695338808021783], [0.8617152719317234, 0.008116695175711897, 0.02536507350294548, 0.014654712347418282, 0.0012198979709458282], [0.883821757773171, 0.00047033921501592885, 0.030415961829582616, 0.0015485649919802303, 0.0026350221231078302], [0.8365128206345546, 0.0019801929288192494, 0.044111472064574525, 0.0, 0.030372723971424508], [0.8304993051372724, 0.003490362464375063, 0.025726679147600517, 0.00020804606550100027, 0.004636463499302863], [0.8459053797860878, 0.019542697025241786, 0.021962945619173634, 0.0004960193742599183, 0.06973937329216719], [0.9303703822605407, 0.0, 0.051225223736131115, 0.015183339977973675, 0.001849363297141006], [0.9448103846822471, 2.5166833886401834e-05, 0.054805542902989966, 0.012391643358902193, 0.016274755817533935], [0.9230256904194301, 0.0, 0.025726679147600517, 0.00020297591524639363, 0.006485910756934561], [0.9071716741950789, 2.4802387111894932e-05, 0.0422200468112889, 7.746985408669388e-05, 0.0009240096477609941], [0.9151599805052217, 0.0006096738816457169, 0.054336297038867366, 0.00011348830229750855, 0.03718535300206028], [0.8985451996773202, 0.0016413775649441443, 0.025726679147600517, 0.00020297591524639363, 0.03981649968933343], [0.869959991015502, 0.0029567793720516253, 0.04881542184088543, 0.00031054539990926886, 0.04288691232717438], [0.9988062188717385, 9.712280233211573e-06, 0.049879694818046376, 0.04412825066412876, 0.007766533501310093], [0.9767693519801608, 0.01903221908585352, 0.061452518319042325, 7.59196872819246e-07, 0.01643245583231746], [0.9865360609284934, 0.0, 0.061432444085457574, 0.0007977868707820506, 0.03964167269484281], [0.995881343676691, 0.0, 0.061432444085457574, 0.0006110725805835594, 0.040268815240103485], [0.9668776811163208, 6.6453455605368925e-06, 0.040592375389142905, 0.0, 0.06402053397836241], [0.9359478489384323, 0.013887189634854226, 0.010589217109250437, 2.2176200004359048e-05, 0.0], [0.9302040490902792, 0.014713563203770031, 0.005966006142717965, 0.009051168704060988, 0.0130112124603982], [0.8891159813753825, 0.0010744521736879547, 0.006017464223176058, 1.3136782587307855e-05, 0.00011326048286203986], [0.9036822845686039, 1.788894379110747e-06, 0.01607699122016763, 2.312001683366094e-06, 0.0], [0.9100994692843573, 4.9668589853328615e-06, 0.007578107295785563, 0.0, 0.0], [0.8996330567649979, 0.017739471520714548, 0.022137942370966862, 0.0004201065426163189, 0.006975036734542264], [0.8817990828629036, 0.0005778451072059841, 0.054132702074537936, 0.005033903330497986, 0.001282867838457883], [0.8320484327076746, 0.0004001252946627355, 0.02032451734787207, 0.004174746038431399, 1.0681463001846784e-06], [0.8566547607108589, 0.0, 0.016605496471354897, 0.0, 1.4412596625957972e-05], [0.8637617509766264, 0.00018833045951023846, 0.012601522387551179, 2.312001683366094e-06, 0.0], [0.8491268279987487, 0.0001893779158620209, 0.001564624883764916, 6.190132860943247e-05, 0.000848582666372686], [0.8467207205368916, 0.034880051749492255, 0.019102808085370338, 0.03617981154216878, 0.00029515731688275365], [0.8711014571127934, 0.0017429448650933556, 0.026169181443954873, 0.03485276101734847, 0.007775356063029981], [0.8138136199757795, 0.015228721474029677, 0.014539498579036369, 0.012433669110137407, 0.00027390747577868413], [0.8055089375464762, 0.015228721474029677, 0.014539498579036369, 0.021760717813788272, 0.0007542898393315369], [0.9978585845620599, 0.00032156822635368964, 0.022137942370966862, 0.0014967180799254284, 0.007060620173374336], [0.9915516457488938, 0.00031890783058605436, 0.011485048966418677, 8.320789908591517e-05, 0.013544881006519922], [0.9789325035747363, 5.37047122895372e-07, 0.0032987721953208968, 0.0013364314203930458, 0.022710316986375323], [0.9500396673298288, 0.0009383295243300081, 0.033684085134865926, 0.0006311065374276538, 6.879084449172047e-06], [0.9674597400143685, 8.492609773268905e-05, 0.06676722021570106, 0.004451304158508286, 0.01186634701123837], [0.9726177926106484, 0.0, 0.04488421282686173, 0.008255335469416463, 0.0], [0.8929533405119792, 0.007324480718907331, 0.01133402430237598, 0.07076864783260817, 0.014748890529657565], [0.8721346764561791, 0.023140316416036893, 0.01133402430237598, 0.0003489581721729533, 0.0008215931869542618], [0.8823496766012452, 0.014035197504182362, 0.009188417998823261, 0.030858336065393434, 0.010789866370414868], [0.9088489488439297, 0.05736923244163668, 0.000981831090946619, 3.326317802553248e-06, 0.026182710469112087], [0.8983018206938094, 0.05794291002263538, 0.0007369751369171659, 7.025531484708777e-06, 0.0], [0.8498943849349492, 0.07600358374733096, 0.0019381583776910336, 0.013772844841454034, 0.010364763302837036], [0.8446879012758676, 0.07601246196803388, 0.004966421899123059, 0.0014815386123292048, 0.009441692019071756], [0.9965796513445853, 0.019282529990457452, 0.006058680948060287, 0.00011316091020098507, 0.0], [0.9877125940779035, 0.015415580374122793, 0.0007369751369171659, 0.00013407840222840785, 0.0], [0.9284762144851494, 0.009130601007123457, 0.0038719528406448156, 0.00014562327582177265, 0.01383530430636943], [0.9171284939163575, 0.022121031966245343, 0.004478840362987142, 0.00019830734545480885, 0.033186930099911215], [0.9622427242341345, 0.015415580374122793, 0.0007369751369171659, 0.00013407840222840785, 0.032117148645564024], [0.9536651552854695, 0.02183012448412643, 0.014684145621725332, 0.00019830734545480885, 0.0049263031697175524], [0.9511293702171212, 0.059268157565251826, 0.0038719528406448156, 0.027857114605566287, 0.013649888196857442], [0.9738949258597025, 0.0865132866579991, 0.011453862652444458, 0.012522100261358245, 0.009441692019071756], [0.9797381766854611, 0.05736923244163668, 0.0007088163201749043, 3.326317802553248e-06, 0.026182710469112087], [0.8693513682113045, 0.12655455093902127, 0.023172680516226063, 0.0, 0.0005592790609920077], [0.8021459570753386, 0.12208864285419808, 0.023453488332220596, 9.090610465336967e-05, 8.870838580560909e-06], [0.9001540085450308, 0.01674049556874866, 0.029217264655954617, 0.03818444149093904, 0.03515300507366891], [0.9108116866546818, 0.03449582782570688, 0.02942840391463093, 0.022044224149790195, 0.03319254254514334], [0.8793994191510585, 0.0344983658251402, 0.011977908264921025, 0.035314817065348086, 0.032281045029615645], [0.874815762147955, 0.0013841631781313958, 0.04570322002186912, 0.07546338803376346, 0.004599135918988077], [0.865532166783297, 0.019469293393595155, 0.04372082325704537, 0.07546338803376346, 0.007040457701193379], [0.8685014150969785, 0.034978834458953306, 0.04570322002186912, 0.07546338803376346, 0.007025551793586403], [0.8318568743520804, 0.02857540146437813, 0.028477072195116256, 0.04078149432839614, 0.0005266922302356054], [0.8408566661965937, 0.02157818555260677, 0.011941400219918255, 0.04144572989422503, 0.011386265420440009], [0.8141622627453027, 0.010448768668768732, 0.0047526611724492684, 0.03136339102537916, 0.006067985764161921], [0.8541702042347281, 0.021812590318816452, 0.012954643837822275, 0.002539164775411669, 0.029905659555498537], [0.8453608351992893, 0.00023558786848582448, 0.004698805840947482, 0.010053934357284685, 0.001433543734811707], [0.8232839297611502, 2.301833752792193e-06, 0.04208223500273143, 0.006891600335914568, 0.01052759439214549], [0.9944731147556313, 0.03538937577835223, 0.04447787449762313, 0.005822645959865327, 0.01828176485707464], [0.9469386156169519, 0.03451404939620681, 0.04627451821833846, 0.006186283721379041, 0.03231834052148903], [0.9502868990828358, 0.03450318852402405, 0.006571394076457574, 0.03136339102537916, 0.005397935907597764], [0.9818942592141683, 0.02687482443841637, 0.00267298246886858, 0.03136339102537916, 0.0060828916717688974], [0.9894454846650361, 0.009992074019253403, 0.0015092017700857711, 0.018190354662098257, 0.010075496932126813], [0.936868603892542, 0.034956721203021894, 0.02942840391463093, 0.11602084594093032, 0.08263765300340262], [0.9177534817810025, 0.025365725356420545, 0.04783641820548535, 0.016139926163344517, 0.0497906167307411], [0.8825581611225534, 0.01704367103917168, 0.019593453046838377, 0.001705535958487282, 0.006242676573038862], [0.8842439243391316, 0.017196765180086362, 0.019593453046838377, 0.0028456249681621873, 0.0006076823340272694], [0.9091565365766054, 0.030333036606870218, 0.00204909376615859, 0.0066010606377476105, 0.008098036377337012], [0.8965064348050926, 0.0332865666327491, 0.01633530065914322, 0.023874845820235063, 0.029078679524437663], [0.8926859609404717, 0.02434643281197686, 0.009235048102739247, 0.004820268695316522, 0.02868028785924815], [0.9946289575941907, 0.018545456858212173, 0.012407449841034748, 0.004146748835017587, 0.025084525998146222], [0.9804189106442549, 0.014358181947844034, 0.010666419551925663, 0.004498662415669315, 0.03161187532071062], [0.9759611653015079, 0.018545456858212173, 0.012407449841034748, 0.01676019328818879, 0.025084525998146222], [0.9587511268518447, 0.016562066021413774, 0.0033494747159903415, 0.00012575844136239467, 0.01501343364473267], [0.9465366286502961, 0.013558762516994591, 0.033229763437058066, 0.013908644539384923, 0.015767825274740545], [0.9375960474322905, 0.00027475038672379604, 0.0049778924686652015, 0.005316868089883912, 2.872931688074551e-05], [0.9635881206380064, 0.05384680672813303, 0.03142769454960326, 0.026727023973051545, 0.015768245222279785], [0.9752534088383775, 0.025365725356420545, 0.05243232374261926, 0.03124198352510621, 0.061419419869814224], [0.9329927582048825, 0.10837242567636135, 0.011012377897218859, 0.02019544111971859, 0.004992260827986141], [0.9338702152363871, 0.10837242567636135, 0.0064438806914438075, 0.016133711429616275, 0.005506730664821352], [0.8489071517831019, 0.01692894010108534, 0.019593453046838377, 0.001705535958487282, 0.006242676573038862], [0.8272326715310162, 0.013510702402848854, 0.033245463559470056, 0.061107658861032574, 0.01574360027366504], [0.7793205787236928, 0.029514537873464843, 0.00543005672191299, 0.015133450990343359, 0.0072243155590534305], [0.7869809872058591, 0.013511046537513297, 0.0064904385867439185, 0.02354411506487866, 0.005182982031243573], [0.7629253553408188, 0.02937872522246895, 0.03391636580931162, 0.0030159467935473444, 0.024059704395818827], [0.8008870898986509, 0.017926002400715027, 0.027141135306979147, 0.017307651460121396, 0.02373550165550179], [0.8115812305622716, 0.02632089748076402, 0.023010415052595046, 0.029701418576295456, 0.03882542634232157], [0.797905027103782, 0.0021929123024822944, 0.033336161404303975, 0.045179876513784675, 0.05009205289315133], [0.8173611368894329, 0.01340795784070769, 0.06935309907287401, 0.01296780699182961, 0.03369213213100519], [0.9168312111932457, 0.05863400347312106, 0.03800835336438013, 0.009225542064365214, 0.0005610845494928452], [0.8835982121905327, 0.047037516682659486, 0.016865978173988425, 0.007346799251367347, 0.0008020053637246343], [0.8637056442597112, 0.0, 0.0010203616898584837, 0.011868694780835475, 0.0], [0.8749461655408344, 5.520564792379709e-06, 0.00025242472817159833, 0.005380818439298855, 3.258651293490378e-05], [0.8551330946076698, 4.013057529520837e-06, 0.0011005493627773318, 0.0060291689359390265, 3.239563251451467e-05], [0.8498454829325421, 3.363088088487339e-05, 0.00017119264404408946, 0.003708484692883615, 0.0], [0.8927854740204837, 0.0005436564457477512, 0.0017312264733025523, 0.032692054631048344, 0.00035843691994018323], [0.9013190882175741, 0.0001468846824466824, 6.760376296274415e-05, 0.032329326208677234, 4.867974118758238e-08], [0.9060872985358244, 0.008946248837440792, 0.0, 0.019942182368951705, 0.0004427966158617996], [0.8256834348061195, 0.031063874406464867, 0.07873933414734424, 0.005647588617377797, 0.007281202778998415], [0.8398749914015805, 0.011772238487590285, 0.0777110030546428, 0.00499711102837878, 6.029325430740304e-06], [0.8338115692106967, 0.030820752877896762, 0.038730505914854677, 0.005057820618292023, 0.0003631655182785923], [0.8482642474600829, 0.0001611173297757472, 0.017619300623544946, 0.09672519644663652, 0.040109226889718075], [1.0, 0.0, 0.0, 0.006064640089726342, 0.0], [0.9846574662145544, 6.971142038273825e-05, 0.0004292835899238973, 0.005321928176501884, 0.010637723307060382], [0.9928183518423858, 0.0, 0.0009775028627965036, 0.03213988235439946, 0.0], [0.9377603858083509, 0.009037013713511316, 0.004862035746910798, 0.003952817032277455, 0.0004323870900209154], [0.9610415844317948, 0.024562734219458697, 0.0, 0.005618600849183015, 0.0], [0.9727995421488183, 0.013757369943668482, 0.0, 0.01179470806541233, 0.0], [0.926672023957893, 0.02492444573881724, 0.017444226892746488, 0.0719577825604756, 0.0008043406401379587], [0.966946495504716, 0.020942370716487774, 0.0002851556114779356, 0.06668937509495577, 0.0004751894694614914], [0.8792995717565838, 0.02773125194216458, 0.023338708763296162, 0.03156101432756689, 0.02758283881546567], [0.8941223282721438, 0.028257169160843, 0.03590178617426623, 0.0006596952788550537, 0.02758283881546567], [0.921953187967644, 0.013401449641002514, 0.03590178617426623, 0.00015364570864830236, 0.02669483030681795], [0.9161681436256535, 0.025633572368063393, 0.018746586691106182, 0.017920933308779648, 0.043021701362912536], [0.851544142926516, 0.027969780857892326, 0.04611733861996492, 0.03266986316671333, 0.01625986264533758], [0.8526438633741298, 0.0023487020692131207, 0.024461876948597, 0.04736640459648475, 0.003044105956342767], [0.8646757024684015, 0.02378528289120868, 0.024461876948597, 0.0014900706300272366, 0.018624367199341813], [0.8316208863956164, 0.09641024652992108, 0.03339617368218486, 0.029489811659947476, 0.00016305483105120977], [0.9960218006844617, 0.029264203178078062, 0.03825430498343327, 0.0015125011341089879, 0.026286359557264674], [0.9933578400004416, 0.013547245627720236, 0.04529751412307989, 0.00015364570864830236, 0.027545496583618444], [0.9852118975329556, 0.02872673230460244, 0.01959002194754605, 0.0006596952788550537, 0.026294872406566888], [0.9763104921958023, 0.011207372817032168, 0.030598152555099983, 0.0009141266621551837, 0.08047204787400752], [0.9644196521354916, 0.01533487983682318, 0.1252857779873312, 0.002168664134680625, 0.01160486573748071], [0.9723470061302566, 0.01548117582047107, 0.1254593403041092, 0.0022148107642644263, 0.02872835877449588], [0.7602204626859265, 0.01997528723502921, 0.020201945916400496, 0.0014192015891997096, 0.02872835877449588], [0.7523819025662217, 0.0165863237768476, 0.020018848199100478, 0.0013730549596149215, 0.02437389387321626], [0.7442958778792671, 0.022911973637226073, 0.006613534919061449, 0.015531900989952552, 0.017116775150936646], [0.7305354231944576, 0.0028956801264250417, 0.008634944810275285, 0.0014900706300272366, 0.0063598653172922785], [0.7214939774373204, 0.019828991251381323, 0.01949512065302973, 0.0013730549596149215, 0.0243368008346774], [0.7005275604170451, 0.01946826089479608, 0.008456776217069945, 0.015762256449721318, 0.02758283881546567], [0.709899789580982, 0.03328840691227904, 0.02734059535136571, 0.0019956041799319042, 0.00034915205183769227], [0.6956475741742363, 0.0015443195997567887, 0.027196459257724515, 0.0014708544202336078, 0.0063598653172922785], [0.7787205956467206, 0.014511955166900086, 0.030180068526980165, 0.0019540740688976585, 0.0004253142999770358], [0.8030902838466418, 0.01475071881851197, 0.02934657420736624, 0.013686947709482101, 0.0007092481700348846], [0.812246498806416, 0.01734746180092255, 0.02965623247662357, 0.013984133222609182, 0.014329987977367918], [0.7929503485485216, 0.018732423720126845, 0.01949587469948485, 0.0013730549596149215, 0.024335696993339886], [0.8158751419928397, 0.02206274725942363, 0.006902603271450081, 0.003890465677926329, 0.029236373001350922], [0.8353567595398419, 0.0031052149023117065, 0.005664755116678339, 0.028545409864396687, 0.047649283196922146], [0.7898831028698134, 0.017199699997979028, 0.029339112491524662, 0.01399269190166929, 0.08206434863934715], [0.8757176475071791, 0.02374851443560743, 0.015600223577956828, 0.000196424318312052, 0.027007230238045264], [0.8639111894510526, 0.01898352514228443, 0.030351272546387264, 0.035791544173671655, 1.2359749036356548e-06], [0.9254861199841672, 0.0024068478830942507, 0.00023124289611291954, 0.004830315579228346, 8.248644763271176e-05], [0.9402476816879777, 0.0053079272278185935, 0.00020955883325332256, 0.0, 0.0050616954193308085], [0.8875925928596342, 0.023887892373182326, 0.000644839144663358, 1.621402382950241e-05, 7.360218431865327e-06], [0.8959666827406428, 0.02419167324571235, 0.00044323080624089975, 0.0, 0.018424280365089363], [0.9174166926445824, 0.02952181665943219, 0.0002449389995199847, 0.0, 0.000578348222481487], [0.9123714688981233, 0.02290753088178637, 0.0013418132166173567, 0.0011004514286138164, 0.0010887948137225986], [0.9079323644243912, 0.06099090910013337, 0.027541251120760193, 0.0, 0.008504300010595945], [0.8870339032808995, 0.014157355457811186, 0.0002711938210992384, 0.031169588482602775, 0.10554090734290883], [0.9994799033395364, 0.03980817492975728, 0.029041696006290578, 0.0, 0.007046172276911554], [0.9730433237153167, 0.028934559756927027, 0.0010688024929367515, 0.0, 0.00032304375415960094], [0.9850183995830539, 0.01631783021674964, 0.0032820628912829486, 0.00047305871046084873, 0.000580887253713463], [0.9608446830828041, 0.013880889338024165, 0.002102079927742693, 0.000448932645223412, 0.0005634026807073318], [0.9659367723487589, 0.01913072907192947, 0.015600223577956828, 0.000196424318312052, 0.028061990959896414], [0.9503871868701272, 0.016372398555031496, 0.001678800544036796, 0.000448932645223412, 0.05859594809499169], [0.8165768113042018, 0.03980817492975728, 0.029041696006290578, 0.0, 0.007046172276911554], [0.8508774841929497, 0.01486631404726015, 0.0008343767147918138, 0.00030038404090468665, 0.0], [0.8420631575280524, 0.01576493571833673, 0.0032890566705722985, 0.0, 0.000580887253713463], [0.8342905233702608, 0.01449501277740745, 7.49499576276694e-06, 0.005014832823754662, 0.0], [0.8275640936173733, 0.028953916289862394, 0.0007388616664256282, 0.00017140524428025522, 0.0011814001691221783], [0.7903432421566619, 0.015147985204217417, 0.015021215037351227, 0.0, 0.00012806268341677827], [0.7783466454270799, 0.013631930398330376, 0.0037146180078551872, 0.0004527721285426285, 0.0], [0.7820565504261825, 0.016258862101771045, 0.0005307632241918448, 0.0004527721285426285, 0.016555532113464434], [0.8042366598055302, 0.020715476949480085, 0.0, 0.0, 0.0], [0.7970019672447036, 0.013631930398330376, 0.0005301403774974787, 0.0004527721285426285, 0.005084663767733799], [0.7430023162746893, 0.009168586150552998, 0.00023124289611291954, 0.0, 7.476528456135102e-05], [0.7573076665804469, 0.0025992976809723796, 0.0, 1.1255514308528945e-05, 0.0], [0.7695980447680124, 0.0013115756790520391, 0.01071276255739494, 0.0, 0.006505271281053313], [0.7319152247831624, 0.006734966445745913, 0.005657914030861043, 0.0004720773208352798, 0.02157436151842441], [0.7543451403386482, 0.00928710409811546, 0.00023124289611291954, 0.0, 0.028570968757817693], [0.7029324163249588, 0.0020445376428634594, 0.0001118544019027712, 0.0001112052254334285, 0.0], [0.7223911755430976, 0.004416105562803363, 0.003360172274414999, 0.0, 4.8205658876512326e-05], [0.8897664503844501, 0.02895615786795095, 0.024374676014010513, 0.014204204775622719, 0.023384904906135484], [0.9104594536430116, 0.027772850646846446, 0.03062558423185249, 0.03361579675236451, 0.025417120035772497], [0.8536792514343212, 0.017667827643420907, 0.024399061583155336, 0.014815191484666574, 0.016246448980282373], [0.846269599201396, 0.014432829905616062, 0.029253511482522428, 0.03041349063010397, 0.028125114365329367], [0.8663067828856263, 0.0033770530935749304, 0.03853002966339069, 0.014863412664767539, 0.027182933457772708], [0.8649740573560613, 0.017658821841857367, 0.03853002966339069, 0.014863412664767539, 0.02558207845273318], [0.876979719922928, 0.014432829905616062, 0.0028284448809538995, 0.014863412664767539, 0.027149147366632324], [0.8973893480201974, 7.864725539609256e-05, 0.032102604414199556, 0.022577579084378064, 0.003160400112632477], [0.8854304398054555, 0.025768885170675562, 0.006932299475991744, 0.061094251425302386, 0.00188653115802076], [0.9213392466094878, 4.574704146890628e-05, 0.029851700398945705, 0.06041057675331768, 0.0246805080817782], [1.0, 0.0, 0.02383304571047861, 0.03802448387810081, 0.025577645851687973], [0.9862910656284727, 0.0, 0.02383304571047861, 0.03802448387810081, 0.024332808566842123], [0.9944881355913454, 0.002016888521984214, 0.006348989184534595, 0.015382886341508984, 0.00922503718310428], [0.9430140678838652, 0.00014216955641526384, 0.024374676014010513, 0.0050810583088999545, 0.002795117513997719], [0.9498355019928809, 0.00015215468512726205, 0.04339714299651255, 0.001886357773564478, 0.0003770028820846774], [0.928178724993786, 0.007337419817823249, 0.03484986219365946, 0.011224332147922508, 0.025362337366928923], [0.9162809995097028, 0.027704484518172902, 0.03062558423185249, 0.007711888432028469, 0.025417120035772497], [0.9670531604188518, 6.728401670746411e-05, 0.016922615293653583, 0.0020546354222399504, 0.05096771901339613], [0.9585179840306621, 0.01130162115093494, 0.014388265574011069, 0.0020546354222399504, 0.045507959521568234], [0.7021946669673544, 0.0, 0.02383304571047861, 0.03790951471694139, 0.02574159200562539], [0.7124926785637483, 0.0, 0.02383304571047861, 0.03385195994922481, 0.05096771901339613], [0.7286749560084727, 0.02333399553568004, 0.006816906678987713, 0.024075231108801914, 0.0517317149410288], [0.7615134931858113, 0.016099040598093826, 0.03445629308910707, 0.033111388865088645, 0.0193961036142199], [0.7713832551913332, 0.015188499476527749, 0.02540002516364693, 0.0307795220934204, 0.018077869853018905], [0.7381575427528143, 0.007337419817823249, 0.035059214040741145, 0.011224332147922508, 0.02551309024348292], [0.7510084350587912, 0.0008467039725248704, 0.02383304571047861, 0.0006101408553170345, 0.05096771901339613], [0.7194708382212326, 0.0009127560424288539, 0.007103086503044559, 0.061078993095270456, 0.0002707808945420151], [0.8396218328918306, 0.02895615786795095, 0.024374676014010513, 0.022112099544225848, 0.06320695283084128], [0.7811740959715174, 0.032244269634026566, 0.006848660674145432, 0.008947834237082355, 0.004529132519883098], [0.8089921191440629, 0.017667827643420907, 0.024990025638670452, 0.03714672013628212, 0.016952138561190176], [0.8147016375852704, 0.015554620147526685, 0.02540002516364693, 0.0307795220934204, 0.018077869853018905], [0.7943873529693286, 0.0085858753769349, 0.0064840427895671605, 0.030993844985720977, 0.018553449655488864], [0.7920837802682039, 0.008370584201368964, 0.025931270393646406, 0.030986204976122228, 0.04338600692230043], [0.8232952092872291, 0.0019731559318167235, 0.024540253269397377, 0.03802448387810081, 0.05092405840758479], [0.7502543432280927, 0.08807036887409725, 0.02529470739833222, 0.028827289890119064, 0.006536523234662685], [0.9803004200633514, 0.0007490253604036934, 0.05411118816965124, 0.0934432337846889, 0.0014012199824047049], [0.9811359394568807, 0.0003213509218310817, 0.0292207915177664, 0.0934432337846889, 0.02474381174232593], [0.8584651403096262, 0.008778461445146695, 0.0239183485647914, 0.017923303623158193, 0.028765061918157277], [0.8700356854006308, 0.00019075885529288737, 0.0051999174251210365, 0.012640594355500516, 0.0002062700753821898], [0.8817891792789608, 0.00019075885529288737, 0.00559332326584638, 0.012665800128275683, 0.00020642019453509937], [0.8878204851660351, 0.0019415191174844137, 0.006316381642010319, 0.01849897463765953, 0.010656320491250777], [0.8779205023885788, 0.04750479971130729, 0.010240716138389666, 0.0008421612188045991, 0.00012950184009345896], [0.897195008899788, 0.0, 0.05818220762012605, 0.005350692016109222, 0.0001108346389748307], [0.8188992368502148, 0.015661982080140295, 0.015254105339423939, 0.013636884586072155, 0.01592967154958222], [0.834894154369404, 0.014530294225230878, 0.026755107279452368, 0.004239333148319695, 0.0001924239125502391], [0.8456042429748627, 0.008189095130529275, 0.0011825901069985184, 0.008733983428663765, 0.0027662908599258747], [0.8510574655042401, 2.6125607213147993e-06, 0.016251482079570723, 0.00428690917968352, 0.00012950184009345896], [0.9122597198410706, 0.06255768413403309, 0.008008978158983087, 0.0416181174672365, 2.3170884085048533e-06], [0.9351006802708491, 0.00113874243524743, 0.010239252729470516, 0.0008421612188045991, 0.00012950184009345896], [0.9202055412018489, 0.00019075885529288737, 0.004745301012774989, 0.012670083718621532, 0.010656320491250777], [0.9318101497996997, 0.03832057633840316, 0.03204972706348207, 0.013826584909903671, 0.005854880625158975], [0.9639682135253522, 0.051608149564622924, 0.026029291395109587, 0.00428690917968352, 0.00012950184009345896], [0.98291630064009, 0.00010255946005532056, 0.02031917653552933, 0.012613800918332037, 0.0023725147964408933], [0.7550661845755631, 9.912218838139934e-05, 0.019823654434910312, 0.01399382519640057, 0.028682427021635024], [0.7872470468502766, 0.00034207126742488974, 0.013739078791251746, 0.013649360695443764, 0.00019592492890880067], [0.7779555899091736, 0.02072742736187951, 0.004022768333472095, 0.022070064032177206, 0.009872085920080487], [0.742248592050745, 0.023160800557616407, 0.03162118533481486, 0.040080238662191646, 0.010044850230822928], [0.8083753809936667, 5.617370232388142e-05, 0.03803895214434238, 0.028127627839909946, 0.04704287166337952], [0.769405980498092, 0.000478680108816589, 0.0284375905585684, 0.005691110365799171, 0.07897415871537208], [0.8020357695521863, 0.0003430692477274974, 0.027823449662871428, 0.07614044351811856, 9.80125684598189e-05], [0.8318975876706415, 0.0, 0.01359840753866845, 0.0900722911795894, 0.0], [0.9999141972661117, 0.0, 0.03670199597917801, 0.08684088849510528, 0.0], [0.9609679608724963, 0.01652840588876582, 0.019867231702984284, 0.07898027560186165, 0.009833271567380175], [0.9729448187103144, 0.0, 0.019940336730247952, 0.07382610320446117, 5.585007444481414e-05], [0.8765576721303809, 0.005542985765493122, 0.029646029153010654, 0.0, 0.0], [0.8677128744274263, 0.005542985765493122, 0.029646029153010654, 0.00010736945818403345, 0.025762991024669196], [0.8579061129238146, 0.017416492112879153, 0.029773277227702878, 0.0, 0.0], [0.8515638570726921, 0.03049037066558897, 0.025047323292797394, 0.0017254785303254423, 0.0], [0.9138144183320263, 0.006407562519429552, 0.0493096445945744, 0.05399960681030026, 0.0006140533515250311], [0.9060157083307815, 0.006407562519429552, 0.04819424540411951, 0.055564542281512926, 2.5320816672165503e-05], [0.79858415117955, 0.005539450324084715, 0.041335013013411026, 4.2938072520946525e-06, 0.0], [0.8024606150882703, 0.01759585086393152, 0.029480763024942864, 1.3689313643810356e-06, 0.00014133447408351584], [0.8148917854043615, 0.013273940561994303, 0.0030763320995305125, 0.014158313975280364, 0.019306950868651362], [0.8309809870575607, 0.0487465231514145, 0.023193869296992624, 0.015577610413659604, 0.0005340689767152995], [0.8392005023037611, 0.03909373834700397, 0.02311379535531982, 0.014671560166519465, 0.0005071715065656568], [0.8239103747166171, 0.02129545669651934, 0.02796935812950628, 0.018977883216972836, 0.0], [0.8463605952676039, 0.004194312886414638, 0.0597413357894528, 0.00010722584833331545, 0.019941644784740087], [0.9935835916952107, 0.0037935250848075072, 0.023536919589954394, 0.020235479512190138, 0.012945774114863147], [0.9661400077840553, 0.017990658702295305, 0.010741792720670863, 0.016761108755732425, 0.0001516519414259728], [0.9739297974079243, 0.017990658702295305, 0.010741792720670863, 0.01336687702805274, 0.0001516519414259728], [0.9919507089592408, 0.013332052694964833, 0.01054324385439507, 0.0001920905040323457, 0.0003702122791154885], [0.953896324610268, 0.042454353643359664, 0.017662139466052267, 0.0012159862292763952, 0.032009215093209684], [0.9235253401683376, 0.005704940015184807, 0.008227073968317324, 0.00037518703940916335, 1.073108961560367e-06], [0.9384607175484396, 0.005704750760885108, 0.008405097454195556, 0.014434618060686768, 3.2511166577778305e-05], [0.9165573189261491, 0.002574684124498093, 0.017662139466052267, 0.0012159862292763952, 0.032009215093209684], [0.9841622792882075, 0.0030376513754135307, 0.08379762942805188, 6.045498519118314e-06, 0.0]], "centroid": [0.8803743064616476, 0.024447368661268856, 0.029945526103853336, 0.025221836691691805, 0.022818526519347418]}, "0-1": {"solutions": [[1.471309361224829e-07, 0.9935344642442533, 0.9986560487592907, 0.9802588089590515, 0.994784020231751], [0.01737668782164392, 0.9999998435735871, 0.9998939804927025, 0.9998535988250217, 1.0], [0.04012747588827276, 1.0, 0.9931900687199475, 0.9807645947084181, 0.994715989708641], [0.06099332870806723, 0.9999876215498994, 0.9998894428343293, 0.9940487294661413, 0.9999999714972727], [0.07885775906539474, 1.0, 1.0, 0.9971076856497271, 1.0], [0.11255949667838966, 1.0, 1.0, 0.9988788051801494, 1.0], [0.10154552785999799, 1.0, 1.0, 0.9934572752514172, 1.0], [0.09196997631150078, 1.0, 1.0, 0.9648977859958212, 1.0], [0.22718400459572302, 1.0, 0.9892260023567546, 0.9987637749633139, 1.0], [0.21215064742007517, 1.0, 1.0, 0.9948690521353231, 1.0], [0.2510102205970469, 0.9996525488911804, 0.9998891944420405, 0.9965439221523053, 0.999999695242804], [0.26155020218423025, 1.0, 0.9889420270133809, 0.9704989918194992, 0.9997961484684939], [0.2739612634439042, 1.0, 0.9889420270133809, 0.9704989918194992, 0.9997961213859246], [0.2823862198152317, 0.9996525488911804, 0.9570763990302441, 0.9965439221523053, 0.9581523438373707], [0.19428605405088845, 1.0, 0.9999880688857592, 0.9974246814091242, 1.0], [0.18046844651586286, 1.0, 0.99789857938535, 0.9935038164505053, 0.9996392062359993], [0.15142341059061426, 1.0, 0.9977514757117976, 0.9982883167346085, 0.9999999717679892], [0.13952480435638334, 0.9999575464949685, 0.9893206219301702, 0.9918508464991266, 0.9999968144025593], [0.16838428628887211, 1.0, 0.9990865431992796, 0.9542128398018312, 1.0], [0.1497768399643703, 0.9999717650751272, 0.9950140865759377, 0.9880140231564836, 0.9972195428069536], [0.15520543013926014, 0.9975169041222036, 0.9989365964110603, 0.9932855132508704, 0.9991860147936982], [0.14172844059326106, 0.9995448402738875, 0.9946515746201706, 0.9933563003280467, 0.9997742339317574], [0.12999112572998306, 0.999944153160399, 0.9946515746201706, 0.9959889722378753, 0.9999169081181581], [0.16495376381493604, 0.9999740984280688, 0.9741358287381652, 0.9924889065455262, 0.9995178955706177], [0.1976169642520511, 0.9529721884428194, 0.9832410960745408, 0.9933563003280467, 0.9953915241496422], [0.18783822356416885, 0.9760643752659394, 0.9579576760029282, 0.9941766864166566, 0.965969592768265], [0.18961863233795523, 0.9985409760362892, 0.9925627982005424, 0.991385502463727, 0.965969592768265], [0.11262114167419268, 0.9975761517294096, 0.994082697517796, 0.9946937565787193, 0.9762671429682191], [0.10021779265106535, 0.991249742377229, 0.9996243954950799, 0.9932872194578244, 0.9459269666742101], [0.08625282236066592, 0.9779023031938766, 0.9993190653884881, 0.99948725378238, 0.9424347924531247], [0.13518743060039978, 0.99993329667746, 0.9935470624406987, 0.9933535008017285, 0.9265979248972301], [0.1750607944773009, 0.9952334413363885, 0.9946336262001119, 0.9426229142961459, 0.9984500711694085], [0.21291099071616054, 0.9999740066888388, 0.9771165393583331, 0.9252936040770781, 0.9987397375501721], [0.1100191018140621, 0.963580095503254, 0.9949718007607674, 0.9352101833720938, 0.9973274254222871], [0.07820765448837919, 0.9996202407181615, 0.9947237094618119, 0.9352499543923156, 0.9972042254094109], [0.04908862501283681, 0.9993807782862214, 0.9954413030901302, 0.9790481716446708, 0.9974610948160233], [0.06466183624157637, 0.9981264456943201, 0.9999139756338109, 0.9790481716446708, 0.9974610948160233], [0.06926070232821499, 0.9981264456943201, 0.9990333935475348, 0.9790481716446708, 0.9974610948160233], [0.024988778033122105, 0.9783313998311438, 0.9934945752671738, 0.9911907976580427, 0.9907837365348602], [0.014739971249693451, 0.994223411279834, 0.9933565727218217, 0.9904314069033135, 0.9999795007461626], [0.034689734429648206, 0.9993807782862214, 0.9959040825494958, 0.9899424555522437, 0.998277027618743], [0.0400646911824897, 0.9970383626409965, 0.9825597163099119, 0.9997144350382947, 0.9995143272524482], [0.042478570785310754, 0.975989916775244, 0.9632400654858805, 0.9709542477643786, 0.9974610948160233], [0.0030297255681172516, 0.9796873304941289, 0.9861785216548615, 0.9950613339959855, 0.9495477152524491], [0.004297083813008223, 0.9796873304941289, 0.9855122509862686, 0.993069511692875, 0.9495477152524491], [6.582732328028445e-08, 0.9899759772224721, 0.9999811100341687, 0.9979157072103156, 0.9522796087267531], [0.030030486946373863, 0.9952334413363885, 0.9949941625923164, 0.9499905646921826, 0.9577490417768773], [0.021051992095746534, 0.9782746465764757, 0.9996243954950799, 0.9639384102028271, 0.9469749506296696], [0.00746484814815615, 0.9979990328825251, 0.9992739829264657, 0.9244594002995966, 0.9988220994030135], [0.01258651626049092, 0.9565249467353372, 0.9970612312932181, 0.9412577471072303, 0.9969620307369161], [0.018287261147156522, 0.9975169041222036, 0.9253319074578576, 0.9938667249296894, 0.9602641995228308], [1.2301902832690868e-08, 0.9597154010399611, 0.9432254980780233, 0.9241800251596165, 0.9966043013059317], [0.09601679760738457, 0.9960454205422183, 1.0, 0.9762574753110584, 1.0], [0.1206159743251912, 0.999987124384418, 1.0, 0.999768577398859, 0.9999975787509623], [0.06791179101360006, 0.9999597881044373, 0.9968518920055247, 0.9889647063627554, 0.9945932332492926], [0.08027928858089328, 1.0, 1.0, 0.962373685290059, 0.9890483405615674], [0.13471069052925994, 0.9925403327097561, 0.9885033213003339, 0.9916716954198864, 0.9931913481916709], [0.15278651249484126, 0.9925403327097561, 0.98745318607943, 0.9922583072456269, 0.9931913481916709], [0.17581642552044222, 0.9998173637767325, 0.9980271559961377, 0.9889398525212545, 0.9995694995419174], [0.17101507397800544, 0.9998650811521015, 0.9980271559961377, 0.9889398525212545, 0.9995694995419174], [0.15838703515476166, 0.9976894936084982, 0.9998403259684644, 0.9779947310124322, 0.9897079419431069], [2.489332931411223e-13, 0.9938818680544, 0.9999603777377385, 0.9521660317773923, 0.9916479895188082], [0.04318724469518641, 0.9997148353919099, 0.9996033084840571, 0.9994308333019701, 0.9999712554912359], [0.0232319856181622, 1.0, 1.0, 0.9883062877497195, 0.9999822027648817], [0.017675703870182302, 0.9999715687046654, 0.976108562298655, 0.9774881236228526, 0.9989808081331324], [0.1043605868117453, 0.9937986001456803, 0.9955708460660636, 0.9937382538798546, 0.9975573132823349], [0.10332529343913584, 0.9955679702291608, 0.9933535618735743, 0.9990455505662952, 0.9891641345501399], [0.11939271914576577, 0.9981887250436058, 0.9868131675161704, 0.9652003571230109, 0.9981894929500733], [0.09258129699180617, 0.9961238259784789, 0.9952095324949397, 0.9852673757076231, 0.9706029378220669], [0.08008699125006496, 0.996131022063698, 0.9952072865003825, 0.9880007761170312, 0.9759744218454467], [0.128992262457799, 0.9986954735393495, 0.9970976271348675, 0.9442707626606579, 0.992192769478998], [0.17338484376598573, 0.9344313986055482, 0.9954209466426914, 0.9958227929879921, 0.9979697448269325], [0.1418391983732603, 0.9471490187450983, 0.9953114067551582, 0.9892828202933414, 0.9971369651185655], [0.1555624869335983, 0.9981887250436058, 0.9956086976405563, 0.989218335261709, 0.9971369651185655], [0.18413775076758232, 0.9783845553930811, 0.9938416337322408, 0.9729635316626537, 0.9992534842259775], [0.19421610330580155, 0.993792658347101, 0.9949476609871185, 0.9749511572391278, 0.9996690572024073], [0.11790975255182518, 0.9672899213304177, 0.9309013881589984, 0.9792069561274918, 0.9797132646665547], [0.09818841075629613, 0.993792658347101, 0.9158269123586834, 0.975210368625337, 0.9925806673909779], [0.1514076651771906, 0.9998945568088637, 0.8909733947478266, 0.9818704947324959, 0.9927051695716654], [0.08707333758801772, 0.9390801819822491, 0.9460352951338535, 0.9963672938145319, 0.945445329819549], [9.270050479732832e-12, 0.9577100571737105, 0.9519097211381407, 0.9513294729872879, 0.9994245250532148], [0.0028538939124165275, 0.911299504852098, 0.9572798368358262, 0.9669156387337603, 0.9696114338262689], [0.07493982243380665, 0.9663929040924346, 0.9970976271348675, 0.9983493712221764, 0.9919088461054545], [0.050695854494152925, 0.9624005276283573, 0.9860059783690148, 0.9792295003227699, 0.999460902313554], [0.06260120281976649, 0.9990839184233011, 0.9935846449769177, 0.9643134927895811, 0.9896142500934236], [0.006048324511384817, 0.9970330752967652, 0.9755312203262594, 0.9851416596256548, 0.9866372831253227], [0.011442801463347418, 0.999928603467439, 0.9953382835384815, 0.9968416804193807, 0.9993986704117579], [0.040029040107976754, 0.9982896235822047, 0.9970976271348675, 0.9983399177609389, 0.9917417564120499], [0.018445645998860144, 0.9624005276283573, 0.9877329285862009, 0.9792295003227699, 0.9748478949875441], [0.044858510731794865, 0.963794277699485, 0.9878985629312629, 0.9729441441707802, 0.9654925353346163], [0.009361778827218448, 0.9623825616567444, 0.9966780281640991, 0.9789707104126901, 0.9999942808111398], [0.013353460881374773, 0.9430493369415383, 0.9952735551806655, 0.9938027389115426, 0.9975573132823349], [0.03336515824026459, 0.9982036401507126, 0.9480730505111803, 0.9975660533237055, 0.9943624984079285], [0.0030718582136031367, 0.9782997068652038, 0.9451659879192232, 0.9994866016833166, 0.9641450141327501], [0.0003830988520006366, 0.9802918948395315, 0.9171176436163339, 0.9988358350548852, 0.9865135178895622], [0.02926245584868528, 0.9843218532656743, 0.9466970468194689, 0.9100448463482833, 0.9979578344454896], [0.0014112402802156782, 0.9984107266842921, 0.9453704297013068, 0.9010235341488019, 0.9864497118620834], [0.05790325820268044, 0.9662342684195788, 0.9956831413416567, 0.9191764160544045, 0.9692068626396629], [0.09432457794291094, 0.9882616858313847, 0.985500788883678, 0.9987696024566054, 0.9885611469707959], [0.07721185067883052, 0.9881580987120758, 0.9919597019057292, 0.9796240042370031, 0.9964894954248602], [0.11495531055387234, 0.9925185423165326, 0.9918651706227143, 0.9994796252147076, 0.9897210426014365], [0.12728753910065232, 0.9467649975496721, 0.9947974238140568, 0.9994799058944651, 0.9994409309449503], [0.0, 0.9908549812944297, 0.999967541861691, 0.9861155027952557, 0.9890938427494642], [0.02587331112604757, 0.9980888906160115, 1.0, 1.0, 0.9701399625252525], [0.05551276393517074, 0.9907702277341316, 0.9869587522632329, 0.9863131902925537, 0.9928892309251869], [0.049403210573487136, 0.9908549812944297, 0.9999018452078261, 0.9861155027952557, 0.9890938427494642], [0.22684118015736918, 0.9905927407801582, 0.999198044283485, 0.999840547890577, 0.9774715179339304], [0.22573051498751678, 0.9896472189461971, 0.9926393666854917, 0.9999539108761929, 0.9929597361921022], [0.20797046410028786, 0.9860194688488714, 1.0, 1.0, 0.9692024897599676], [0.19966857775179675, 0.9860194688488714, 1.0, 0.9789805122805542, 0.9616840611719345], [0.1515107317413268, 0.9904456516545764, 0.9659118486091939, 0.9997140002539773, 0.9906683807818173], [0.18160179096881168, 0.9860194688488714, 0.9996243086768307, 0.9789805122805542, 0.9956491483935683], [0.1735163798265575, 0.992261468096562, 0.9866012463563139, 0.9901849498624987, 0.9971974709676868], [0.16233364414059315, 0.9937375016443918, 0.9942095757493898, 0.9940183162260742, 0.9781587867650433], [0.09482748027493651, 0.9988401565888398, 0.9926102650225253, 0.9817298367372738, 0.9860616655520705], [0.12173082881165093, 0.9978822639126663, 0.9642985631018685, 0.9923827874143067, 0.9846557219780377], [0.0883975384447113, 0.9969627555658024, 0.986164096687621, 0.9925727837032459, 0.9595830718694125], [0.10904683941657667, 0.9845214821366732, 0.9978208276897219, 0.9924357407632521, 0.9494663215961684], [0.04049010776688117, 0.9880006273475588, 0.9865632712764918, 0.9834332667927654, 0.9859874889153447], [0.05634809115659173, 0.9948069194276825, 0.9773045956465539, 0.9873760258002023, 0.9893177741446298], [0.0629642753230028, 0.9947592271981442, 0.992195744943889, 0.9915148183401601, 0.9864377349197258], [0.0825870783095278, 0.9969627555658024, 0.986164096687621, 0.9279878858403565, 0.9595830718694125], [0.07535987099085906, 0.9974435437615025, 0.9744277567358551, 0.9265542071021542, 0.9841584639168934], [3.04708542661994e-11, 0.9965825961509297, 0.9746030231130965, 0.9914595876797663, 0.9922002937696154], [3.70475227359497e-10, 0.9987646191739824, 0.9746030231130965, 0.9914595876797663, 0.9922482484123956], [0.003219505370097242, 0.9907834872987135, 0.9899835201210576, 0.9938623145906884, 0.9864179579166552], [0.012599317480121719, 0.9987687610996867, 0.9896034309129769, 0.940362525660132, 0.9860644945928928], [0.026484499328597255, 0.9879952750244236, 0.9974712242775636, 0.9613844224091284, 0.9886933638309449], [0.006600859235927391, 0.9931384531742309, 0.9929791027151609, 0.9722751598338524, 0.9713635282633428], [0.0013244684690235202, 0.9959725319003981, 0.9615553843347299, 0.941938806894869, 0.9994469748296917], [0.021133194990992504, 0.9342251464543223, 0.9953729563543106, 0.940070497609642, 0.9822941226501504], [0.02612089832396971, 0.9331361739188795, 0.9960223692718353, 0.9789719608109692, 0.9843379922384476], [0.05134345157903308, 0.998001390912727, 0.8518427261042236, 0.9914595876797663, 0.9922482484123956], [0.0357243793654794, 0.9791202940310306, 0.8959707754188407, 0.9278351526395461, 0.9900477730218696], [0.034835965071896846, 0.9986609705068119, 0.8959707754188407, 0.9278351526395461, 0.9897447774438476], [0.11898664554573163, 0.9791202940310306, 0.8959707754188407, 0.9923827874143067, 0.9935193221723203], [0.1470708034678806, 0.9890621419002489, 0.9999325022084524, 0.9097719424802623, 0.9888094014577188], [0.22141473345221024, 0.966387811699365, 0.975617029347426, 0.9215053759211298, 0.9986480491008687], [0.19823016717770114, 0.9987687610996867, 0.9917943713033721, 0.913702856742582, 0.9942397368006446], [0.16235851102223559, 0.9996359413762472, 0.953992620000016, 0.9952145792482802, 0.9890588226586652], [0.1563370977441345, 0.9965996498037121, 0.96702660445517, 0.9802621243478354, 0.9888094014577188], [0.17957551100105584, 0.9987687610996867, 0.9917943713033721, 0.9640238674311397, 0.9942397368006446], [0.20945231885073, 0.9868054440639437, 0.9990817825452493, 0.9994321894587285, 0.9841363848122666], [0.18685248462300658, 0.9978514369040303, 0.9949801124353936, 0.9965985276657102, 0.9937511182287093], [0.2790978513247422, 0.99615408509683, 0.9916962256891794, 0.9987387297215072, 0.9999045377892468], [0.2670029236975764, 0.9763880379668471, 0.9947752352159543, 0.9829742429603014, 0.9919939291111683], [0.26279960364658117, 0.9877106022034703, 0.9926169581604788, 0.9908385791190497, 0.9996625798623007], [0.24690052159275921, 0.9887794796666148, 0.9974712242775636, 0.9613844224091284, 0.9891140495995616], [0.238533092306645, 0.9348150697717681, 0.9925157735856777, 0.9908385791190497, 0.9997024073193778], [0.2585079970814876, 0.9960930654874165, 0.9056152666074668, 0.9856128213312576, 0.9960074358844365], [0.12862581609653387, 0.9724850927589073, 0.9869542587617492, 0.9968370196342768, 0.9996658852944886], [0.10863734852907722, 0.9616093176901658, 0.9911327122524423, 0.9789058505916463, 1.0], [0.05246928944634183, 0.9882568048216401, 0.9999599490016322, 1.0, 0.99999402739437], [0.06438782814205646, 0.9961442551441612, 0.9998904077549882, 1.0, 0.9999891707398925], [0.08301128843092435, 0.9944539076050946, 0.9937898451398186, 0.9999236725439404, 0.999991707258723], [0.09295425695276749, 0.9972024654133598, 0.9959172532872684, 0.9998698863281947, 0.9999741448829711], [3.341903617444346e-12, 0.9708839874722167, 0.9997983560108661, 0.9988906903707429, 0.9754745087376556], [0.028449362466988787, 0.9833038380805607, 0.9942754504608019, 1.0, 0.9998340105366801], [0.016558428498731126, 0.9796959196955374, 0.9922861110003776, 0.9999570787823743, 0.9995935563910926], [0.16135828551218898, 0.9724850927589073, 0.9869542587617492, 0.9968127851712245, 0.9996658852944886], [0.15070893266209373, 0.9335682175018729, 0.9913312107033564, 0.9787121782019846, 0.9992529425140276], [0.19180195422793694, 0.9742684017194029, 0.9990044321073032, 1.0, 0.9999533839314902], [0.21041863580352016, 0.9731561844557618, 0.9992793120674588, 0.9999950614337176, 0.9998079750134748], [0.2051316978950079, 0.9724850927589073, 0.9768652113564736, 1.0, 1.0], [0.23002049467437252, 0.9963359855441263, 0.9999918479336118, 0.9990483311110617, 1.0], [0.2214193970157768, 0.998544506706355, 1.0, 1.0, 1.0], [0.0956148820806115, 0.9877140540853515, 0.9973368239537149, 0.9720305224439503, 0.9749042569366164], [0.10274680631321167, 0.9895015590645666, 0.9632535203081611, 0.9977109353788168, 0.9754861244295728], [0.11025573292687593, 0.9724435280940951, 0.9973368239537149, 0.9720305224439503, 0.9656970184349513], [0.07988867461273036, 0.9840213161110808, 0.9906840563071858, 0.9900828388149577, 0.9979175745813677], [0.07268966574327956, 0.9927178865783536, 0.9829673307957149, 0.9925045838526886, 0.9990398333574907], [0.06074025184337628, 0.9892698912731829, 0.9930830326427053, 0.981696456702032, 0.9999087468527073], [0.1233791063605928, 0.961909369945053, 0.9844060681122034, 0.9999908899778599, 0.976487913649146], [0.11790933677078741, 0.9768478661326454, 0.9975308163490274, 0.9998721383775501, 0.9713106002544869], [0.14409985131146819, 0.961351316547452, 0.9980142686860688, 0.9998721383775501, 0.971424221771934], [0.0, 0.9892741426685229, 0.9716280160615166, 0.9988715462883188, 0.9842395814210531], [0.0004013755533058237, 0.9888783463950817, 0.9990169620313688, 0.986623887800069, 0.9881414746493753], [0.007037922784881134, 0.994301388539867, 1.0, 0.9904290294532048, 0.9913411828381158], [0.0011858459827538814, 0.9877485943240641, 0.9989526566534708, 0.9969119316366024, 0.9944912775369139], [0.0037117788640550885, 0.9877454859737468, 0.9989608469257174, 0.9975010377767897, 0.9750767129834013], [0.023297871444243112, 0.9874694452425282, 0.9995302949590577, 0.9860459356349343, 0.9881414746493753], [0.014750397878808441, 0.9883961416491722, 0.9997633767984204, 0.9844019201475229, 0.9887711756857887], [0.0045252522526796485, 0.9757062289902972, 0.9894692865070258, 0.978458916093258, 0.987875288232369], [0.028383109416807606, 0.9512441985381623, 0.9995335592132435, 0.9875209330928126, 0.9896815577904101], [0.04747947031542288, 0.9999900072387612, 0.9542076430444051, 0.9843703854969631, 0.9796358297810098], [0.06704180204010157, 0.9999562427769546, 0.9537523448712014, 0.9843703854969631, 0.9895311707270831], [0.055083821115798126, 0.9742317338288635, 0.9889307243363821, 0.9465129762231089, 0.9888954143361106], [0.04315379155335469, 0.9719084960066353, 0.9565271564995252, 0.9529691179825787, 0.9779744871571776], [0.0377327855198335, 0.9617758478331412, 0.9164847142773191, 0.9628558915800182, 0.9743688893351831], [0.1934033809476459, 0.9866080869614353, 0.9483274187003171, 0.987606805886481, 0.9865774690235817], [0.2004520462480549, 0.9870070706149268, 0.9906840563071858, 0.9864686999379434, 0.9865774690235817], [0.2264394374780624, 0.9775096068012269, 0.9907982322335728, 0.980118393758148, 0.9911145558000484], [0.21631065891185797, 0.961946030077428, 0.992425692642615, 0.9866084457269994, 0.9753276940804136], [0.20937066511622077, 0.9939567135815374, 0.9728744115245889, 0.999871725659982, 0.9984001195340165], [0.1712081574856478, 0.9822494417605495, 0.9999566294189218, 0.9866084457269994, 0.9967288418230325], [0.18246489659684512, 0.9688509503714522, 0.9999566294189218, 0.9904451714552857, 0.9961917736844618], [0.16308937019814748, 0.961909369945053, 0.9646496204302851, 0.9894851553493133, 0.9765107314803397], [0.17745895849121013, 0.9701910635329148, 0.9844060681122034, 0.9996307300738349, 0.9753621013001255], [0.15145134738238417, 0.9892741426685229, 0.9716280160615166, 0.9981946536878681, 0.997401522707862], [0.141807529261912, 0.9843455685040015, 0.9927759286921249, 0.9933152415953606, 0.8810265783745878], [0.12415501077898694, 1.0, 1.0, 0.9996917390711819, 0.9997170611531062], [0.11377059921165977, 0.9982702018364029, 0.9999527124834343, 0.9999999877676967, 0.999997951896421], [0.09465202249414445, 0.9999999791567488, 0.9999831900997542, 1.0, 1.0], [0.0336504676449656, 1.0, 0.999952682204607, 0.9783208806704806, 1.0], [0.017411355750268864, 0.9999976961594984, 1.0, 1.0, 0.9998449095786014], [0.07606044567476955, 0.9999986350379816, 1.0, 1.0, 1.0], [0.06244362515454738, 1.0, 1.0, 1.0, 0.9999328680708237], [0.057778873265588615, 0.9999986350379816, 0.964986558273824, 1.0, 1.0], [4.070654010808299e-12, 0.9534709237096434, 0.9999539049391596, 0.9999999877908026, 0.9999974700150764], [0.11541152735250082, 0.9984773081109191, 0.9925240105778719, 0.9985273169949389, 0.9999527853944212], [0.1285615544755208, 0.9999787166627543, 0.9886405450341593, 0.9998649268180251, 0.9887893922006662], [0.13376170249374278, 0.9931243902296952, 0.994727943827892, 0.9820383917291717, 0.9995970923658029], [0.12047502698386395, 0.9999778805439081, 0.9725322232265913, 0.9827426213004901, 0.9999999975086088], [0.04509013782715976, 0.9929282346943681, 0.9926799925225092, 0.9881805020291984, 0.9925463140604156], [0.06357172028683755, 0.9994934384262689, 0.9854198838025299, 0.999999999426565, 0.9999932622555113], [0.08341998730712172, 0.999999590758157, 0.9978351593241288, 1.0, 1.0], [0.07556341703083308, 0.9999974353161218, 0.9929717126098073, 0.9999111642050077, 0.9999957962550732], [0.07041897987090823, 0.9999994536354496, 0.9929717126098073, 0.9984955501811166, 0.996093888410818], [0.08959236044742458, 1.0, 0.9872590947994144, 0.9999999961468133, 0.9999747692480034], [0.09895407558132968, 0.9923323220581248, 0.9290249884615278, 0.9999885381323771, 0.9887893922006662], [0.1886304891759777, 0.9984773081109191, 0.9925240105778719, 0.9985273169949389, 0.9999527853944212], [0.20878735777397495, 0.9992784670507644, 0.9932404212037471, 1.0, 1.0], [0.21049926737165903, 0.9995524966575119, 0.9869207928368269, 0.9987107471735206, 1.0], [0.1562346826430844, 0.9994968122700214, 0.9951374578426371, 0.9999999971829905, 0.9999950895886628], [0.16501821897915347, 0.9818028327721477, 0.9910412537862088, 1.0, 0.9998718146264587], [0.14389730745378998, 1.0, 0.9666335772032137, 0.9951722407353327, 0.9999993165012386], [0.1742632419767511, 0.9999684529226057, 0.9660926469584634, 1.0, 1.0], [0.18561528697985386, 0.9818028327721477, 0.9595561730220448, 1.0, 0.9858928487293879], [0.0, 1.0, 0.9661487162444283, 1.0, 1.0], [0.020407065248122136, 0.9986189350604741, 0.9802521858492542, 0.9998688087207717, 0.9996692117934033], [0.013308099867344908, 1.0, 0.9766445964071868, 1.0, 1.0], [0.024991873741980752, 1.0, 0.9661413212951381, 1.0, 1.0], [5.719698002304614e-05, 1.0, 0.9868497382617348, 1.0, 1.0], [0.001279003266746584, 0.997039850200331, 0.9840966656894536, 0.9818526449011634, 0.9998716422771617], [0.0028401466518780394, 1.0, 0.9993607630054372, 0.9821347849158296, 0.9998063450179061], [0.009977211705930467, 0.999997068595246, 0.9904482599301564, 1.0, 0.9777379954137565], [0.004781357267478137, 0.997089580510897, 0.9578855764994554, 1.0, 0.977293405672666], [0.0006919416298017738, 0.999997068595246, 0.9661487162444283, 1.0, 0.9774148283793965], [0.01646322508450075, 1.0, 0.9460168536931576, 0.9996649284766279, 1.0], [0.040734532357474484, 1.0, 0.9589622038261424, 1.0, 0.9319811685996949], [0.033354028128991825, 0.8742779486673493, 0.9999138885071819, 0.9996208622540672, 0.9999870362113997], [0.07937026169120825, 1.0, 1.0, 1.0, 1.0], [0.09864790209138952, 1.0, 1.0, 1.0, 1.0], [0.09491867429967776, 1.0, 0.9999835536462899, 0.9993768251090656, 1.0], [0.14471707689095153, 0.9986001588853235, 0.9965008635260901, 0.9967906423027528, 0.9996658390744839], [0.13527614964892434, 0.9998901724363457, 0.9985125409220978, 0.999906294525447, 0.9991325370642096], [0.11731772478226862, 0.9998901724363457, 0.9985413237293395, 0.9999996182860472, 0.9991325370642096], [0.1173555072950066, 1.0, 1.0, 1.0, 1.0], [0.021991090343068787, 1.0, 0.9999703689265028, 0.9993768251090656, 1.0], [0.004808841391125529, 1.0, 0.9999703689265028, 0.9993768251090656, 1.0], [0.06721980868930594, 0.9931312501999332, 0.9919954760654932, 0.9890224254529405, 0.9927556353586636], [0.04347719390991567, 1.0, 1.0, 0.9999983911879221, 0.9997568438766206], [0.04691575800915371, 1.0, 0.9993059519299775, 0.9999779709881131, 0.9997568438766206], [0.19986380349172078, 0.9993882860943887, 0.9997922698185101, 0.9599258219700222, 0.9997077465369902], [0.17756719804024593, 1.0, 0.9999718679177617, 0.9903084930349196, 0.9997418892012315], [3.1432960891666873e-09, 0.994014846552324, 0.892119441486926, 0.9997956511842441, 0.8297382922214316], [4.070654010808299e-12, 0.9873953980622177, 0.9299321247385584, 0.9803443564550365, 0.9343499606278074], [0.09797023273711487, 0.9880537572016527, 0.9850034129331902, 0.9869929228805808, 0.9896304343070094], [0.1047646849969549, 0.9887342273259533, 0.9999961173153088, 0.9908537497233733, 0.9988548248962028], [0.1121588740493329, 0.9890799745753239, 0.9999828149680053, 0.998862265838279, 0.9899432220644508], [0.0834708564423916, 0.9977596636662502, 0.9702224083080887, 0.9914175045965696, 0.9911828484355124], [0.08586073044204034, 0.9994721250366726, 0.9999961173153088, 0.9859011567536236, 0.9823859185955649], [0.11868227206092068, 0.9947697936238695, 0.982796944174807, 0.9887927632972202, 0.9988991450703024], [0.07646985926820185, 0.9714941760661479, 0.999996683677882, 0.9857359978688011, 0.9901812828975307], [0.05667684167140963, 0.9881260140907061, 0.9973792008045704, 0.9916709473139278, 0.9899540186636961], [0.12542982794248375, 0.9949470474387019, 0.9962038664354812, 0.9683218812341724, 0.9990801302024085], [0.14772223735037507, 0.9895569612597466, 0.9971210562537414, 0.9679129387198298, 0.9894855927493683], [0.054842227396818904, 0.9887342273259533, 0.9522625563308694, 0.9908537497233733, 0.9984392942147012], [0.1611276596763395, 0.9597400343525007, 0.9966937637920068, 0.9943774313071295, 0.9827811177003366], [0.16955569256956307, 0.9609591278612922, 0.9966937637920068, 0.9847770694810206, 0.9992489333258691], [2.8613116693060846e-05, 0.9087878048219393, 0.9768588174116547, 0.9911004185256648, 0.9089788965720074], [0.011752197948353471, 0.9076485740452997, 0.9768588174116547, 0.9971485498728612, 0.9262148066899069], [0.001515922471993364, 0.9536379297336499, 0.9993018004640717, 0.986180779172323, 0.957504661904694], [0.03073759441705043, 0.9671862098393146, 0.9931357686918394, 0.9852171427499524, 0.9362957882739947], [0.018278976973374716, 0.9577151910737919, 0.9757334462861379, 0.9911004185256648, 0.9059935852858856], [0.07187462899341263, 0.9647115507884254, 0.9936495848287502, 0.9673862616786044, 0.9063326396825537], [0.008399490686935213, 0.8892084017933051, 1.0, 0.9269216096805634, 0.9827839980246752], [0.0011823821874870633, 0.8890826693813466, 1.0, 0.9270176836015741, 0.9820968704059422], [0.022340934691409964, 0.9122708875415987, 0.9959084457978729, 0.9265061931070137, 0.9941706864674621], [0.06676626841667734, 0.9078899128480473, 0.9999875437047444, 0.9287931997817535, 0.9881996173166105], [0.036769474319877926, 0.9529407863195909, 0.9993275583666726, 0.9735871587835127, 0.9941706864674621], [0.04508478153461093, 0.9384391518116182, 0.999996683677882, 0.9830248417834653, 0.9901812828975307], [0.02577548544764713, 0.9124212449124962, 0.9936749864861273, 0.9885340171490927, 0.9941706864674621], [0.014635026043854193, 0.9849658566356824, 0.9988005347839319, 0.929381229913278, 0.959138489185902], [0.04760858095390319, 0.9873174622111092, 0.9907654993994082, 0.9121295142661294, 0.9888260090079225], [0.20249110836029727, 0.9852097905911544, 0.9993901272158107, 0.9109364861529506, 0.9812483061488413], [0.18109843167131978, 0.9945115742664731, 0.9990806981729946, 0.9136753114365848, 0.9887437591249241], [0.1407663628116554, 0.9536379297336499, 0.9608580172243529, 0.98526975667242, 0.8711650801885429], [0.09548676413572577, 0.9928392999311644, 0.9886217745607939, 0.9959047854828031, 0.9962752003349404], [0.11746160008508252, 0.9938202461415602, 0.998241265571654, 0.971603842089304, 0.9847251102165803], [0.12165456716808382, 0.9915513745889302, 0.9839340894431733, 0.971603842089304, 0.9999912740285714], [0.06141129467625006, 0.9867862784324877, 0.9997194467095754, 0.9877689661230196, 0.9893013489843859], [0.0, 0.991738439690117, 0.9941679084842641, 0.9962740085918808, 0.9929185677659038], [0.0245370380359681, 0.9913796050331377, 0.9939327396656947, 0.9902164917181074, 0.9929185677659038], [0.011521867023194299, 0.9913796050331377, 0.9940993113508066, 0.9902164917181074, 0.9929185677659038], [0.13975603782049234, 0.9934054585190376, 0.9577467036928123, 0.9911775164267493, 0.9999218791793771], [0.15898454224653305, 0.9995237126123789, 0.9854988203610805, 0.9845405953952763, 1.0], [0.18821296936991802, 0.9998182566318159, 0.9791147537248416, 0.9982605486344868, 0.9999919189659731], [0.21771350120793342, 0.9954151424312339, 0.9987293363984344, 0.9866638957650424, 0.9745199713544207], [0.22262502457780198, 0.9929259640870391, 0.9987293363984344, 0.9866638957650424, 0.9745199713544207], [0.20109765608831454, 0.9954151424312339, 0.9987293363984344, 0.9865840100968603, 0.9742074130739672], [0.24123905029262466, 0.916336056625586, 0.9906813659787393, 0.9912908911945697, 1.0], [0.17783185632796134, 0.9281979293372343, 0.999994255411458, 0.9964030665166118, 1.0], [0.1003507338513441, 0.9844847314144813, 0.9999959477392483, 0.9809609021125643, 0.9999022660472209], [0.09927991986270757, 0.9851226464901495, 0.9999999984701523, 0.9833541446531288, 0.9993091527906917], [0.11032587409009009, 0.995874177904305, 0.9908456398469287, 0.9725283882246285, 0.9955200240360487], [0.06943609997829231, 0.9941887576863299, 0.9975039007861216, 0.9854887746046069, 0.9875265203408947], [0.07572405979363281, 0.9955976509495409, 0.9994494383382616, 0.9605561659844682, 0.9881117498313389], [0.07975706015105688, 0.967354818234209, 0.9855787385022184, 0.9882109924270738, 0.9953500591926686], [0.06483315395433145, 0.9630374625702026, 0.9866104971322277, 0.9974776189595697, 0.9904506903283968], [0.13066981259317567, 0.9688872867569553, 0.9968550791924177, 0.9999112592037603, 0.9631151305672504], [0.13858667466939278, 0.9850473867013996, 0.9827207659086848, 0.9983271591714671, 0.9979720899351604], [0.17898621917684165, 0.991084406567357, 0.9994318127597066, 0.9752628028877675, 0.987700534713281], [0.1668001911544862, 0.9929830627922921, 1.0, 0.9771260213040855, 1.0], [0.15808704383421646, 0.9968958327286324, 0.9999996935252362, 0.9833222724911641, 0.9935179817411787], [0.15301170558999405, 0.9680629255257265, 0.9997813372557818, 0.9851790876878519, 0.9986005057818286], [0.14746652163776586, 0.9550221025856429, 0.9594064655930908, 0.9996865081686915, 0.9997316320673186], [0.18864775422550745, 0.9409875439429061, 0.9974850786555687, 0.9999112592037603, 0.9696197261857079], [0.09255219499658823, 0.9881698216294375, 0.9144313439898177, 0.9682955424347172, 0.9987456763260331], [4.942621561598165e-14, 0.9739084134598885, 0.999002048701159, 0.9966385617890111, 0.9537045486267987], [0.009359095144664237, 0.986931792893926, 0.9887806069195447, 0.9783748338099432, 0.9893599163128672], [0.014687745749567604, 0.9679795479734986, 0.985065250500565, 0.9816080561454971, 0.987416382263068], [0.024195147097958274, 0.9856133237105695, 0.9975642104519041, 0.9690314915000151, 0.9999924226033513], [0.022030498408053142, 0.9932000887133088, 0.9999999990564892, 0.9833423816340439, 0.9992664791064514], [0.03345906472348235, 0.9993521936161461, 0.9996411530338237, 0.9809500710851438, 1.0], [0.04053089826104184, 0.9861960799996629, 1.0, 0.9813057186303618, 0.9994082085944593], [0.04713386668854458, 0.9910624644837631, 0.9994373345563785, 0.9757254889228693, 0.9901681909134488], [0.030785824648097135, 0.9768197834520638, 0.9994040055932607, 0.9833541446531288, 0.9884984474826631], [0.016516851662738863, 0.9981507305318231, 0.9998161704069619, 0.9548682553291309, 0.9995127849442716], [0.006294864371254927, 0.9981707397220609, 0.9887806069195447, 0.9999250567245637, 0.9895026760216856], [0.003506095227996109, 0.9458908641409488, 1.0, 0.9829518691910027, 0.9991627686368239], [0.12532545331423858, 0.9419948590947708, 0.9974805586037707, 0.9165615258073984, 0.9999857410564308], [0.08829526950412012, 0.9089505089933434, 0.9974805586037707, 0.9165615258073984, 0.9988447008698284], [0.001356077233023112, 0.973050218171874, 0.9027645185958647, 0.9966385617890111, 0.9841465764815132], [0.08112532613857765, 0.985273219707165, 0.9977096757848818, 0.9882513939966134, 0.9880104949053984], [0.11858294958429311, 1.0, 0.9954560060675439, 1.0, 0.999895185730414], [0.1345131656883418, 0.985274103544486, 0.9977202771732168, 0.9881714014730909, 0.9986185100611716], [0.05926005923235525, 1.0, 0.9800818519902771, 0.999996090281845, 1.0], [0.06818397465470741, 0.9999989625492078, 0.9974756796267635, 0.9992950726193228, 0.9997916614284222], [2.1291020162184093e-17, 0.9999662001001909, 0.9974756796267635, 0.9992957913180663, 0.9997945872888957], [0.00902702123592751, 0.9999664078663772, 0.9974756796267635, 0.9992642444268627, 0.9998618813529707], [0.02966232099012156, 0.9999583890579833, 0.9974756796267635, 0.9999982012216441, 0.9998661562855761], [0.23126172439425868, 1.0, 0.9783185281900207, 0.9998571631430031, 1.0], [0.2088036550494453, 0.960314533592773, 0.9758789784984672, 0.9877172063096803, 0.9999958066722294], [0.20558183252530826, 0.9605195761898785, 0.947968394457348, 0.9879217803716667, 0.9999735165698188], [0.1677723403869187, 0.9999001873500456, 0.9948794230425843, 0.9999684004122523, 0.9999999493519162], [0.15357367389014076, 0.9993855797584245, 0.975004006185917, 0.9999721428038089, 1.0], [0.18568423627546599, 0.9999978871178495, 0.9711439777546195, 0.9999779409596533, 0.9999991465341501], [0.18965018253376328, 0.9999987948319131, 0.9711439777546195, 0.9999779409596533, 1.0], [0.15023140981649086, 0.9605377388097873, 0.9817279437048076, 0.9865210011086812, 0.9969940311297635]], "centroid": [0.09683036424038649, 0.9846300627841068, 0.9856394263848324, 0.9835786778970002, 0.988251425240757]}, "2-1": {"solutions": [[0.8073353474437259, 1.0, 0.967121036685666, 0.9448853971239551, 0.9998017341757323], [0.7870754499596849, 0.999803010620038, 0.99997491129639, 0.9998425402106855, 1.0], [0.7824597625901222, 0.9999990882139344, 0.9999806063540057, 0.9997906296712622, 0.9999999999996214], [0.7666697453832816, 0.9998846885383934, 0.9991431096097239, 0.9979062901505201, 0.9995187916601582], [0.7577472666401255, 1.0, 0.9999609290759264, 0.9994059161055479, 1.0], [0.771926366921502, 0.9999799721541134, 0.9996286415397047, 0.9516548893766221, 0.9993875439346934], [0.7774244351120277, 0.9997855216950402, 1.0, 0.9648977859958212, 1.0], [0.7003326125972069, 1.0, 0.99943023876847, 0.9916484285127682, 1.0], [0.687309155992988, 1.0, 0.9999940235767146, 0.9933742950221833, 1.0], [0.6819813745648363, 1.0, 0.9999341809082369, 0.9896045644719778, 0.999643523492575], [0.6752939777153243, 1.0, 0.9999341809082369, 0.9916394808833839, 0.9999773119991706], [0.6706942738969704, 1.0, 0.9999341809082369, 0.9904863571965286, 0.9907151073785512], [0.716387735841886, 1.0, 0.9998954016096694, 0.9955327569089386, 1.0], [0.719216798878085, 0.9999925586788618, 0.9947017768388198, 0.99827041485587, 0.9993875439346934], [0.726936370961233, 0.9999998966133561, 0.9998365088011484, 0.9994025074756867, 1.0], [0.7375728591605643, 1.0, 1.0, 0.9907128961429743, 1.0], [0.7444079112087459, 1.0, 0.9999427297024936, 0.9994059161055479, 1.0], [0.7359277320510771, 0.9999673374419845, 0.9995747845027233, 0.9881447686006043, 0.9993760806934996], [0.7236165946017117, 0.9995813270769507, 0.9935702011530221, 0.9560986025446292, 0.9981126375525123], [0.6970976929691334, 0.9987239768207504, 0.9982547601341778, 0.9995926228616822, 0.9984157772764545], [0.7752866713558753, 0.9977563413941594, 0.9943748033580968, 0.9944972212837041, 0.999974644360801], [0.7937581872664891, 0.9997722144886886, 0.9935757453853696, 0.9933563003280467, 0.9908582563542565], [0.7986591455949931, 0.9997647295618075, 0.9942295536240215, 0.9998447566069281, 0.9641164953258732], [0.8135324877017764, 0.9995267346601376, 0.9935702011530221, 0.9497126619984193, 0.9998449798695298], [0.836816994201522, 0.9997349410446285, 0.9974621752501022, 0.9560046220495622, 0.9999763151444796], [0.8266703975696253, 0.9665187562187602, 0.9987046781697057, 0.9884151551951521, 0.9993195033279525], [0.7856828345985662, 0.9763535625036344, 0.9942613135961608, 0.995140447537452, 0.9351282710290306], [0.682431378977779, 0.9988529882853806, 0.995840180961266, 0.9040600978220618, 0.8829177085531366], [0.9574506423575644, 1.0, 1.0, 0.945706042270259, 1.0], [1.0, 1.0, 1.0, 0.9934528962257916, 1.0], [0.978107751464677, 1.0, 1.0, 0.9934097851492668, 1.0], [0.986512658896157, 0.9999766834289493, 0.9981128300015257, 0.9931007625632792, 0.9995398784375482], [0.9656208644792348, 1.0, 0.9995290691712281, 0.9905376211074293, 1.0], [0.962213049025494, 1.0, 0.9898590183363787, 0.9940129006077887, 0.9995256185028322], [0.9418891124528705, 1.0, 0.9999736972742893, 0.9942514478820075, 1.0], [0.9357261656926735, 1.0, 0.999240035979944, 0.992649463842828, 0.9991818536797439], [0.919930275029945, 1.0, 1.0, 0.993624765077988, 0.9996230339770361], [0.9265437288094844, 0.9999940718854309, 0.999718126603067, 0.9979062901505201, 0.9997473240752681], [0.9094843378623937, 1.0, 0.999778147762829, 0.9855919600701207, 0.9838616283334057], [0.9029736791498171, 1.0, 1.0, 0.9922191911962507, 1.0], [0.878104079829776, 0.999716638885556, 0.999835056374553, 0.9606760645617763, 0.9939814183838421], [0.899091300816321, 1.0, 0.997262134235185, 0.9638571443488068, 1.0], [0.851340733288885, 0.9999936812707225, 0.9999454413890486, 0.9609523344423666, 0.9999873008997026], [0.8655107632525488, 1.0, 0.9997081822480751, 0.9985119370847243, 0.973605267737384], [0.8578066605939327, 0.9899577510739567, 0.9994904837544855, 0.9930059088473375, 0.9992330786412437], [0.8622782495545267, 0.9996069521151293, 0.9994904837544855, 0.9930059088473375, 0.9998358144951478], [0.885457471328112, 0.977910558208628, 0.990775565322962, 0.9995482288645632, 0.9995655015447844], [0.8183616984072664, 0.9999855688776028, 0.9998510694848913, 0.9996598977378149, 0.9999993960953145], [0.8226795838225787, 0.9854288763469847, 0.9996590426648762, 0.9999019503119502, 1.0], [0.8346472290201279, 1.0, 0.9998240195373231, 0.9995531313495659, 1.0], [0.8280159779246822, 1.0, 1.0, 0.9818060542779068, 1.0], [0.8425218995799347, 1.0, 0.9670940089033215, 0.998393273549213, 1.0], [0.9013444963599584, 0.9980237825872066, 0.9974644338666027, 0.9881389566819538, 0.9978202964501355], [0.9109717963645148, 0.9975780991801375, 0.9937413600897592, 0.9925501963767565, 0.9966083023960431], [0.8622375289186922, 0.9758551680575756, 0.9923078923183486, 0.9904301980312297, 0.9999795007461626], [0.8514939112587583, 0.9975169041222036, 0.9973440839575166, 0.9938667249296894, 0.9982351010687982], [0.8782038169786598, 0.9937351065864177, 0.9999529713781933, 0.9964480244635581, 0.9814544772407977], [0.924508799100142, 0.9992094646758481, 0.9996343302968667, 0.992680287800137, 0.9521609459131783], [0.9963261598454735, 0.9900371230576519, 0.9942613135961608, 0.9974181846161169, 0.9478454835071772], [0.9326323705391858, 0.99993678708092, 0.9995885726228219, 0.9906053762085474, 0.9999589878566578], [0.9521119845933219, 0.9994692822232362, 0.9997101636508113, 0.9984141623533906, 0.9844214095048397], [0.9525923926637283, 0.9994692822232362, 0.9997044443307581, 0.9984141623533906, 0.9846643276057124], [0.9663063135922068, 0.9977563413941594, 0.9996079929170719, 0.9944876539067868, 0.999974644360801], [0.9737261714542905, 0.9999270173966697, 0.9995885726228219, 0.9906077497486901, 0.9995300742620953], [0.9859402190038433, 0.9994904605569882, 0.9991343613925355, 0.9968565461539365, 0.9997718297910374], [0.8499156636998172, 0.9997383686316352, 0.9390117112171403, 0.9969495143111141, 0.9999917006853822], [0.8292500660996865, 0.9997781127856952, 0.9990718841615313, 0.9862855484816918, 0.9835112409264282], [0.8532778920101963, 0.993063724648542, 0.9990718841615313, 0.9897244228843627, 0.9835112409264282], [0.8229425243279648, 0.9999999994990373, 1.0, 0.9842786439838196, 0.9998650495422639], [0.8764795040177213, 1.0, 0.9711157286253305, 0.9907390845910896, 1.0], [0.861086571087481, 1.0, 0.9813589635249856, 0.9907390845910896, 0.9998957538980792], [0.8416196877632256, 0.9975363736687445, 1.0, 0.9347475080060795, 0.9974158580600494], [0.8935871941446063, 1.0, 0.999994828964247, 0.9686172075613292, 0.9868775791282336], [0.8709376333932193, 0.999837164291482, 0.9988905366702046, 0.9523885581937461, 0.991792351277487], [0.9038043758429496, 0.9999388320466343, 1.0, 0.9880432730395995, 0.9939472377707528], [0.91100129912036, 0.9975363736687445, 0.999998598259261, 0.9802040526255678, 0.9975285066285708], [0.8987343805989664, 0.9999391312276826, 1.0, 0.9981003411222245, 0.9997052130344409], [0.9244117901933461, 0.9999391312276826, 1.0, 0.9981003411222245, 0.9998293899673945], [0.7695118289734303, 0.9999094544298743, 0.9990718841615313, 0.9861249012325273, 0.9840456961897213], [0.7858173400235287, 0.9999321907302996, 0.9964702346582258, 0.9951393136391692, 0.9997457981694224], [0.7965185566628539, 1.0, 1.0, 0.9640151578444511, 0.9972866583783099], [0.7999018316923795, 1.0, 0.999994828964247, 0.969391019767819, 0.9872060212406241], [0.8056362726148121, 1.0, 1.0, 0.9847461914856463, 0.9862735718730593], [0.7833302900125112, 0.9999035854912549, 0.9998173057016024, 0.9950967713953822, 0.9553395180454419], [0.74860048545259, 0.9999776886240767, 0.9999997701684779, 0.9886027888015751, 0.9997073506167417], [0.7357034991076156, 0.9999511797345664, 0.996588948604684, 0.9933975323926522, 0.999745108380943], [0.7600855809918062, 0.9931333012996225, 0.9964095374382875, 0.9950088949499657, 0.9998057974491004], [0.7397564490221938, 0.9999215904360454, 0.969761946916968, 0.9979643016169542, 0.9946636225781877], [1.0, 1.0, 1.0, 0.9883064467526624, 0.9993769954178999], [0.9929982909009201, 0.9999989571819068, 1.0, 0.9983604505093664, 0.9997052130344409], [0.978953867569179, 0.9936432667513763, 0.9665888765211413, 0.9897197754918453, 0.9794940964613593], [0.9865785421861459, 1.0, 0.971264054540488, 0.9803808125514434, 0.9616240670198142], [0.9907116224182329, 0.9905190389491583, 0.9953427711906518, 0.9592122617900732, 0.9822176475618187], [0.9704338557811114, 0.991308254623956, 0.9989537932631077, 0.990332098341606, 0.9999912510593406], [0.9607966498559402, 0.9980707191749199, 0.9998329599454511, 0.9972853701481476, 0.9931913481916709], [0.9335325533554177, 1.0, 0.9999975722680898, 0.9832737695809096, 0.9970373814290712], [0.9414549584094625, 0.999871751155817, 0.9994005604963012, 0.9810039345251483, 0.99999428562762], [0.9478581447398076, 1.0, 1.0, 0.9826077802250575, 1.0], [0.9493532718673651, 1.0, 1.0, 0.9833815924288378, 0.9998991939238103], [0.9565144431989285, 0.9982603723280217, 0.998929379633756, 0.9586186401956149, 0.9999912510593406], [0.940361816777469, 1.0, 0.9999943126035269, 0.9590285774680322, 0.9999999622976197], [0.8545779620691275, 0.9979037802955705, 0.9960490161620853, 0.985539578917608, 0.9930376007863395], [0.8459053315177504, 0.9979037802955705, 0.9956086976405563, 0.985539578917608, 0.9930376007863395], [0.8339207834910118, 0.9979109763806576, 0.995606451645999, 0.9882729793270162, 0.9934508314634516], [0.8816294651075302, 0.9497856754027018, 0.9956086976405563, 0.9855418676815186, 0.9930376007863395], [0.7787202889825198, 0.9390801819822491, 0.9605155308702898, 0.9963672938145319, 0.9942435906825753], [0.8018555688937704, 0.9804114890177539, 0.9894381041912951, 0.9967512747834549, 0.9997114286598825], [0.8172557430142791, 0.9539948483236937, 0.9985353904798608, 0.981202312322895, 0.999391825083185], [0.79213178030604, 0.9761118865329976, 0.9573885081927294, 0.9661696726929484, 0.9999495894161539], [0.8264480794175498, 0.939078575230878, 0.9572612446609086, 0.979060812768605, 0.9772127545318856], [0.8669758464717844, 0.9688494906123983, 0.9602080812813004, 0.9066995814075807, 1.0], [0.9988491752195924, 0.999928603467439, 0.9953382835384815, 0.9968416804193807, 0.9997534162773668], [0.9528462027349581, 0.9836113109058834, 0.9967305669620228, 0.9508547492106516, 0.9999738363273677], [0.985350428430775, 0.999928603467439, 0.9980832900850487, 0.9481915387174855, 0.999990021981871], [0.9391208667124267, 0.9909256648786139, 0.9469045598526593, 0.9625181991876948, 0.9952659640759092], [0.898563274973923, 0.9908255546721322, 0.9323879604350314, 0.9764897694326158, 1.0], [0.9105107506064178, 0.9999794893410597, 0.9446081431185208, 0.9573039293373028, 0.9873501476218896], [0.8906007709653891, 0.99886385387438, 0.956637790735752, 0.9887123516567544, 0.9770201181858311], [0.9187692250407284, 0.9942932417420968, 0.9905490823260865, 0.9954678429050848, 0.9895553923224525], [0.9700302791108668, 0.9935222477858152, 0.9480144681920292, 0.9969896709060538, 0.9692068626396629], [0.861680792456564, 0.9949744821978348, 0.9942501412628474, 0.9965929539892873, 0.9946886642700535], [0.873582185962178, 0.9879018047879831, 0.9999962950892227, 0.9975670224601411, 0.9914369962985862], [0.880753886506594, 0.9956926696003263, 0.9998393826330836, 0.999626606748985, 0.9913172908372225], [0.8472516176431801, 0.9953808468254173, 0.997157466142507, 0.9999937823319615, 0.9674070092337613], [0.8546345294556268, 0.9937243427946889, 0.9945411638322768, 0.979746515064144, 0.9670434371740959], [0.8113054218798641, 0.9856499422598789, 0.9999962950892227, 0.9975670224601411, 0.9949337330358787], [0.8009780383090577, 0.9906524797124416, 0.9996069298646766, 0.9976809145893256, 0.9934603167055067], [0.8277655154444093, 0.9949332002746113, 0.9923270866541195, 0.9999996583466432, 0.9957863206849189], [0.8313402851608523, 0.9904632947503097, 0.994615267764709, 0.998494880653414, 0.9937205017314977], [0.8372306091924935, 0.995399120553229, 0.9954583522346745, 0.9964811510145366, 0.9894763508348294], [0.8196961311516885, 0.9979834087144724, 0.9995657783717016, 0.9999974405952405, 0.9596503133306932], [0.8976584403096275, 0.9927509322488575, 0.9929775886194597, 0.9994954823101633, 0.9322199376308565], [0.900079078853619, 0.9972145107560336, 1.0, 0.9999876638854855, 0.9597316256809024], [0.9383988779312863, 0.9908689532331043, 0.9907736925371435, 0.9939729093448342, 0.9353831709656668], [0.9050008324853492, 0.9747124444209782, 0.9985265181957517, 0.979847463919457, 0.9991587579262662], [0.9131216363157353, 0.956021649501784, 0.9977363555346707, 0.9994688601666315, 0.9998136444348765], [0.9213998522886625, 0.991336139421416, 0.9999987471732298, 0.9999998506206917, 0.9916939932026988], [0.9297673834925644, 0.9963526176365001, 1.0, 0.9940055235955485, 0.9682508522521183], [0.9999221557621882, 0.984007705557456, 0.9938423779581331, 0.9857639752093857, 0.998625406475208], [0.9912639066671702, 0.9898416908425285, 0.9926311733574447, 0.9832380690866971, 0.992976498668359], [0.9790940517100702, 0.9884427915923533, 0.9995545240685072, 0.9915043875578459, 0.9929832188420732], [0.9858808399806825, 0.9896472189461971, 0.9926368708365153, 0.9999554394834383, 0.9929597361921022], [0.9688824656269767, 0.987811313834424, 0.999770292117473, 0.9914168124093715, 0.9756488542426834], [0.9482462348367716, 0.987811313834424, 0.9998393826330836, 0.99935153622404, 0.9913172908372225], [0.9592945187870228, 0.9903379589276811, 0.9999947336271281, 0.991322366726304, 0.9989444943066272], [0.9960506633520096, 0.9996224602515428, 0.994247645413871, 0.9999850007155304, 0.9419457546996871], [0.9475274124197474, 0.9905278304444365, 0.9999302743406043, 0.9239280679138356, 0.9711325139710228], [0.8673758051430633, 0.9943622733876384, 0.9934438016036321, 0.9855850579082197, 0.9907462105137022], [0.8622711225818656, 0.9943622733876384, 0.9934438016036321, 0.9855850579082197, 0.9907462105137022], [0.875449860540251, 0.9971294857322038, 0.9961578091575785, 0.994777206422751, 0.9888786923366673], [0.8867015090409722, 0.9971294857322038, 0.9966984790718088, 0.994777206422751, 0.9879905089508111], [0.8891217815426601, 0.9971294857322038, 0.9936960508106947, 0.994777206422751, 0.9879905089508111], [0.8995023800448347, 0.9947689388258286, 0.9955388150103581, 0.9914143643552644, 0.9842244670897211], [0.8341166129545508, 0.9956752170044748, 0.9967670001217699, 0.9958146502202424, 0.995761888515532], [0.8470219984023497, 0.9966398478965097, 0.9917480100853976, 0.9876821679133532, 0.9932898580254526], [0.8056796077033743, 0.9996359413762472, 0.9834414539585338, 0.9916293133561104, 0.9886514815707992], [0.7783630133555222, 0.9987687610996867, 0.9896034309129769, 0.940362525660132, 0.9860645882293892], [0.7878589856874281, 0.9878414685585324, 0.990021792395321, 0.941938806894869, 0.9869551771900387], [0.7960604162045799, 0.9989615233902814, 0.986776803884308, 0.9162384405854778, 0.9993600569925822], [0.8394834511977656, 0.9735739172968236, 0.9864918332964943, 0.940362525660132, 0.9859863462378108], [0.9953148585644902, 0.9976085711789192, 0.9925157735856777, 0.9792844665227742, 0.9887274974910494], [0.9564924545806857, 0.9760905840239837, 0.9730714131570785, 0.9992543007389392, 0.9994876102723341], [0.960287252136022, 0.9760905840239837, 0.9730714131570785, 0.9992543007389392, 0.9994876102723341], [0.9300163142319826, 0.99615408509683, 0.9995551083698802, 0.9986091810318505, 0.9861105481094817], [0.9206447466307972, 0.9987629231080787, 0.9953137999831806, 0.9914595876797663, 0.9584162039804903], [0.9720419314003821, 0.994683674027441, 0.9113959761854914, 0.9847950859545908, 0.9894674476019427], [0.9186315594993257, 0.9943622733876384, 0.9088255923941677, 0.9855496208327572, 0.9907462105137022], [0.9892616344780805, 0.9974418476965832, 0.9951396064221588, 0.9132204345707077, 0.9841584639168934], [0.8856858243227616, 0.9724835689534634, 0.9770815046422409, 0.9982000838415097, 0.9791619666160173], [0.8933489916217764, 0.9606701089227726, 0.9932467246665245, 0.9997651975938492, 1.0], [0.8771893612492061, 0.9749823638424896, 0.9999870231514771, 0.9999839080207994, 0.9999994231556983], [0.8607223030545772, 0.9907413007144873, 1.0, 0.9999999655558653, 0.9999921192099852], [0.8493110469440175, 0.9749823638424896, 0.9999999743429522, 0.9999839080207994, 1.0], [0.842377115858242, 0.9829967303773336, 0.9999887911811434, 0.9998638120221038, 0.9990061943445689], [0.8349270911534671, 0.9984828161362305, 0.9989433800124558, 0.9998637068567864, 1.0], [0.8263144756704215, 0.9984828161362305, 0.9990081290506931, 0.9998637068567864, 1.0], [0.904060450381944, 0.9894187798424753, 0.9996941817816987, 0.9998469984962605, 0.9959422346340552], [0.8987508227718202, 0.9840788070663998, 0.9998409846640725, 1.0, 1.0], [0.9169972213434774, 0.994214918449432, 0.9996901061851177, 0.9975228708320742, 0.9999998717359126], [0.9237631088591483, 0.9961442551441612, 0.9998904077549882, 1.0, 0.9999997839639635], [0.7378208733391324, 0.9983159291996122, 0.9989884415391, 0.9997844752986462, 1.0], [0.7300991107145756, 0.9826415629679045, 0.999436530645019, 0.9988205999945193, 0.9989570680928695], [0.7500166979535772, 0.9870678087365413, 0.9996807079608216, 0.9956819302647021, 0.9999750115372615], [0.7536746485772681, 0.9730570547235925, 0.998948748076758, 0.9962204226556775, 1.0], [0.7622262092616662, 0.9729742517082494, 0.9999155815082362, 0.9998874877234606, 0.9824028259293811], [0.7683481931358478, 0.9974429523452847, 0.9998484775737697, 0.9999997530643047, 0.9581856251795839], [0.7895193223533867, 0.9752782613773352, 0.9992516138865524, 0.9999999995216319, 0.9999922026945975], [0.7969041037129547, 0.9888878278143896, 0.9999502791999965, 0.9994193534106037, 0.9974960409955321], [0.8038475164954361, 0.9990601563937059, 0.9999546116926046, 0.9998353295826763, 0.9999976588629785], [0.8135904130273368, 0.981784261256713, 0.9971849349011059, 0.9999487916305881, 0.9941726803139014], [0.7816098939529724, 0.9941289213220147, 0.9855837006445911, 1.0, 1.0], [0.7764642802095415, 0.9921912312165829, 0.991979064088822, 0.99882806813328, 0.9997740643775955], [0.8101743488632892, 0.9722923204819786, 0.9597417566042644, 0.9998479380621194, 0.978022241290303], [0.8206457810447181, 0.9921912312165829, 0.9464131066226131, 0.9999810502223635, 0.9997740643775955], [0.7761324870220145, 0.991141395685046, 0.9694070502834199, 0.9197071440428526, 0.9999717124041072], [1.0, 0.9911130641335013, 0.9994219794380632, 0.9999989015485898, 0.9999909280006257], [0.9923523651379615, 0.989637002385743, 0.9999216125787912, 0.9974349805718955, 0.9999743724760134], [0.9861151396198187, 0.9725113525942691, 0.9949862026818402, 1.0, 1.0], [0.9790088715826104, 0.9722782536160494, 0.9839434484395234, 0.9987430810544149, 0.9999716744421505], [0.9732967849690808, 0.9725172575122707, 0.9986597907320206, 1.0, 0.987378623519017], [0.9680583248512084, 0.987885462207414, 0.9840278271587338, 0.9780667239711849, 0.999981209709193], [0.9543681913832613, 0.9833334572561357, 0.9999826565184041, 1.0, 1.0], [0.9475415750166318, 0.9661084545277584, 0.997168762107418, 0.9996232943883605, 0.9999985557233546], [0.9383899519982867, 0.9415008528704794, 0.9999178467592044, 0.9999984891830157, 0.9996589350221665], [0.9432581951557034, 0.9429538841885386, 0.9988943438626394, 0.9863606404287305, 0.9992529425140276], [0.8682090329002948, 0.9967198279115783, 0.9931669493827776, 0.9934812722186456, 0.9915705881166434], [0.8569033732174107, 0.9959687808353278, 0.9865936305525413, 0.9783161170909713, 0.9865975001990176], [0.8865042726854644, 0.9878357192605212, 0.9992016701609094, 0.9661296546650104, 0.9837880210793476], [0.8343613639048569, 0.9988589203078877, 0.9998238398457819, 0.9766026461794576, 0.9890711344625488], [0.9543634176196253, 0.9941578535786422, 0.9999892359759385, 0.995716082937236, 0.98335259453306], [0.9312930685030069, 0.979188593584145, 0.9991143209698065, 0.9843703854969631, 0.9731142559506175], [0.9199213911523119, 0.9863424111395599, 0.9999933351513938, 0.9847037571443715, 0.9970404581017168], [0.9102994732718479, 0.9869281917367074, 0.9852828488615374, 0.9901816234346026, 0.9958173567789856], [0.9008984049281661, 0.987121530645685, 0.9992873737540439, 0.9833834183213045, 0.998684313400363], [0.894994455851688, 0.987121530645685, 0.9599631884757378, 0.9833834183213045, 0.9347179626546063], [0.9907317500189698, 0.9840571249966781, 0.9907972111712288, 0.9915073310997299, 0.9991829262757744], [0.9857307221656689, 0.987121530645685, 0.9999951397301775, 0.9833834183213045, 0.9998717429341677], [0.9731398180578884, 0.9767006022657778, 0.9803445092154794, 0.9933918260810672, 0.9897071560291284], [0.9701780868760818, 0.9840571249966781, 0.9283430177773887, 0.9915073310997299, 0.9961584693685104], [0.8757104262442374, 1.0, 0.9933973317370367, 0.9840157510565194, 1.0], [0.8600957368711594, 0.9999760721477056, 0.9887286011593274, 0.9836904654577214, 1.0], [0.865922193754338, 0.9998718993003725, 0.9998940624004108, 0.9994087318336777, 0.9996699742976873], [0.8778563316575779, 1.0, 0.9713275366784944, 0.9994077901378354, 0.9928565467007456], [0.8956465816147399, 0.9999760721477056, 0.9999585119961617, 1.0, 1.0], [0.8896935256256869, 0.9994814496845159, 0.9999820184390645, 1.0, 1.0], [0.8172026805845067, 1.0, 1.0, 1.0, 1.0], [0.8252188504009668, 1.0, 1.0, 1.0, 1.0], [0.8315861103393791, 0.9872085117040889, 0.99999952087768, 1.0, 1.0], [0.8451266532832791, 0.9996133958795229, 0.9995207089798405, 0.9999990744315554, 0.998936875553476], [0.8413702722394882, 0.9999982952673337, 0.9999999968783139, 1.0, 1.0], [0.8363017544967115, 1.0, 1.0, 1.0, 0.9997066688847811], [0.8520549475868774, 0.9999986228345857, 1.0, 0.9999998522699687, 1.0], [0.9036718324764326, 0.9721661332025237, 0.999952682204607, 0.9558794513727102, 0.9643096068660041], [1.0, 1.0, 1.0, 0.9999999937339411, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0], [0.9789543640879219, 0.9999905946229339, 1.0, 1.0, 1.0], [0.9854161438698232, 0.99981721229281, 0.9991971469858588, 0.9954894683987441, 0.9997382235120925], [0.9565311863669279, 1.0, 0.9999990566449773, 1.0, 0.9999761623375998], [0.9522866698787942, 1.0, 1.0, 0.9999316498133906, 1.0], [0.9659945931837207, 1.0, 0.9985699834042744, 1.0, 1.0], [0.9700505846501164, 0.9999917122071209, 0.9999322958446709, 0.9999644396453429, 0.9999999468665405], [0.933752846391296, 1.0, 1.0, 1.0, 1.0], [0.9434973688276154, 0.9999448385316886, 1.0, 0.9999866464239101, 0.9988758980572073], [0.9217534006283628, 1.0, 1.0, 0.9999315274268076, 0.9999536527079307], [0.9201528847344966, 0.9999669115418192, 1.0, 0.9999315274268076, 0.9999536527079307], [0.9073169132829643, 0.9996902900460934, 1.0, 0.9997053858480337, 0.9999942857917634], [0.9501215527979697, 1.0, 0.9820412915125606, 0.945259695869756, 1.0], [0.776085606119519, 0.9999997720776175, 0.999998679565015, 0.9999955166621879, 0.9999999899344441], [0.7844093527643703, 0.9999986350379816, 1.0, 1.0, 1.0], [0.7987635977523732, 1.0, 1.0, 1.0, 1.0], [0.7917004816373867, 1.0, 1.0, 1.0, 1.0], [0.8060331059201312, 1.0, 1.0, 1.0, 1.0], [0.8102299762406604, 1.0, 1.0, 1.0, 1.0], [0.7624075483926152, 0.9999999406931337, 0.9998912079663544, 1.0, 1.0], [0.7580014687516953, 0.9999987663477147, 0.9999607398584652, 1.0, 0.9996819302092477], [0.7499307710867531, 1.0, 1.0, 1.0, 1.0], [0.7429510350638713, 1.0, 0.9821502512612228, 0.9999989696285557, 0.9999995139453774], [0.7376542008954969, 1.0, 0.9796864782213206, 0.9999996642404613, 0.999987873183375], [0.7271313675521616, 1.0, 0.9999957923726349, 0.999999512371828, 0.9999923606746343], [0.7213477699599874, 1.0, 0.999999941426991, 1.0, 1.0], [0.7333852180330307, 1.0, 0.9999999998808738, 1.0, 1.0], [0.8695927137232151, 0.9929282346943681, 0.9929717126098073, 0.9881805020291984, 0.9929783972314571], [0.8864138779926365, 1.0, 0.9965968220632546, 0.9980807349419931, 0.9999572727705961], [0.8530667760100571, 1.0, 0.99222116458726, 0.9999999961468133, 0.9999747692480034], [0.8383150313087666, 0.9999239388067591, 0.9936130379388377, 0.9881805020291984, 0.9993607879790183], [0.8794299405568355, 1.0, 0.9663030121432495, 1.0, 0.999999999972436], [0.8613798129649257, 1.0, 0.9581447516707099, 0.9999996771240373, 0.999999997931608], [0.9995093995232547, 0.9999919918500707, 0.992788125881723, 0.9999999972214627, 0.9821887933478227], [0.9826621795039829, 0.9996850867857567, 0.9831363267089226, 0.9999745400653655, 0.9985915576821083], [0.9903092497103962, 1.0, 0.9685168670478637, 1.0, 1.0], [0.9665324465460865, 0.9993803963818806, 0.9544402014810707, 1.0, 0.9985215828253637], [0.9716949524446352, 0.9996886175025227, 0.9544402014810707, 1.0, 0.9985915576821083], [0.9203438678546467, 0.99999326013346, 0.9932229059665385, 0.9999991949071451, 0.9999999999869167], [0.926983709782121, 1.0, 0.9926032175898996, 0.9999991949071451, 0.9999999996293395], [0.9355198641104638, 0.9999999160493848, 0.9912527991780554, 1.0, 0.9995184992190327], [0.9093422494764093, 1.0, 0.9736274206495035, 0.9999991949071451, 0.9999999217270042], [0.9506977261901355, 0.9995996909682978, 0.9969100279591698, 0.9761467313707438, 0.9884651479934655], [0.7368717438348776, 0.9999999950330272, 0.99373750267738, 0.9999157149842108, 0.9999999982006167], [0.754238442748833, 1.0, 0.989394839249707, 1.0, 1.0], [0.755657043244176, 1.0, 0.9918911038983139, 1.0, 0.9918765580384086], [0.7783790050552766, 0.9999772742322658, 0.9984460099233227, 1.0, 1.0], [0.7936411379337197, 0.9901710166778686, 0.9946421412142373, 0.9822619517661823, 0.9999510140773723], [0.8183043612134107, 0.9991695165171409, 0.9977216424275488, 0.9999999999894366, 0.9999999931564143], [0.7716810530745647, 1.0, 0.9370682554386207, 1.0, 0.976148464512697], [0.8066987799798297, 1.0, 0.9494035977198176, 0.9500914300542397, 0.9649535579801674], [0.8671906099803818, 0.9999986715418914, 1.0, 0.9989110545321218, 1.0], [0.872181390459214, 0.9997706993171146, 0.9999811405241918, 0.9994630913897365, 0.9989015804097716], [0.8572977328198277, 1.0, 1.0, 1.0, 1.0], [0.8601088907244163, 1.0, 1.0, 1.0, 1.0], [0.8970035275080344, 0.989050999557301, 0.9905508367458735, 0.9868505110558744, 0.999473287601525], [0.8930415318511777, 0.9891371726201406, 0.9919954760654932, 0.988172277655998, 0.9929677388006061], [0.8860587284489834, 1.0, 0.9999999984188129, 1.0, 1.0], [0.8423850596467811, 0.9999986715418914, 1.0, 0.9989110545321218, 1.0], [0.8499921520445377, 1.0, 0.9998565333826771, 0.9945527859926668, 0.9993483667138189], [0.8288565953936988, 0.999999945016945, 0.999348543224608, 0.9999943474187549, 0.9999938304368167], [0.819655867906708, 0.9960422383588069, 0.9931894542551584, 0.9995613774902304, 0.9989650065719677], [0.9266736906268446, 1.0, 0.9995035055169831, 0.999998605679656, 0.9997902068703776], [0.9337149000391368, 1.0, 0.9999998477259336, 0.9999988388204519, 0.9999878443686181], [0.9053566083098039, 0.9997662080456376, 0.9919954760654932, 0.9991329253186263, 0.999921338325318], [0.9081391386513097, 0.9985109815330522, 0.9961394564182916, 0.9976189776406373, 0.9925377629803633], [0.91738360707055, 0.9998212768753879, 0.9941119589214528, 0.9999998764304978, 0.99933125463673], [0.9165022261914508, 0.9998313781099983, 0.9941119589214528, 0.9999998764304978, 0.9973022981700649], [0.9443917826263192, 0.9999592977787047, 0.9997834121883, 0.9599258219700222, 0.9997077465369902], [0.8067868034877939, 0.9568937754368843, 0.9898770689620684, 0.905030652478895, 0.9863569805693795], [1.0, 1.0, 1.0, 1.0, 0.9999999922625378], [1.0, 1.0, 1.0, 1.0, 1.0], [0.9913665459140142, 1.0, 0.9880960054425696, 1.0, 0.9994699788702964], [0.9803305065005395, 1.0, 0.9996903044060511, 0.9998261504733048, 0.9981956110531829], [0.9844109630610693, 1.0, 0.9999978738392373, 0.9952899640764202, 1.0], [0.9661219260047509, 1.0, 0.9995279639868123, 0.999998605679656, 0.9997902068703776], [0.952349915943294, 1.0, 0.9996169274724398, 0.9999998252942326, 0.9993021033574768], [0.8186406820141087, 0.9580329844392889, 0.8911944298721242, 0.9887656564211647, 0.9991172028511911], [0.8636778452282621, 0.9986657468513278, 0.999535966346209, 0.9888807785408021, 0.9949332644047442], [0.8521493743006804, 0.9858193697888213, 0.9737560880106638, 0.9848540639772689, 0.9891573993709563], [0.9179468194740431, 0.9950311066657782, 0.990780315466106, 0.9887832686325505, 0.9935235272619131], [0.9313849759116117, 0.9977313784683839, 0.9842876779601794, 0.984775724712093, 0.9954213953661035], [0.8376763962600893, 0.9507099626539457, 0.981391161223655, 0.988396897517834, 0.9935685168287259], [0.9048369803359296, 0.9990819603360187, 0.9999995163786942, 0.9986355338948145, 0.9370321957870285], [0.8820466747554399, 0.9989785526928806, 0.9999995824136448, 0.9989772888464794, 0.9370321957870285], [0.7095254711711875, 0.956980516253537, 1.0, 0.9278498868085248, 0.9993999884991472], [0.72306502979321, 0.9948011545644844, 0.9997312296693895, 0.9495267100473027, 0.9823818008139471], [0.8064008585718063, 0.9936402327530047, 0.9644621624167636, 0.9971141159569753, 0.9996039563719075], [0.8234882214312115, 0.9992834151518519, 0.9991677634416283, 0.9887832686325505, 0.9962250234696225], [0.8179315951757272, 0.9936402327530047, 0.996094108587956, 0.9971141159569753, 0.9889289722084041], [0.7647609199110383, 0.9934356807823816, 0.9986950276580415, 0.996755275487915, 0.9897786729753073], [0.776726028258348, 0.983205288683185, 0.9830154336908697, 0.9995549443421639, 0.9738029293670261], [0.7822098441251816, 0.983205288683185, 0.9830154336908697, 0.9995549443421639, 0.9738029293670261], [0.7954854294510181, 0.9795991793632987, 0.9986030553896172, 0.9757795305838727, 0.9817468017523682], [0.7432456701788565, 0.999658015701597, 0.9999995163786942, 0.9986355338948145, 0.9984636511476135], [0.7306243197232292, 0.999658015701597, 0.9999975101028267, 0.9989181134267922, 0.9894133670434667], [0.9995644724270257, 0.9929982071291712, 0.9992603301108649, 0.9611239868121911, 0.993443399341025], [0.9657633819333924, 0.9933211377598956, 0.997630704843815, 0.9773074530515385, 0.9933736068423066], [0.9518737061616321, 0.9933211377598956, 0.997630704843815, 0.9909545262223751, 0.9933736068423066], [0.9825957459603067, 0.9936402327530047, 0.996857688632376, 0.9995004056412132, 0.9933473252762597], [0.9832341608204591, 0.9932289419333168, 0.9997249906020588, 0.9996277702414705, 0.9975581363178756], [0.997379985972905, 0.9930068161772369, 0.9992177110304366, 0.9914265495226784, 0.9887624109945485], [0.8716979135032732, 0.9934054585190376, 0.9965506212147748, 0.9889665873688691, 0.9997604547365008], [0.8644833446876744, 0.9929248660963654, 0.9842631231103772, 0.9905439373177243, 0.9999997465337421], [0.8495554120075, 0.9986783684673942, 0.9915602172507686, 0.9870642601892243, 0.9999606934012925], [0.887879666189739, 0.9976231870865174, 0.9748662284525588, 0.9939941690840624, 0.9995711489177327], [0.8969936638363541, 0.9934054585190376, 0.992202775386639, 0.9889665873688691, 0.9931527121622892], [0.8884550349929269, 0.9978259639255644, 0.9921435568666153, 0.9889665873688691, 0.9927675341931942], [0.90720959321938, 0.9928518197196878, 0.9840110679264071, 0.9904133586134736, 0.9996866949529847], [0.9024108032875546, 0.9903644062254572, 0.9914462926424499, 0.9897804211038314, 0.9999585382180639], [0.8562714554603338, 0.9932831745777352, 0.9577625816392519, 0.9900569795301863, 0.9947858780471226], [0.8118567733822798, 0.9934054585190376, 0.992202775386639, 0.9868913638034853, 0.9923811961788622], [0.8223535820046243, 0.9911850881966457, 0.9839340894431733, 0.9884271561600597, 0.9997191335339441], [0.8396960313213178, 0.977494935228539, 0.989862132089594, 0.9936902283760367, 0.9999203744753178], [0.8476835057802536, 0.994040729579563, 0.9934066980737463, 0.9371174562302335, 0.9999128910764046], [0.8626806814791921, 0.9888909866403109, 0.9451630845720915, 0.9532097837000187, 0.9943116263250149], [0.9979568431756882, 0.9939661294467423, 0.9855296343692966, 0.9773886166834556, 1.0], [0.9883411110910234, 0.9954151424312339, 0.9986877169081273, 0.9866638957650424, 0.9989438060409032], [0.9906246492282431, 0.9912582442135375, 0.9971385157227075, 0.9914343648107368, 0.9941077003426725], [0.9746427767312617, 0.9987249608058473, 0.9882375813217733, 0.9662086926694499, 0.999392015069114], [0.9198918207735807, 0.9942976670747431, 0.9996175166219532, 0.9895298111058852, 0.9993496245310729], [0.9340891045044174, 0.9742976269633173, 0.989862132089594, 0.9938089585188086, 0.9999203744753178], [0.9560307470918258, 0.992314112306806, 0.9949866337827326, 0.9968581071900828, 0.9991148162924511], [0.9510655627224065, 0.9999098485245645, 0.9924557029239851, 0.9890091851105779, 0.999921232616568], [0.9382407835693367, 0.9975614071044562, 0.9945007781245523, 0.9693545012329277, 0.9999256364100063], [0.9267369067236118, 0.9864526674801635, 0.9853695024861878, 0.990502646493301, 0.9684751325229811], [0.9462337924277955, 0.9814181603321488, 0.9932347042712093, 0.9329008698930032, 0.9999997975405011], [0.9662617064177755, 0.935977873335711, 0.9883112846444116, 0.9662086926694499, 0.999392015069114], [0.9170688560367646, 0.9496848970212688, 0.9471486832779085, 0.9915797477295176, 0.9958682816638225], [0.8743992040185837, 0.9951100938790445, 0.9999931401573733, 0.9884361165896066, 0.998739062348945], [0.8798236631025758, 0.9848659327069976, 0.9855787385022184, 0.9882109924270738, 0.9998381227257375], [0.8543278602643803, 0.9832145957858953, 0.9999186392992477, 0.9817734724061141, 0.9969528352611694], [0.8626875789775938, 0.9915968300423704, 1.0, 0.9871663451809662, 0.9997210221825195], [0.8902166874285394, 0.9875220368014042, 0.9925335379410061, 0.9812128267581545, 0.9775971845779934], [0.9050872072628611, 0.9915968300423704, 1.0, 0.9871663451809662, 0.9875619432886433], [0.9187044809956226, 0.9855332483037018, 0.9997975686221487, 0.9866794719381344, 0.9868292679625004], [0.9216396136769063, 0.973050218171874, 0.99865541927696, 0.9966385617890111, 0.9980526164839525], [0.9027626714032453, 0.9850765086458431, 0.985457080244624, 0.9999429260447649, 0.9999609386557858], [0.823474261531163, 0.9604771100960672, 0.9989730945986965, 0.9595355974154163, 0.99992057786437], [0.841656890499075, 0.9711682201357319, 0.9989824316573735, 0.9770157067274133, 1.0], [0.8341953011895678, 0.9597599251268776, 1.0, 0.9807705712104742, 1.0], [0.7616340429822742, 0.9850784278241536, 0.9989993058384965, 0.9832479835264614, 0.9975150742532074], [0.7711809740668454, 0.9855099211616235, 0.9925099348993196, 0.981406971417479, 0.9885562689933526], [0.7980212216007985, 0.9692299115751741, 1.0, 0.9888818591461569, 1.0], [0.8036219031355184, 0.9592100377223032, 1.0, 0.9980436255933522, 1.0], [0.7865732227460716, 0.9708899674626016, 0.9922739956942053, 0.9829623842865696, 0.9956226872004672], [1.0, 0.9915968300423704, 1.0, 0.9871663451809662, 0.9875619432886433], [0.9941214045651277, 0.9832145957858953, 0.9999186392992477, 0.9817743119665387, 0.9963010474583585], [0.9834139722065821, 0.9850765086458431, 0.985457080244624, 0.9999429260447649, 0.9892251321077934], [0.9788243562969461, 0.9952673509993337, 0.9985078471734599, 0.9987883402964028, 0.9724914673549543], [0.96684608447725, 0.9862515549651817, 0.9999835165730993, 0.9781097864087339, 1.0], [0.9490361410747935, 0.9861658544740745, 1.0, 0.9898520120134577, 0.9999886342759021], [0.9337847721854331, 0.9945211068849488, 0.9892700214933003, 0.9864733236175466, 0.9999745948628569], [0.7558487210288749, 0.9848914305996653, 0.999745849522939, 0.8917789760290834, 0.9999380075108364], [0.8618028452244094, 0.998581528221662, 0.9779832931633692, 0.9999992497799229, 0.999106756135322], [0.8789032558414898, 0.9998505386112215, 0.9747493212358652, 0.9959470934264566, 0.9999441713487744], [0.8925439886888473, 0.9999975708017567, 0.9961209538610983, 0.996730207249715, 1.0], [0.8746719952672254, 0.9974190684589408, 0.9916794931448344, 0.9525670349313329, 0.9888140393268041], [0.8864980474845905, 0.9605377388097873, 0.9929985113915861, 0.9865210011086812, 0.9988844016451656], [0.9193630117346981, 0.9607404665352252, 0.9933940339322715, 0.9865210011086812, 0.9988844016451656], [0.8548444748222307, 0.9535179173996035, 0.9759087600805636, 1.0, 1.0], [0.7672605492350064, 1.0, 0.9854108102899469, 0.996977566714261, 0.9887683110046158], [0.7770844040978335, 1.0, 0.9862722944804564, 0.9990939268889151, 1.0], [0.7924004508944368, 0.9984082506279196, 0.9759618590029134, 0.9999595376990037, 1.0], [0.7842559222884332, 0.9998244523336354, 0.9715369652197852, 0.9999928215909829, 0.9998806108293152], [0.7500525809319653, 0.9998663086052184, 0.9713334407129619, 1.0, 1.0], [0.805363064514021, 0.9975092926569565, 0.9998763457982147, 0.9998542972509206, 0.9888140393268041], [0.815458105142505, 0.9859433252680903, 0.9998785707735426, 0.9991575676276361, 0.9889380630912468], [0.7939438120803801, 0.9861628692530523, 0.9997451766974245, 0.9991575676276361, 0.9896841881976565], [0.8189731800544191, 1.0, 0.9801546850077795, 0.9999731989790485, 1.0], [0.8273239574980955, 0.9975408192653163, 0.9936674965505109, 0.9981241807938237, 0.9997199510123845], [0.8307941603760957, 1.0, 0.9758947844522493, 1.0, 0.987699038521161], [0.84781018410968, 0.9981209785317681, 0.9764285400986457, 1.0, 1.0], [0.8440197388361187, 1.0, 0.9713146102530961, 1.0, 1.0], [0.8374829143964813, 1.0, 0.9759004471464756, 0.9999733142683546, 1.0], [0.9181598675868539, 0.9997083280915264, 0.9827203036365002, 0.9340877206961641, 0.9999837724715274], [1.0, 1.0, 0.9885069463978001, 1.0, 1.0], [0.990452232455097, 0.9999994730267081, 0.9976368610070181, 0.9919635785338666, 0.9999546808347405], [0.9714025940353326, 1.0, 0.9974698811693073, 0.9999999966677227, 1.0], [0.9817459428537775, 0.99991178158763, 0.989685311513857, 0.9983967657041934, 0.9999667926928509], [0.9672751933222219, 1.0, 0.975897659079145, 1.0, 1.0], [0.9884912522956034, 0.9606158934202998, 0.975808767196972, 0.9999765124654875, 1.0], [0.9992311528337396, 0.9999994730267081, 0.9501358396827065, 0.9917886952841262, 1.0], [0.9454876183085319, 0.9862584945574167, 0.9986463676459023, 0.9868318740858512, 0.9998055443705349], [0.9323584187781904, 0.9998920352098419, 0.9986455094009786, 0.9883580869522567, 1.0], [0.9585883100047613, 0.9758495254849224, 0.9927099456133291, 0.9774385961591106, 1.0], [0.9257107340394903, 0.9999987948319131, 0.9711439777546195, 0.9990762349408169, 1.0], [0.9380290187174037, 0.9403036825738136, 0.9758634386968705, 0.9789800297897894, 0.9989473230138667]], "centroid": [0.8752999437777547, 0.9922116738289346, 0.9914270739422684, 0.9884425017998758, 0.9935789930293037]}, "29-1": {"solutions": [[0.4578844225835399, 1.0, 0.9887190259923725, 0.9947647824948108, 1.0], [0.44863855912523176, 0.9999936196052733, 0.988688123719097, 0.9947647824948108, 0.9998660842342615], [0.44449684523978605, 1.0, 0.9946155216079583, 0.9978149475221064, 1.0], [0.435733003931694, 0.9996695049113792, 0.9997515067085242, 0.9935643091199267, 1.0], [0.46864512791038115, 0.9927917804263235, 0.9923064909677745, 0.9931993712902635, 1.0], [0.4113292788439683, 0.9972803066378957, 1.0, 0.9941780723900172, 1.0], [0.41859652045085827, 0.9957924191347222, 1.0, 0.9941780723900172, 1.0], [0.42242984783941495, 1.0, 0.9946155216079583, 0.9978149475221064, 1.0], [0.47880375869851965, 1.0, 0.9728963092869045, 0.9999019503119502, 1.0], [0.4865356060055941, 0.9997061310943451, 0.9724922853709319, 0.9986751238232873, 1.0], [0.34738104960566385, 1.0, 1.0, 0.9933742950221833, 1.0], [0.360404505702681, 1.0, 0.9994202249748558, 0.994573408280248, 1.0], [0.36924817895665407, 1.0, 0.9999981621427119, 0.9997276638369468, 1.0], [0.39453385076810943, 1.0, 0.9944361799858943, 0.9993424084219861, 1.0], [0.3810677282804368, 0.9999775999924639, 0.9996099333808666, 0.9882147541122153, 1.0], [0.3988330490416845, 0.9684278835746088, 1.0, 0.9812935147169097, 1.0], [0.29355140398523494, 0.9999998428785426, 0.9931731634946164, 0.9796620343365715, 0.999703431435152], [0.3101891869055574, 1.0, 1.0, 0.9922191911962507, 1.0], [0.3044159919336492, 0.9942158983107254, 0.9998568129929497, 0.992351194325625, 1.0], [0.33268088374690874, 1.0, 0.9833129292536423, 0.99942399175999, 1.0], [0.326046118722938, 1.0, 0.9894938891235906, 0.9814434915207586, 1.0], [0.4035964563818938, 0.9995448402738875, 0.9946515746201706, 0.9933563003280467, 0.9997742339317574], [0.3728285792749695, 0.9795909923760028, 0.986398836849325, 0.993069511692875, 0.9993078366873249], [0.4512805608445319, 0.9999320057081894, 0.9874299793967648, 0.9964263379321242, 0.9964252149824029], [0.4606458855222329, 0.9998663677813022, 0.9873656816183303, 0.9879985885294131, 0.996420309324332], [0.4364602523665513, 0.9963021022726545, 0.9900343670251169, 0.9984263591701111, 0.9993848933932993], [0.4400496889527374, 0.9999320057081894, 0.9911482115453141, 0.994817672678893, 0.9964252149824029], [0.42527046821473435, 0.9992094646758481, 0.9942295536240215, 0.9994862057181094, 0.9641164953258732], [0.23926114869045179, 0.9997248379877104, 0.997425167460772, 0.9932483954473281, 0.9994070612643616], [0.22571172891415447, 0.9975262156039463, 0.994082697517796, 0.9933563003280467, 0.9999795007461626], [0.22379353921937117, 0.9975761517294096, 0.994082697517796, 0.9933563003280467, 0.9999795007461626], [0.25346764585937853, 0.9790523188583713, 0.9796348715884585, 0.9934886967032831, 0.9999795007461626], [0.29050134337138095, 0.9999673374419845, 0.9986996482582203, 0.9881447686006043, 0.9999905156448041], [0.2686546258692609, 0.9996031070391999, 0.9955737474490903, 0.9988784890191332, 0.9997535603136547], [0.28270293883866654, 0.9951761152379321, 0.9900398838114853, 0.9879024929094264, 0.9680179888373986], [0.21738987758701644, 0.9995813270769507, 0.9935702011530221, 0.9497126619984193, 0.9225648625173669], [0.2629543620776875, 0.9938112100044065, 0.994727493012212, 0.9882796509920507, 0.9208592985441172], [0.31077263629841945, 0.977778855543191, 0.9949962913275542, 0.9940605428803426, 0.9537935833960522], [0.3206472536988725, 0.9899759772224721, 0.9999997039164588, 0.9884128054045827, 0.9539557007144406], [0.3359937915788521, 0.9938112100044065, 0.9999993577250326, 0.9882796509920507, 0.9208592985441172], [0.3474476015296683, 0.9998673073503348, 0.999792513147038, 0.9880140231564836, 0.9972195428069536], [0.3244958698820556, 0.994950029294734, 0.9979807563084602, 0.9878576695891068, 0.9936177146809576], [0.34296170086769573, 0.9840900118567041, 0.959481096371733, 0.9267507783990963, 0.9222189602792477], [0.35923441879953627, 0.8811511665377347, 0.9946725800333851, 0.9995087500938191, 0.9970109268285399], [0.35624405058676706, 1.0, 1.0, 0.9809075661515638, 0.9864412535866062], [0.38022908817834494, 0.9937727900077654, 0.9759823825238702, 0.9805289088392488, 0.9886071092620725], [0.36833834188597553, 1.0, 0.9695506817410715, 0.9837950224993484, 0.9861639439210513], [0.32328700288124956, 1.0, 1.0, 0.9809075661515638, 0.9810595396098474], [0.3082056531963481, 1.0, 1.0, 0.9512955899277492, 1.0], [0.33589157648337514, 0.9997357490747248, 0.9999482510706171, 0.9600221387056289, 0.9993839746918018], [0.42280629141745585, 0.9999559189367908, 0.9999712100837791, 0.980461367945702, 0.9999798433282463], [0.39493000778980036, 0.9995745158462996, 0.9990015215231836, 0.9770451959877616, 0.9883448031013901], [0.4046589727330936, 1.0, 0.9999741891164616, 0.9848282987479642, 0.995686007198826], [0.44412188285918086, 1.0, 0.9975752822756287, 0.9861221086911582, 0.9612323206477001], [0.46455973194521366, 0.9999999925219867, 1.0, 0.9842786439838196, 1.0], [0.44591753094652153, 0.9999915128272705, 0.9885033213003339, 0.9915679072542175, 0.9931913481916709], [0.4587665282286234, 0.9684622644901061, 0.9972561113737066, 0.9962411140028608, 0.9790242874242251], [0.48670996150551293, 1.0, 1.0, 0.9353173891513742, 0.9950382480811953], [0.29653434063166945, 1.0, 1.0, 0.9837950224993484, 0.9872287829507005], [0.2790911797393814, 1.0, 0.9998214371792115, 0.9837950224993484, 0.9872287829507005], [0.28533145920907554, 1.0, 1.0, 0.9778185361524324, 0.9899147936640703], [0.2664953484104255, 0.9999950960139575, 1.0, 0.9810039683367069, 0.9972696696175843], [0.24929689349834017, 1.0, 1.0, 0.9777829572170634, 0.9897079419431069], [0.23602968511034855, 0.9998752126355205, 1.0, 0.9810039683367069, 0.9970945110503483], [0.2590827857690857, 1.0, 1.0, 0.9507952546601851, 1.0], [0.2263624816493182, 0.9678333663684625, 0.9972561113737066, 0.9962411140028608, 0.9790242874242251], [0.19465141192691524, 1.0, 1.0, 0.9643727433758456, 0.9890483405615674], [0.21229864355837835, 1.0, 0.9999741891164616, 0.9848282987479642, 0.9861115046893976], [0.34904454515152594, 0.9979037802955705, 0.9956086976405563, 0.985539578917608, 0.9939088801075626], [0.3680036646963505, 0.996131022063698, 0.9915345216281931, 0.9928638533615994, 0.9760416715455451], [0.30705551884589133, 0.9884395731041382, 0.9928205665888221, 0.9996876147760674, 0.9974984336615592], [0.319243138763663, 0.9765360907910343, 0.9949932093450667, 0.9837860205583495, 0.9994832605943494], [0.325655243509438, 0.9503711410904868, 0.9723114848971101, 0.9850085055122757, 0.9991907258408641], [0.29537801429081467, 0.9503711410904868, 0.9879337300547032, 0.9850085055122757, 0.9997114286598825], [0.33779810354528095, 0.9622747169532733, 0.9763730975754036, 0.9273959247848458, 0.9939990479685378], [0.39387184237568823, 0.9909256648786139, 0.9466179619758602, 0.9856862908411654, 0.9952382194428049], [0.4118342678152589, 0.9967565746884549, 0.974628293639536, 0.9848064554135603, 0.9996702550467961], [0.4165454025544736, 0.9971286666884059, 0.9707278920691654, 0.9815652536394571, 0.9924883475182471], [0.43608281930546394, 0.9765360907910343, 0.9949932093450667, 0.9500040244038171, 0.9994832605943494], [0.4557968527469608, 0.9972230839414833, 0.9538564115509809, 0.9513294729872879, 0.9994213749760326], [0.427361223985696, 0.9958910729598914, 0.9462987797647249, 0.930421065886591, 0.9750630740449723], [0.48065782876488955, 0.9967587276861087, 0.994302344937818, 0.9956658480247176, 0.999753225873663], [0.498004998064284, 0.9985662000346707, 0.9985285382463791, 0.9983144427841323, 0.9974979595017313], [0.4656686624537418, 0.9975059965863269, 0.9950696983509405, 0.9852332830773112, 0.9982998837024071], [0.2553860571212083, 0.9979037802955705, 0.9990526852204091, 0.9720259813749799, 0.9950136436586297], [0.22163284466901206, 0.9929848296835219, 0.9952574505248838, 0.9965486300988874, 0.9997852844648499], [0.2512874265025392, 0.9937843752559127, 0.9449579810382666, 0.9831875129426925, 1.0], [0.23956250436255477, 0.9505901743666436, 0.9601078669340324, 0.9503512386086286, 0.9593168916453021], [0.23119841794078755, 0.9548248273561626, 0.9880969440793195, 0.9528058785847782, 0.9750785593955393], [0.20548736887190028, 0.9369559842096359, 0.9442531911092984, 0.9568729943611094, 0.9983376310907454], [0.2811513907040649, 0.9506500689938299, 0.94496136822013, 0.9848636124611705, 0.9992947068117214], [0.29433932306326105, 0.9472024772283653, 0.9449579810382666, 0.9831875129426925, 1.0], [0.2854004473838486, 0.9152613447756994, 0.9931387572756349, 0.9847440485589138, 0.9974927076551287], [0.20944538220404735, 0.9865161291203731, 0.9928205665888221, 0.9994039800858222, 0.9064992738857208], [0.3317905910346427, 0.9957156174282509, 0.9923003159674925, 0.9964551785816411, 0.9915924084204536], [0.34779647955163895, 0.9948940523608459, 0.9998856446580486, 0.9987285175411861, 0.9884283630743679], [0.34122250310390373, 0.9921406553853421, 0.9978246068500704, 0.9999617194136652, 0.9701888074464828], [0.3646755844656883, 0.9914123610240727, 0.99233031973524, 0.9964361079940353, 0.9699149021239992], [0.3953063371091015, 0.9856662642871136, 0.9999988938578476, 0.9796240042370031, 0.9947329447978639], [0.38911754412031174, 0.9884841644281874, 0.9999110186678424, 0.9796240042370031, 0.9914259707499908], [0.38045306403135126, 0.9977647309989421, 0.9923003159674925, 0.9964551785816411, 0.9915924084204536], [0.37772489745331705, 0.9630044425509299, 0.9854431298345582, 0.994291415472953, 0.9747555933157379], [0.26045542853913334, 0.9953432588671828, 0.9942501412628474, 0.9999844713926437, 0.9680815259613136], [0.27312857963183, 0.9949652266441745, 0.9729731120147365, 0.9999898671602679, 0.9538627665492921], [0.29332814092803505, 0.9857963999516033, 1.0, 0.9975670224601411, 0.9514453635414575], [0.2873399690290642, 0.9982456531302911, 0.9922160647607869, 1.0, 0.9538318065879858], [0.28081186406084413, 0.9917299679124263, 0.98494521131674, 0.9787159225877021, 0.9329517173257983], [0.3045650440442623, 0.9900756408255648, 1.0, 0.9836515277035507, 0.9851682366892329], [0.32855553802141163, 0.9927158810343215, 0.978175448272455, 0.9992194131491386, 0.9419457546996871], [0.508270059127103, 0.9933659978378009, 1.0, 1.0, 0.9851682366892329], [0.4981178684803994, 0.9933659978378009, 1.0, 1.0, 0.9851682366892329], [0.4458281376950543, 0.993408022849424, 0.9983760255655233, 0.9995978382156123, 0.9956918293873704], [0.4537045555544736, 0.9836474556776632, 0.9997825217486646, 1.0, 0.9997151238063815], [0.46240608994232957, 0.9895434467205457, 0.999874697422957, 1.0, 0.98870700694102], [0.43234647495169076, 0.9566944086859795, 0.9978993876322356, 0.9991079068205719, 0.9401062492649194], [0.4240445879018109, 0.9566944086859795, 0.9978993876322356, 0.9785243273901016, 0.9615985546407557], [0.47283539460403207, 0.9284085503350873, 0.9932713687995791, 1.0, 0.9656253459941911], [0.4070216039692986, 0.9906414754797964, 0.9544929804748983, 1.0, 0.9685971095365036], [0.3584872986934546, 0.9887694065995207, 0.990021792395321, 0.9844961671905768, 0.9860616655520705], [0.3533422122481648, 0.9887840040030896, 0.990021792395321, 0.9715012664977584, 0.9860616655520705], [0.3442014780923673, 0.997023775175216, 0.9870625937807412, 0.9820718540030837, 0.9665002805974294], [0.3208211034506103, 0.9969584631598645, 0.9893336661779908, 0.9928608806090716, 0.9978634633490628], [0.33524345200505684, 0.9996165624194182, 0.9895488590514726, 0.9951255358861272, 0.9884759972367779], [0.3805770052726207, 0.9763880379668471, 0.9972564703151742, 0.9814063324523272, 0.9916572771800072], [0.3053708168833977, 0.997023775175216, 0.9870256417163191, 0.966693908959776, 0.9849100795997091], [0.31227519814926374, 0.997023775175216, 0.9991548950632064, 0.9820718540030837, 0.9665002805974294], [0.4027235706286977, 0.990060517308274, 0.9926968815567907, 0.9309546451820339, 0.9885595772819987], [0.45001236671123945, 0.9977759477549685, 0.987029560938937, 0.9544146967889005, 0.9960413500794102], [0.43032276418690973, 0.9969560328562108, 0.9991420170218109, 0.9804625252959788, 0.9866173081014892], [0.4134148159057659, 0.9885659709951206, 0.9925898934529535, 0.9796804798970636, 0.999885493243525], [0.4406253908669061, 0.9757889325586001, 0.9906420862161701, 0.9808029643342214, 0.9690308118404307], [0.46198323916941014, 0.9993791174089084, 0.994919036416098, 0.9916762156959427, 0.9966266654870174], [0.4572222985705141, 0.9993791174089084, 0.994919036416098, 0.9915614142435716, 0.9991058913730267], [0.42081382836972475, 0.9446925751902586, 0.9651266496027742, 0.9737065636704307, 1.0], [0.36229768057921047, 0.9881896479187631, 0.990120404881251, 0.9855245409897831, 0.9862624950911623], [0.3378119740109137, 0.9888659113589106, 0.9994997802756234, 0.9907653129430385, 0.9868126633554347], [0.37313468510488645, 0.9903561727592929, 0.9917021391287342, 0.99882806813328, 0.9997740643775955], [0.35511479557896825, 0.9622872223811226, 0.9676619586849537, 0.9999943727623181, 0.9862624950911623], [0.39209415558199223, 0.9606701089227726, 0.9932467246665245, 0.9997651975938492, 1.0], [0.3972513394784253, 0.9800783541722802, 0.9913312107033564, 0.9995849498585418, 0.9992529425140276], [0.3807163645333064, 0.9744734478590942, 0.9923479599915207, 0.9997153332332722, 0.9996793276527269], [0.3272407717425677, 0.9366366017689304, 0.9999597983985932, 0.9999999731879238, 0.9999997529950403], [0.2541718956944278, 0.9957912519369512, 0.9999966015720904, 0.9721542664679763, 0.9999545572448507], [0.2655324716704038, 0.9846624462270287, 0.9992901706522072, 0.9872388586083075, 0.9862632272141253], [0.271863934187681, 0.9658677287796466, 0.9970887184510037, 0.9708735653266345, 0.999999414360421], [0.2907812874639614, 0.9839877634410364, 0.9942805383971001, 1.0, 0.9999614958603907], [0.30913217987294533, 0.9932030816042471, 0.9999599490016322, 0.9999999981125923, 0.9999998339387632], [0.3145835743769314, 0.9899162663175768, 0.9999228193453359, 0.9974349805718955, 0.9999545551725826], [0.46201763036411836, 0.9984828161362305, 0.9990081290506931, 0.9996027242971898, 0.9999787923667401], [0.4745843239207217, 0.9877465811244375, 0.9997963962493208, 0.9996138019416072, 1.0], [0.47915608907367935, 0.9999231122938042, 0.9998902733940652, 0.9990483311110617, 1.0], [0.5001038207922438, 0.974554955440999, 0.9989796607781662, 1.0, 0.9999571414634035], [0.48904947628300777, 0.972671398301386, 0.9949371032110936, 0.9999998348996212, 1.0], [0.4507237949809368, 0.9615517931452005, 0.9826301918422159, 0.9780601552325845, 0.9985596764684013], [0.4200894798779067, 0.9744734478590942, 0.9984863221818926, 0.9999989741684182, 0.9979371324801259], [0.43400564711503187, 0.9743545248698188, 0.9922861902176863, 0.9850567365192248, 0.9999704090594643], [0.44280711099312536, 0.9741787411739495, 0.9997834019026237, 0.9974983247749365, 1.0], [0.4095010654113991, 0.9388649534212863, 0.9768120783926096, 0.9936516438204237, 0.9999951480562663], [0.36197689973414743, 0.9839744084931026, 0.9906840563071858, 0.9900828388149577, 0.9879730978922686], [0.3846860085481586, 0.9893261692011526, 0.9930830326427053, 0.9834045166229027, 0.9896260848969788], [0.35534880322869256, 0.9895461485005161, 0.9716125661478501, 0.9977109353788168, 0.9885674563619384], [0.32241814922686074, 0.9999900072387612, 0.990411486282781, 0.9843703854969631, 0.9796358297810098], [0.31800993542142564, 0.9893261692011526, 0.9927341662871965, 0.9830705509968061, 0.9779744871571776], [0.3374578998108734, 0.9878357192605212, 0.9992520153298966, 0.9858527366095295, 0.9837880210793476], [0.3980732849491021, 0.9841155637645062, 0.9906886377435501, 0.965262226514893, 0.9999679858932938], [0.3420154350810033, 0.9839744084931026, 0.99957141077274, 0.9291024322263244, 0.9879730978922686], [0.2580421920557606, 0.9744645045359352, 0.9887398503117739, 0.991570492805563, 0.9952281863448319], [0.27298724663905183, 0.9744645045359352, 0.9906938491206937, 0.9915073310997299, 0.9991072646796177], [0.30165076848035155, 0.9628719510874381, 0.9991653861487987, 0.9878185124227061, 0.9915315039147371], [0.290429985819065, 0.9893261692011526, 0.9929345872221373, 0.9830705509968061, 0.9779744871571776], [0.2715019709069123, 0.9872507179454993, 0.9477715091803488, 0.9893133783431649, 0.9881248641104541], [0.28548797442590845, 0.9700575414210031, 0.998441298147521, 0.9372581835330075, 0.9743668849799678], [0.25116490750078535, 0.9739171524958682, 0.9999071686950143, 0.9923356707041459, 0.9335326003077129], [0.40791678864173603, 0.9798914605788673, 0.9074347701771956, 0.9844850309445085, 0.9738445019986193], [0.37870441672130184, 0.9798914605788673, 0.9074347701771956, 0.9844850309445085, 0.9733142414560483], [0.4314380393194681, 0.979578110833257, 0.9303567753396341, 0.9844850309445085, 0.9852905186866677], [0.3630727809136965, 0.9995517999534783, 0.9996395104583924, 0.9816308682895529, 1.0], [0.34639211715983187, 1.0, 1.0, 0.9998686190874523, 1.0], [0.3202915215273448, 0.9982287806403747, 0.9999914792090655, 1.0, 0.9997186998070489], [0.3284288203198769, 1.0, 1.0, 0.999999512371828, 0.999964818524522], [0.31359203046379364, 0.9727835682690902, 1.0, 1.0, 1.0], [0.38556192847246423, 1.0, 0.9996552486683713, 0.9504374771699377, 0.9869495598734462], [0.3458440024140708, 0.923717244052999, 1.0, 0.999870930327896, 1.0], [0.43787289863751205, 0.9996618834209545, 0.9999936179526682, 1.0, 1.0], [0.4306013107326247, 0.9996067124157076, 0.9991828078990673, 0.9981813523069617, 0.9873640632010505], [0.4143021428366868, 0.9996044563514713, 0.9995200195597298, 0.9999987480823553, 0.9992803385563997], [0.3979972088775155, 0.9999811385514058, 0.9372982485611284, 1.0, 0.9999982997206076], [0.16463372904172718, 0.9937691916280603, 0.998651104157445, 0.9997021598787874, 0.9999921746088264], [0.15076313368003916, 0.9991937221149538, 0.9986311623890867, 0.9999999999691368, 0.9999974700150764], [0.1899214679999155, 0.9999998803904196, 1.0, 1.0, 1.0], [0.19723155712897233, 1.0, 1.0, 1.0, 1.0], [0.21637589538875768, 1.0, 1.0, 1.0, 1.0], [0.21254411676523194, 1.0, 1.0, 1.0, 1.0], [0.2628943587628862, 0.9993993308895761, 0.9999322958446709, 0.9894795900183969, 0.9999974877596978], [0.23721728338117914, 0.9921870802758949, 0.991640673205231, 0.9891367434155501, 0.9937369900360921], [0.2437625397850134, 0.999643159218163, 0.9999992096006701, 1.0, 0.998936875553476], [0.2915475628450148, 1.0, 0.9990296577179172, 1.0, 0.999997132529951], [0.2793859182080892, 1.0, 1.0, 1.0, 1.0], [0.30447481164599877, 0.9992898487117056, 1.0, 1.0, 0.998936875553476], [0.27653412822458007, 1.0, 0.9678531413090461, 0.999999512371828, 0.999964818524522], [0.35524541397835413, 0.9999772742322658, 0.9984460099233227, 1.0, 0.9999999998593002], [0.3379058682498011, 1.0, 0.9919442506751979, 0.9999403073435572, 0.9999999718983081], [0.3681912202581133, 0.9984347614510909, 0.9633460005857424, 1.0, 0.9735071488622774], [0.36725228145339917, 1.0, 0.9633466291487189, 1.0, 1.0], [0.3800083739000122, 0.9998154056336831, 0.9912506449084593, 0.9997874756239893, 0.999999536691268], [0.39113073595754866, 0.9999999214698977, 0.991737865026251, 0.9996480189149215, 0.9974189750647168], [0.41103139611732054, 1.0, 0.9929389983053596, 0.991715857426663, 1.0], [0.31477611103469033, 1.0, 0.9402108198488832, 1.0, 0.9999999722781799], [0.33171440910892014, 1.0, 0.921878985626845, 1.0, 0.999840332732476], [0.22080952086207783, 0.9999999850104091, 0.9665524628875392, 1.0, 0.999999976612221], [0.23288601954037053, 1.0, 0.9661487162444283, 1.0, 1.0], [0.2638345177625726, 0.9999999497086529, 0.9533327556573336, 1.0, 0.9999998333877624], [0.25698990800042504, 0.9999957733273115, 0.9692147638395, 1.0, 0.9999997393337404], [0.2500975927197587, 0.9999987845141607, 0.9775919847577341, 0.9998371673888684, 0.9999998749378535], [0.27174252473940735, 0.999999998890972, 0.9869893486653537, 0.9987107471735206, 1.0], [0.2836594100743497, 0.9999517214865132, 0.9932404212037471, 1.0, 1.0], [0.2877524709967748, 1.0, 0.9869207928368269, 0.9987107471735206, 1.0], [0.3019107100692584, 1.0, 0.999658602044081, 0.9920992680312224, 0.9999931884385552], [0.2971512052562575, 1.0, 0.9651053312795148, 1.0, 0.9881528980294867], [0.3357205044319492, 0.9996280531789751, 0.9999337666231549, 0.9997912604025518, 0.9851234768024707], [0.3479314786292152, 0.9995652845787153, 0.9998778876265035, 0.9993876050049268, 0.9998694878653628], [0.3614579074774337, 0.9999971822773984, 0.9551697071752222, 0.9621388432609492, 0.9927467794042196], [0.37552211801126983, 0.9999971931343057, 0.9924068173786497, 0.9595917787787767, 0.992853537463365], [0.3667623790011605, 0.9999981775949784, 0.9924068173786497, 0.9595917787787767, 0.992853537463365], [0.3945806025876227, 0.989008994719182, 0.9905508367458735, 0.9867880086620721, 0.9985266278023078], [0.3815459599185902, 1.0, 0.9999721273262464, 0.9984975339513715, 0.9997568438766206], [0.40932639299927437, 0.9700307127388089, 0.9906246549857924, 0.9903133740992901, 0.9997708421579674], [0.30457021082936286, 1.0, 0.9862448949257173, 1.0, 1.0], [0.2924827448837981, 0.9986001588853235, 0.9960917851654321, 0.9995320590705543, 0.9963137725557554], [0.2841010007336149, 0.9999509579402073, 0.9981890909399651, 1.0, 0.99803577447666], [0.2726873918110517, 0.9999509579402073, 0.9981890909399651, 1.0, 1.0], [0.2656756529909025, 1.0, 0.9983634774800068, 1.0, 1.0], [0.24445478356018674, 0.9985887911305403, 0.9914980811162587, 1.0, 1.0], [0.23080604295455065, 1.0, 0.9999907504965004, 1.0, 1.0], [0.25895837424016055, 0.9955061679655794, 0.994587105778727, 0.9813021359600373, 0.9653246323631512], [0.4972627887206639, 1.0, 0.9964005992038406, 0.9997205901529355, 1.0], [0.48655204802295215, 0.9986980532023157, 0.9999971253731043, 0.9999716647150401, 0.9992296961864027], [0.47011757902052076, 0.9996951564107989, 0.9996899185306767, 0.9992276104662864, 0.9997573390292345], [0.47425852332861107, 0.999325504260665, 0.9999995880249878, 0.9992276104662864, 0.9997077465369902], [0.43372279528799396, 0.9995652845787153, 0.9998778876265035, 0.9993876050049268, 0.9999382014664735], [0.4426707544468314, 0.9903600957196523, 0.9906246549857924, 0.9988102857775726, 0.9903297087628541], [0.46040159321434526, 0.946332633654611, 0.9941119589214528, 0.9999998764304978, 0.9973022981700649], [0.455268136431095, 0.9417490677808095, 0.9995713964146341, 0.9960252053930688, 1.0], [0.4224078400588517, 0.9920029457366584, 0.9898770689620684, 0.9335845833509854, 0.985475090655329], [0.3382789223559876, 0.9977596636662502, 0.9989190887030104, 0.9914170704094164, 0.9888426533818286], [0.3140834690547798, 0.9984913219796813, 0.9723635255481963, 0.9848540639772689, 0.9891578528215393], [0.318524023663104, 0.9954455548178002, 0.9798194351977019, 0.9980602974142057, 0.9880547759427802], [0.4082597799300915, 0.9938670084170431, 0.9997237102974067, 0.9980602974142057, 0.9888426533818286], [0.38943108405175597, 0.99482462589013, 0.9990790250988683, 0.9914265495226784, 0.9871061318665653], [0.39599773425915274, 0.9932196653973437, 0.9990938406867675, 0.9909545262223751, 0.9933736068423066], [0.37895319888324575, 0.983205288683185, 0.9953014467639444, 0.9995549443421639, 0.9738029293670261], [0.3312963385100779, 0.9996524370434701, 0.9848545218726708, 0.8989830416365578, 0.9880933871403995], [0.27858948818647794, 0.993685692737877, 0.996094108587956, 0.9971141159569753, 0.9827798937653597], [0.2654364225155514, 0.9950945222388928, 0.9998401343160388, 0.9911582795561795, 0.9822207107168816], [0.29264341800115234, 0.9937900551622236, 0.9992313805055094, 0.9887832686325505, 0.9888593332519415], [0.21619152843054973, 0.9890733984939231, 0.9999961173153088, 0.988462288886883, 0.9902189986357615], [0.22636465008223708, 0.9928864469642918, 0.9909235732050922, 0.9966734693689783, 0.9773729297488477], [0.2579108149190639, 0.9954455548178002, 0.9798194351977019, 0.998091467176377, 0.9880107475464023], [0.23878238472615532, 0.9891662713649453, 0.9785535903942587, 0.9881021678846216, 0.9902189986357615], [0.2500545703030358, 0.9462042837936872, 0.9992449584015177, 0.9891344316309187, 0.9932558218444762], [0.3002141322118955, 0.969590732274791, 0.9971837674878649, 0.9882521089920348, 0.9197565210392475], [0.46437126969096587, 0.9939786693980213, 0.9997357212266625, 0.9959914937012224, 0.9885195162577731], [0.4857454863805458, 0.986535971421784, 0.9999961173153088, 0.9866641889779809, 0.9901812828975307], [0.4306928661287842, 0.9601417623782412, 0.9937368850103141, 0.9885033084250766, 0.9837819558009201], [0.4418818769058134, 0.9904723660842126, 0.9971210562537414, 0.9888435705453138, 0.9614667462697072], [0.4551039712021998, 0.9460491168768299, 1.0, 0.9294824919960855, 0.98373017826215], [0.4196219939629643, 0.9851942554677525, 0.9990888603155428, 0.9914265495226784, 0.9105462352733409], [0.3496804076694596, 0.9888302767711139, 0.9942647598725501, 0.9952863465254042, 0.9877459637174532], [0.3411383377621051, 0.9962590854047282, 0.9939510826570441, 0.9952863465254042, 0.9999973450381096], [0.35954239631348817, 0.9952556139491732, 0.9911538098629817, 0.9745415131848414, 0.9875409263882587], [0.3299890795825401, 0.9885600354138215, 0.9720988592335108, 0.9720688881908578, 0.9974785760705612], [0.40716474210493586, 0.9890910473042045, 0.9891823430523785, 0.9985330424496921, 0.9998364321565288], [0.3151636689542998, 0.999622948030214, 0.996492411599288, 0.9999995483819356, 0.999998001561504], [0.2980460731751386, 0.9998188483987978, 0.998325891131791, 0.975613374733409, 0.9998671521767962], [0.2523989906806383, 0.9885843041161312, 0.9720988592335108, 0.9993764803215083, 0.9979537380993075], [0.27273447487491176, 0.9954151424312339, 0.992485091896007, 0.9866086647807366, 0.9748605026223093], [0.2630937036355219, 0.9939661294467423, 0.9855588053723375, 0.9773886166834556, 0.9750588783928145], [0.2847015348104883, 0.9885600354138215, 0.9720988592335108, 0.975613374733409, 0.9906698224520045], [0.3886998824952116, 0.9065064248948815, 0.9861080898654534, 0.9649713092632731, 0.994436451153107], [0.3959837653420043, 0.9486292714534907, 0.989094218428182, 0.9754821618419405, 0.9887770527116326], [0.5238786038373977, 0.9208963548494903, 0.9959443283845429, 0.9911948394833708, 0.9999941887025937], [0.5332081786453482, 0.9473683762580806, 0.9859079581986555, 0.975880906405132, 0.9905629028821614], [0.5028340287876929, 0.9704300924320493, 0.9792407890129905, 0.9992802498197951, 1.0], [0.48798815732470313, 0.970320355021165, 0.9859425449672257, 0.998590501281955, 1.0], [0.5015885380612195, 0.986385430186993, 0.9609564398895257, 0.9659381558007476, 0.9992497207848213], [0.46880041294741226, 0.9299795954050531, 0.9890926605509667, 0.9659381558007476, 0.9995968750147729], [0.4766625857162202, 0.9267289200253862, 0.994547739480106, 0.9773198650355679, 0.9992547518708792], [0.4844274117443068, 0.91257285085414, 0.9860438704922064, 0.9659381558007476, 0.9992497207848213], [0.4378576456090249, 0.9387644674117779, 0.9837563671624084, 0.9702278977688911, 0.9936354432095139], [0.4259786755064138, 0.9864526674801635, 0.9713593845526494, 0.9458244061878361, 0.99023239297718], [0.4419806121985179, 0.9864526674801635, 0.9713593845526494, 0.9458244061878361, 0.9908984622624399], [0.4574015879480947, 0.9687508356945479, 0.9859425449672257, 0.9443211290342198, 0.9842215554793211], [0.3388593372486558, 0.9849976979072881, 0.9989186977404639, 0.9928777428068774, 0.9998722352920633], [0.3482040702166179, 0.9840816730157169, 1.0, 0.9888818591461569, 1.0], [0.3680329071755273, 0.9679776776892718, 1.0, 0.9708025997183373, 0.9989950220474008], [0.38065474818147904, 0.9990667132894447, 0.9994444522452286, 0.9932777900136234, 0.9994548310481166], [0.36248008158763767, 0.96865703123538, 0.9999999816239606, 0.977910766640908, 0.9577804655945895], [0.3858734659409867, 0.9746089121949508, 0.9675266543809923, 0.9985483859708214, 0.9996147149353896], [0.3274399037883058, 0.9961146954496856, 0.9523666317535842, 0.988325279213356, 0.9988785583083455], [0.31260917001409216, 0.9479182332544775, 0.9722523108343822, 0.9810470389724353, 0.9700489207790902], [0.41172097174819966, 0.9848453025679386, 0.9957632710927731, 0.9722347034210872, 0.9987339205526994], [0.41774870367444583, 0.9850571616737614, 1.0, 0.9753135200967646, 0.9759474702674409], [0.43268975802726267, 0.9979859604973591, 1.0, 0.9811354414406885, 1.0], [0.2159978691499768, 0.9948263971595108, 0.999904763767896, 0.9665637765878221, 1.0], [0.2848137783290497, 0.9666823865973238, 1.0, 0.9753409753702466, 1.0], [0.2734808858601807, 0.954224670989635, 1.0, 0.9770622259951806, 1.0], [0.26778465934587686, 0.9696002766452474, 1.0, 0.9811352826063686, 0.9956347945299359], [0.25635193961816755, 0.985870057328679, 1.0, 0.978485908582475, 0.9998657453661396], [0.24866469460259533, 0.9698719612791209, 0.9985436567020646, 0.9634318173073267, 0.9873248043300406], [0.24357308576101971, 0.9630374625702026, 0.985457080244624, 0.9685723402757587, 0.9999609386557858], [0.20081109310958692, 0.968893377775342, 0.9528660925384758, 0.9974138224772593, 0.9999897971673584], [0.23341211488339164, 0.9463527366681479, 0.9568759865714724, 0.9813117686894242, 0.9995462522636063], [0.23769318197515438, 0.9463527366681479, 0.9569271954916018, 0.9813174594233206, 0.9995775294414], [0.34850046525028733, 0.9862584945574167, 0.9978089921906702, 0.9864597724255265, 0.9998067603802836], [0.36008731259586885, 0.9862584945574167, 0.9978089921906702, 0.9868316487726941, 0.9998067603802836], [0.3716140720811263, 0.9997321062154471, 0.976349086384145, 0.9865210011086812, 0.9989871537294004], [0.33828655223922155, 0.9917662984844637, 0.9848121680236268, 0.9993535467968739, 0.9999977954729248], [0.3201801838313021, 1.0, 0.9884988316018983, 0.9999820131581317, 0.9999999684653313], [0.38412261813408716, 0.949108813689174, 0.9944588410993348, 0.9999427213505888, 1.0], [0.256500121416188, 1.0, 0.9711439777546195, 1.0, 1.0], [0.2708289057770842, 0.9998746366935588, 0.9739971016800442, 1.0, 0.9999568127718532], [0.2683900778551171, 0.9998746366935588, 0.9850181811047063, 1.0, 0.9999998094076686], [0.2992808452546726, 0.9979517483086832, 0.968950916873958, 0.9986230834522808, 0.9999733732343282], [0.31187219169838687, 0.9915940752699686, 0.975004006185917, 1.0, 1.0], [0.28523394047200124, 1.0, 0.9927472310756258, 0.9999104977669662, 0.9999984895465632], [0.28358945149593906, 1.0, 0.9927472310756258, 0.9999075667317222, 0.9999984895465632], [0.3053557814897822, 0.9998920352098419, 0.9985328172141568, 0.9883580869522567, 1.0], [0.45272238914089846, 0.9799825978544005, 0.9758499478598713, 0.9999914408557595, 1.0], [0.44193687267675547, 0.9998575906250019, 0.9758499478598713, 0.9999914408557595, 1.0], [0.3930376833359654, 1.0, 0.9893150130794545, 0.9999863260963967, 0.999970272635538], [0.4121068594319062, 0.9999629991011313, 0.9746370755604734, 0.9999916490190496, 1.0], [0.42176039625719897, 0.9998987020123387, 0.9995258799471316, 0.9865918919133352, 0.9999921398698577], [0.40768255937362335, 0.9816153145016883, 0.9750601553673192, 0.9766151890371247, 0.9999796950186685]], "centroid": [0.3508936878183737, 0.9866742863070436, 0.988864292628109, 0.9870574511210521, 0.990550262057764]}, "17-1": {"solutions": [[0.611557568631911, 1.0, 0.9999657796177255, 0.9889009290522156, 0.9999241130052354], [0.6034117438503042, 1.0, 0.9974633971335384, 0.9940513079078462, 0.999999999264612], [0.6234616776008631, 1.0, 1.0, 0.9961637482679271, 0.9999997708065514], [0.6295518681828646, 1.0, 0.9998095216242314, 0.9992816563227287, 1.0], [0.6385640866733087, 1.0, 1.0, 0.9901053565128334, 1.0], [0.6482423039028782, 1.0, 0.9998943469178412, 0.99634818369737, 0.9999999998948328], [0.6573738197501197, 0.9998008763142089, 0.9996104275147971, 0.9891865571224295, 0.9999999309676546], [0.5139245092803031, 1.0, 0.9890855342625006, 0.959039777637273, 0.9945259657893035], [0.5012271992700346, 1.0, 0.9889420270133809, 0.9590028688629236, 0.9999983859324183], [0.5210292264089682, 0.9840499809239276, 0.9996633174467656, 0.9576304785854468, 0.9999894446888136], [0.5971164866106341, 0.9763911085871515, 0.9758466249308217, 0.9803518770535261, 1.0], [0.5822427939734759, 0.9758324819922253, 0.9998444139352188, 0.9962289377243986, 0.9999756377212952], [0.5702920593089225, 1.0, 0.9999652524431474, 0.9929920918222936, 0.9999195305964759], [0.5630283839714709, 0.9994895921369394, 0.9923646652808243, 0.9931993712902635, 0.9999994109460425], [0.5363421930855192, 0.9999996371907993, 1.0, 0.9933586111165905, 1.0], [0.5615964739588004, 1.0, 0.9889420270133809, 0.9574299375622457, 0.99992351809437], [0.5511500209188387, 1.0, 0.9860418831685283, 0.9682029712982918, 1.0], [0.5443199934919644, 1.0, 0.9860418831685283, 0.9486054881963536, 1.0], [0.5775235255406694, 1.0, 0.9966244270138261, 0.945374675351737, 0.9762002369220693], [0.5720757318583227, 0.9943502771325818, 0.9947423962360556, 0.9792344644939313, 0.9995699563965453], [0.5806292597058867, 0.9949259961430221, 0.9979807563084602, 0.9878567326200184, 0.9968708432665492], [0.5671835943827895, 0.9924518842220912, 0.9996577016918534, 0.9939032742190576, 0.9932464332361023], [0.5868758785201299, 0.9617471785824421, 0.9973818608761758, 0.9835101709920603, 0.9988220994030135], [0.5483020531828844, 0.9565019014396596, 0.9992233515865357, 0.9835101709920603, 0.9988220994030135], [0.6118373538814587, 0.9995490275930805, 0.9947423962360556, 0.9969495143111141, 0.9984450497173513], [0.6343769909067309, 0.9995105816159755, 0.999937164898428, 0.9812801247463881, 0.9752697570489305], [0.6463685017899183, 0.9951280436889784, 0.9999139756338109, 0.9790481716446708, 0.9977261656315515], [0.4914330858894767, 0.9999781451599317, 0.9992739829264657, 0.9828905752352068, 0.9988220994030135], [0.5146884619418383, 0.9999781451599317, 0.9992495227199397, 0.9631119533318221, 0.9988220994030135], [0.5026969510586516, 0.9999781451599317, 0.9992739829264657, 0.9627787977867784, 0.9988220994030135], [0.47985587871909935, 0.9999257198214143, 0.9876497497794268, 0.9647165030821372, 0.9779663689740118], [0.5323365876524988, 0.9999548064228203, 0.9947423962360556, 0.9972854772186219, 0.9908167183373126], [0.5253686783637863, 0.9995490275930805, 0.9947423962360556, 0.9969495143111141, 0.9894317069531071], [0.6632359207354924, 0.9893466825012558, 0.997155328930317, 0.9498167014325651, 0.9448697816721476], [0.6512631570539873, 0.9883314508959394, 0.9802122666775022, 0.9498167014325651, 0.9591616979184949], [0.6850675106390254, 1.0, 0.999906261025379, 0.9533008519071693, 0.9994767215056612], [0.6299914227618288, 0.9324278677057138, 0.9925627982005424, 0.991385502463727, 0.9608967090137249], [0.5798795392825854, 0.9999788407259939, 0.995363616692178, 0.9784540548001541, 0.9986043387941046], [0.607400285565308, 0.9999998841116202, 0.9999998628348054, 0.9841095035393841, 0.9988555552497068], [0.5973886219573854, 0.999765031951893, 0.9999540869521639, 0.9881959933964339, 0.9999813984525726], [0.5893107281638895, 1.0, 1.0, 0.9643727433758456, 0.9703272894110052], [0.5720687783742678, 0.9972519246929431, 0.9895293297508929, 0.9455865342407269, 0.9706728062792892], [0.5994077379475371, 1.0, 1.0, 0.9970690707078906, 0.9697928341451096], [0.5569645478361832, 0.9989086760921202, 0.9999771472636552, 0.9646947242570292, 0.9998021621482336], [0.5649814227118416, 1.0, 1.0, 0.9512955899277492, 1.0], [0.5389688570627615, 1.0, 0.9983033601093029, 0.950752178835874, 0.9995508587264587], [0.6341206247291534, 0.9982603723280217, 0.9988892088781063, 0.9897579549203143, 0.999990865288485], [0.6256687556744616, 1.0, 1.0, 0.9800421329405715, 1.0], [0.524123936068094, 0.9809701051558549, 0.9991338603720228, 0.9951056254863914, 0.9992199043676057], [0.5150586010630375, 1.0, 1.0, 0.9911118652287657, 0.9998505055904678], [0.5058746826129565, 1.0, 1.0, 0.9979851878003643, 0.9998569399425996], [0.5420637007735268, 0.9999999994965507, 0.9948495292481372, 0.9837026099463244, 1.0], [0.6500603791573094, 0.9998013316249231, 0.9999928096804316, 0.9665126441118737, 0.9719351509685972], [0.6839960912191816, 1.0, 1.0, 0.9642610938143741, 0.9665071081923706], [0.6791570952089915, 0.9981434348683289, 0.9998403183135465, 0.9693101930541785, 0.9719550530456629], [0.6561568977143817, 0.9999695764931049, 0.9965514584264306, 0.9948960001202556, 0.999745108380943], [0.6686187024447954, 1.0, 1.0, 0.9769512354882958, 1.0], [0.6733469445001511, 1.0, 0.999994828964247, 0.9694462663566, 0.9872060212406241], [0.7081725881135275, 0.999667234213927, 0.9896664429387246, 0.9820625035698297, 0.9949668499014315], [0.689588029403446, 1.0, 0.9999527017198876, 0.9931116814384013, 0.9997188766428486], [0.7000003784910116, 0.999667234213927, 0.9999311380767303, 0.9953371000926637, 0.9946586865048942], [0.697239860811081, 0.9976896560820394, 0.9964638248241335, 0.9936093247146566, 0.999745108380943], [0.7196342216043615, 0.9841326273810576, 0.9999743041335208, 0.9819573414218045, 0.994967326395009], [0.7295870732879216, 0.9972261602441109, 0.9896664429387246, 0.9455865342407269, 0.9949668499014315], [0.48515666833973525, 0.9123695627255031, 0.9998154576171684, 0.9932677566709679, 0.9950382480811953], [0.5961467492857621, 0.9938923109290003, 0.996558516113006, 0.9876388385955718, 0.9928908616507175], [0.5608928374009566, 0.996246376130035, 0.996558516113006, 0.9783283918785254, 0.9891263741435926], [0.55346884450684, 0.9889108026622341, 0.996558516113006, 0.999869131174458, 0.9976612924659013], [0.6416740227499435, 0.9587296408150026, 0.9981275634126859, 0.9501408086713677, 0.9998780565942227], [0.6223138049653663, 0.9401268408697221, 0.9938225504496417, 0.9620942288926948, 0.9948560858969003], [0.5371220485972606, 0.9695123205733254, 0.9942478461147561, 0.9369586919887746, 0.994862360279583], [0.5292696441737718, 0.9667590668073166, 0.9973037764791498, 0.9418946430073943, 0.9949748396097363], [0.5807560175888633, 0.9938923109290003, 0.8955523075740053, 0.9783283918785254, 0.9992429362140197], [0.5502858030104133, 0.9955176468601233, 0.9177203929731274, 0.9559998005355975, 0.9997527334513339], [0.5210832272898958, 0.9984817590642953, 0.9467561476703452, 0.9852789830338171, 0.9935247013514661], [0.6480868006197376, 0.998466955654333, 0.9972871529262465, 0.9986073220283498, 0.9967543609054229], [0.6666040689014707, 0.9996405969404552, 0.9959726708314005, 0.9985878677219331, 0.9989297947987303], [0.6798680231548356, 0.998466955654333, 0.9944073386632676, 0.9986073220283498, 0.9967543609054229], [0.6739989846826232, 0.9986812661077566, 0.9998604432766116, 0.9880007761170312, 0.9918662965541264], [0.6973198088660865, 0.9542636493378419, 0.9931387572756349, 0.9985944635599286, 0.9974927076551287], [0.7072973781689448, 0.9503711410904868, 0.9879337300547032, 0.9988306884450511, 0.9997114286598825], [0.7560011953968975, 0.9881111355813147, 0.9965164339610149, 0.9983093975904268, 0.9994197291600451], [0.7673376564422612, 0.961477436311868, 0.9913449636712541, 0.9870990383105765, 0.9878344462159571], [0.7281688485294006, 0.993686290941619, 0.9950177285433268, 0.9870924648898802, 0.9876001068200896], [0.7169561530113868, 0.9884395731041382, 0.9928205665888221, 0.9986028498348772, 0.9974984336615592], [0.7448292175374913, 0.9549860898186403, 0.9952119664085048, 0.9508497917993249, 0.9988435202706898], [0.7404236873361658, 0.9548512937158586, 0.9322118827543299, 0.9954744496667953, 0.9994049803069724], [0.6197299851531836, 0.9941343608834181, 0.999646571463642, 0.9999910213508807, 0.9931748890631781], [0.6099651804091811, 0.9941847930875187, 0.9997359397255287, 0.9999910213508807, 0.9936804864769456], [0.6432649048089988, 0.9980099682559027, 0.995416951173951, 0.9997348926133306, 0.978060522022274], [0.6312086836727944, 0.9968277732258457, 1.0, 0.9938945974239739, 0.9678183312831053], [0.6319763742628631, 0.9974162090089886, 1.0, 0.9933488910490795, 0.9682508522521183], [0.656657002185639, 0.9941343608834181, 0.9999991422537825, 0.991132847648797, 0.9951453276106873], [0.6693120084941195, 0.9904128625461956, 0.9944969201517172, 0.998494880653414, 0.9997707931695018], [0.6876707585423778, 0.9881580987120758, 0.9845106624178442, 0.9795436702391556, 0.9885611469707959], [0.6636800781761331, 0.9875212575201293, 0.9698095773013472, 0.9871044050315597, 0.9913866430984107], [0.642158817918144, 0.9677038132030044, 0.9708007908858238, 0.9872725833553851, 0.9894216824655391], [0.5250676155308607, 0.9878728554215414, 0.9858488471902168, 0.9640934243427016, 0.9710071656790085], [0.5336985950384827, 0.9984536520527559, 0.9858488471902168, 0.9640934243427016, 0.991675065177413], [0.5773730138554883, 0.9889483396386857, 0.9998967972138117, 0.9999802959119012, 0.9693990134694378], [0.5675662207812459, 0.9898193025017019, 0.9929975682937849, 0.9875753032003137, 0.9899448483764037], [0.5519389911255359, 0.9923286093047772, 0.9864239853636686, 0.9884640091641982, 0.9888222571981803], [0.5565751629601114, 0.9953587911590829, 0.999209970607153, 0.9875473356742888, 0.9773846493053351], [0.5377044638489881, 0.9952358821169369, 0.9999909215221778, 0.9873951016991972, 0.9691156211313723], [0.5905925732190713, 0.9901897893136062, 0.9928917970695964, 0.9938969881750553, 0.9412482767695654], [0.6044305292125505, 0.9941807638569262, 0.9171755694440292, 0.9999974430672871, 0.9702480063134495], [0.7369794321236576, 0.9963526176365001, 1.0, 0.9931361667923033, 0.9894763508348294], [0.7530313981655788, 0.9942117247576492, 0.9917767621338465, 0.9832380690866971, 0.9690781116124687], [0.7491878582263987, 0.996296755950454, 0.9706507181870203, 0.9932479697656847, 0.9929832188420732], [0.6821121500590096, 0.9980099682559027, 0.999998090078721, 1.0, 0.9684128548993084], [0.6966755844240116, 0.9980099682559027, 0.9999985405895385, 0.9994518335756764, 0.9687284516886229], [0.7074899594985828, 0.983699019062047, 1.0, 1.0, 0.9701399625252525], [0.7050628126900598, 0.9906414754797964, 1.0, 1.0, 0.9701399625252525], [0.7160538705110586, 0.9977726016860278, 1.0, 1.0, 0.981248425319633], [0.7238041229112311, 0.995476242812394, 1.0, 0.9861971946605895, 0.9693815891130901], [0.7635402069820487, 0.9917299679124263, 1.0, 0.992201931716254, 0.9344226997990182], [0.7733172703249317, 0.9463398282440937, 0.9942424180764609, 1.0, 0.9689667088759911], [0.7684832876041708, 0.9454873261439171, 0.9924247350341601, 0.9988052222663458, 0.9954796448679897], [0.7786826070470488, 0.9748834546822692, 0.9969041279959612, 0.9794658255746717, 0.9951667678011027], [0.7323440789491757, 0.9925814075766173, 0.9999632636040827, 0.9263117924703501, 0.9993997479455162], [0.634144849986243, 0.9988125102794233, 0.9954520127314885, 0.9856128213312576, 0.9887665007710252], [0.6074766013518008, 0.996684002807403, 0.9748590665805252, 0.9844495512929183, 0.9921564197296056], [0.606543496626058, 0.9969627555658024, 0.9873679873847904, 0.9937029737842613, 0.9965928565854588], [0.6526826304987025, 0.9890571038755146, 0.9956346068727218, 0.9714092826535288, 0.9888101295828654], [0.6442704490379044, 0.9788998091233951, 0.9925663715487265, 0.9846070746673793, 0.9991806494896908], [0.6294271444616086, 0.9884178827504829, 0.9589385222229937, 0.9918623026334118, 0.9865341861524128], [0.5894920289569416, 0.9757889325586001, 0.9906420862161701, 0.9805326340882433, 0.9690308118404307], [0.580014471062221, 0.9890621419002489, 0.9966839039063147, 0.9995053423167868, 0.9887536668708137], [0.7242170483333226, 0.9989915559107873, 0.9968515595039422, 0.9984536894613115, 0.9860530526306642], [0.7352164183310602, 0.99615408509683, 0.9932798104702921, 0.9963331414999703, 0.9861105481094817], [0.7695196919786782, 0.9890350641314446, 0.9925896321330464, 0.976441962843284, 0.9913072965040426], [0.7509340799278428, 0.9703847586803472, 0.9956346068727218, 0.9910520356572593, 0.9985877234816293], [0.7058929975969508, 0.9878974264534465, 0.9924900756087058, 0.941938806894869, 0.9860375685152079], [0.6683001316861562, 0.9651023498260062, 0.970765432831324, 0.9985402298160715, 0.9960566921457192], [0.6997311287311357, 0.9908394451936275, 0.9924518033344426, 0.9845047819537316, 0.9863938608797926], [0.6889727603233886, 0.9965825961509297, 0.9948366265678371, 0.9914595876797663, 0.9926852556405298], [0.6783103732926845, 0.9920933215870147, 0.9916701824425903, 0.9978044065692137, 0.9888101295828654], [0.4895264758419075, 0.9875488667284636, 0.979671931127911, 0.9776331207628497, 0.951197528152128], [0.5102676216297791, 0.9969627555658024, 0.9873679873847904, 0.9934585627627371, 0.9965928565854588], [0.5441692351601499, 0.99615408509683, 0.9933530888034852, 0.9963649501110502, 0.9887906758174099], [0.5400220290261489, 0.9969687927064027, 0.9647710811766549, 0.9754316006886775, 0.9993227262583374], [0.5249925600936636, 0.964560532575349, 0.9498373358784367, 0.991678106469173, 0.9682774867039214], [0.5652289779847809, 0.957510825307281, 0.9381527748065652, 0.9754316006886775, 0.999318056875015], [0.561861450033894, 0.9570891584742344, 0.9381527748065652, 0.975329307975017, 0.9683927583008146], [0.4732825593819522, 0.9455204219752769, 0.9134100406287867, 0.9834826070495775, 0.9836782340047187], [0.6229743195575077, 0.9889101840810564, 0.9993782523373628, 0.9820229238641135, 0.9893306785257906], [0.5963054178170669, 0.9894639125234735, 0.99527249756173, 0.999994475731437, 0.9996429419484976], [0.6059379957846848, 0.9731595551153883, 1.0, 1.0, 0.9999427589705702], [0.6129227088942693, 0.9715478614006363, 0.995080181443202, 0.9999822489185448, 1.0], [0.6379407061570442, 0.9725135240542419, 0.9980035372756764, 1.0, 1.0], [0.6456420478854736, 0.9951583870280628, 0.9998190873094123, 1.0, 0.9999718716007389], [0.6636125785510791, 0.9731398999600192, 0.9952588588595261, 0.9999972077530063, 0.988485117909436], [0.6576274198116348, 0.9726830829638962, 0.9952680800897015, 0.9999999732909659, 0.9889872589760484], [0.6761005362020764, 0.9862019217200293, 0.9932361888166645, 1.0, 0.9848947840440846], [0.5850685059749715, 0.9951583870280628, 0.9766211740358053, 1.0, 0.9787005391059705], [0.5850152452261649, 0.9890835024709316, 0.9993514469942412, 0.9998139137620099, 0.9355960266025963], [0.7138919819748574, 0.9861415168012175, 0.994856125662976, 0.9997615583575308, 0.9627433302891125], [0.703699952069049, 0.9981421646857758, 0.9998533707614303, 0.9997313153122289, 0.9653904340664002], [0.7005587163509996, 0.9930383568825867, 0.9991242106147439, 0.9999935592567765, 0.983089390030575], [0.6916633064035438, 0.9930383568825867, 0.9756100582878761, 0.9999935592567765, 0.983089390030575], [0.6727896688108623, 0.9862703689903435, 0.9932361888166645, 0.998851582140162, 0.9602402709067798], [0.685838976633489, 0.9861964307536017, 0.994856125662976, 0.9454593438077353, 0.9627433302891125], [0.5136409473047949, 0.9937974347063344, 0.9993231266634522, 0.9975291655760641, 0.9998571106045452], [0.5338265570096346, 0.9890835024709316, 0.9993231266634522, 0.9975513779866402, 0.9999735407331454], [0.5696644837483902, 0.991930630114846, 0.99980917301354, 0.9999998851875679, 0.9999931328507251], [0.557401970087962, 0.991930630114846, 0.9999600880890005, 0.9999875796324698, 0.9994300524229665], [0.5472204403834565, 0.9766966096462683, 0.9948920255082148, 0.9996904773426997, 0.9901716284157966], [0.5440468071960274, 0.974554955440999, 0.9439206151091728, 1.0, 0.9999563393049891], [0.62695615916804, 0.9884512968308886, 0.9831873783536343, 0.9844019201475229, 0.9886423707038136], [0.61947426334079, 0.979188593584145, 0.9903005386415975, 0.9843698951938611, 0.9733584058105524], [0.6420977313083109, 0.9931389152606287, 0.9955752817097282, 0.9953120104068907, 0.9853080180348364], [0.6340012620905309, 0.9884512968308886, 0.9632123249809869, 0.99957550287963, 0.9886423450293501], [0.6054546184658072, 0.9783380787247486, 0.9999452883570563, 0.9855171672658096, 0.9532643438643019], [0.587733892319221, 0.9855614556397837, 0.9993139603431967, 0.9855095546277869, 0.9521339897248338], [0.5941428352748932, 0.9781736130298118, 0.9999996241530673, 0.9923427455057137, 0.9337125357871834], [0.5767026869638939, 0.978613319341356, 0.9795780833352273, 0.9894237914487268, 0.93200581126189], [0.7497160998143838, 0.8948844106564904, 0.9840109681838931, 0.9830709380908238, 0.9838510205216935], [0.6611880689623657, 0.9007629695280565, 1.0, 0.973403478078456, 0.9838838689491287], [0.7997434452231584, 0.9969877222395628, 0.9880444794537159, 0.9878576935291241, 0.9926675328655661], [0.7680412138337024, 0.9941578535786422, 0.9999919193582875, 0.9956524280277679, 0.9832623300788218], [0.7833752183417723, 0.9877225529677617, 0.9997786926643941, 0.9863688385986562, 0.9882098206698021], [0.7583869317523358, 0.979188593584145, 0.9991143209698065, 0.9838252152812978, 0.9833944234721123], [0.7440467589692314, 0.9773629411418224, 0.9853097498307467, 0.9938575769629076, 0.9995114893043933], [0.7450540251423637, 0.9773629411418224, 0.9930000258972324, 0.9983112440064401, 0.9995114893043933], [0.6766047020282145, 0.9785855080045208, 0.9999892802116217, 0.9893507812623499, 0.9794384752082097], [0.661463783394634, 0.979188593584145, 0.9930928739504237, 0.9843698951938611, 0.9734379795460882], [0.6982867468660389, 0.9883861604230391, 0.9906031363255953, 0.9832975274201872, 0.9886532302211716], [0.7075869388669449, 0.9888262769318662, 0.9943755654908721, 0.9904722059243471, 0.9809281441738773], [0.7212796323888698, 0.9925122528021492, 0.9999216393447259, 0.9925145219972761, 0.9991019233913145], [0.730601873743966, 0.9988589203078877, 0.998616973883799, 0.9766026461794576, 0.9808360873782404], [0.5411791080296305, 0.9939770786413384, 0.9989906739371551, 0.9999699904477946, 0.9588456421133863], [0.5605588254930749, 0.988869957664276, 0.9929172308041012, 0.9996351235037267, 0.9990548927300287], [0.5284205792303381, 0.9791857349720167, 0.9906034385220236, 0.9846945592147159, 0.9964807127970867], [0.5177980122794141, 0.9933227490280623, 0.994605318742138, 0.9844019201475229, 0.9961873973934967], [0.5122841372560057, 0.9947137466047001, 0.9843338384794076, 0.9751219821072186, 0.9483934620697286], [0.4954526283892243, 0.9512441985381623, 0.9986470466857632, 0.9874000346612636, 0.9896815577904101], [0.5698135870439542, 0.9504240705516931, 0.9986470466857632, 0.9876282005030952, 0.9896815577904101], [0.4204684333998188, 0.9939567135815374, 0.999979634930306, 0.9999633486299115, 0.9872741299393657], [0.43953032262813296, 0.974136434342654, 0.9802959753442189, 0.9904727249981351, 0.9723786125358589], [0.4690843877932498, 0.9973596245781149, 0.9995996133203909, 0.9813623194024298, 0.9782439236265368], [0.45991763317741474, 0.9956839843444482, 0.9823720479141408, 0.9970849534048553, 0.9776020297750363], [0.4832155308212146, 0.9819597863143082, 0.9967848298985619, 0.9906550896462373, 0.9995594337736737], [0.45129658251234245, 0.9905897760416864, 0.980946687549681, 0.9151001636925027, 0.9442769824317367], [0.6009675089236217, 0.997271865943984, 0.990994079256771, 0.9999972988456886, 0.9994033228874805], [0.6144409316872191, 0.9994214477545028, 0.9999805946820465, 1.0, 0.9999009921421178], [0.6084671798788712, 0.9999983568350275, 1.0, 1.0, 0.998936875553476], [0.623715307572314, 0.9990046472941894, 0.9909214933987843, 0.9940728600646043, 0.9996822974510216], [0.6552149680539995, 0.9878839380949723, 1.0, 0.9806050939971142, 0.9976623993305226], [0.6449553798670893, 1.0, 1.0, 1.0, 1.0], [0.5932182243451958, 0.9996044563514713, 0.9794430952745864, 0.9999959042307255, 0.9992803385563997], [0.6705211453151795, 1.0, 1.0, 1.0, 1.0], [0.692641897575235, 0.9991053407303476, 0.9986279242463588, 0.9999946930929154, 1.0], [0.7106888900943756, 0.9760426291657136, 1.0, 0.9842113315209287, 1.0], [0.6841220019106034, 0.9916433129123398, 0.9857886495695218, 0.9448523712503022, 0.9911743483706671], [0.7025571289448421, 1.0, 0.9999999427743134, 0.9517355479970454, 1.0], [0.45714115665026656, 0.9999814067386875, 0.9883664964393103, 0.9970152948100178, 0.9999923622907655], [0.4733560739237917, 1.0, 0.9885333383220359, 0.9845199670087326, 0.9869495598734462], [0.4825569183933011, 1.0, 1.0, 1.0, 1.0], [0.4937572516908187, 0.9998101378884329, 0.9911697717673592, 1.0, 0.999977710924988], [0.5015232083599381, 1.0, 0.9999005412700506, 0.9994049448324998, 0.9996858390934162], [0.5127867229255657, 0.9986306866219069, 0.9999005412700506, 0.9994114109175677, 0.9997467996048004], [0.5099664469167623, 1.0, 0.9999999637398428, 1.0, 0.9998424808519251], [0.5513621032449078, 0.98699688980624, 0.990994079256771, 0.999835766496664, 0.9945829308528229], [0.5431303795511997, 0.9996133290970822, 0.9994171678945453, 1.0, 1.0], [0.5381665059713816, 0.9999867564514309, 0.9999943297821391, 0.9999684198239644, 1.0], [0.5680088783452528, 1.0, 1.0, 1.0, 1.0], [0.5726653053717711, 1.0, 0.9999999998531046, 0.9981181851950574, 0.9999873763228809], [0.5296355365097223, 0.9995888182832258, 0.9892224396464772, 0.9965739040425576, 0.9721604345415761], [0.6040788171985623, 0.9999383292495609, 0.9775854227977729, 0.9824507204527919, 0.9999780161085904], [0.5918389879195031, 1.0, 0.9901839674770093, 1.0, 0.999999327505948], [0.6159783476177214, 0.9999986530515719, 0.9692147638395, 1.0, 0.9999788835137898], [0.6318723813659223, 0.9999772017374404, 0.9702195897147367, 0.9998950666939906, 1.0], [0.6406870831531009, 0.9999831318797741, 0.9547199950432459, 0.9999983579316044, 0.9883396143406192], [0.6863046848102253, 1.0, 0.9917130487357083, 1.0, 0.9999999667876002], [0.698277187881031, 0.999998777302797, 0.9918316360524841, 0.9985004431769291, 1.0], [0.7200466144263509, 0.9998001456231851, 0.9916319340912271, 0.9999999864000003, 0.9999999931564143], [0.7112564271796109, 0.9999872194035351, 0.989394839249707, 1.0, 1.0], [0.6687554596797467, 0.979423853272528, 0.9877258388338752, 0.9832737589576697, 0.9999961065121894], [0.6625877507083217, 0.9937910053186949, 0.9877387576418071, 0.9999999971829905, 0.9999932338119091], [0.5613078316447966, 1.0, 0.9692023601767743, 1.0, 0.9999999944025699], [0.5837701245152394, 1.0, 0.9662051814297754, 1.0, 1.0], [0.5368054540862532, 1.0, 0.9533327556573336, 1.0, 1.0], [0.4908164200054157, 0.9980487560712643, 0.9659323101342342, 1.0, 1.0], [0.5032988545872841, 0.995360546956034, 0.9479749496620743, 1.0, 1.0], [0.515668396725413, 0.9863097569196823, 0.988905404803123, 1.0, 0.9989326661518326], [0.5258982535580026, 1.0, 0.9942050303830814, 1.0, 1.0], [0.5034938290314857, 0.999999590758157, 0.9987787739978563, 1.0, 0.9851826168088181], [0.5515045105308788, 0.999999590758157, 0.9987787739978563, 1.0, 1.0], [0.4580571746242003, 0.9964291890556252, 0.9999402001891241, 0.999023061464056, 0.9997470669067006], [0.45091432467704273, 0.9963272115271271, 0.9984239710766084, 0.9999704772137923, 0.9998506717829578], [0.44121083831064856, 0.999999921555265, 0.991737865026251, 0.9985793003749369, 0.9974189750647168], [0.47243230868379493, 0.9999999987865056, 0.9918676370630378, 0.9918924499368853, 1.0], [0.47735801416755075, 0.9999999998742385, 0.9917990812345053, 0.9808621100520425, 1.0], [0.620624585720392, 0.9889128723229536, 0.9905508367458735, 0.9868505110558744, 0.9836103850596144], [0.6059491855646956, 0.9999475054988443, 0.9905508367458735, 0.9997954475083256, 0.9891588441367922], [0.5995089633147421, 1.0, 1.0, 1.0, 1.0], [0.592395130782598, 1.0, 0.9996169274724398, 0.9999998252942326, 0.9998222561944757], [0.6269595992237349, 1.0, 0.9880315411127661, 1.0, 1.0], [0.5892122433117275, 0.9993869314908829, 0.9648057240852161, 0.9968569422705442, 1.0], [0.6414387665170389, 0.974714499226077, 1.0, 1.0, 0.9949677831876422], [0.6489075027145192, 1.0, 1.0, 1.0, 1.0], [0.6622227664644652, 0.9980806104865633, 0.9999823888742745, 0.997273935447503, 0.999996760204835], [0.6584736877387787, 0.9997742616779887, 0.9998954726592728, 0.9995858751307972, 1.0], [0.6736347487147727, 0.9997706993171146, 0.999498369791945, 0.9996109782604048, 0.999992656539937], [0.5821474538443844, 1.0, 0.990965033046063, 0.9945527859926668, 0.9361777950911043], [0.5613469804427468, 1.0, 0.9932441606318423, 1.0, 1.0], [0.5701447792205225, 0.9900561313596514, 1.0, 0.9953265899060595, 0.9991772743721528], [0.5460177063499003, 1.0, 0.9694945426868352, 1.0, 1.0], [0.5193250414491957, 0.9953263472567, 0.9999111081178269, 0.9945527859926668, 1.0], [0.5153729153833975, 0.9996951564107989, 0.9994638007140366, 0.9992276104662864, 0.9997554428806109], [0.5341942673677185, 1.0, 1.0, 0.9945527859926668, 1.0], [0.5380329604889525, 1.0, 1.0, 1.0, 1.0], [0.7678641484805611, 0.9982781834913105, 0.9996709581920604, 0.9999876294919263, 0.999911484520915], [0.7757456462677421, 0.9999998669909504, 1.0, 1.0, 1.0], [0.7876478370901094, 0.9623008205872146, 0.9995148299944435, 0.999989263849581, 1.0], [0.7466915077965381, 0.9422490136399037, 0.9972059857727323, 0.9959229228905726, 1.0], [0.6910693660820252, 0.9889128723229536, 0.9905508367458735, 0.9868505110558744, 0.9915480878777608], [0.7136951384114185, 1.0, 1.0, 0.9996056562416422, 0.9999861747086045], [0.7106295158239859, 1.0, 1.0, 1.0, 1.0], [0.6968450523109809, 1.0, 0.9999056865194135, 1.0, 0.9999300253515621], [0.7534314562330896, 0.999915292219862, 0.9931894542551584, 0.9996348981347578, 0.9989650065719677], [0.7369485930108868, 0.9983399441125725, 0.9978393824081445, 0.9998872660249382, 0.997558960624873], [0.723317481790222, 0.9999576630645438, 0.9905479593485998, 0.9999733691378296, 0.9850719152208577], [0.7284755003720251, 0.9986001588853235, 0.9960917851654321, 0.9969011436033581, 0.9850719152208577], [0.6769721778256961, 0.9518706105852935, 0.9954987222314742, 0.9887967489533872, 0.99369567171472], [0.6169496705866943, 0.9897989436242697, 0.9989865771670228, 0.9880871428300426, 0.9898811083834782], [0.6065954151329837, 0.9890733984939231, 0.9999961173153088, 0.9893020682449397, 0.9903254234115175], [0.6526188862653486, 0.990231590600167, 0.999982631529865, 0.998836451926463, 0.9901124905740266], [0.6477133687994185, 0.9789707572499302, 0.9998401343160388, 0.9911582795561795, 0.9941836770829284], [0.6309588904163599, 0.9832043286455661, 0.999371315547482, 0.9989187823844436, 0.9890099950310388], [0.6347669562575642, 0.9832043286455661, 0.9997442689144667, 0.9989718859589893, 0.9890099950310388], [0.5650687189827606, 0.9877428796181724, 0.9997907326914715, 0.9915766859145408, 0.9882413556591768], [0.5580114177575919, 0.9936402327530047, 0.9999970694542321, 0.9963404713405623, 0.9889289722084041], [0.5796478084448917, 0.9904023082935802, 0.999952176581262, 0.9922585805785475, 0.9889244615937349], [0.5808229334741546, 0.995465951176543, 0.9999811354682543, 0.9752752520093683, 0.9882323192886555], [0.5303576977951164, 0.9936402327530047, 0.9997930383531464, 0.9958855553349495, 0.988333313055828], [0.5386158961310733, 0.9937207174694137, 0.998808289679847, 0.9909617500492204, 0.9894581455382143], [0.546992635108951, 0.9936402327530047, 0.9999970325704808, 0.9963404713405623, 0.9889289722084041], [0.5069368766267504, 0.9936402327530047, 0.9987626527939749, 0.9973186712746445, 0.9945369315704365], [0.6807044869446272, 0.983205288683185, 0.9830154336908697, 0.9995549443421639, 0.9738029293670261], [0.5949343144514735, 0.9894699229959849, 0.9980837068934167, 0.9193536063111385, 0.9906897707882433], [0.669174564264234, 0.9868685940691734, 0.9997182569325468, 0.9357212351802956, 0.9099675349565292], [0.6736537053044088, 0.9864319690053893, 0.9999967855778912, 0.9358145222489792, 0.9099675349565292], [0.6942264047174831, 0.8785180230838057, 0.9992177110304366, 0.9911745647338107, 0.9889592712568307], [0.6143874735837728, 0.9914769837703096, 0.9903187697617715, 0.9760794800409259, 0.9893013489843859], [0.607760596196582, 0.989134415334248, 0.9915474444293804, 0.9877689661230196, 0.9994575363602588], [0.6309653481253645, 0.9714624047035956, 0.9914451316182654, 0.997671351845677, 0.9999989333041286], [0.6411875947333436, 0.9864526674801635, 0.9832869369949625, 0.9877277574737562, 0.989485093645395], [0.6366892226242291, 0.9918840462087407, 0.9762263379477251, 0.9972643020167146, 0.9976775154125512], [0.5962837885332126, 0.9870314800993919, 0.9997194467095754, 0.9761113737175975, 0.9936365832011783], [0.5833648821762154, 0.9924928251781768, 0.994794414747652, 0.9889665873688691, 0.9926698133512507], [0.5596541287405148, 0.9867862784324877, 0.9999488585838103, 0.9877689661230196, 0.9893013489843859], [0.5561274049295448, 0.9864526674801635, 0.9832869369949625, 0.9877277574737562, 0.989485093645395], [0.5477145050488053, 0.9842732787019683, 0.9932114209243578, 0.9930659141091003, 1.0], [0.5701446129983332, 0.9721284181954238, 0.9859425449672257, 0.998590501281955, 0.9999683608839287], [0.5397090503194001, 0.9843837612050361, 0.9742565028301922, 0.9982605486344868, 0.998987540288191], [0.5718845257527372, 0.989134415334248, 0.9635798950815522, 0.9877205537987095, 0.9994575363602588], [0.5856969412283402, 0.987940487723292, 0.9636207793918049, 0.9902974506774828, 0.9999951386634376], [0.6012312751218012, 0.9999095386487079, 0.9684594030036837, 0.9930802831580381, 0.999679510712918], [0.7944946753168788, 0.9259218726516555, 0.999994255411458, 0.9954973272510851, 1.0], [0.7593765388552605, 0.9241637368013559, 0.9973419239131669, 0.9674264074259238, 0.9941631982297084], [0.7649836323225727, 0.9374188634827673, 0.9843116081604366, 0.9865174774418005, 1.0], [0.8103335444317297, 0.8958282996607893, 0.9903661769558368, 0.973703084360948, 0.9998211094589403], [0.6806745673111168, 0.9850628055633684, 0.9967894840994181, 0.9878340926986166, 0.9998814044728845], [0.670056503197811, 0.9904012143841361, 0.9764437201765228, 0.9972812576934563, 0.9946126489454743], [0.6598416627076349, 0.9977941625916988, 0.990422174469522, 0.9681870427795238, 1.0], [0.6499261866090746, 0.9941979480553166, 0.9961401808551228, 0.9778842192455874, 0.9892034703702524], [0.6956965833672284, 0.9996325157662651, 0.9908240863967939, 0.9730493269485264, 0.9999376150882833], [0.7332539836334985, 0.9938980236748417, 0.990521763020618, 0.9673822599799173, 0.9999956019264215], [0.7396966852097357, 0.9875515840407737, 0.9830043570819561, 0.98644487232005, 0.9999386120610668], [0.7235745948223393, 0.9893644499523259, 0.991634300779813, 0.9941075271855476, 0.9982187798334305], [0.7181660256738769, 0.9814837149613437, 0.9999446614933666, 0.9962245633925221, 0.9999541926384602], [0.7174669652902305, 0.9268399719271021, 0.9901828011909155, 0.9776843621558985, 0.9958036113169166], [0.7084507894723978, 0.9557424284906435, 0.9928380842993068, 0.9941999844686009, 0.9999999986081564], [0.7467524038360713, 0.9978926373043171, 0.9956687430204724, 0.9730067773806427, 0.9300106290620661], [0.7784457987969051, 0.9922554882145369, 0.9859079581986555, 0.9758814626611344, 0.9905597049849405], [0.7776683854778751, 0.9955923422941262, 0.9859079581986555, 0.9758814626611344, 0.9905597049849405], [0.6160963451603901, 0.9850073380449439, 0.9999912396172628, 0.9879177038174121, 0.9997430727090469], [0.6001476608489118, 0.9890508303242022, 1.0, 0.9753135200967646, 0.9998482425670114], [0.5519404834616234, 0.9844844593765509, 0.999953679180108, 0.9900442684352949, 0.9819676806771345], [0.5818775171714503, 0.9871297454589547, 0.9892700214933003, 0.9869523385008937, 0.9896354237814956], [0.5763364435911335, 0.99802305398155, 0.9887806069195447, 0.9999250567245637, 0.9895026760216856], [0.6590180123086133, 0.9708899674626016, 0.9622819292380209, 0.9811349600785755, 0.9774199894504297], [0.7061068969176932, 0.9856505648494397, 1.0, 0.9829664193917473, 0.9998584210099437], [0.720213175901671, 0.9850638864809755, 0.9997647310219879, 0.990267827728394, 1.0], [0.7387973903765864, 0.9693248369478588, 1.0, 0.9933321215485584, 0.9998383961880992], [0.6818502019833353, 0.9721783541703967, 0.9998738842239394, 0.977131189344803, 0.9933083792720142], [0.6882351490034425, 0.9700654350950288, 1.0, 0.9864804780407401, 0.9997029381113501], [0.6703229819459999, 0.9850473867013996, 0.9999448428193262, 0.9985173039010178, 0.9882764524520652], [0.697593255953376, 0.973964297824415, 0.9999016259086365, 0.9375983596270854, 0.999688920314324], [0.5949658207822448, 0.9890410553518402, 0.9957757829091697, 0.9833390850392871, 0.9033040474620208], [0.5698066899533957, 0.9448772084362189, 0.9383236644889752, 0.9612827203587698, 0.9541614410793345], [0.4841804167936823, 0.9833466691391123, 0.9998638244468114, 0.9986636308459429, 0.9996796705087161], [0.49988068908176175, 0.996081710923628, 0.9963990410220704, 0.98363658282545, 0.9998725493878375], [0.495943790565588, 0.9715520208815526, 0.9963865292056738, 0.9767660650517874, 0.9761716327355868], [0.5139224076237945, 0.9708899674626016, 0.9744889637824394, 0.981406971417479, 0.9774199894504297], [0.47048008243942174, 0.9666823865973238, 1.0, 0.9753135200967646, 1.0], [0.4634618659585946, 0.9607106220721342, 0.9964840399412715, 0.9707326760230479, 1.0], [0.5367286347402515, 0.9441719694076072, 1.0, 0.9612827203587698, 0.984603476281953], [0.6347806866947724, 0.9996090168977155, 0.9920329069759343, 0.9999961082871013, 0.9880228079634593], [0.6213344175626255, 0.9995825024923937, 0.9949154889722757, 0.9997818792594213, 0.9980185366522539], [0.59886044362205, 0.9999945739011776, 0.9415932045867925, 1.0, 1.0], [0.6110392608809322, 0.9999723564499999, 0.9527704125390223, 1.0, 1.0], [0.616345148966614, 0.9999994730267081, 0.9501358396827065, 0.9917886952841262, 0.9836468327101705], [0.5836984980579636, 0.9999654153069913, 0.9411107340708562, 1.0, 1.0], [0.5768423078433125, 0.9982991483056555, 0.9528750734389703, 0.9966397441266669, 0.9998877663387383], [0.7098204377218609, 0.9653259891046441, 0.9757673889578682, 0.9828250191846227, 0.9883931985586046], [0.7286511275145937, 0.9999318533460105, 0.9948898195260973, 0.9999684004122523, 0.9999999119302316], [0.7349559347697082, 0.9994421012047475, 0.9934032215235407, 0.9915315462848159, 1.0], [0.7184706332548464, 0.9998012798255917, 0.9934032215235407, 0.9930795088674406, 1.0], [0.715296539798404, 0.9996967365514264, 0.9982689540514803, 0.9879474568646649, 1.0], [0.7003119669161565, 0.9996967365514264, 0.9986378267449667, 0.9882010499406066, 0.9929882791429201], [0.6974287915239588, 0.9983398567359885, 0.9986378267449667, 0.9882010499406066, 0.999986028951071], [0.6549325148865706, 1.0, 0.970200004016963, 1.0, 0.9999990775368203], [0.642897744359837, 0.9999806862965999, 0.9527704125390223, 1.0, 1.0], [0.6743864598457543, 0.9973105524349963, 0.989012087533454, 0.9999269644495763, 0.9999999468302075], [0.6629477129776795, 1.0, 0.9893150130794545, 0.9999911212474553, 0.9999998446754658], [0.6866228155040304, 0.9968818019466503, 0.9761357142608829, 0.9999884096601345, 1.0], [0.6870973818361144, 1.0, 0.9854108102899469, 0.999090796409896, 0.9887683110046158], [0.4767466701332394, 0.9974509164028943, 0.9778129953464673, 1.0, 0.999999803924059], [0.4966756642614111, 0.9918574942646409, 0.983461763209429, 0.9984528889458831, 0.9999977954729248], [0.5119238175304589, 1.0, 0.9748167477821554, 0.9999759963177366, 1.0], [0.5453241788250031, 0.998616783301369, 0.9803246915774562, 1.0, 0.9999985206919199], [0.5507406914098051, 0.9999966497327115, 0.9835059560514711, 0.9999994665430229, 0.9999795606396165], [0.5554677107235919, 0.9998746366935588, 0.9913736365962661, 1.0, 0.9999991689257436], [0.5652993958443001, 0.9999966497327115, 0.9763507476013967, 0.9999994665430229, 0.9999795606396165], [0.5348284574052946, 1.0, 0.9774223137705006, 1.0, 0.9999999699290727], [0.5697236959025838, 0.9765102658905362, 0.9763507476013967, 0.9999994665430229, 0.9999994380372664], [0.4912110860686401, 0.9345031379849807, 0.9404005699482795, 0.9822157220193455, 0.9945767348517228]], "centroid": [0.6194952075740855, 0.9879298672783987, 0.9901514208354825, 0.9878603271971118, 0.9902766483853468]}, "1-4": {"solutions": [[4.980921443933873e-10, 0.05088198034321967, 0.036454068304751855, 0.028461563832047253, 0.7688068573246495]], "centroid": [4.980921443933873e-10, 0.05088198034321967, 0.036454068304751855, 0.028461563832047253, 0.7688068573246495]}, "0-6": {"solutions": [[9.270050479732832e-12, 0.3472961907676273, 0.020852189007587493, 0.052802977644879054, 0.0138360608625385], [5.8974133627758e-14, 0.3229656601563637, 0.001947839570936175, 0.0006147335150197223, 0.02328161955115745], [2.7863480159219176e-12, 0.3163507519950577, 0.020718781509015242, 0.03034741447115939, 0.023660132369401437], [4.311461384849495e-12, 0.26732197744142605, 0.020745033170923587, 0.0056600549383192585, 0.012163447352984386]], "centroid": [4.106708503533001e-12, 0.3134836450901187, 0.016065960814615626, 0.022356295142344353, 0.018235315034020445]}, "1-11": {"solutions": [[4.070654010808299e-12, 0.9930404641906206, 0.10518723325645885, 0.9736368534697782, 0.9996626314067248]], "centroid": [4.070654010808299e-12, 0.9930404641906206, 0.10518723325645885, 0.9736368534697782, 0.9996626314067248]}, "0-21": {"solutions": [[8.647990906284625e-14, 0.983205288683185, 0.9649990207938879, 0.9995104500834285, 0.16615493590245362], [1.0984743388335605e-14, 0.9536379297336499, 0.9993018004640717, 0.98526975667242, 0.21428809608617982], [8.647990906284625e-14, 0.975263369371852, 0.9234817800291617, 0.9996277702414705, 0.2377445689233213], [3.774111828180188e-14, 0.9111591657829713, 0.9237890389659131, 0.9982726181427716, 0.2377445689233213]], "centroid": [5.5421419948957495e-14, 0.9558164383929145, 0.9528929100632586, 0.9956701487850227, 0.213983042458819]}, "0-24": {"solutions": [[3.5435792754973106e-16, 0.0476294452882548, 0.8589095714463428, 0.11480118340180798, 0.014828193401611069]], "centroid": [3.5435792754973106e-16, 0.0476294452882548, 0.8589095714463428, 0.11480118340180798, 0.014828193401611069]}, "1-27": {"solutions": [[2.1291020162184093e-17, 0.9847854727104389, 0.9974756796267635, 0.14500175072336452, 0.948041255140271]], "centroid": [2.1291020162184093e-17, 0.9847854727104389, 0.9974756796267635, 0.14500175072336452, 0.948041255140271]}} \ No newline at end of file diff --git a/pymoo/algorithms/moo/kgb.py b/pymoo/algorithms/moo/kgb.py new file mode 100755 index 000000000..f93e8cb42 --- /dev/null +++ b/pymoo/algorithms/moo/kgb.py @@ -0,0 +1,443 @@ +import numpy as np +import random +import json +from pymoo.algorithms.moo.nsga2 import NSGA2 +from pymoo.util.nds.non_dominated_sorting import NonDominatedSorting +from pymoo.core.population import Population +from sklearn.naive_bayes import GaussianNB + + +def euclidean_distance(a, b): + a = np.array(a) + b = np.array(b) + return np.sqrt(np.sum((a - b) ** 2)) + + +class KGB(NSGA2): + def __init__( + self, + perc_detect_change=0.1, + perc_diversity=0.3, + c_size=13, + eps=0.0, + ps={}, + pertub_dev=0.1, + save_ps=False, + **kwargs, + ): + + super().__init__(**kwargs) + self.PERTUB_DEV = pertub_dev + self.PERC_DIVERSITY = perc_diversity + self.PERC_DETECT_CHANGE = perc_detect_change + self.EPS = eps + self.save_ps = save_ps + + self.C_SIZE = c_size + self.ps = ps + self.nr_rand_solutions = 50 * self.pop_size + self.t = 0 + + self.rng = np.random.RandomState(self.seed) + random.seed(self.seed) + + def setup(self, problem, **kwargs): + """ + Set up the KGB-DMOEA algorithm. + :param problem: The optimization problem instance + :param kwargs: Additional keyword arguments + :return: The result of the superclass setup method + """ + assert ( + not problem.has_constraints() + ), "KGB-DMOEA only works for unconstrained problems." + return super().setup(problem, **kwargs) + + + def knowledge_reconstruction_examination(self): + """ + Perform the knowledge reconstruction examination. + :return: Tuple containing the useful population, useless population, and cluster centroids + """ + clusters = self.ps # set historical PS set as clusters + Nc = self.C_SIZE # set final nr of clusters + size = len(self.ps) # set size iteration to length of cluster + run_counter = 0 # counter variable to give unique key + + # while there are still clusters to be condensed + while size > Nc: + + counter = 0 + min_distance = None + min_distance_index = [] + + # get clusters that are closest to each other by calculating the euclidean distance + for keys_i in clusters.keys(): + for keys_j in clusters.keys(): + if ( + clusters[keys_i]["solutions"] + is not clusters[keys_j]["solutions"] + ): + + dst = euclidean_distance( + clusters[keys_i]["centroid"], + clusters[keys_j]["centroid"], + ) + + if min_distance == None: + min_distance = dst + min_distance_index = [keys_i, keys_j] + elif dst < min_distance: + min_distance = dst + + min_distance_index = [keys_i, keys_j] + + counter += 1 + + # merge closest clusters + for solution in clusters[min_distance_index[1]]["solutions"]: + clusters[min_distance_index[0]]["solutions"].append(solution) + + # calculate new centroid for merged cluster + clusters[min_distance_index[0]][ + "centroid" + ] = self.calculate_cluster_centroid( + clusters[min_distance_index[0]]["solutions"] + ) + + # remove cluster that was merged + del clusters[min_distance_index[1]] + + size -= 1 + run_counter += 1 + + c = [] # list of centroids + pop_useful = [] + pop_useless = [] + + # get centroids of clusters + for key in clusters.keys(): + c.append(clusters[key]["centroid"]) + + # create pymoo population objected to evaluate centroid solutions + centroid_pop = Population.new("X", c) + + # evaluate centroids + self.evaluator.eval(self.problem, centroid_pop) + + # do non-dominated sorting on centroid solutions + ranking = NonDominatedSorting().do(centroid_pop.get("F"), return_rank=True)[-1] + + # add the individuals from the clusters with the best objective values to the useful population the rest is useless :( + + for idx, rank in enumerate(ranking): + if rank == 0: + for key in clusters.keys(): + if centroid_pop[idx].X == clusters[key]["centroid"]: + for cluster_individual in clusters[key]["solutions"]: + pop_useful.append(cluster_individual) + else: + for key in clusters.keys(): + if centroid_pop[idx].X == clusters[key]["centroid"]: + for cluster_individual in clusters[key]["solutions"]: + pop_useless.append(cluster_individual) + + # return useful and useless population and the centroid solutions + return pop_useful, pop_useless, c + + + def naive_bayesian_classifier(self, pop_useful, pop_useless): + """ + Train a naive Bayesian classifier using the useful and useless populations. + :param pop_useful: Useful population + :param pop_useless: Useless population + :return: Trained GaussianNB classifier + """ + labeled_useful_solutions = [] + labeled_useless_solutions = [] + + # add labels to solutions + for individual in pop_useful: + labeled_useful_solutions.append((individual, +1)) + + for individual in pop_useless: + labeled_useless_solutions.append((individual, -1)) + + x_train = [] + y_train = [] + + for i in range(len(labeled_useful_solutions)): + x_train.append(labeled_useful_solutions[i][0]) + y_train.append(labeled_useful_solutions[i][1]) + + for i in range(len(labeled_useless_solutions)): + x_train.append(labeled_useless_solutions[i][0]) + y_train.append(labeled_useless_solutions[i][1]) + + x_train = np.asarray(x_train) + y_train = np.asarray(y_train) + + # fit the naive bayesian classifier with the training data + model = GaussianNB() + model.fit(x_train, y_train) + + return model + + def add_to_ps(self): + """ + Add the current Pareto optimal set (POS) to the Pareto set (PS) with individual keys. + """ + + PS_counter = 0 + + for individual in self.opt: + + if isinstance(individual.X, list): + individual.X = np.asarray(individual.X) + + centroid = self.calculate_cluster_centroid(individual.X) + + self.ps[str(PS_counter) + "-" + str(self.t)] = { + "solutions": [individual.X.tolist()], + "centroid": centroid, + } + + PS_counter += 1 + + def predicted_population(self, X_test, Y_test): + """ + Create a predicted population from the test set with positive labels. + :param X_test: Test set of features + :param Y_test: Test set of labels + :return: Predicted population + """ + predicted_pop = [] + for i in range(len(Y_test)): + if Y_test[i] == 1: + predicted_pop.append(X_test[i]) + return predicted_pop + + def calculate_cluster_centroid(self, solution_cluster): + """ + Calculate the centroid for a given cluster of solutions. + :param solution_cluster: List of solutions in the cluster + :return: Cluster centroid + """ + # Get number of variable shape + try: + n_vars = len(solution_cluster[0]) + except TypeError: + solution_cluster = np.array(solution_cluster) + return solution_cluster.tolist() + + # TODO: this is lazy garbage fix whats coming in + cluster = [] + for i in range(len(solution_cluster)): + # cluster.append(solution_cluster[i].tolist()) + cluster.append(solution_cluster[i]) + solution_cluster = np.asarray(cluster) + + # Get number of solutions + length = solution_cluster.shape[0] + + centroid_points = [] + + # calculate centroid for each variable, by taking mean of every variable of cluster + for i in range(n_vars): + # calculate sum over cluster + centroid_points.append(np.sum(solution_cluster[:, i])) + + return [x / length for x in centroid_points] + + def check_boundaries(self, pop): + """ + Check and fix the boundaries of the given population. + :param pop: Population to check and fix boundaries + :return: Population with corrected boundaries + """ + # check wether numpy array or pymoo population is given + if isinstance(pop, Population): + pop = pop.get("X") + + # check if any solution is outside of the bounds + for individual in pop: + for i in range(len(individual)): + if individual[i] > self.problem.xu[i]: + individual[i] = self.problem.xu[i] + elif individual[i] < self.problem.xl[i]: + individual[i] = self.problem.xl[i] + return pop + + def random_strategy(self, N_r): + """ + Generate a random population within the problem boundaries. + :param N_r: Number of random solutions to generate + :return: Randomly generated population + """ + # generate a random population of size N_r + # TODO: Check boundaries + random_pop = np.random.random((N_r, self.problem.n_var)) + + # check if any solution is outside of the bounds + for individual in random_pop: + for i in range(len(individual)): + if individual[i] > self.problem.xu[i]: + individual[i] = self.problem.xu[i] + elif individual[i] < self.problem.xl[i]: + individual[i] = self.problem.xl[i] + + return random_pop + + def diversify_population(self, pop): + """ + Introduce diversity in the population by replacing a percentage of individuals. + :param pop: Population to diversify + :return: Diversified population + """ + # find indices to be replaced (introduce diversity) + I = np.where(np.random.random(len(pop)) < self.PERC_DIVERSITY)[0] + # replace with randomly sampled individuals + pop[I] = self.initialization.sampling(self.problem, len(I)) + return pop + + def _advance(self, **kwargs): + """ + Advance the optimization algorithm by one iteration. + """ + pop = self.pop + X, F = pop.get("X", "F") + + # the number of solutions to sample from the population to detect the change + n_samples = int(np.ceil(len(pop) * self.PERC_DETECT_CHANGE)) + + # choose randomly some individuals of the current population to test if there was a change + I = np.random.choice(np.arange(len(pop)), size=n_samples) + samples = self.evaluator.eval(self.problem, Population.new(X=X[I])) + + # calculate the differences between the old and newly evaluated pop + delta = ((samples.get("F") - F[I]) ** 2).mean() + + # archive the current POS + self.add_to_ps() + + # if there is an average deviation bigger than eps -> we have a change detected + change_detected = delta > self.EPS + + if change_detected: + + # increase t counter for unique key of PS + self.t += 1 + + # conduct knowledge reconstruction examination + pop_useful, pop_useless, c = self.knowledge_reconstruction_examination() + + # Train a naive bayesian classifier + model = self.naive_bayesian_classifier(pop_useful, pop_useless) + + # generate a lot of random solutions with the dimensions of problem decision space + X_test = self.random_strategy(self.nr_rand_solutions) + + # introduce noise to vary previously useful solutions + noise = np.random.normal(0, self.PERTUB_DEV, self.problem.n_var) + noisy_useful_history = np.asarray(pop_useful) + noise + + # check wether solutions are within bounds + noisy_useful_history = self.check_boundaries(noisy_useful_history) + + # add noisy useful history to randomly generated solutions + X_test = np.vstack((X_test, noisy_useful_history)) + + # predict wether random solutions are useful or useless + Y_test = model.predict(X_test) + + # create list of useful predicted solutions + predicted_pop = self.predicted_population(X_test, Y_test) + + # ------ POPULATION GENERATION -------- + # take a random sample from predicted pop and known useful pop + + nr_sampled_pop_useful = 0 + nr_random_filler_solutions = 0 + + if len(predicted_pop) >= self.pop_size - self.C_SIZE: + init_pop = [] + predicted_pop = random.sample( + predicted_pop, self.pop_size - self.C_SIZE + ) + + # add sampled solutions to init_pop + for solution in predicted_pop: + init_pop.append(solution) + + # add cluster centroids to init_pop + for solution in c: + init_pop.append(np.asarray(solution)) + + else: + + # if not enough predicted solutions are available, add all predicted solutions to init_pop + init_pop = [] + + for solution in predicted_pop: + init_pop.append(solution) + + # add cluster centroids to init_pop + for solution in c: + init_pop.append(np.asarray(solution)) + + # if there are still not enough solutions in init_pop randomly sample previously useful solutions directly without noise to init_pop + if len(init_pop) < self.pop_size: + + # fill up init_pop with randomly sampled solutions from pop_usefull + if len(pop_useful) >= self.pop_size - len(init_pop): + + nr_sampled_pop_useful = self.pop_size - len(init_pop) + + init_pop = np.vstack( + ( + init_pop, + random.sample(pop_useful, self.pop_size - len(init_pop)), + ) + ) + else: + # if not enough solutions are available, add all previously known useful solutions without noise to init_pop + for solution in pop_useful: + init_pop.append(solution) + + nr_sampled_pop_useful = len(pop_useful) + + # if there are still not enough solutions in init_pop generate random solutions with the dimensions of problem decision space + if len(init_pop) < self.pop_size: + + nr_random_filler_solutions = self.pop_size - len(init_pop) + + # fill up with random solutions + init_pop = np.vstack( + (init_pop, self.random_strategy(self.pop_size - len(init_pop))) + ) + + # recreate the current population without being evaluated + pop = Population.new(X=init_pop) + + # reevaluate because we know there was a change + self.evaluator.eval(self.problem, pop) + + # do a survival to recreate rank and crowding of all individuals + pop = self.survival.do(self.problem, pop, n_survive=len(pop)) + + # create the offsprings from the current population + off = self.mating.do(self.problem, pop, self.n_offsprings, algorithm=self) + self.evaluator.eval(self.problem, off) + + # merge the parent population and offsprings + pop = Population.merge(pop, off) + + # execute the survival to find the fittest solutions + self.pop = self.survival.do( + self.problem, pop, n_survive=self.pop_size, algorithm=self + ) + + # dump self.ps to file + if self.save_ps: + with open("ps.json", "w") as fp: + json.dump(self.ps, fp) \ No newline at end of file From 52043df84401d821cd82caba522a17d5a7f3a259 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sun, 19 Nov 2023 10:36:51 -0800 Subject: [PATCH 05/26] Adding KGB to the documentation --- df-problems-kgb-test.py | 135 ---------------- docs/source/algorithms/moo/dnsga2.ipynb | 43 ++--- docs/source/algorithms/moo/kgb.ipynb | 151 ++++++++++++++++++ examples/algorithms/moo/dynamic_comparison.py | 70 ++++++++ examples/algorithms/moo/kgb.py | 20 +++ kgb-doku.md | 75 --------- ps.json | 1 - pymoo/algorithms/moo/kgb.py | 5 +- 8 files changed, 268 insertions(+), 232 deletions(-) delete mode 100755 df-problems-kgb-test.py create mode 100644 docs/source/algorithms/moo/kgb.ipynb create mode 100644 examples/algorithms/moo/dynamic_comparison.py create mode 100644 examples/algorithms/moo/kgb.py delete mode 100644 kgb-doku.md delete mode 100644 ps.json diff --git a/df-problems-kgb-test.py b/df-problems-kgb-test.py deleted file mode 100755 index 9b69b3479..000000000 --- a/df-problems-kgb-test.py +++ /dev/null @@ -1,135 +0,0 @@ -import json -import time -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -from pymoo.algorithms.moo.dnsga2 import DNSGA2 -from pymoo.core.callback import CallbackCollection, Callback -from pymoo.optimize import minimize -from pymoo.problems import get_problem -from pymoo.problems.dyn import TimeSimulation -from pymoo.termination import get_termination -from pymoo.indicators.igd import IGD -from pymoo.indicators.hv import Hypervolume -from statistics import mean -from pymoo.algorithms.moo.kgb import KGB - -# Experimental Settings -n_var = 5 -change_frequency = 10 -change_severity = 1 -pop_size = 100 -max_n_gen = 30 * change_frequency -termination = get_termination("n_gen", max_n_gen) -problem_string = "df1" -verbose = False -seed = 1 - -# Metric Vars / Callbacks -po_gen = [] -igds = [] -hvs = [] -pof = [] -pos = [] - -def reset_metrics(): - global po_gen, igds, hvs, igds_monitor, hvs_monitor, pof, pos - po_gen = [] - igds = [] - hvs = [] - igds_monitor = [] - hvs_monitor = [] - pof = [] - pos = [] - -def update_metrics(algorithm): - - _F = algorithm.opt.get("F") - PF = algorithm.problem._calc_pareto_front() - igd = IGD(PF).do(_F) - hv = Hypervolume(pf=PF).do(_F) - - pos.append(algorithm.opt.get("X")) - igds.append(igd) - hvs.append(hv) - - po_gen.append(algorithm.opt) - - pof.append(PF) - -class DefaultDynCallback(Callback): - - def _update(self, algorithm): - - update_metrics(algorithm) - -# Function to run an algorithm and return the results -def run_algorithm(problem, algorithm, termination, seed, verbose): - reset_metrics() - simulation = TimeSimulation() - callback = CallbackCollection(DefaultDynCallback(), simulation) - res = minimize(problem, algorithm, termination=termination, callback=callback, seed=seed, verbose=verbose) - return res, igds, hvs - -# Function to plot metrics on an axis -def plot_metrics(ax, data, ylabel, label=None): - ax.set_xlabel("Generation") - ax.set_ylabel(ylabel) - ax.plot(data, label=label) - - -def main(): - # DNSGA2 - problem = get_problem(problem_string, taut=change_frequency, nt=change_severity, n_var=n_var) - algorithm = DNSGA2(pop_size=pop_size) - start = time.time() - res, igds, hvs = run_algorithm(problem, algorithm, termination, seed, verbose) - print("DNSGA2 Performance") - print(f'Time: {time.time() - start}') - print("MIGDS", mean(igds)) - print("MHV", mean(hvs)) - - fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5)) - plot_metrics(ax1, hvs, "Hypervolume", label="DNSGA2") - plot_metrics(ax2, igds, "IGD", label="DNSGA2") - - # KGB-DMOEA - problem = get_problem(problem_string, taut=change_frequency, nt=change_severity, n_var=n_var) - algorithm = KGB(pop_size=pop_size, save_ps=True) - start = time.time() - res, igds, hvs = run_algorithm(problem, algorithm, termination, seed, verbose) - - print("KGBDMOEA Performance") - print(f'Time: {time.time() - start}') - print("MIGDS", mean(igds)) - print("MHV", mean(hvs)) - - plot_metrics(ax1, hvs, "Hypervolume", label="KGB-DMOEA") - plot_metrics(ax2, igds, "IGD", label="KGB-DMOEA") - - # KGB-DMOA with PS Init load archive of POS - - with open('ps.json', 'r') as f: - ps = json.load(f) - - problem = get_problem(problem_string, taut=change_frequency, nt=change_severity, n_var=n_var) - algorithm = KGB(pop_size=pop_size, ps=ps, save_ps=True) - start = time.time() - res, igds, hvs = run_algorithm(problem, algorithm, termination, seed, verbose) - - print("KGBDMOEA Performance") - print(f'Time: {time.time() - start}') - print("MIGDS", mean(igds)) - print("MHV", mean(hvs)) - - plot_metrics(ax1, hvs, "Hypervolume", label="KGB-DMOA with PS Init") - plot_metrics(ax2, igds, "IGD", label="KGB-DMOA with PS Init") - - ax1.legend() - ax2.legend() - - plt.tight_layout() - plt.savefig('output_plot.png') - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/docs/source/algorithms/moo/dnsga2.ipynb b/docs/source/algorithms/moo/dnsga2.ipynb index 9df91d112..29ccaa5a3 100644 --- a/docs/source/algorithms/moo/dnsga2.ipynb +++ b/docs/source/algorithms/moo/dnsga2.ipynb @@ -43,34 +43,19 @@ "outputs": [], "source": [ "from pymoo.algorithms.moo.dnsga2 import DNSGA2\n", - "from pymoo.core.callback import CallbackCollection, Callback\n", + "from pymoo.core.callback import CallbackCollection\n", "from pymoo.optimize import minimize\n", "from pymoo.problems.dyn import TimeSimulation\n", "from pymoo.problems.dynamic.df import DF1\n", - "import matplotlib.pyplot as plt\n", + "\n", + "from pymoo.visualization.video.callback_video import ObjectiveSpaceAnimation\n", "\n", "problem = DF1(taut=2, n_var=2)\n", "\n", - "algorithm = DNSGA2()\n", + "algorithm = DNSGA2(version=\"A\")\n", "\n", "simulation = TimeSimulation()\n", "\n", - "\n", - "class ObjectiveSpaceAnimation(Callback):\n", - "\n", - " def _update(self, algorithm):\n", - " \n", - " if algorithm.n_gen % 20 == 0:\n", - " F = algorithm.opt.get(\"F\")\n", - " pf = algorithm.problem.pareto_front()\n", - "\n", - " plt.clf()\n", - " plt.scatter(F[:, 0], F[:, 1])\n", - " if pf is not None:\n", - " plt.plot(pf[:, 0], pf[:, 1], color=\"black\", alpha=0.7)\n", - "\n", - " plt.show()\n", - "\n", "res = minimize(problem,\n", " algorithm,\n", " termination=('n_gen', 100),\n", @@ -80,7 +65,25 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.13" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/docs/source/algorithms/moo/kgb.ipynb b/docs/source/algorithms/moo/kgb.ipynb new file mode 100644 index 000000000..9e7856ace --- /dev/null +++ b/docs/source/algorithms/moo/kgb.ipynb @@ -0,0 +1,151 @@ +{ + "cells": [ + { + "cell_type": "raw", + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, + "source": [ + ".. _nb_kgb:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# KGB-DMOEA: Knowledge-Guided Bayesian Dynamic Multi-Objective Evolutionary Algorithm" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, + "source": [ + "KGB-DMOEA is a sophisticated evolutionary algorithm for dynamic multi-objective optimization problems (DMOPs). It employs a knowledge-guided Bayesian classification approach to adeptly navigate and adapt to changing Pareto-optimal solutions in dynamic environments. This algorithm utilizes past search experiences, distinguishing them as beneficial or non-beneficial, to effectively direct the search in new scenarios." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Key Features\n", + "\n", + "\n", + "- **Knowledge Reconstruction-Examination (KRE):** Dynamically re-evaluates historical optimal solutions based on their relevance and utility in the current environment. \n", + "- **Bayesian Classification:** Employs a Naive Bayesian Classifier to forecast high-quality initial populations for new environments.\n", + "- **Adaptive Strategy:** Incorporates dynamic parameter adjustment for optimized performance across varying dynamic contexts." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'pymoo.algorithms.moo.kgb'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/var/folders/dp/fdf8szyn3zd4kcyh18gxsyvm0000gn/T/ipykernel_78338/2424210873.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0malgorithms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkgb\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mKGB\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcallback\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mCallbackCollection\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptimize\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mminimize\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mproblems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdyn\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mTimeSimulation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mproblems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdynamic\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdf\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mDF1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pymoo.algorithms.moo.kgb'" + ] + } + ], + "source": [ + "from pymoo.algorithms.moo.kgb import KGB\n", + "from pymoo.core.callback import CallbackCollection\n", + "from pymoo.optimize import minimize\n", + "from pymoo.problems.dyn import TimeSimulation\n", + "from pymoo.problems.dynamic.df import DF1\n", + "\n", + "from pymoo.visualization.video.callback_video import ObjectiveSpaceAnimation\n", + "\n", + "problem = DF1(taut=2, n_var=2)\n", + "\n", + "algorithm = KGB()\n", + "\n", + "simulation = TimeSimulation()\n", + "\n", + "res = minimize(problem,\n", + " algorithm,\n", + " termination=('n_gen', 100),\n", + " callback=CallbackCollection(ObjectiveSpaceAnimation(), simulation),\n", + " seed=1,\n", + " verbose=True)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "### Parameters \n", + "\n", + "- **perc_detect_change (float, optional):** Proportion of the population used to detect environmental changes. \n", + "- **perc_diversity (float, optional):** Proportion of the population allocated for introducing diversity. \n", + "- **c_size (int, optional):** Cluster size.\n", + "- **eps (float, optional):** Threshold for detecting changes. Default: \n", + "- **pertub_dev (float, optional):** Deviation for perturbation in diversity introduction. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### References" + ] + }, + { + "cell_type": "raw", + "metadata": {}, + "source": [ + "Yulong Ye, Lingjie Li, Qiuzhen Lin, Ka-Chun Wong, Jianqiang Li, Zhong Ming. “A knowledge guided Bayesian classification for dynamic multi-objective optimization”. Knowledge-Based Systems, Volume 251, 2022. Link to the paper" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/algorithms/moo/dynamic_comparison.py b/examples/algorithms/moo/dynamic_comparison.py new file mode 100644 index 000000000..ce4e0d82b --- /dev/null +++ b/examples/algorithms/moo/dynamic_comparison.py @@ -0,0 +1,70 @@ +from copy import copy + +import matplotlib.pyplot as plt +import pandas as pd + +from pymoo.algorithms.moo.dnsga2 import DNSGA2 +from pymoo.algorithms.moo.kgb import KGB +from pymoo.core.callback import CallbackCollection, Callback +from pymoo.indicators.igd import IGD +from pymoo.optimize import minimize +from pymoo.problems.dyn import TimeSimulation +from pymoo.problems.dynamic.df import DF1 + + +class DynamicIGD(Callback): + + def __init__(self) -> None: + super().__init__() + self.data = [] + + def _update(self, algorithm): + pf = algorithm.problem.pareto_front() + F = algorithm.opt.get("F") + time = algorithm.problem.time + igd = IGD(pf).do(F) + + entry = dict(time=time, igd=igd) + self.data.append(entry) + + def get(self): + df = pd.DataFrame(self.data) + migd = df['igd'].mean() + return migd, df + + +problem = DF1(taut=2, n_var=2) +n_time = 100 + +dnsga2 = DNSGA2(version="A") +dnsga2_migd = DynamicIGD() + +minimize(copy(problem), + dnsga2, + termination=('n_gen', n_time), + callback=CallbackCollection(dnsga2_migd, TimeSimulation()), + seed=1, + verbose=True) + +dnsga2_migd, dnsga2_igd_over_time = dnsga2_migd.get() + +kgb = KGB() +kgb_migd = DynamicIGD() + +minimize(copy(problem), + kgb, + termination=('n_gen', n_time), + callback=CallbackCollection(kgb_migd, TimeSimulation()), + save_history=True, + seed=1, + verbose=True) + +kgb_migd, kgb_igd_over_time = kgb_migd.get() + +plt.plot(dnsga2_igd_over_time['time'], dnsga2_igd_over_time['igd'], color='black', lw=0.7, label="DNSGA-II") +plt.plot(kgb_igd_over_time['time'], kgb_igd_over_time['igd'], color='red', lw=0.7, label="KGB") +plt.title("Dynamic Optimization") +plt.xlabel("Time") +plt.ylabel("IGD") +plt.legend() +plt.show() diff --git a/examples/algorithms/moo/kgb.py b/examples/algorithms/moo/kgb.py new file mode 100644 index 000000000..8f019e27b --- /dev/null +++ b/examples/algorithms/moo/kgb.py @@ -0,0 +1,20 @@ +from pymoo.algorithms.moo.kgb import KGB +from pymoo.core.callback import CallbackCollection +from pymoo.optimize import minimize +from pymoo.problems.dyn import TimeSimulation +from pymoo.problems.dynamic.df import DF1 + +from pymoo.visualization.video.callback_video import ObjectiveSpaceAnimation + +problem = DF1(taut=2, n_var=2) + +algorithm = KGB() + +simulation = TimeSimulation() + +res = minimize(problem, + algorithm, + termination=('n_gen', 100), + callback=CallbackCollection(ObjectiveSpaceAnimation(), simulation), + seed=1, + verbose=True) diff --git a/kgb-doku.md b/kgb-doku.md deleted file mode 100644 index 61c1290cd..000000000 --- a/kgb-doku.md +++ /dev/null @@ -1,75 +0,0 @@ -KGB-DMOEA (Knowledge-Guided Bayesian Dynamic -Multi-Objective Evolutionary Algorithm) Overview -KGB-DMOEA is a sophisticated evolutionary algorithm -for dynamic multi-objective optimization problems -(DMOPs). It employs a knowledge-guided Bayesian -classification approach to adeptly navigate and -adapt to changing Pareto-optimal solutions in -dynamic environments. This algorithm utilizes past -search experiences, distinguishing them as -beneficial or non-beneficial, to effectively direct -the search in new scenarios. Key Features - • Knowledge Reconstruction-Examination - (KRE): Dynamically re-evaluates historical - optimal solutions based on their relevance - and utility in the current environment. • - Bayesian Classification: Employs a Naive - Bayesian Classifier to forecast - high-quality initial populations for new - environments. • Adaptive Strategy: - Incorporates dynamic parameter adjustment - for optimized performance across varying - dynamic contexts. -Parameters • perc_detect_change (float, optional): - Proportion of the population used to detect - environmental changes. Default: 0.1. • - perc_diversity (float, optional): - Proportion of the population allocated for - introducing diversity. Default: 0.3. • - c_size (int, optional): Cluster size. - Default: 13. • eps (float, optional): - Threshold for detecting changes. Default: - 0.0. • ps (dict, optional): Record of - historical Pareto sets. Default: {}. • - pertub_dev (float, optional): Deviation for - perturbation in diversity introduction. - Default: 0.1. • save_ps (bool, optional): - Option to save Pareto set data. Default: - False. -Methods • __init__(**kwargs): Initializes the - KGB-DMOEA algorithm with the provided - parameters. • - knowledge_reconstruction_examination(): - Implements the KRE strategy. • - naive_bayesian_classifier(pop_useful, - pop_useless): Trains the Naive Bayesian - Classifier using useful and useless - populations. • add_to_ps(): Incorporates - the current Pareto optimal set into the - historical Pareto set. • - predicted_population(X_test, Y_test): - Constructs a predicted population based on - classifier outcomes. • - calculate_cluster_centroid(solution_cluster): - Calculates the centroid for a specified - solution cluster. • check_boundaries(pop): - Ensures all population solutions stay - within defined problem boundaries. • - random_strategy(N_r): Generates a random - population within the bounds of the - problem. • diversify_population(pop): - Introduces diversity to the population. • - _advance(**kwargs): Progresses the - optimization algorithm by one iteration. -Usage Example from pymoo.algorithms.moo.kgb import -KGB -# Define your problem -problem = ... -# Initialize KGB-DMOEA with specific parameters -algorithm = KGB( perc_detect_change=0.1, - perc_diversity=0.3, c_size=13, eps=0.0, ps={}, - pertub_dev=0.1, save_ps=False -) -# Execute the optimization -res = minimize(problem, algorithm, ...) References - 1. Yulong Ye, Lingjie Li, Qiuzhen Lin, Ka-Chun Wong, Jianqiang Li, Zhong Ming. “A knowledge guided Bayesian classification for dynamic multi-objective optimization”. Knowledge-Based Systems, Volume 251, 2022. Link to the paper diff --git a/ps.json b/ps.json deleted file mode 100644 index 4df9ce006..000000000 --- a/ps.json +++ /dev/null @@ -1 +0,0 @@ -{"0-0": {"solutions": [[0.5123317262563989, 0.2023380329950608, 0.0001821203314204961, 0.1126145256877617, 0.16580573612734895], [0.4327386354776238, 0.2566664997966296, 0.05996119426890481, 0.04261242210999726, 0.06504244022651949], [0.588124667994153, 0.13627955980572554, 0.05991768951221166, 0.12533148083265333, 0.042357244286428064], [0.5883609018435333, 0.13628031089314407, 0.05991768951221166, 0.12621114784214083, 0.042357244286428064], [0.6035987621284739, 0.13627955980572554, 0.04415633851740351, 0.12533148083265333, 0.042357244286428064], [0.5343227360064572, 0.13582744844496858, 0.0001530995016647968, 0.11192774139119151, 0.024048830629702506], [0.6474515488414054, 0.16351019304710707, 0.1532460554244126, 0.12108808422928172, 0.043477091822563846], [0.537221472935759, 0.04553664818909668, 0.031339917256603386, 0.009914682216209975, 0.044490764184480815], [0.5242393077718953, 0.13645597674810356, 0.2023871021668181, 0.07030120923391037, 0.0005657720934143518], [0.4413714333409106, 0.013512117200044887, 0.1601576471599723, 0.04837722038173767, 0.07464569590589447], [0.3109140830316663, 0.13560540519070968, 0.1689396258117692, 0.0024404201113589277, 0.10772697780914876], [0.4932743980297918, 0.13588331239517573, 0.06483224553852074, 0.06119139246290378, 0.021966562929995697], [0.5435128047909131, 0.12165225556072906, 0.06312010975296345, 0.0603651467541556, 0.01892404492019301], [0.5483961001716806, 0.09392455498917746, 0.06312010975296345, 0.0603651467541556, 0.011910346491646493], [0.45144737090970566, 0.09164026597135697, 0.05315506056439995, 0.08087590628015023, 0.049652857070650674], [0.4936226314625132, 0.0929936689219144, 0.015270027239791761, 0.06119139246290378, 0.021966562929995697], [0.5832598961304145, 0.012430211171893635, 0.06312010975296345, 0.0603651467541556, 0.01892404492019301], [0.5536580098003163, 0.012225406907677476, 0.06312010975296345, 0.0603651467541556, 0.01892404492019301], [0.5530266401493, 0.012225406907677476, 0.06310150711143415, 0.05935589978926691, 0.01892404492019301], [0.5506427470603904, 0.012435583540836096, 0.10148751844243357, 0.08075826607256514, 0.01892404492019301], [0.5197899713271297, 0.015207186737493772, 0.03643685899269235, 0.0835703315497647, 0.05066401759699001], [0.5074802584221807, 0.014343848592204389, 0.029428109643403196, 0.0835703315497647, 0.037216996092524574], [0.5036065882630004, 0.01372697810611622, 0.05204678966053718, 0.10219222931755931, 0.05112122967432135], [0.6146313132620088, 0.03790806813350768, 0.14665063242788368, 7.901780743422432e-06, 0.01892404492019301], [0.4874152345781565, 0.0624416794817487, 0.05343094205011627, 0.0637820844597954, 0.04331798421409121], [0.511207257788223, 0.0914555927534242, 0.02979168611645943, 0.040887914853401694, 0.010534424904031323], [0.5200248914815522, 0.09232314933073056, 0.04564443326717637, 0.03688348937751476, 0.042121578498568325], [0.5514003061987025, 0.0624416794817487, 0.07303618541577843, 0.0073260529004107525, 0.04210752039280363], [0.5356553044869369, 0.0624416794817487, 0.07335456369007347, 0.0035099031459572966, 0.04210752039280363], [0.554307494349408, 0.04180097224980341, 0.03701799417643219, 0.001555831708804526, 0.04268290162959811], [0.5850939676032789, 0.025801027508226614, 0.049182823384909174, 0.021183127892834237, 0.06872306387081627], [0.567760761941969, 0.048521542037004435, 0.034803787744398136, 0.03422047910628201, 0.07155571887447562], [0.5265426668919843, 0.005560041382060135, 0.07313531950401429, 0.007457864899626902, 0.00519726001885374], [0.5838862320423088, 0.025766001944024487, 0.04580448914805476, 0.011429413553888244, 0.13861754179814892], [0.7108824557806599, 0.03324639611539067, 0.07868870055780645, 0.0833991118202541, 0.021907332596371808], [0.6459715130331765, 0.0018168249462296926, 0.13205663458428812, 0.08330187359046258, 0.03216258807345296], [0.739122420216895, 0.02399242830493177, 0.004934269576069683, 0.05754797030040827, 0.10260893128739082], [0.7727927281686289, 0.0011665195334886053, 0.03419827109123415, 0.08356983275605104, 0.08362044188157537], [0.7760110752865373, 0.00011749169172368956, 0.0040241145152968266, 0.061153303011448626, 0.1042584219252787], [0.7504705481815036, 0.005435813544147933, 0.0835215659508752, 0.028180221688835938, 0.10764061867076549], [0.7472430172131415, 0.005435813544147933, 0.0835215659508752, 0.028180221688835938, 0.10866136668856449], [0.6397120343374894, 0.01514233423520879, 0.06310149158595807, 0.04637281384836195, 0.11936821630325935], [0.6710293514436996, 0.050540786469150126, 0.06463732336263625, 0.08553450921711281, 0.08041697401784587], [0.6769499522162913, 0.0034139604207805855, 0.033617856158002585, 0.0698220492282336, 0.07859743214523926], [0.6839851403970176, 0.010493288934795144, 0.03256433465267701, 0.08553450921711281, 0.08041697401784587], [0.6461627605783159, 0.009412624526032157, 0.005322270890356723, 0.07997111307294924, 0.10708428107119936], [0.6811519584284724, 0.00817893528075258, 0.00501323192242068, 0.058478392868454854, 0.10507699955618921], [0.6612003431778989, 0.042449282876536626, 0.0040241145152968266, 0.0824543031088803, 0.07382368155379337], [0.6978775577456604, 0.0011674128019949989, 0.005672800622529811, 0.02184733573798789, 0.08362044188157537], [0.6961332676792191, 0.0926481704875283, 0.06283832844078319, 0.007324538174440676, 0.08104279907691171], [0.657529353456121, 0.12932851734840262, 0.03437815857066623, 0.08878510889812935, 0.00464451935303635], [0.6594252819265574, 0.08280633496186963, 0.027176729652266134, 0.0824543031088803, 0.06486106842044603], [0.6584813062582882, 0.09385578429728347, 0.02955097492900942, 0.11231431346186939, 0.03649907689621766], [0.6932701087118723, 0.048521542037004435, 0.036433140610519985, 0.05162248755956356, 0.07155571887447562], [0.6666493731543743, 0.008740976335578174, 0.04996859406641635, 0.05069182561812072, 0.08012120688992712], [0.7513992576613546, 0.03195362144273403, 0.0492221664782259, 0.06558893805742651, 0.07662204059046354], [0.7000109911918965, 0.0478184004703941, 0.03602939367344811, 0.05162248755956356, 0.0303191419248066], [0.72066251099965, 0.03786793576798947, 0.010907189180888392, 0.05947221183480933, 0.03375967378088074], [0.7304251239209952, 0.03225876658227764, 0.012936886381587229, 0.06344531142111569, 0.03387738678261562], [0.7635591980052443, 0.03195362144273403, 0.017848117176429798, 0.06559083288414261, 0.0453014340758232], [0.7420218985481977, 0.04045951423688621, 6.592203046538667e-05, 0.09890587221763539, 0.05072841770861391], [0.7125329574814389, 0.01027624075705355, 0.007538518066134336, 0.020356931332678366, 0.03485371704673259], [0.6763350017546859, 0.03487822001826718, 0.06536085913642384, 0.019068072216510024, 0.0004140421089899142], [0.6454301092721618, 0.03207721042568981, 0.06711380180121718, 0.04494399290153274, 0.03387738678261562], [0.6147466127275849, 0.0295659956598584, 0.008074285378563084, 0.020307302180291975, 0.057588648006793544], [0.6083142962894938, 0.026900994917692933, 0.007008854218486224, 0.020307302180291975, 0.05813085627972788], [0.603384767471863, 0.026900994917692933, 0.007020936984890369, 0.03426102396590914, 0.047724994750027415], [0.6325433789226906, 0.0387148857498959, 0.0005918303189303489, 0.019006203340285577, 0.03471128096311979], [0.6478444201546654, 0.026900994917692933, 0.007020936984890369, 0.011718054092523291, 0.047724994750027415], [0.6318515477199449, 0.026865969353490806, 0.007008854218486224, 0.06325718819572124, 0.06664336211000342], [0.6567204638617404, 0.0421248239259935, 0.03874394653633721, 0.025351642632085586, 0.0715891598727879], [0.6033789953196009, 0.0850822906183686, 0.007374046536819626, 0.047341736874511264, 0.07344463856368849], [0.667251995131324, 0.03589981143145278, 0.008035903478662317, 0.08886714426538146, 5.422998648309252e-05], [0.8118152140753848, 0.0295659956598584, 0.008074285378563084, 0.020307302180291975, 0.057588648006793544], [0.7724539572010138, 0.030337125876406773, 0.007811080131967579, 0.006416161800958236, 0.033278427652810624], [0.800280994908342, 0.025933931256485326, 0.049592412229368076, 0.026904469362088512, 0.03363814689707867], [0.7574173468746553, 0.006235850280570538, 0.05604359084570716, 0.013490669531022403, 0.003673437097163487], [0.6123015553793913, 0.05517651474185922, 0.07617233891469438, 0.061113997829437966, 0.056194052572418635], [0.6610039143095612, 0.05553904087378042, 0.05617223655023343, 0.0017012237441721527, 0.07315512248077402], [0.7005489497946237, 0.052866533092135244, 0.02075397104421145, 0.014434272546204434, 0.003654828125802506], [0.7075526691759494, 0.052866533092135244, 0.02075397104421145, 0.0142479343284263, 0.003654828125802506], [0.6783300072398785, 0.049520630208118435, 0.007376180061314536, 0.001143049777074784, 0.005260122228477513], [0.6748874348916842, 0.05804981084210826, 0.06809353488347657, 0.02355618897930946, 0.00031962162300091883], [0.6263386126014494, 0.05195169603918133, 0.08713937329813923, 0.0012388461130971341, 0.020276877809632877], [0.6269746624042741, 0.05195169603918133, 0.06780864624832145, 0.0012388461130971341, 6.680909982686653e-06], [0.648470391249432, 0.052743422990788255, 0.046701455211212675, 2.1124354056027304e-05, 3.3535058212609548e-06], [0.6449384217640403, 0.05195169603918133, 0.047882235087997604, 0.0012388461130971341, 0.0005174221567270151], [0.6386080082465915, 0.10794303734202039, 0.013303155045625029, 0.002582228525415936, 0.03225398704949464], [0.6415440337022097, 0.10794303734202039, 0.013303155045625029, 0.0026316075062543225, 0.03225398704949464], [0.5630352582592313, 0.007153896380175568, 0.049742160759018064, 0.00023662067118645352, 0.01132052295930151], [0.5079773278585191, 0.0373362656988899, 0.03471328693756749, 0.00014176995884345941, 0.020937723967009395], [0.5216854467032213, 0.049928819014511974, 0.03444067339825069, 0.0011566389003927133, 0.007965887632900376], [0.5472904794502984, 0.052866533092135244, 0.021935622209520944, 0.000636470636066761, 0.003654828125802506], [0.5358962949718886, 0.019488636152357394, 0.0070750848925837636, 0.0005274424578223316, 0.05097025527477914], [0.5493676969228027, 0.015314416882543341, 0.007515725460362582, 0.022257443625154524, 0.009865237569832201], [0.5903892126620114, 0.05540839925089312, 0.007447530637776565, 0.00014133311925365556, 0.00013386208273972935], [0.5981135555844485, 0.05195169603918133, 0.035351738917115766, 0.0012388461130971341, 3.3535058212609548e-06], [0.5056469012953158, 0.09406768146806178, 0.009620169643898079, 0.00011203275266463957, 0.051330648264870535], [0.5877459986207871, 0.029928807904420096, 0.12886854988754137, 0.0010500003410493161, 0.0040332929240316645], [0.6107041357047825, 0.03257910720206614, 0.04459619507579584, 0.0002795433660886214, 0.007415057568435364], [0.6349028656251551, 0.05546246698524791, 0.053335019308742446, 9.483877317762639e-05, 0.005608712662152529], [0.65342363189769, 0.01177085995673736, 0.04768161046521766, 0.00011582688962881685, 0.00043897117359977325], [0.6441023979205138, 0.0010905822998233037, 0.06849991036751847, 5.143021492734555e-06, 0.01004764071671022], [0.6668224244410265, 0.003490362464375063, 0.025726679147600517, 0.00020297591524639363, 0.004636463499302863], [0.6282708385582636, 0.0012009924203249711, 0.024098528316752015, 0.02558028534559848, 0.032661444140434454], [0.5936006380562309, 0.0, 0.006339585965499106, 0.00032297626734765095, 0.003276717210450482], [0.589988834285955, 4.501262986432783e-05, 0.02596466183665746, 0.0005403973118276173, 0.03538874130838135], [0.5820397752081876, 0.006784103589726927, 0.07190594039546298, 0.000877119343477179, 0.0009822598294787696], [0.5765411670775621, 0.00034293454351741297, 0.07871683354304969, 0.006390828161567024, 0.01858063935642099], [0.570449355899209, 0.004027421785796166, 0.05384280629226337, 0.0, 0.011964529984240899], [0.6973966747917013, 0.0006695291186756547, 0.03217402697736748, 0.0005403973118276173, 0.03538874130838135], [0.685525245920313, 0.0009280792682820923, 0.03944807215661508, 0.0006643399985586905, 0.0363696133479918], [0.6779794243313089, 0.014769415876554167, 0.03371077675036255, 8.237169894025588e-06, 0.04474871043743525], [0.7147652766625481, 0.013398929326613471, 0.029751615638508314, 0.002732518497758414, 0.04253929846209396], [0.7230223129542874, 9.65029829264343e-05, 0.030279482651868146, 0.0026490812172779363, 0.039896598825840325], [0.7515317668682855, 0.0, 0.031457194445617176, 0.0, 0.0321591585581004], [0.7375641664781548, 0.00030541394955903176, 0.03377422189050805, 0.0, 0.04486554710896741], [0.7654613280421535, 0.0, 0.021962945619173634, 0.0004960193742599183, 0.06973937329216719], [0.7924105671852244, 0.019209290214941867, 0.05806027716886972, 0.007169206299094155, 0.011101776087081391], [0.7768100770090272, 0.03257910720206614, 0.04324619431480172, 0.0002795433660886214, 0.007708550121747378], [0.7826148386421581, 0.0006174175004039877, 0.025998357589817705, 0.00020239524194723624, 0.007708550121747378], [0.7709336183975761, 0.02881498196017898, 0.06984460434897155, 0.0, 0.03601274151247173], [0.7410433359909645, 0.0031371034249726678, 0.052996058127665294, 0.00017342887146799653, 0.000563083382403004], [0.7625235825193369, 0.07180585132312556, 0.0536025932149124, 0.0005414253843332138, 0.05180930227826422], [0.6347272906004309, 0.04166558823804799, 0.018691926085277914, 0.0006128503489458183, 0.04104723022213196], [0.5951950796968299, 0.0014545318458003336, 0.044323348264218916, 0.05785941262552158, 0.00743941474333688], [0.6178591078115859, 2.781296967128808e-07, 0.011790487290722247, 1.697346448838134e-05, 5.359541907506915e-08], [0.6040130064704693, 0.013827452251319386, 0.01315382815679314, 0.00035734115741789985, 0.005082253433228259], [0.5993976422667897, 0.0007981147790248923, 0.04062344889347811, 0.01784428254496448, 2.323238821784918e-05], [0.6279663829654912, 0.030239936383160235, 0.020266564958364954, 0.0345231558829055, 0.0006000054304080224], [0.6409162432652293, 3.62933143857007e-05, 0.010983416864875504, 0.05341711985882851, 0.0003759434192958117], [0.6493950574621942, 4.141019500501555e-05, 0.045665613723244555, 0.026240020547994798, 0.0018353757303678307], [0.6868042122542687, 0.00015012475554490655, 0.013798376654346097, 0.0004491838377841031, 0.0], [0.673269496019014, 4.94594787643376e-05, 0.007300039009874821, 0.0, 0.0], [0.6604933076165157, 0.0072526912511161334, 0.018929424359247205, 0.0, 0.0], [0.6614291748150067, 0.0071896016553389406, 0.018639707464034167, 0.0, 0.0], [0.6718150433181591, 0.0072526912511161334, 0.018929424359247205, 0.0, 0.0], [0.7024126927522931, 0.0, 0.007847466405293385, 3.4062147030387824e-05, 0.0], [0.7270818279475527, 0.0005031960251011269, 0.01602800147594078, 0.00021806186070639252, 0.0], [0.717273826358539, 0.0, 0.015784270439605758, 1.0514926270920738e-07, 0.0], [0.7324606884712832, 1.6370386015680935e-07, 0.010065535329617565, 0.0022710881010128206, 0.0], [0.7392126884282921, 1.0565252176856956e-05, 0.010065535329617565, 0.00017449167791525663, 0.0], [0.7454059308078281, 0.0007796009053854299, 0.03999312488032221, 0.00040318104544144646, 0.0072162783524971005], [0.7832518428348789, 2.4584598544256024e-06, 0.01607699122016763, 2.312001683366094e-06, 0.0], [0.7581924866439194, 0.013827452251319386, 0.014312230492635886, 0.0002946167695942227, 0.005082253433228259], [0.7618988285857977, 0.00022055728348703823, 0.014312230492635886, 0.0002946167695942227, 0.0002347721735764135], [0.7719943615276186, 7.581719788251437e-06, 0.003940589749394222, 0.002410029702675372, 0.003077248752109429], [0.7709155217489673, 0.013623889622667057, 0.014539498579036369, 0.014891737155452663, 0.00027390747577868413], [0.7161192595513843, 0.022486633726491678, 0.045388361302583904, 0.020074679102975883, 0.0002505321732365784], [0.8000618016481847, 0.00048737971906854735, 0.04432309017580142, 8.320789908591517e-05, 0.06234861168664607], [0.5312033556843245, 0.0018329344112707306, 0.028006807327890057, 0.040624675190031885, 0.09055491826877202], [0.5156468598676699, 0.014769415876554167, 0.009431598006855849, 0.08623343384559774, 0.04474871043743525], [0.5463043637474555, 1.743760944993883e-05, 0.04720634733725509, 2.5770198288697465e-05, 0.039957071223096614], [0.5246754036364001, 0.00033913933893989375, 0.050419314498818917, 0.0004019357176742386, 0.04421120754632582], [0.5001129995292564, 0.00016026084987805396, 0.033604199466538504, 0.0, 0.03549951450620925], [0.5069150321229322, 0.0007216532233500299, 0.03352011457075783, 0.0022390344780122513, 0.017308728819504758], [0.4757906442612143, 0.0, 0.0023270831125309643, 1.0292391526927215e-05, 0.04838624212772192], [0.48363157117294303, 0.0009784863385154385, 0.0009685545676202979, 0.0026167489479578176, 0.007704337361470122], [0.5615613121131915, 0.03660794582428539, 0.002935033969762208, 0.040624675190031885, 0.01673710686001754], [0.38668360817205805, 0.0007181924126067329, 0.05331538994185868, 8.319035698503086e-05, 0.004670894757616532], [0.3975791128363011, 0.0006843648994671883, 0.050130591101177215, 0.00011338534418966715, 0.03706930846757031], [0.41531467995402693, 0.006784103589726927, 0.07190594039546298, 0.000877119343477179, 0.00021912159343904537], [0.42354045425194364, 0.019810484527591442, 0.05530483162616828, 0.0006707382083686066, 0.010401930454015152], [0.43189619102509147, 3.541805519238577e-05, 0.05162368407475085, 0.0003351079058251036, 0.04000927431607396], [0.44201544220083866, 0.016633610308116987, 0.028967415398967102, 0.0009989519200638286, 0.0035621333951728062], [0.4710241299720155, 0.018978635079347, 0.07193889970998224, 0.0, 0.04477299581928908], [0.45766991504619475, 0.021727546449447233, 0.06675151218647198, 7.85838013102082e-05, 0.01419134776544631], [0.44970658975117306, 5.404043265211378e-05, 0.03580105691044803, 0.040624675190031885, 0.01725701483120677], [0.47371446023772, 0.008087479164607878, 0.038564354122406504, 0.012031017668298498, 0.028736769919465735], [0.49198165036370123, 0.014236600447621244, 0.03753906070780375, 0.008968270673324886, 0.0130112124603982], [0.45867796330146754, 1.9000329464417365e-06, 0.003986649274064412, 0.03531591046561164, 0.03392667217190197], [0.4537868393443447, 0.0008628747580536264, 0.018567997439425547, 0.01978895095357546, 0.030280309659730636], [0.44542776729767025, 0.00015225244597676622, 0.02050595346003571, 0.0339154856841703, 0.03392667217190197], [0.4816253646083186, 0.025846050687703747, 0.00232503963678137, 0.0012683066458269079, 1.39766740066891e-08], [0.46913677637418083, 0.00026947989616355177, 0.0012828234567737393, 0.009099587869781968, 0.0], [0.5087526359804605, 0.011656220960335657, 0.056370639790739356, 0.03471594438545038, 0.0008114690550354107], [0.5197540918904286, 0.004404332382709173, 0.017620731394358945, 0.0008392206363016502, 0.027656790193519333], [0.504463424307185, 0.004641537774706297, 0.0030114643157539006, 0.013988898594563405, 0.02798471659299323], [0.5293797575251484, 0.00026947989616355177, 0.005875425458600869, 0.009318017411899082, 5.816919461609652e-05], [0.5375063817441371, 0.017786216470842428, 0.0011162615293705963, 0.008154247075569417, 0.012788364691373585], [0.5465878539620581, 0.015989418234920894, 0.01900545699323656, 0.004179225039192134, 1.0681463001846784e-06], [0.5485899343347791, 0.015989418234920894, 0.0446648587691059, 0.004179225039192134, 1.1255915427595462e-06], [0.5666602912261207, 0.0014545318458003336, 0.04682359305540425, 0.003427375965140811, 0.0076964153769721304], [0.5667848960119016, 2.6437141078659854e-05, 0.04177311172340233, 3.936466184090853e-06, 0.008792305560637648], [0.5780757501702496, 0.013540805393064032, 0.03954993216295413, 0.00019196023500305808, 0.037746845325813794], [0.5779511453844687, 0.012639336686544468, 0.04700159772768297, 0.003427375965140811, 0.037575761292818116], [0.43439456591925396, 0.07423786466520382, 0.007966662199798795, 0.0008877230692184192, 5.253240504916044e-06], [0.6091011948865259, 0.045864220180666576, 0.04558101682446332, 0.004797185365277502, 0.04328406985178383], [0.6125292802801211, 0.021897642909446714, 0.03897826498475136, 0.0001986428080729066, 0.0013533461723005194], [0.62109759983466, 0.04618577915115112, 0.038651260364341945, 0.00019864633599670173, 0.0013533461723005194], [0.6255148360254086, 0.03309819353483613, 0.00025117250708315414, 0.0076021472903280915, 0.0020940528456632745], [0.6485654000924427, 0.023449499906328348, 0.046885677213994434, 0.00021097017488138324, 0.02749939874522652], [0.5835799206903368, 0.005037777420926938, 0.0009320142829306139, 0.045881173127764435, 0.03768262448923254], [0.6371776634258511, 0.004913057241104052, 0.006850324725469089, 0.06953265158469685, 0.0012137487805629068], [0.6444435519459206, 0.01928637132719469, 0.039256229331502385, 0.06938626243809176, 0.0003154282175506021], [0.5427454706908547, 0.07466182900389569, 0.0, 1.7921226768724573e-07, 0.0], [0.5934821877509309, 0.06867160537105668, 0.005374844546778303, 0.013393353325182551, 0.00732313596905995], [0.6027729967754465, 0.06867160537105668, 0.008256144302608777, 0.013393353325182551, 0.00732313596905995], [0.5705644828092383, 0.07083742087157935, 0.012140020402422687, 0.0162388822279419, 0.0], [0.5608361820215956, 0.008470134057071754, 0.03862389649807811, 0.0002503515457127895, 0.013587912856179236], [0.5771236097622374, 0.034548497873534666, 0.043694034245050764, 0.00024348950850484625, 0.03162258167848921], [0.5213538968797384, 0.03281623309897133, 0.038651260364341945, 8.508193960404115e-05, 7.4121089068176355e-06], [0.529178907819007, 0.015185155764496684, 0.020721257847055873, 5.388863509964457e-06, 0.008525778090024909], [0.5125697508746845, 0.014486200796731456, 0.01147939438449272, 0.02820831421367844, 0.050242594847999866], [0.5018505937821962, 0.03246980815614864, 0.044303674619413175, 0.028746937339378734, 0.04263240927416451], [0.537923257168117, 0.022946411471763982, 0.03883548087665584, 0.031067209534226984, 0.036221437066306664], [0.6812870703058033, 0.08287845572154687, 0.03967019677320653, 0.026589334490703956, 0.10792611812585182], [0.757462414892329, 0.0242658894411765, 0.015061497340544586, 0.002277015027034487, 0.006695296249821493], [0.7643885987619264, 0.00857561033365186, 0.005409650729838432, 0.00834193475906218, 0.00033461096680287294], [0.7366309923539516, 0.008997014024131304, 0.0, 0.02417034868852217, 0.003168396526265993], [0.7292907553872885, 0.02070839481094971, 0.0006211332357459534, 0.0014189201810367678, 0.032297505988576565], [0.7217279884779422, 0.03518517032947201, 0.03373617868770657, 0.0009645328205823422, 0.02749939874522652], [0.6871701604424673, 0.03436127343960504, 0.03887322736409657, 0.02820831421367844, 0.032281569002378885], [0.6678324186029085, 0.07920671382000044, 0.017382903147718613, 0.002325548303057335, 0.03305105443242102], [0.7124378827232434, 0.07089950021715462, 0.020353833589990725, 0.0, 0.013474523125743692], [0.7038029748428576, 0.05679600752479415, 0.004822587504398734, 0.006438276360515541, 0.0034475190932156605], [0.6986695074076946, 0.007324480718907331, 0.01133402430237598, 0.07076864783260817, 0.0008823068281624928], [0.7214639146883526, 0.02851840026593514, 0.016088176130609574, 0.09051659006705326, 0.006704800018517721], [0.8361551343603937, 0.0070767501915566895, 0.023625654572819694, 0.029040954624113716, 0.0037989326592048865], [0.818001308928874, 0.009103863668917737, 0.020721076491182967, 0.03680559986450088, 0.011862275198945227], [0.8029437807444415, 0.03987072504838904, 0.023625654572819694, 0.029060261060729883, 0.0032511230466177564], [0.8096061155953966, 0.044509746978016546, 0.012129124801514735, 0.026605269232453405, 0.02974537615568238], [0.8126420675215644, 0.02596206892466005, 0.015061497340544586, 0.002277015027034487, 0.015831421023614713], [0.7743942066322902, 0.03045496736677055, 0.048789992411878536, 0.0010844386188300992, 0.015865406161970755], [0.7852879090596631, 0.022437858286488876, 0.02862055261317857, 0.007385223550996314, 0.0012383125190373687], [0.621597857002902, 0.03267770871031058, 0.035925238302504665, 0.025744866969301665, 0.029624811284013283], [0.6121438916050409, 0.019985398983939452, 0.03426138477000257, 0.02142320294883213, 0.006697105693277367], [0.6056724604448794, 0.0021023672683612576, 0.03037866647448373, 0.006097095227968981, 0.020063048238252962], [0.6264630415624372, 0.032947215108503444, 0.035914666796558026, 0.04700525013109875, 0.00041914334242542685], [0.6353317081912726, 0.0024817498815647293, 0.035925238302504665, 0.04700525013109875, 0.020063465952976527], [0.5830310528058136, 0.013233218024929154, 0.028477072195116256, 0.04022324401844338, 0.00036509381658370553], [0.5993764540609301, 0.02081601450918781, 0.01948071190703479, 0.03989218627621391, 0.0004673602239169822], [0.6553720158371023, 0.002073021847842527, 0.03544240570475461, 0.00035361792715779203, 0.020063048238252962], [0.6427343850624568, 0.0030789249630234217, 0.028477072195116256, 0.006904157200367874, 0.0005031561001412644], [0.6834723088538911, 7.181256055216554e-05, 0.027157951639796424, 0.02699538579598811, 0.016718554806621617], [0.6760823521483855, 0.0016613646754318426, 0.031108682270507265, 0.010742567663375363, 0.017129988049912923], [0.4978574474000671, 0.00027691802154556104, 0.0017980906330117199, 0.0024198888641854197, 0.004490353956264837], [0.4847225657612203, 0.00027691802154556104, 0.0017980906330117199, 0.012465117131968573, 0.004490353956264837], [0.47810125627546096, 0.008808119425760402, 0.007978232293493297, 0.026911748680185, 0.00047474811262405905], [0.5064740121710916, 0.0002717551001684465, 0.0012002677231654699, 0.01797007623237047, 0.02604896926897337], [0.5737550119610757, 0.0021023672683612576, 0.03037866647448373, 0.006084930539854237, 0.020063048238252962], [0.5426767430257758, 0.010675866132410682, 0.04148436992851272, 0.006458770510667955, 0.0035582473706756886], [0.533747760179216, 0.010381768391072198, 0.01877030095605851, 0.027755657081039303, 0.00995967695926775], [0.5551635598417526, 0.0, 0.00377767583046789, 0.01660605750387717, 0.0013987645864562582], [0.5231329737412556, 0.0005425135814199761, 0.007053580045985098, 0.0033005912817177935, 0.0012066290622810595], [0.5329375733129967, 0.032947215108503444, 0.03570635428957253, 0.04700525013109875, 0.019528412619613352], [0.5647768151725119, 0.0035205983975376623, 0.017991107545592064, 0.05406634715724666, 0.05202642939434887], [0.55505352112197, 0.021167780180100095, 0.011941400219918255, 0.03462065331075015, 0.08080415771674501], [0.7354198163997334, 0.0034840939135304377, 0.096149696120477, 0.022088913638938647, 0.006694287086129531], [0.7050654224052904, 0.020119951313178917, 0.09514187045637093, 0.022088913638938647, 0.003690681928123078], [0.7954152221637173, 0.00023558786848582448, 0.05101597862019228, 0.044349615181088695, 0.006736570921932197], [0.7786709886685793, 0.00023558786848582448, 0.04052766105365342, 0.020889992080295797, 0.00669668484213734], [0.7703170314775718, 0.0002491733507927396, 0.00713365802835527, 0.04153360500701159, 0.0014051948355248145], [0.757343235558889, 0.01710854465772433, 0.025233871892076508, 0.041583569286527226, 0.0066230232548380435], [0.7625756659758596, 0.009558146714049903, 0.03201732703868214, 0.03517979481942712, 0.010177625109241402], [0.7417061899643496, 0.0007596003745112372, 0.03405037322298597, 0.016265951436458655, 0.0024107727917001467], [0.7476807097500879, 0.000628033961756304, 0.05154009786014057, 0.040987915402083346, 0.00033936852423170817], [0.7182840974779395, 0.0019297304769519811, 4.99280417982223e-06, 0.05024005955326259, 0.006676007063422654], [0.7086102112737434, 0.03004582369584033, 0.005767866048755756, 0.016642810531039304, 0.001433543734811707], [0.6689380829219753, 0.03293389774691786, 0.04277237629230457, 0.05397703136840777, 0.019529688268314468], [0.6912872660618394, 0.034495897716670505, 0.029217264655954617, 0.07809838267203759, 0.017739984581528145], [0.7033538315197507, 0.0, 0.05077811316495087, 0.11234273449755988, 0.0008964103971616962], [0.8085444244083019, 0.00023558786848582448, 0.04052766105365342, 0.10770787743282756, 0.008133172514637098], [0.6329428089159427, 0.03004497403924394, 0.036327945842928186, 0.026709597518454704, 0.02787090527797862], [0.6359544592519889, 0.007272851562083309, 0.03305139362858567, 0.034503685374575044, 0.02721079797492875], [0.6124945254821317, 0.007272851562083309, 0.03305139362858567, 0.034503685374575044, 0.02721079797492875], [0.623315180541524, 0.03393530325082335, 0.001875533278067297, 0.027619087853424568, 0.014923712205380102], [0.6045047671716486, 0.045276109597157214, 0.004645085530414449, 0.011370181626141429, 0.012720936458676183], [0.6556456208988117, 0.0005446362343190445, 0.01811938101081355, 0.03424511411993045, 0.033277566653976236], [0.683797443692699, 0.018001336061920576, 0.02128843204550958, 0.013868023436641421, 0.0028089007154264226], [0.6751587799168633, 0.02937872522246895, 0.033868896096677883, 0.015313171638198245, 0.024059704395818827], [0.6595471857614154, 0.013962288194603309, 0.03733332969377784, 0.015256435041947045, 0.0173754734376005], [0.6679087873024921, 0.043376120529931575, 0.05542078785191802, 0.005497635749047193, 0.03163311934718573], [0.5928672184898587, 0.001407819230758809, 0.0188260297215365, 0.00017003121802169376, 0.0004459533978951758], [0.5966245362917173, 0.0014385375699865217, 0.024408105947729453, 0.007031635330284211, 0.0006026891258678769], [0.5648248866044965, 0.018545456858212173, 0.01254136472501451, 0.004067011097496248, 0.003299763939136856], [0.5838362158733714, 0.03659609167933487, 0.023739384794133473, 0.0076052723973951235, 0.02804462980367546], [0.5759749775433642, 0.026988864980295988, 0.03164509437926575, 0.034390207819616284, 0.03342100427744972], [0.7076481336141638, 0.055171949174739277, 0.03141698736401489, 0.013908644539384923, 0.026837852835180084], [0.698089929171485, 0.010483282625769768, 0.010699856446895736, 0.06096034336185943, 0.03247937098121533], [0.6999917553667775, 0.013419244332005125, 0.03375810188612785, 0.06226880182989726, 0.00787467168479463], [0.7201856345392579, 0.011255709821249939, 0.0870329887365867, 0.060403993112843044, 0.00781908989886624], [0.5192002515511387, 0.022169683486369447, 0.03136015822320326, 0.028207205426882587, 0.11853124785103922], [0.481678151019743, 0.01770229330469951, 0.03263136020158784, 0.013819756765299715, 0.015582476752920245], [0.49044206036805693, 0.033112365644652156, 0.04495785371476177, 0.007132636713900384, 0.02508112898289778], [0.5427243274438245, 0.023778265808736692, 0.0360944519945232, 0.022651666656359287, 0.00803775387157281], [0.5197467396213703, 0.0006387956800839832, 0.031319474420481025, 0.0242383889760447, 0.024106651822067938], [0.5273688407852468, 0.02263187725772718, 0.012827681997310407, 0.007343919760316491, 0.041770430291957164], [0.7548429940240837, 0.0055935289150492035, 0.06057179483508879, 0.027732171720195778, 0.11853124785103922], [0.7616245467266347, 0.022169683486369447, 0.0350094473517412, 0.028251995566116246, 0.11853124785103922], [0.730864871471332, 0.012013355078132157, 0.03714314764118591, 0.01574555509436741, 0.12470928311570748], [0.7317221266601044, 0.025857420828875544, 0.0321383656934812, 0.02849342387313104, 0.07427157252931423], [0.6394675889231776, 6.48347450498341e-07, 0.00031312917189187973, 0.012837666763645766, 0.0005691140663048917], [0.6447884481397664, 2.5638971717523182e-05, 0.016709269961556694, 0.0061419277758326075, 0.00958440338964188], [0.6616649487329359, 0.0, 0.0003683769059979816, 0.0062018359482776, 0.0003882983447202233], [0.6697087169081181, 0.0025807108982575863, 0.00029045816694375955, 0.006646687481199648, 0.0005667787898915703], [0.6544468879082903, 0.0006018599540285139, 0.04118313805792674, 0.012515630873827604, 0.0005775408733184164], [0.6146029829688346, 0.0001230124006598131, 0.0011720580916882327, 0.0012161150764192713, 0.015234142435720431], [0.6065431529932492, 9.756222455195281e-05, 0.025002093279156652, 0.00853706565400797, 0.001287848697760413], [0.5899109123763783, 0.037712300749905156, 0.0003047036670863583, 0.005936862815465009, 0.022360808879528616], [0.6826983921871783, 0.0, 0.0, 0.0719577825604756, 0.0005691140663048917], [0.6750124353685417, 0.0, 0.0, 0.0719577825604756, 0.0005691140663048917], [0.44666937749781277, 0.0010233404429716576, 0.0, 0.00798941806921122, 5.574603897694951e-07], [0.4566332701535415, 0.010697884777837945, 0.0, 0.014962079514978209, 0.0], [0.47260921993265764, 0.0, 3.056825771250251e-05, 0.02451459809207976, 0.0], [0.42125484719101075, 5.089166972160062e-06, 0.00021883233393979538, 0.004091367737534196, 0.005028522165601013], [0.5675070185056813, 0.0, 0.0, 0.0060674967724432234, 0.0], [0.5815732646883897, 5.520564792379709e-06, 0.00021264423190892577, 0.008111653552166946, 3.258651293490378e-05], [0.5586666477589566, 0.0, 0.0, 0.02165829948670146, 0.0], [0.5552968889283589, 0.0039040464361689425, 0.021835257622110166, 0.005673095164943994, 0.0], [0.5450920087645954, 0.0, 0.0, 0.005983238554257451, 0.0], [0.532925593121593, 0.003158497798712901, 0.0, 0.0060683701011631265, 0.0], [0.5408058752681091, 0.0, 0.025367080777631938, 0.00549946504015132, 0.022896361601704496], [0.4888760264959706, 0.002546682472410376, 0.017338778225472754, 0.005746813046480611, 0.025402177647229938], [0.4952198143245923, 0.001369231240722673, 0.0, 0.005375853281826173, 0.0], [0.5213691106393978, 0.029415305634699053, 0.0017945839408123115, 0.009234588578720566, 0.00012209826685250218], [0.508976877370437, 0.02439340014778446, 0.0, 0.00471973536639975, 9.696677802795064e-05], [0.5085035788036159, 0.001369231240722673, 0.052073513194066584, 0.01529221154131477, 0.0], [0.7362982500851354, 8.279964313419156e-05, 0.0009803165113273324, 0.00043387446955920825, 9.154046026285418e-06], [0.7218959964626824, 4.778809872024382e-05, 2.502567492970731e-06, 3.5341320039818797e-06, 1.3502549889834764e-05], [0.6892264554534464, 0.0, 0.025441560204580327, 0.0060683701011631265, 0.016971944866013042], [0.6950230361120593, 0.00024942693033848384, 0.00011803501159269789, 0.02640942499286785, 0.0006073177813937184], [0.7028629917598891, 7.916805479795883e-05, 0.0010203616898584837, 0.011868694780835475, 0.0], [0.7462585265521555, 0.004743405995982185, 0.0002601007522858509, 0.00570868523132798, 0.042499296875674594], [0.763065070278512, 0.0, 0.0, 0.00794398985671158, 0.0011067773545650472], [0.7771274286336461, 0.0036831398529076353, 0.000457870390551436, 0.003708484692883615, 0.01213522120775805], [0.7547259076178773, 0.010458720123732487, 0.01677609846156433, 0.014925781403089148, 0.0], [0.8074670948493979, 0.0006195900136332054, 0.000457870390551436, 0.002576064664359631, 0.0], [0.8167328652355667, 3.363088088487339e-05, 0.00017119264404408946, 0.003708484692883615, 0.0], [0.7979387525512854, 4.013057529520837e-06, 0.0011005493627773318, 0.0060291689359390265, 3.239563251451467e-05], [0.7917793545203302, 0.0006195900136332054, 0.0010569113460206596, 0.0019131990938909167, 0.00023605998614232952], [0.7829529003067093, 0.00032081031887533015, 0.003324696815765152, 0.010827419113260302, 2.2517668062840834e-05], [0.6244324252369725, 0.025471735548137205, 0.03124765057895731, 0.024563241698544305, 0.02508711061765265], [0.619225552833721, 0.01727135248368046, 0.020194747841665417, 0.04014024324478952, 0.017277783469651017], [0.6368963322444823, 0.019362172754548025, 0.018312812262065995, 0.0005973745668948894, 0.005891959719971515], [0.5968815114638076, 0.004592109323170411, 0.016445127414476596, 0.01055985532871024, 0.0029610324850920383], [0.6076793416479598, 0.02378528289120868, 0.019803015248639193, 0.004255323246443964, 0.017241171389399422], [0.6579656902705591, 0.04476348583393276, 0.03128772125506146, 0.014016518628963979, 0.0009049996731837883], [0.6633756283319225, 0.04551092710500281, 0.03128772125506146, 0.014016518628963979, 0.027044124906417596], [0.6861194646416032, 0.05587810183599324, 0.008458060576206999, 0.015531900989952552, 0.029937991030193192], [0.6734023518225343, 0.023785069082411917, 0.03819378309003717, 0.014659517940043883, 0.0476778582021902], [0.5755849911995914, 0.018826353458336356, 0.028621070916803132, 0.002334453071078598, 0.06015198855610246], [0.566373819140962, 0.002551510764818776, 0.028621070916803132, 0.000498452801014378, 0.06015198855610246], [0.4949717342177242, 0.020147250554567033, 0.007633756494170252, 0.034239208250334885, 0.05175819968591022], [0.520878016109586, 6.771337963740187e-05, 0.005633014811944048, 0.030626370399031266, 0.059273670652526214], [0.541333738813552, 0.025471735548137205, 0.017873268529736364, 0.02263027334173294, 0.04302117544429825], [0.5465185769095263, 0.0189772413238223, 0.028278011524302298, 0.0002741801334860926, 0.026472000548602173], [0.5164341156080311, 0.009770512746404763, 0.0021207396248378516, 0.024563241698544305, 0.021906760564611247], [0.530720968989564, 0.005116647232006749, 0.0038412635850876213, 0.001176493738445113, 0.030023346630564753], [0.5270526713775806, 0.004876645011187964, 0.008129873698384698, 0.001176493738445113, 0.030023346630564753], [0.506042648227661, 0.0245275721689628, 0.028278011524302298, 0.02089698711782948, 0.027848861939272967], [0.5562664330142906, 0.0002339832298369187, 0.03526175978445016, 0.032701648747264056, 0.0304152175470766], [0.5974165905318333, 0.013664845465129088, 0.0014045462029901798, 0.0, 0.0], [0.6067283740264796, 0.018453829022233928, 0.0, 0.015230588079971255, 0.0], [0.6245616422925155, 0.010923214597178389, 0.00014032855455603076, 0.035628691662178524, 4.6835820152524163e-05], [0.6155542939330388, 0.05375318134022028, 0.0, 4.13748441391678e-07, 0.0003719749117683836], [0.5871008713690267, 0.033131530601200075, 0.0009703732737317786, 0.002284460018975795, 0.031978898997826674], [0.6767020519450383, 0.013117095701474936, 0.001304358706774152, 0.0, 2.2984312572594132e-06], [0.6693653927569917, 0.011346040993708046, 8.9078633346726e-05, 0.017608192359215173, 0.0], [0.6829581216181331, 0.00465875701133894, 0.009229414870161155, 0.017608192359215173, 0.0], [0.665341293324097, 0.029312345231848013, 0.00013020402117478868, 0.00045742641860103516, 0.006574558797061106], [0.5441758307060985, 0.0006921600134750065, 0.020348709617226096, 0.0, 0.0], [0.5570367771150506, 0.01460418691885162, 0.028311924986373638, 0.0, 0.006965828929228432], [0.5752510153158362, 0.014744371622405775, 0.028311924986373638, 0.0, 0.0067838354492974606], [0.5652463761988166, 0.014630058387243777, 0.00016677152744673084, 0.0, 0.0], [0.6454725722065698, 0.054071305265244174, 0.0, 4.2141434218855984e-07, 0.08890857821025311], [0.696178627454175, 0.02646187408129001, 0.0, 0.07748501692018712, 0.0002905205474417749], [0.6050439550140897, 0.017084023923695138, 0.026319734377223118, 0.0307795220934204, 0.01596615412265981], [0.6148264781012802, 0.000823721112103248, 0.02960736008320803, 0.006852617205382981, 0.008435679045760612], [0.6274326796977531, 0.00021652488834619267, 0.006780420285252782, 0.03680792132638547, 4.714603025118835e-06], [0.6370675455560876, 0.00015131588702433632, 0.0035740032822562176, 0.03828110478862957, 0.010349294227609785], [0.648209541808498, 0.00015131588702433632, 0.0035740032822562176, 0.0384297024157397, 0.010349294227609785], [0.6781073536427451, 0.007091487409655942, 0.025129711323163377, 0.022629010093039744, 0.021900457783072397], [0.6581710091778562, 0.010986004374196737, 0.025297225155992566, 0.016923565940019, 0.01553499949297369], [0.6889744580844658, 0.018354551586729086, 0.03884784201305412, 0.01486626615810795, 0.02572224922946524], [0.5252060183782713, 0.012148227071943933, 0.03419823014148653, 0.07227721926328826, 0.000660675818311474], [0.5376228086147812, 0.01191577399878827, 0.02416976171972141, 0.030012641005022198, 0.0006179321457189177], [0.5628166058155513, 0.0005138984732059359, 0.008371876604047064, 0.031193139896901378, 0.0029025866068937197], [0.584362437338174, 8.201287805516754e-05, 0.011447855208985017, 0.007904872406466312, 0.008818051291411149], [0.5679153097644674, 0.015509424396640697, 0.030340417111311843, 0.0015456835606571726, 0.009041785215973201], [0.5343427444280463, 0.014180406124057212, 0.024073473799272313, 0.001542471715352392, 0.018813527311147493], [0.5598094712038693, 0.0007856922563731494, 0.05317792241528721, 0.004799269194779424, 0.09548464216557587], [0.5991595258506249, 0.007909465427605514, 0.024060128902204794, 0.0004569623725948508, 0.09876939657383166], [0.6066030155332888, 0.036437359289663025, 0.02883510227236121, 0.01963700590242736, 0.008489085488573894], [0.6222047698356747, 0.024227342679388104, 0.022876033614747125, 0.022403164325794162, 0.00038203940405549114], [0.6356052572907642, 0.00036296195819931, 0.029333867144235165, 0.0221262531969467, 0.024035039815310296], [0.6243580622477591, 0.0003306820240534343, 0.04820459729758094, 0.022117166733038218, 0.024035039815310296], [0.6511967222366732, 0.0003306820240534343, 0.04820459729758094, 0.003976918957999502, 0.024035039815310296], [0.5833837421945333, 0.00011844863980918019, 0.0031070340891453333, 0.020076037711878516, 0.002002709520602138], [0.581168322765818, 5.929023494544692e-06, 0.00596164221367243, 0.024128143984506134, 1.479615026399371e-05], [0.6012907067573797, 0.00036296195819931, 0.02009083930682385, 0.0221262531969467, 0.01055426331539466], [0.5672105152747647, 0.012649824787564712, 0.011291137380792945, 0.0034184409486181858, 0.00010831353441082686], [0.6690992878487525, 0.024107573615704474, 0.03825328918218213, 0.030693789549317, 0.0007258083995513379], [0.672141430525699, 0.024107573615704474, 0.029333867144235165, 0.030693789549317, 0.023044547498375877], [0.6852876906686266, 0.024107573615704474, 0.029333867144235165, 0.039840430071516844, 0.024186373354121403], [0.6936229313115736, 0.0017225454281997662, 0.017360201370016693, 0.0018934766250201327, 0.013859321724187842], [0.7158125590965239, 4.90248625469183e-05, 0.013739078791251746, 0.02633038363023344, 0.0004720430062042924], [0.7219439810795469, 0.0010953963686609787, 0.014958340393234862, 0.007718009761541071, 0.0], [0.7059935179687594, 0.010739421799972698, 0.02604182785131057, 0.020623507615992555, 0.00019592492890880067], [0.5380647921594369, 0.0011845380287790128, 0.032561230052416484, 0.01696960926596542, 0.005718048527387133], [0.5203322746085844, 0.016250027022084248, 0.02996199681492427, 0.01708251809830243, 0.0024799060139812333], [0.5081318867264837, 0.010047101920382372, 0.014460714464233762, 0.00484572248835328, 0.0022024661396466416], [0.5265973003827413, 0.01031645458631191, 0.017346156532820678, 0.05243626509233807, 1.8871722102834507e-05], [0.5556410748915838, 0.06561280367350322, 0.004036572927023641, 0.011708248960186012, 0.0003272085957029616], [0.5718082215740458, 0.06317939373664447, 0.011291137380792945, 0.00513617110271204, 0.00010831353441082686], [0.551073847799055, 0.03830204818629993, 0.004036572927023641, 0.011708248960186012, 0.00022037615077895702], [0.5013961421663092, 0.016220854650079816, 0.012049369455320487, 0.08017045389462316, 0.0212446305996835], [0.6307572415189624, 0.006442506499965516, 0.024023315550583423, 0.001103331841659989, 0.00010608642489623324], [0.6223793136041745, 0.022454166191873123, 0.051660661771600475, 0.0011986893389211994, 0.0004766546872179405], [0.6112256290973858, 0.004836475850347993, 0.04485143273582237, 0.034789930768180995, 0.0], [0.618954341219647, 0.021482277608392546, 0.051660661771600475, 0.06490533206404203, 0.0004766546872179405], [0.6549096620643514, 0.04172157468831119, 0.026129758339334286, 0.0, 0.00036310343407511964], [0.6432243254747565, 0.04199548481807418, 0.030299471798982344, 0.0006351693426192261, 0.0025830337469708933], [0.5958859581737184, 0.02504652043557631, 0.01144688133307846, 0.01427177631077444, 0.00029018345540835107], [0.5810017735826475, 0.005869595686807975, 0.021238783009922067, 2.3492571122755355e-07, 4.940742433691677e-09], [0.6770948259093689, 0.017242966541045332, 0.042758286561778824, 8.809913009761618e-05, 0.0], [0.6617948058880451, 0.013374260189719815, 0.07729380588748055, 0.0, 0.0], [0.5651775953712306, 0.034648439301661546, 0.059280321437070224, 0.030684072732861258, 0.0002210889207623591], [0.60860712048521, 0.004866649740367931, 0.0989041921349019, 2.4339312151626286e-06, 0.0], [0.5739881788484569, 0.02429401099963787, 0.08420484551544977, 7.33868567183574e-08, 0.0], [0.5567672374935398, 0.02242416363879669, 0.08379762942805188, 0.0005421544334156883, 0.0005951339959243719], [0.578927108322862, 0.01727006217866405, 0.09825745741173679, 0.0, 0.019779635584343147], [0.7710608092240917, 0.02375835801132916, 0.02925545655379853, 0.032506999327654565, 4.7939559261703235e-05], [0.7505175319355999, 0.0237369552081097, 0.029366609951292286, 0.0004426950286484498, 1.2653454469085143e-06], [0.7681021627242866, 0.026478869230421566, 0.004765805576759314, 0.0016674788782776954, 0.02026024258453321], [0.7329668099106569, 0.05645671164146996, 0.004874536131805669, 0.0034104296367396987, 0.0008848366131003291], [0.7206338236142368, 0.04172157468831119, 0.025015149165104916, 0.0, 0.00036310343407511964], [0.6911190989073273, 0.0033922398526062165, 0.028767243207916758, 0.04099990337780929, 0.0002780934123984332], [0.7106223228848662, 0.02375835801132916, 0.022411367630537925, 0.03770500722264732, 5.293246857123791e-07], [0.7010264414475177, 0.012376593607904177, 0.008410881887370653, 0.008516723329012547, 1.5813469465084367e-05], [0.713600694993755, 0.014960528400921401, 0.02925545655379853, 0.00863854394389748, 1.724088052841577e-05], [0.6862103459856588, 0.03187520173232292, 0.0027087338314674345, 0.011970932568321428, 0.0019280978447587388], [0.6681510839157199, 0.08398264274490311, 0.026129758339334286, 4.539543518505829e-06, 9.344521310972252e-07], [0.7490363734616048, 0.04057189992291659, 0.10653998579435149, 0.00863854394389748, 0.02317833918405994], [0.5080701355509936, 0.005211298771313558, 0.017083773100889883, 5.909820642807737e-08, 0.0], [0.5219789001042892, 0.005321332478402076, 0.017083773100889883, 1.0953422244097178e-05, 0.0], [0.5431116144677783, 0.005854267497558283, 0.025193181946617127, 0.012808625819957745, 7.186524713602004e-07], [0.48636636358967467, 0.014960528400921401, 0.0038843370479443376, 0.007605731534842933, 2.8270201291799647e-07], [0.4610280800499841, 0.016811577036496328, 0.01648336034363112, 0.0, 0.0010508851588307486], [0.43320997546931794, 0.008034342788078783, 0.024553035676581916, 0.0004965005537325602, 9.370777477959096e-05], [0.42540264485974866, 0.017882261644934817, 0.032000377366900805, 0.0, 0.0010508851588307486], [0.4168967429602066, 0.010939156111331318, 0.0008879439150336187, 0.00010736945818403345, 0.0018793099798145238], [0.4455559748333259, 0.021542572009652518, 0.03440600619307177, 0.023159448718167643, 0.02305297265856895], [0.4784924550148403, 0.05396292681604195, 0.004424649703217116, 0.032291971463165786, 2.8353774144334416e-07], [0.40957470844679783, 0.030568322995175756, 0.030043214444743817, 0.001031223517415654, 0.060852113447419705], [0.40891644877007505, 0.08962224660723483, 0.04024615849401382, 0.001043440790212187, 0.00020383025697936742]], "centroid": [0.6194994205385302, 0.023831145045469904, 0.029410624416893495, 0.02216412184450853, 0.021923316716657218]}, "1-0": {"solutions": [[0.0007561088802647276, 0.07271779518030072, 0.13877234330988092, 0.06296729182056693, 0.03476579236398314], [1.1524162046444575e-06, 0.07499827192951623, 0.19350286830045227, 0.0765326576897728, 0.05502985897152052], [1.5368196340515006e-08, 0.07965150299562143, 0.19350286830045227, 0.10401680752421313, 0.05520309301257259], [0.00010397528383958993, 0.013512117200044887, 0.1601574678015597, 0.10448103264999595, 0.0490017284230472], [0.1033435707671228, 0.007250769044574626, 0.1605818042360996, 0.06494759682517214, 0.02865804697461495], [0.10408878009548281, 0.007250769044574626, 0.1605818042360996, 0.052302319828888, 0.023419578030943092], [0.14799059739494402, 0.007250769044574626, 0.15216073450516912, 0.1624549024803152, 0.02865804697461495], [0.06536413437962052, 0.09213371705821957, 0.0034164609356037434, 0.1363828133345446, 0.047915415669555594], [0.007797297336948589, 0.0875711968131376, 0.06309764254012426, 0.037967180661200806, 0.025357104650076012], [0.02425295626493751, 0.085751743915936, 0.06318212647023817, 0.0892042244111017, 0.022536594019682332], [0.07210879542555071, 0.0875711968131376, 0.06309764254012426, 0.037967180661200806, 0.009301855932578817], [0.06708523789221083, 0.13708884544603125, 0.042348220470611486, 0.08897950378646743, 0.0010754922397986227], [0.07919278521177026, 0.0835176473112535, 0.06681877016597812, 0.028203045935243313, 0.02318016764053979], [0.12396019113421969, 0.08179299757459041, 0.10689298085974754, 0.02737211812328806, 0.07963437369290331], [3.156281479707308e-09, 0.03782502826672052, 0.02586191714926761, 0.0977993755032239, 0.06827402283408848], [0.005858355300629892, 0.014953252222336955, 0.030806050485854265, 0.06620434364775755, 0.056835708346871475], [0.0035248699263260696, 0.06467732334536636, 0.027701464227681195, 0.07825799557120122, 0.030607137307088028], [0.08939056088280994, 0.00046965916630621607, 0.0077771297726707544, 0.0607671226187845, 0.020010414798816958], [0.0538573937073315, 0.0024048599327009673, 0.00508442021345154, 0.0009379997238126644, 0.0002231677233124653], [0.04270966281069788, 0.002192621674696426, 0.005155920122875718, 0.00110404370427164, 0.0008201334447062968], [0.030845350151445072, 0.007124384742251895, 0.02572943718089039, 0.0008933565456770917, 0.0002231677233124653], [0.01826921482985176, 0.016138087523842486, 0.014211861687371846, 0.03995532197042845, 0.007630781877249915], [0.008781090283820236, 0.012993780610522615, 0.05059239581934068, 0.01128848282325283, 0.044700819966722406], [0.21623237750153995, 0.006144404949329805, 0.02556394491268484, 0.010596866466565769, 0.04984012730549167], [0.19318314634010353, 0.0012045244919451012, 0.0784859932782428, 0.02807851673033404, 0.050798158160853306], [0.17280691084119693, 0.010993247582962454, 0.053991821585968075, 0.04896995282400059, 0.004764211105905879], [0.15805650085649892, 0.010975450593674028, 0.05553209221955996, 0.04896995282400059, 0.004764211105905879], [0.14434443397554148, 0.022876751232332737, 0.06312010975296345, 0.0603651467541556, 0.018676827930446723], [0.2352563695718199, 0.0078018007476653856, 0.0077771297726707544, 0.0607671226187845, 0.020010414798816958], [0.1980519693731035, 0.051641356556324985, 0.024827389408837552, 0.08165846564631354, 0.018187333016029164], [0.13949948103115067, 0.03312973098002224, 0.0784859932782428, 0.08367733578765613, 0.06178455989903696], [0.12483332581656559, 0.03995357085133658, 0.04354219203414416, 0.11209381281365591, 0.06996892928716622], [0.19250909230848184, 0.03998102687431633, 0.0844338485629585, 0.07862569824766028, 0.05848973338320225], [0.14659467381578248, 0.008268704386386112, 0.002636919050499141, 0.02596750795829013, 0.08062196182363648], [0.21556974063441064, 0.015762570093583284, 0.008198304586517505, 0.13244916135243928, 0.05550207159131886], [0.06965609519658547, 0.025933931256485326, 0.04944027967587622, 0.026904469362088512, 0.031759886189947906], [0.09103486059904865, 0.016123535689313854, 0.06536085913642384, 0.019068072216510024, 0.034286276465229984], [0.05542680346502866, 0.004867152585663809, 0.06542421056292755, 0.02071197898093471, 0.034279977212678156], [0.13453528096994893, 0.01027624075705355, 0.007538518066134336, 0.020356931332678366, 0.047443652086495036], [0.12626459798784534, 0.03207717728417249, 0.02083189119680018, 0.020051963030012054, 0.04655425423722322], [0.11430650697962566, 0.029214927694447716, 0.007818333401785504, 0.021346262785305027, 0.04043812685908745], [0.09799650239876789, 0.048521542037004435, 0.034803787744398136, 0.01923063703030288, 0.03583412102241161], [0.11310227549629565, 0.05749601262822347, 0.007203433843516207, 0.05537282832663343, 0.05837084413730026], [0.15244970190737894, 0.03225876658227764, 0.012936886381587229, 0.06344531142111569, 0.019972699434812516], [0.08221227265254405, 0.01714512715519137, 0.008035903478662317, 0.08886714426538146, 0.03620800178040461], [0.045306943386022314, 0.030337125876406773, 0.012784893542162383, 0.0063093009651164, 0.031648675915152524], [0.010819840247955737, 0.026900994917692933, 0.003638618061079943, 0.020481664400486304, 0.05792821266463164], [0.026537399446622298, 0.03791651861817935, 0.0501886579198798, 0.02030634164867913, 0.04251327629681683], [8.96666494554709e-10, 0.03912176990310463, 0.05024314870925878, 0.020307302180291975, 0.05813085627972788], [1.471309361224829e-07, 0.03912176990310463, 0.04990418635087526, 0.016912971983711417, 0.03491097051380219], [0.07985703656077076, 0.0010371897872024152, 0.04192496488362337, 0.05383150116391239, 0.04237528916284973], [0.11590832257143052, 0.07099861273112712, 0.0759046727315507, 0.0, 0.0005174221567270151], [0.142252826006991, 0.06896302679935307, 0.0759046727315507, 0.035325535088045146, 0.051997645415727024], [0.04417884011886393, 0.0409171411972889, 0.0017417619496121195, 0.05203986697024024, 0.008818435323920647], [0.013791164795594849, 0.047193380017386044, 0.007800352371013647, 0.05053661712812274, 0.0025436282617686853], [1.1126812713118783e-10, 3.45125231593444e-05, 0.003968274021698744, 0.05053661712812274, 0.0027657098957759377], [0.0644222515737202, 0.0003353784211569937, 0.02315375394633279, 0.019079834488769078, 0.0049937356076610664], [0.08046125584156404, 0.0010371897872024152, 0.0239216537941331, 0.050829949727683024, 0.0007233291610063142], [0.022914215090164176, 0.0004416864418639657, 0.001333419872210734, 0.0012713221091348703, 0.04311632383214479], [0.05197380384339717, 0.0008174163486385031, 0.030476072555562533, 0.011570449414902182, 0.04374760738615362], [0.10664185140025595, 0.09450914988000836, 0.009615781692893571, 0.0021596612368692597, 0.04333637569956146], [0.20743581956815949, 0.03752388274393861, 0.026716165392594873, 0.019752625453760244, 0.05572449985011514], [0.19240530153243118, 0.028646451745431685, 0.026716165392594873, 0.02056028870292903, 0.05572449985011514], [0.2167541129573025, 0.01939755317748968, 0.02646679335274903, 0.02300370371442999, 0.05283259330760149], [0.1828116253770894, 0.028648930788481686, 0.04360064765385864, 0.020685400148398397, 0.04709048094546166], [0.22589477921300583, 0.027181501673522374, 0.02762196902847942, 0.00032698904781220013, 9.061017379387304e-06], [0.126527184866217, 0.05892563023636131, 0.021225518290387064, 1.574481862186717e-06, 0.006235751579979586], [0.17030040570323457, 0.05213506860309747, 0.003303823777241994, 0.025655545951394562, 0.003932051878351947], [0.1471136768690839, 0.0056114648795414675, 0.003841979422232994, 0.035325535088045146, 0.051997645415727024], [0.15169792370546592, 0.01819379159027803, 0.003251347437744627, 0.03767594245370258, 0.014442977875309425], [7.99851983731832e-10, 0.20448420348031776, 0.008804888990358035, 0.058893945122238445, 0.009875872405978849], [7.935965126964605e-11, 0.10608799810769054, 0.0017417619496121195, 0.05203986697024024, 0.008259895059596102], [0.10008415798357961, 0.0030242724342869516, 0.014677678175202963, 0.04032788800642877, 0.0577606797158644], [0.1478798074010309, 0.018676610683802452, 0.05332818225522248, 0.0067934912854411555, 0.006470991012535499], [0.1625656648428227, 9.831545656856233e-05, 0.04855256313964977, 0.00011234149810681383, 0.00025195723525157226], [0.16438331184377802, 3.0472876818652544e-06, 0.03071518734917054, 0.0001130404845175435, 7.09681774856575e-05], [0.13513861304413516, 3.0472876818652544e-06, 0.03071518734917054, 0.0001130404845175435, 0.0003139252866221319], [0.1298750227283696, 0.0007229285120903771, 0.03026681708656402, 3.23124682681115e-06, 8.828045111809041e-05], [0.11669430862218827, 0.0010902400919283167, 0.008091348417852973, 5.143021492734555e-06, 0.015128571069517247], [0.12307610172132363, 0.00016154258541324282, 0.030350901982344695, 0.0, 0.035265931002569494], [0.08356722035467062, 0.0008026500803376344, 0.006956306366748391, 0.0, 0.02013420088834371], [0.07765611261507363, 0.0030242724342869516, 0.050605149826458695, 0.0016310851371300616, 0.0577606797158644], [0.09820952933345212, 0.0006782487185798608, 0.06840638378529595, 1.0323199316192563e-07, 0.014109989788768554], [0.0, 0.01992331630266484, 0.03298850519193376, 9.385375001985832e-05, 0.0016800081998850636], [0.015034372096468795, 0.021727546449447233, 0.05310100433286403, 0.002346611849657128, 0.0124255821455275], [0.03218673308487119, 0.00043840423731186795, 0.040592375389142905, 9.19364400509216e-05, 0.001990547393635373], [0.06853390741131749, 0.019625846248140823, 0.04483544308282327, 0.002879034584232009, 0.016404026566000957], [0.05908057383829565, 0.01868480578295521, 0.05331566142994459, 0.0067934912854411555, 0.006470991012535499], [0.04273992812938082, 0.021727546449447233, 0.05310100433286403, 0.002346611849657128, 0.0124255821455275], [0.07436723345975853, 1.638908527385667e-05, 0.006013793196128513, 0.034613144900689084, 0.047499916090721836], [0.09939854019587824, 0.00013932296573267172, 0.012601522387551179, 9.415968420731224e-07, 0.0], [0.11956312684846071, 0.0, 0.015218767902032942, 0.0010217998424293991, 9.806337041673061e-06], [0.1532837334703524, 1.895191603447919e-05, 0.03989893868413374, 0.00013500482960884796, 0.0027079464275638655], [0.1388961777638495, 0.0, 0.06126091899293198, 0.0, 0.0003759434192958117], [0.12826589271774524, 0.024780376074169497, 0.03999312488032221, 0.00858311408047356, 0.0072162783524971005], [0.0, 0.0, 0.003597370289718068, 0.03031252284691668, 0.0], [0.018896947562560884, 3.03562886135697e-08, 0.015182811680191522, 0.03031252284691668, 9.806337041673061e-06], [0.00653271222757601, 1.638908527385667e-05, 0.001188582764478037, 0.00867861318949594, 0.00023016596639284861], [0.048869285616711944, 3.047005661894791e-09, 0.011818457357263085, 1.697346448838134e-05, 5.359541907506915e-08], [0.03764915158983338, 0.0, 0.01641944752559535, 0.0, 0.0], [0.060035546174937726, 1.6973489305584753e-05, 0.005881748388297197, 0.03031252284691668, 0.00015047992792581108], [0.1815656353485171, 0.0006935451076242638, 0.10998338874093075, 0.05131578901650312, 9.536025266784689e-06], [0.10926134931399517, 0.05088198034321967, 0.036454068304751855, 0.03650479549398948, 0.013360426650919188], [0.07423469981790934, 0.045864220180666576, 0.04552794214565038, 0.004797185365277502, 0.007711981162877617], [0.13247876963222377, 0.061261542478722016, 0.037819135199461125, 0.0024222858048421215, 0.01904807514232905], [0.12364285825029864, 0.06867160537105668, 0.011126279768807344, 0.00028052134108477386, 0.0024338927474354677], [0.0999035745356916, 0.05772725467934342, 0.03209059933633762, 0.013143816422836657, 0.0034569072487427577], [0.11532888893695065, 0.05772725467934342, 0.03209059933633762, 0.00030429046468407554, 0.00324328196247484], [0.0, 0.022196573449026376, 0.03770104236745825, 0.04347641261694164, 0.0038338080169959127], [0.038403967827085994, 0.03324897616085484, 0.032218136537476676, 0.039685600210282765, 0.009166139919617278], [0.0570003388673892, 0.005863403182519471, 0.01133402430237598, 0.008460122874633293, 0.00902675666095751], [0.041373564666203566, 0.022121031966245343, 0.000816887595981864, 5.6915130762321916e-05, 0.026548442115622694], [0.006296059505746299, 0.033401810357074825, 0.0003712376212305288, 0.008542329748098846, 0.009166139919617278], [0.1911741989038163, 0.0014497755004988372, 0.025178416005540508, 0.0003785656650364382, 0.0027484604390599666], [0.18275242765937777, 0.03281623309897133, 0.038651260364341945, 3.1953406596912847e-06, 7.968351469141849e-05], [0.17625252812560366, 0.020875485895705054, 0.008614816029494645, 0.0007953508569055745, 0.010782207579470942], [0.16835854296871994, 0.014592987940661214, 0.011126279768807344, 0.00028052134108477386, 0.01300842033830692], [0.16464503748953188, 0.020875485895705054, 0.015348495237431217, 0.0011915001581142108, 0.0022578908421165486], [0.15496361877295484, 0.03045496736677055, 0.0, 0.0002645727927588227, 0.01587513728703881], [0.14676316003856796, 0.02087372235301109, 0.00633963095711022, 0.008798872178715894, 0.060097095957340106], [0.08958754021619589, 3.482574199890724e-05, 0.04570322002186912, 0.0466736397934752, 0.021958587759959708], [0.09812867902041977, 0.02857540146437813, 0.028477072195116256, 0.006904157200367874, 0.0005202588257079369], [0.07678412042092106, 0.0009225386245437818, 0.0516686334213743, 0.003529626888619103, 5.3825931560336215e-05], [0.03902064013568113, 6.256394691770643e-06, 0.01821253631372778, 0.020013064072604426, 0.03984769250507231], [0.06122730336403439, 9.076693093106915e-05, 0.023997088871739625, 0.0466736397934752, 0.00703475711060416], [0.13013759602349184, 0.00018242028012689128, 0.03169080684750698, 0.004608172293839802, 0.0003223818072531691], [0.14638634672987444, 0.008478982378493118, 0.0340360953479694, 0.026186425172355927, 0.0012012768775559839], [0.12232349645960072, 0.024853254843274695, 0.03977709181530134, 0.0354031745190928, 0.0003084289300641441], [0.11019004975912133, 1.1367635356301651e-05, 0.008729943957979075, 0.0015888691138518235, 0.004337645754657013], [0.16728559739199617, 0.01710854465772433, 0.002298314884201156, 0.041383260231185375, 0.0066230232548380435], [0.151912648516071, 0.002798589014648153, 0.0014358100658165129, 0.032922020208553254, 0.009619571148684277], [0.1762066607792062, 0.000110058801164307, 0.03410225262330249, 0.013163874921721958, 7.404948960219176e-05], [0.0, 0.0008191551974434997, 0.0017810602617418514, 0.004521089825913659, 0.0013987938353335466], [0.009222875905135514, 3.9373438787730655e-06, 0.004023331869828019, 0.0040961583809334115, 4.291729494036549e-05], [0.09007431264804583, 0.033183477518883286, 0.033169726002345336, 0.0351479808612007, 0.04094592982054497], [0.0999978370680399, 0.009640298546148526, 0.010142073652422756, 0.004182208493286886, 0.026697884731178484], [0.11398979012848742, 0.016851126675949048, 0.01969974353874002, 0.0008638061437857697, 0.006266016337403035], [0.13317728184356306, 0.009108308923561112, 0.0049778924686652015, 0.02975980982588585, 0.0019906058676651926], [0.12423919661773322, 0.02657927361207734, 0.01956498678434015, 0.03666518566806068, 0.005811319944034648], [0.10927879179376962, 0.016851126675949048, 0.01969974353874002, 0.03413053408518985, 0.007386514044911188], [0.07172682003566726, 0.008868157101534074, 0.0008751838935486447, 0.011333436183701242, 0.022313153033796346], [0.06680635109500904, 0.03659609167933487, 0.023776930535252195, 0.0076052723973951235, 0.02804462980367546], [0.058673270145980505, 0.026684435040721183, 0.04000868148923133, 0.003091492741388869, 0.037090313951968774], [2.9862991826569082e-12, 0.012300659986784312, 0.03179352387795179, 0.028909998875080722, 0.028547945300978775], [0.009938058091098661, 0.014805977850712582, 0.017958049270069294, 0.023665893943729577, 0.027864704452275055], [0.02242378575572529, 0.01863979436960132, 0.01293061497185809, 0.016555757441189645, 0.016742790651484665], [0.04137481013828859, 0.0023393851909180897, 0.022538248671089785, 0.0027433476655750015, 0.054335728310636724], [0.24610364723515177, 0.02395050180279041, 0.011177382975389592, 0.007338314318838718, 0.009487246668259747], [0.24173834306088124, 0.0303004097101664, 0.012120824203687187, 0.0031510313052074274, 0.008098036377337012], [0.2145750939393664, 0.0226527977905875, 0.01592847542317681, 0.005494666482890782, 0.0037504490265373516], [0.22166913037268943, 0.027156930716328864, 0.009799921389923463, 0.02019544111971859, 0.004299936899982697], [0.23297389048881317, 0.033183477518883286, 0.012004811499916458, 0.017955845411023755, 0.04141798186780854], [0.1429367719895372, 0.018538880203577218, 0.003488167338166646, 0.004969470607419849, 5.922417098431511e-05], [0.15525750766381743, 0.005790856872098418, 0.03211888428457535, 0.013550508699621724, 0.0019310868552121635], [0.16701042054144444, 0.05527652805350526, 0.01805026154413357, 0.003917682334096402, 0.0019691214246389532], [0.19419325085686448, 0.028969060879760547, 0.03211888428457535, 0.013550508699621724, 0.0019310868552121635], [0.20791420275165715, 0.05527652805350526, 0.08264506047316476, 0.02266209792731009, 0.00897025648121566], [0.1119577066133855, 0.01859718574019357, 0.0010898920568092397, 0.009237715140778095, 0.002424735411548695], [0.09513853430978837, 0.0006496842015548711, 0.00015639797540256857, 3.4000827670580686e-05, 0.009150755710807812], [0.15693533175004679, 0.001052592552387337, 0.0, 0.004690983281492627, 0.0], [0.16525963249260173, 4.4852216157051903e-05, 1.4191388129038336e-07, 0.0008188229644830809, 6.463292066937062e-05], [0.14467721007554596, 0.0001230124006598131, 0.0011442020212057754, 0.0012161150764192713, 0.015234142435720431], [0.14191343939263795, 0.0038736257638887486, 0.0004560017189363064, 0.025714281077859807, 3.6079930985323223e-06], [0.12122575703043154, 0.0016395122549371223, 0.0009775028627965036, 0.021212860984753057, 0.002424735411548695], [0.12588149458468811, 0.00018560112557261044, 0.03435674908387072, 0.006018372341350003, 1.5512125158748777e-06], [9.270050479732832e-12, 5.690209223189437e-07, 0.0005173404823373765, 0.0060663944056300835, 4.629128480383368e-05], [0.07371106960143614, 4.3553049873648825e-05, 6.099536951581143e-07, 0.008287975062348378, 0.00042947449104258247], [0.05595868837278284, 0.0, 0.0, 0.013945815281017843, 0.0], [0.03460486721038972, 0.0, 0.0002587505002705167, 0.00412657325030903, 0.008495934841691914], [0.0468754442180494, 0.019539975185097, 0.024316916998793448, 0.03135947976957622, 0.0072760694023199304], [0.10419249749445453, 0.028370495487871822, 0.01170599597216404, 0.012044497860581788, 0.020126272944248354], [0.09457045346553837, 0.0027812243586722678, 0.029339112491524662, 0.01354310946248172, 0.05090309222675453], [0.11968892448444818, 0.0018595747807829167, 0.01170599597216404, 0.01193933939476037, 0.020126272944248354], [0.13624779432404044, 0.01804673499911676, 0.03144355600148913, 0.0024437849532144215, 0.011534136768575398], [0.14816841351914314, 0.029772670786592112, 0.031086651052188996, 0.009116793071293781, 0.015013883748051366], [0.1305411743138974, 0.028257169160843, 0.03590178617426623, 0.025652101558592873, 0.012030849418020498], [0.1582540542714429, 0.005655723214453015, 0.031492452472630626, 0.0024437849532144215, 0.01161186542236827], [0.08887961902826103, 0.0023338000145062265, 0.006784566648220006, 0.0033466112578076513, 0.002621429966742757], [0.07213215951706092, 0.003235775638757995, 0.025940557306929526, 0.00033145813169181606, 0.0018821578276461554], [0.05293662177232489, 0.01487518240132308, 0.0056087702234338035, 0.0013145819250974591, 0.04733900520249025], [0.07125408972146446, 0.04642919398636446, 0.006655766751161571, 0.0007301963611622362, 0.017116775150936646], [0.11504565831602642, 0.017983984884815115, 0.03526175978445016, 0.028102803548858357, 0.07843656674359345], [2.4479771237439357e-13, 0.004192986029991618, 0.030627667369133228, 8.808399855727471e-05, 0.025284918950221127], [0.0179478418420565, 0.0017963045176226863, 0.015693811962102178, 0.0006158377053329632, 0.02629302071275422], [0.008589407669917837, 0.0023338000145062265, 0.01176372278624651, 0.010151373821632306, 0.0015762082658549587], [0.036069249483154375, 0.01092928033851068, 0.02624821630075895, 0.029822874615161997, 0.004273358907345395], [0.033404675840100706, 0.01544289930196055, 0.043533329333620883, 0.029498552081461276, 0.005338175564948091], [0.05828057147219812, 0.00785127495026022, 0.020318760762839626, 0.029360877692430593, 0.0053058054322467916], [0.19327985185792584, 0.14012393510452426, 0.00028306974942000906, 0.016937186279907507, 0.02995875818326424], [0.15188149832008718, 0.013631930398330376, 0.0006377962632696044, 0.0004527721285426285, 0.03439394030795089], [0.16487035531049432, 0.0013115756790520391, 0.0004636110889891289, 0.0, 0.02023504974191115], [0.1765560271173146, 0.005791966691853927, 0.0011024450541775085, 0.0036340759886197057, 0.0003968976783958249], [0.16512356516790316, 0.0028885067477945406, 0.0020905528616425285, 0.000448932645223412, 5.930445939014142e-06], [0.13430421193742603, 0.001112520555730457, 0.0004505415920461361, 4.342104548382626e-08, 0.0004682819650147288], [0.12445998831717571, 0.005823492782663833, 2.17883638923156e-06, 0.00974089790099888, 0.0007737845462372842], [0.1038744328073784, 0.0011680457058011818, 0.00024180990968413005, 4.74744743835358e-06, 0.0066892401321502985], [0.11477111519987598, 0.01641643288875486, 0.000990034216795606, 6.075419023177565e-08, 0.0010385601281658677], [0.09318752148181958, 0.07152437869652634, 0.0006288501074659288, 0.0072086976247868195, 0.0010181689445499624], [0.0, 0.006329805383944343, 4.677395526432582e-05, 4.3114818273052745e-08, 0.0], [0.02699200817726613, 0.013577920237341376, 0.0002520860488018725, 0.0, 0.0], [0.016518888247329902, 0.006349524416736998, 0.0037474563903426507, 0.0004527721285426285, 0.0], [0.047655870231726724, 0.01514366773788485, 0.0013418132166173567, 0.001102479936864095, 0.0010068400113575917], [0.061127975974633784, 0.015054710195477942, 9.68967355374174e-07, 0.0, 3.6211211884877234e-07], [0.0760517341035134, 0.014832692791685967, 0.0005309977730954679, 0.001102479936864095, 0.00034626559795564513], [0.08301736890250694, 0.0030983501985507866, 0.00022175523139296224, 1.4966905803560351e-05, 5.93495044340575e-05], [0.09782719802921841, 0.013881613864514766, 0.030705672164994202, 0.01482425629325558, 0.0005546679048660207], [0.10818250963072062, 0.01834882853872304, 0.006932299475991744, 0.014937882846309224, 0.014115370464370898], [0.09203197873929274, 0.03925817687463823, 0.016673284897023924, 0.008072560764925876, 0.012978059312553072], [0.07154698139628078, 0.001961161921314042, 0.025876218450804032, 0.0224577495863916, 0.02270697600462581], [0.05879308329354063, 0.0009053941905470299, 0.025009201718204498, 0.0224577495863916, 0.021527351723491683], [0.05420335462675829, 0.025962159790345708, 0.0054082096024975716, 0.014937882846309224, 0.014238658390964979], [0.0432453062109264, 5.6190092345443496e-05, 0.014509403954417317, 0.003132090667322354, 0.013160775933525855], [0.12820358997186185, 9.789808505349887e-05, 0.02540002516364693, 0.06857710931154667, 0.0065912517186269975], [0.12441997631320692, 3.8575248073217244e-05, 0.030409890504709495, 0.02390487597560221, 0.10099058744234846], [8.647990906284625e-14, 0.0029778823476219792, 0.024237777963539153, 0.0027956319062825558, 0.0013409749740652798], [0.01754087024590678, 5.2870413762285936e-05, 0.07377548556749941, 0.025824957529793302, 0.01890429694892247], [0.20427811005024524, 0.0, 0.02383304571047861, 0.04535856656499377, 0.05096771901339613], [0.2241510435914149, 0.014963007156295116, 0.0028284448809538995, 0.014761589385515665, 0.04915971210296777], [0.2448007176549973, 0.0, 0.02412203770873957, 0.007607092512176743, 0.017190341691879118], [0.2300550439275848, 3.6133386861891766e-05, 0.0006483410628306714, 0.004421103642301642, 0.010482577905039956], [0.2440740855113332, 0.014432829905616062, 0.0012458883626203024, 0.014863412664767539, 0.027149147366632324], [0.17362406527901808, 0.01191577399878827, 0.01626843020551528, 0.029890328405131998, 0.0006179321457189177], [0.1822492597666608, 0.01362807701922819, 0.02682047485018378, 0.022852647771888373, 0.01542991332850692], [0.15919259667229746, 0.030113656027961563, 0.03128365541792804, 0.01391441415712361, 0.02686185333308188], [0.14281856653020564, 0.019052604346216452, 0.006930377878760689, 0.014937882846309224, 0.014115370464370898], [0.19135481784556962, 5.136390835575044e-08, 0.03128365541792804, 0.00479126586587468, 0.02679771870366423], [8.647990906284625e-14, 0.02550540639014616, 0.030627667369133228, 0.002142177309961933, 0.16417351901407712], [7.144726765363455e-16, 0.02550540639014616, 0.017820838081257492, 0.0002612726677932095, 0.16336643937486622], [0.11237024428842671, 0.014422300889795226, 0.029333867144235165, 0.014354126431453163, 0.024619545909309114], [0.10514355387187527, 0.021672437452362782, 0.028017012830964166, 0.019130958465430545, 0.000473893712150536], [0.08740556097442823, 0.0024856324513608955, 0.013141461723626062, 0.015703506645095414, 0.0006259660732973764], [0.06717454481357352, 0.00025984817361046847, 0.017952181937511587, 0.022723760233057215, 0.0010971350494354722], [0.13734916275291492, 0.006454148151537088, 0.025865810161797734, 0.02052929569180856, 0.00013248080963934854], [0.12568378807593228, 0.0038001027748753857, 0.04872224384655009, 0.01411322529766524, 0.0027662908599258747], [0.1484194172754651, 0.0017225454281997662, 0.017855453773334237, 0.0008718742590527323, 7.868782260135208e-07], [0.16351508868307854, 0.00019863547721012467, 0.017133743739266915, 0.004528589471148673, 1.944311971916802e-05], [0.1201734711766233, 0.0009069412147476455, 0.003274555290896035, 0.018497090504351978, 1.1966484942201386e-05], [0.07958332669651491, 0.0024856324513608955, 0.013141461723626062, 0.07224198229624477, 0.006349368202138081], [0.020356123207515564, 0.00026297627362296906, 0.007794809899704949, 0.017090395284405896, 0.0011601352587267122], [0.02593948198319912, 0.006046929657564842, 0.01116849393806836, 0.023480927843881637, 0.0011268055750819524], [4.106708503533001e-12, 7.569691479713896e-06, 0.0043330497219667, 0.022077035102402377, 0.00014175421757640732], [0.002002604373004979, 0.017022742119402468, 0.004224459469265152, 0.003830327679531882, 0.00012950184009345896], [0.046059011153594995, 0.01701207860458072, 0.0029530785039234217, 0.0284462592423709, 0.023518464466410993], [0.03919476766996033, 0.04805235901254855, 0.010131220343817929, 0.00357815809587915, 0.00012950184009345896], [0.23696148119915003, 0.010399889902611861, 0.04488311005787801, 0.07165408530814843, 0.0182095346080074], [0.25084279637293516, 0.0008944079469098455, 0.014876444674556708, 0.08693220929099017, 0.0], [0.2228092510300166, 0.0010631373021978067, 0.029333867144235165, 0.0025864858985296148, 0.024615092979405097], [0.2112798321271251, 0.0010337794386305736, 0.029333867144235165, 0.0031738079066362633, 0.0011182867430837972], [0.19538142853093382, 1.9184099014163403e-05, 0.03604804711111927, 0.004239524032106129, 2.27170582257517e-08], [0.17476654121590124, 0.023160800557616407, 0.03162118533481486, 0.040080238662191646, 0.010044850230822928], [0.2021573128363267, 1.7759192348005447e-07, 0.0043709090241052405, 0.013440412749783633, 0.05361660192869809], [0.18757762658853921, 0.011259550663486224, 0.004728430398575937, 0.0036103278847425674, 0.06598798432054596], [3.0188009617028097e-12, 0.00118467925461642, 0.1697281191496112, 0.017090105310988608, 0.000535015379203271], [1.3231332262469975e-16, 0.02399995109539682, 0.012665982239652956, 0.05065868291016534, 0.2106472815473916], [0.40037566014445125, 0.009847179683685953, 0.03452471441305836, 0.21229033252574486, 0.05518911707571353], [0.42953350152537817, 0.04530858960664737, 0.06372411282065044, 0.08485029263945328, 0.02800778166052284], [0.3974346044651047, 0.01371790232392181, 0.05013190499051977, 0.07956124879611817, 0.016129189801781733], [0.3989298872101187, 0.035022059240030386, 0.06310149158595807, 0.04226700061002965, 0.03999491432782122], [0.3939522544830335, 0.06277861339617502, 0.06249553842366762, 0.06806236604455877, 0.0661648744055841], [0.4139546935016231, 0.025450365310954737, 0.08714458886684726, 0.08424419780218911, 0.0661648744055841], [0.352843252970167, 0.03995357085133658, 0.06680151226396301, 0.10635306619186344, 0.06850531181557992], [0.36141616508240615, 0.015207186737493772, 0.06793744724510133, 0.09996762172476595, 0.03977261185129239], [0.39369990341173794, 0.0022945643627605636, 0.05991334692424516, 0.06839030562601917, 0.09882882690674419], [0.41370234243032755, 0.0009064818497208083, 0.059940800560704305, 0.0845721373836495, 0.09882882690674419], [0.464298690955233, 0.014207303187512184, 0.004312396250998135, 0.08878510889812935, 0.004707311670660026], [0.45510415835839224, 0.004929056733649802, 0.02542935863858263, 0.14236654176527902, 0.049652857070650674], [0.32496388646502805, 0.007372855246792126, 0.0264667862243493, 0.007375278738075364, 0.044090944604870765], [0.3082117778158223, 0.009396993333744906, 0.0264667862243493, 0.007375278738075364, 0.019323482786012793], [0.2940782372711393, 0.01083420682200955, 0.02207053470171995, 0.0091194320314534, 0.049652857070650674], [0.303259644112965, 0.04727753977034199, 0.02556394491268484, 0.015467270478376857, 0.033823811223228056], [0.2988166716904473, 0.008890325692953963, 0.06310149158595807, 0.0032996592041146626, 0.05575882411149581], [0.36423972434391494, 0.0026533318155061193, 0.0006752294656860221, 0.007375278738075364, 0.044090944604870765], [0.3768364942095847, 0.01514233423520879, 0.06312009422748736, 0.004705798678770804, 0.03999491432782122], [0.3762051245585608, 0.01514233423520879, 0.06310149158595807, 0.0035625178494053666, 0.03999491432782122], [0.27017893052758646, 0.017862076095081135, 0.03059126696216942, 0.08341351944345654, 0.07996997514601921], [0.24971825088288196, 0.017862076095081135, 0.03059126696216942, 0.08341351944345654, 0.07996997514601921], [0.29397071017314225, 0.03424858103433368, 0.07345254000336682, 0.08141505035326639, 0.12039345018134022], [0.29272551673112174, 0.025281002411975083, 0.08548713449667206, 0.08146821953353606, 0.11753549087656945], [0.2883924022223196, 0.1361068312974738, 0.07345254000336682, 0.06128052749066489, 0.018198958538089838], [0.35135740858601383, 0.062379648903851385, 0.05230053254165345, 0.06397084969545147, 0.015069188130103647], [0.3644141328390317, 0.06129475936199008, 0.06717545076584652, 0.05818833124537168, 0.04852418238674368], [0.39271168112650545, 0.03170348989229361, 0.0492221664782259, 0.06558893805742651, 0.07662204059046354], [0.3768550586327809, 0.009047094200500467, 0.0501237058427051, 0.013490669531022403, 0.003673437097163487], [0.36755382791143154, 0.009047478958851591, 0.0501237058427051, 0.050559718450704685, 0.003673437097163487], [0.33097638872380997, 0.10999507014884315, 0.04979473358029896, 0.058278801591782635, 0.055686294914085235], [0.3408999532878224, 0.08918868458593832, 0.049889987132671176, 0.023222353537180204, 0.04079724672730617], [0.35741919527872346, 0.08918868458593832, 0.007521588616587863, 0.02318068238776514, 0.04064897514897531], [0.4444889584692653, 0.00935935675799672, 0.02959998399748235, 0.06819660032794557, 0.07662204059046354], [0.4168824401931678, 0.03912176990310463, 0.05024314870925878, 0.020307302180291975, 0.04348188940704109], [0.4224396899037701, 0.03589981143145278, 0.04616567917342787, 0.03714729865057029, 0.042121578498568325], [0.43307177085790427, 0.026900994917692933, 0.0467801078292881, 0.03749337341650796, 0.047801327076715736], [0.42964134237766216, 0.02406402269444742, 0.0010338964612734113, 0.01941831768964826, 0.058949043951597765], [0.41146838217309656, 0.01414113310684668, 0.04852350394686317, 0.11998591579695637, 0.04637952360274235], [0.30395774815593196, 0.004854463115767427, 0.002280928272172987, 0.010652460629625354, 0.0039000310294562204], [0.2704437747590964, 0.026075806904414203, 0.004026619049182466, 0.03724886519153148, 0.04026803963930779], [0.29411267873796654, 0.03985575170810883, 0.0009614794179029634, 0.019006203340285577, 0.03555195321431685], [0.23395514719786, 0.0421248239259935, 0.02646602728799141, 0.02534179588917511, 0.0002851980004494256], [0.2531852073461005, 0.008740591577227052, 0.0501237058427051, 0.013613023460322091, 0.003673437097163487], [0.24388397662471606, 0.008740976335578174, 0.0501237058427051, 0.050681978865862704, 0.003673437097163487], [0.2832702642847543, 0.06129475936199008, 0.069678713683099, 0.03643788961645422, 0.04852418238674368], [0.19132291424022116, 0.01027624075705355, 0.0071900198572472755, 0.020356931332678366, 0.047443652086495036], [0.18743643281852101, 0.011481567537848363, 0.0071900198572472755, 0.02035789186429121, 0.06264025967976006], [0.21096005494264336, 0.029214927694447716, 0.00968328156317029, 0.021425309842100393, 0.04044865869762948], [0.21484365376366588, 0.021767033014232034, 0.008266115433784638, 0.004064691069350626, 0.04042751035388645], [0.17197650628934819, 0.0033539201331044682, 0.04125699540320707, 0.020085347557046426, 0.03388049254173328], [0.1779661868100188, 0.004141029813766572, 0.05865381889568194, 0.020040023150802975, 0.04078774728469219], [0.1586903644823906, 0.03768278720466401, 0.06041269858784848, 0.051660684058329534, 0.03408990502178895], [0.34439594937569695, 0.02721024869035025, 0.030442928868253477, 0.049804294632295416, 0.05479136507788454], [0.35567252990998255, 0.02752677208278019, 0.05596418930732986, 0.04945252488971716, 0.0015599708827733205], [0.3605740803626475, 9.027449799335618e-05, 0.007051925186825396, 0.002261644634742828, 0.03969940129719464], [0.31995908418660424, 0.017065409185170327, 0.009615781692893571, 0.0021596612368692597, 0.043177151413054365], [0.2997183876171619, 0.017065409185170327, 0.008694211830091341, 0.0021596612368692597, 0.043177151413054365], [0.30777968683990486, 0.0001053915070340257, 0.02777417397668362, 0.0017502397869120466, 0.046116058785045794], [0.3311892004972963, 0.0069147093323643355, 0.00695017671049206, 0.025669792508316656, 0.04321737070741087], [0.29050756357613955, 0.014525483071758237, 0.00023347100736593324, 0.052044207053600494, 0.007272197684703458], [0.3976926666635663, 0.020476341354058427, 0.01469113183753605, 0.06209615120486293, 0.051165956523099236], [0.39182366385831957, 0.06264047318286986, 0.07500628040630487, 0.04102481692154173, 0.05795603639699601], [0.27605158010510555, 0.042617146363839606, 0.0759046727315507, 0.02150471879259253, 0.008570041339355489], [0.2677607520872345, 0.0013046941340519556, 0.0722708168168032, 0.02150471879259253, 0.008792134978967461], [0.25463664938415026, 0.028646451745431685, 0.10221923266384314, 0.02056028870292903, 0.036670277921900876], [0.24550514608550292, 0.02602071954409984, 0.06954834928706698, 0.04119485081393358, 0.09126207153477128], [0.44554273502632424, 0.0362859087261771, 0.033528527908087476, 0.0010063385608652022, 0.004598830485759098], [0.37715044845673906, 0.0362859087261771, 0.033528527908087476, 0.0010063385608652022, 0.004598830485759098], [0.4061545706256138, 0.02094692161701469, 0.030333637872538035, 0.002558666420218396, 0.006277894369867219], [0.42658504833592226, 0.008340733085652, 0.047079456908652374, 0.0034423062370534593, 0.05287553968154857], [0.46187374095927236, 0.026858905793952993, 0.05596418930732986, 0.04926755409322608, 0.0015599708827733205], [0.4749244089446933, 0.018140908922864164, 0.047079456908652374, 0.041035330993018926, 0.05329579622593298], [0.4759287204203221, 0.01939755317748968, 0.047079456908652374, 0.041035330993018926, 0.05329579622593298], [0.4840685407742447, 0.01939755317748968, 0.015026079195453214, 0.0547222255091675, 0.03281723454619756], [0.4928993731767303, 0.007745745064832088, 0.047000563709269506, 0.00045309556978266434, 0.02965619382575964], [0.3766847258869222, 8.456750982055725e-05, 0.02880917175164481, 0.02964516783061545, 0.05700747430969245], [0.3325367517366409, 0.013593094377315937, 0.05297212121599584, 0.008049147433146813, 0.07370816568608701], [0.3495762498971845, 0.007025143123826825, 0.009290893827028336, 0.0067075097574079735, 0.028506822970339005], [0.34154965484768574, 3.0429501538106404e-05, 0.0317748603020559, 0.007169206299094155, 0.013472509088441494], [0.32290396844367647, 0.0007216532233500299, 0.03352011457075783, 0.0022390344780122513, 0.017308728819504758], [0.31695715380628764, 0.0, 0.10201073212000053, 0.008335894427611094, 0.017136544587572296], [0.2964884367302224, 0.0, 0.05511324601045675, 0.012391643358902193, 0.016274755817533935], [0.27983317632992205, 2.091613708061093e-08, 0.0009685545676202979, 0.015280527808682769, 0.008016882509231799], [0.27110768150173814, 0.0012046187147779636, 0.024098528316752015, 0.02558028534559848, 0.032661444140434454], [0.27107515476791927, 0.00013804314655002886, 0.04245937768646857, 9.684250955776299e-06, 0.06401783998615193], [0.25738836126001946, 0.045493653611917116, 0.02225209040469598, 2.3950357623312812e-05, 0.039957071223096614], [0.21626174488131503, 4.6578352134027477e-05, 0.051716903577390005, 0.00011216854308026243, 0.03521197363217761], [0.18558586263266175, 0.0030242724342869516, 0.04881542184088543, 0.00031371376186615976, 0.04258065335855771], [0.22724281216307204, 0.0007181924126067329, 0.05333554000253829, 6.277939384488851e-06, 0.007324278395498013], [0.2458234900535633, 0.0, 0.05058082696034136, 0.0, 0.007869437757035282], [0.1813827353113177, 1.1962248381529759e-05, 0.051217341510635395, 0.07073244016434813, 0.008170136335470266], [0.19811810513312034, 0.005971777880482199, 0.051217341510635395, 0.07073244016434813, 0.006315557990486855], [0.2012083290795043, 0.005971777880482199, 0.051217341510635395, 0.07073244016434813, 0.00911481797761824], [0.3054532507363251, 0.0, 0.06138723324542473, 0.0, 0.0], [0.34879192735779596, 0.0014320825381439126, 0.07736570832857731, 0.002093006491624137, 0.0], [0.33612235203264557, 0.022486633726491678, 0.01848183008255949, 0.020074679102975883, 0.0002505321732365784], [0.3101066043974239, 2.4668190159418666e-06, 0.013529201996048922, 0.00037220393420729983, 0.0], [0.3177142269981882, 5.710736916615666e-05, 0.014477981741351323, 0.0046400037785250476, 0.0002661540067789251], [0.3261286892764318, 0.0008526808203282357, 0.017598122815699162, 0.0014814095307420037, 0.0], [0.36047707682730157, 0.0008628747580536264, 0.018567997439425547, 0.01978895095357546, 0.0058117618257411945], [0.3788655447420577, 0.0017296927579588226, 0.026230993058580843, 0.034892339426976525, 0.010834400053270445], [0.4015584419718301, 0.0032349840606276103, 0.01451491287067531, 0.004635910953474931, 0.0002661540067789251], [0.4146400179606241, 0.0017296927579588226, 0.025966603810139603, 0.030442941078028436, 0.010834400053270445], [0.3929758743274273, 4.147002669256634e-05, 0.06298043098010964, 0.0005119224391275136, 0.0003743074166966035], [0.3717723559347187, 0.000698951012565493, 0.03857377447445108, 0.00024819484886316745, 0.0], [0.22488257555277802, 1.6647647432267688e-05, 0.024294161491516066, 0.017520467817066513, 0.0], [0.20377355832626246, 0.024780376074169497, 0.03945340500685967, 0.009674180362345144, 0.0072162783524971005], [0.1881945934983686, 0.00045359102708010177, 0.0033841159425212746, 0.00010658996230214989, 2.1193267869901796e-07], [0.2741872655525847, 4.94594787643376e-05, 0.007283406516069163, 0.0, 0.0], [0.27384316537083053, 2.300475683931355e-05, 0.013470065597692107, 0.0008131673929475131, 0.0], [0.2616406827177732, 0.00011512191405727012, 0.020321046045600134, 0.002416794531060411, 0.0], [0.24913181464580397, 0.00897546511536298, 0.008409580231562293, 0.0016380412454148306, 0.0], [0.25410365068444274, 0.03664386149947567, 0.02067190295538461, 0.006383532151793218, 3.9562577740877205e-05], [0.23947743516239045, 0.00042065008108997095, 0.05960823294753055, 0.03984812225443047, 0.00025667071776866413], [0.3360822834138842, 0.024165220420331958, 0.018606738541888587, 0.02891392066061404, 0.001189278327416553], [0.3257881657891845, 0.01979657114077954, 0.009748169916006159, 0.012522100261358245, 0.009441692019071756], [0.34623260620570234, 0.0343153329039273, 0.021013711613214824, 0.0002503515457127895, 0.013587912856179236], [0.39764885661353594, 0.01793183811393613, 0.0, 0.027865130563326363, 0.041691259038653374], [0.39515504481020974, 0.01805131481777212, 0.028976126101525057, 0.0010752503256334107, 0.03162258167848921], [0.3559028973602768, 0.019440490958510914, 0.0, 0.00010893355775809868, 0.05710506889849375], [0.3850695843083435, 0.05697611686999208, 2.8010861489850998e-05, 0.00014379453276496413, 2.3552515276999706e-05], [0.3735294985825784, 0.02811582232853751, 3.0214629948999844e-06, 9.090610465336967e-05, 7.354376693160386e-06], [0.36343961183084594, 0.028690000039887472, 8.497583774413897e-07, 9.090610465336967e-05, 7.354376693160386e-06], [0.2203871131238605, 0.02804117417684414, 0.006218120171917285, 0.0005574271267375693, 0.0005332632628279422], [0.2219522239404625, 0.019103521670750745, 0.0002757394751229346, 0.0014791845162929686, 0.001975194938501028], [0.2523647042177875, 0.022163071345639926, 0.0017537296078582098, 1.0535432960450752e-08, 0.0025541435048634124], [0.23879814016242523, 0.025075495506143422, 0.0215370863395117, 0.0, 0.03207523879060695], [0.3004305950918718, 0.008751035111832237, 0.01498341447086398, 0.002144283109512594, 0.0016461980957967557], [0.3103864116524845, 0.018463771240132078, 0.0, 7.778970775103463e-05, 0.0], [0.28125970932297695, 0.008751035111832237, 0.01498341447086398, 0.002144283109512594, 2.1204245968132075e-05], [0.27749670957242883, 0.00532771552496944, 0.01498341447086398, 0.0, 0.001311227465210136], [0.268892417038247, 0.07601246196803388, 0.0002757394751229346, 0.0014791845162929686, 0.001975194938501028], [0.2383909686723366, 0.019242454796930847, 0.07435747975998692, 0.0324725440664392, 0.013843379268625982], [0.4231584836375107, 0.02569174890690738, 0.0, 0.0001922575469842787, 0.0012112206238455022], [0.42978556335236645, 0.02569174890690738, 0.0, 0.0001913564490550173, 0.0012112206238455022], [0.46686080651265865, 0.001601160830258068, 0.0, 0.0023102412989974225, 0.003354611872279485], [0.4491462911381445, 0.0014497755004988372, 0.002466883918535957, 0.0032034991282390343, 0.003944632936356046], [0.44906253902985294, 0.0014497755004988372, 0.002466883918535957, 0.0023374605405923413, 0.0], [0.4413208309997711, 0.0620745687027164, 0.0037070102622633536, 3.326317802553248e-06, 0.0251440506401349], [0.47610294129475084, 0.07374385156712536, 0.01009587812150381, 0.0, 0.0], [0.304275692844153, 5.8371230694494094e-05, 0.07183333427964349, 0.01940828216229069, 0.027608490572645708], [0.3149684576131373, 7.259107588159256e-05, 0.05122139902701211, 0.01952985252071328, 0.027608490572645708], [0.3208788471350344, 0.008157331658386564, 0.0008413878825035935, 0.05084579355151378, 0.021910804948865263], [0.3113234917904887, 0.03449582782570688, 0.002831198376665456, 0.05084579355151378, 0.04988920454925769], [0.3501520372398361, 9.076693093106915e-05, 0.024217827811137044, 0.0466736397934752, 0.0006100650674538102], [0.33517111546320666, 0.0017076695461358173, 0.011545179476484368, 0.0038572726803182272, 0.0019038802289136694], [0.39110165213254905, 0.006790190244199027, 0.04267718969644481, 0.023954695577048712, 0.009616050269818589], [0.3701291381643902, 9.616811586058175e-07, 0.05131755490039949, 0.0038729872730921683, 0.0003394681845798298], [0.35563075289053503, 0.0, 0.045741322732461995, 0.008715870474059986, 0.00032984426389871466], [0.2872131580942707, 8.536192972940907e-05, 0.02391231982023445, 0.02387363927702187, 0.015409159505112756], [0.2973565667808736, 8.536192972940907e-05, 0.03856133211996343, 0.029496009331906117, 0.0017440488445200283], [0.27681811209218093, 8.012308475187889e-07, 0.0006267693336530237, 0.04085061261189349, 0.001390450945989452], [0.2815498141843223, 0.00015402823583653973, 0.03853584567281916, 0.05132333926676676, 0.040195477562480826], [0.25002069563413765, 8.477754627211204e-06, 0.03410225262330249, 0.020013064072604426, 0.029508987492667896], [0.23667894357660973, 0.00029133868819074607, 0.011020711903879932, 0.021198817320713662, 0.010989595299204406], [0.4109855717161205, 3.9373438787730655e-06, 0.0038372123784536673, 0.003994015892968008, 4.291729494036549e-05], [0.40436198541643675, 0.03267770871031058, 0.022405864643315412, 0.01230776465224509, 0.008366497241714177], [0.4387662288012245, 0.003345413833071957, 0.04267240058115426, 0.0045112056553610475, 0.03308587698185558], [0.42700543671672847, 0.02859843635652906, 0.04267240058115426, 0.0045112056553610475, 0.03308587698185558], [0.44406958963993604, 9.616811586058175e-07, 0.030251091263026345, 0.006594077737325775, 0.0003394681845798298], [0.4549096708573468, 0.0016613646754318426, 0.030734422037024374, 0.010742567663375363, 0.007912738108910527], [0.4255726477241247, 0.0008093430356389576, 0.04854338220368855, 0.013255026056653362, 0.00020641158926130998], [0.4713550259743084, 0.008304964786510376, 0.05240757968493813, 0.022030535941392246, 0.03331213422322801], [0.4008323133208535, 0.011638776333382731, 0.034053127819544074, 0.081506238998736, 5.8695472204807475e-05], [0.27036230650620047, 0.002951875183928334, 0.05301221981112545, 0.0014635525281378112, 0.07938359752326432], [0.18310271415612206, 0.0001935532664003245, 0.0013380783928984633, 0.0023770581618579173, 0.044172664548774276], [0.2049335998136591, 0.0044153994528989896, 0.0008413878825035935, 0.050773343415033895, 0.028283746693376417], [0.20824553039786847, 0.00015420945665911594, 0.038562984242024166, 0.05209156866756709, 0.037628054438874514], [0.22753733598807518, 0.02983224886449184, 0.05301221981112545, 0.0014635525281378112, 0.04424656673107855], [0.21569470425331666, 0.0007819758986120327, 0.05307925540204447, 0.0002694935652093472, 0.0066097954905269644], [0.3324917721656383, 0.009894193697799095, 0.03150408575455935, 0.026524607823019002, 0.02662582956135118], [0.35649149930856416, 0.01781510117309921, 0.03327303162109155, 0.022213150367839204, 0.02331918301900092], [0.3503772115647701, 0.01895929161993487, 0.018552729892951134, 0.026894477169765216, 0.023915747251712468], [0.3403898200857296, 0.017926002400715027, 0.01677441575027469, 0.017307651460121396, 0.014010379832423155], [0.3231949366356991, 0.009894193697799095, 0.028083092565007947, 0.08996634539287739, 0.02662582956135118], [0.3030431822499754, 0.027885859776321298, 0.032790981000808996, 0.061107658861032574, 0.015842149790691686], [0.265762314251029, 0.009937560097392264, 0.019593453046838377, 0.003006966845938706, 0.006295232162462715], [0.26939010433533395, 0.009894193697799095, 0.0072735669009804035, 0.022173639014239726, 0.014695712620810073], [0.3073547224675952, 0.018665588847716925, 0.01683011817044734, 0.017320819904689554, 0.014010379832423155], [0.2906527457420346, 0.029650334054488206, 0.003316033796420169, 0.004656506662141208, 0.002359279410833297], [0.2823751321494691, 0.017671919752124426, 0.03637867991970709, 0.026638136196277758, 0.02761738617485117], [0.28158120306546824, 0.018580489511383778, 0.09767312313172974, 0.009443424301520856, 0.026465845635733905], [0.4248110296309163, 0.018139104972327295, 0.0008463384885875752, 0.0023287153253311182, 0.004007008229376812], [0.41579519049425484, 0.025837613645597265, 0.0049778924686652015, 0.007316339569351059, 2.872931688074551e-05], [0.39872089902609037, 0.017000304639645403, 0.0072735669009804035, 0.005319613037819911, 0.003317180562020825], [0.4130193310299174, 0.018001336061920576, 0.02128843204550958, 0.0351479808612007, 0.0028089007154264226], [0.4538461088319517, 0.009108308923561112, 0.004233942892408082, 0.0304866732138997, 2.872931688074551e-05], [0.4583648868045176, 0.009108308923561112, 0.0049778924686652015, 0.005316868089883912, 2.872931688074551e-05], [0.38784667779491305, 0.017833670493313608, 0.023010415052595046, 0.026735319776620206, 0.03882542634232157], [0.38709137075579786, 0.025857420828875544, 0.0321383656934812, 0.09319527519251825, 0.015158206060751286], [0.38474141888659075, 0.03823872777427233, 0.11314288986545659, 0.03509263114545878, 0.03340647335368462], [0.3779655124699335, 0.14012393510452426, 0.00028306974942000906, 0.03399692912286108, 0.02995875818326424], [0.27570764193565145, 0.0, 0.0, 0.0059938401964169, 0.0], [0.28592026284152433, 1.0412602255283196e-06, 0.0, 0.007981235756398426, 0.0], [0.29032185917104253, 0.0, 0.00012002801040670794, 0.026701227569191584, 0.0], [0.3318546261994891, 0.004059709550552237, 0.019662186159361127, 0.0006729072932657367, 0.013420312972672016], [0.298896600816864, 0.0005533094146012336, 0.019662186159361127, 0.0006729072932657367, 0.00014080610961294225], [0.31206599064220064, 1.285369271300811e-05, 0.001722425469243062, 3.407118771954487e-06, 0.0], [0.3045573398056526, 7.281658635051819e-07, 0.0, 0.005581806954803928, 0.0002696490007641104], [0.32647131322083006, 0.008739981973851082, 2.1785112567875996e-05, 3.407118771954487e-06, 0.0], [0.36417211095370905, 0.004472777375589194, 0.0, 0.005395250885476993, 8.658237696125353e-06], [0.3757198560287426, 0.004660080959208727, 0.0, 0.004194751912678157, 0.0], [0.35168025744245207, 5.31478007039564e-05, 3.6815662047310575e-05, 0.026287023669866006, 0.0010596173092958655], [0.34163114298882363, 0.024598672960182068, 0.0002397320292136032, 0.005618600849183015, 8.090301950596217e-05], [0.3846844077535034, 0.0, 0.0, 0.03213988235439946, 0.0], [0.3993228764650046, 0.0, 0.0015708476853263818, 0.05324374429289968, 0.0], [0.2205512462208989, 0.0020589048073919314, 0.0002969035532980283, 0.052597835635485826, 0.0], [0.20185462803994086, 0.0009110310756940362, 0.00029342236852865355, 0.00010221768368309358, 3.467456783384608e-05], [0.2618105082153267, 0.0, 0.015766002118780542, 0.0065281767573860325, 0.0], [0.2482698099884137, 0.00048556001475507857, 0.00015639797540256857, 0.00030400872747023524, 0.00907632678111081], [0.25958211721715085, 0.0, 0.0, 0.0065281767573860325, 0.0], [0.23074417228085653, 0.0001230124006598131, 0.0004589151844210642, 0.0008813655846003077, 1.3397363011250461e-05], [0.2430625829952844, 0.0004274771096401918, 0.04323622038610242, 0.00030400872747023524, 0.00907632678111081], [0.1863586187384843, 0.05804485167286698, 0.0003149832177432045, 0.0072583014181983145, 3.3431054140383365e-06], [0.17748573321840155, 0.019539975185097, 0.025424046496633844, 0.029640028796133207, 0.06486648956350544], [0.3425555553898687, 0.005785038895368364, 0.0483090655349071, 0.02298742840825961, 0.013896934899938635], [0.3120007224388209, 0.017199699997979028, 0.029339112491524662, 0.008921229604986317, 0.055522465869830936], [0.3375530388316825, 0.010500296099358562, 0.001780431624126392, 0.000692386149747857, 0.014840878563376805], [0.37447961718493455, 0.018269802216019843, 0.001780431624126392, 0.000692386149747857, 0.013760337004343419], [0.36151378427267805, 0.02206274725942363, 0.006902603271450081, 0.0038895326732289615, 0.011840353478178876], [0.34872786801414946, 0.01475071881851197, 0.02934657420736624, 0.01368602800113064, 0.0007092481700348846], [0.352454100476559, 0.0007636043535636829, 0.02787107344847751, 0.00013717578763689062, 0.007839753080421709], [0.30091282198519825, 0.029746631423198097, 0.019944212941038073, 0.0010730054047640956, 0.006742200751135772], [0.32162315032418465, 0.08527118284552501, 0.01170599597216404, 0.012044497860581788, 0.020126272944248354], [0.1965227336411947, 0.0013478997092389988, 0.0358998513365867, 0.032209558965289826, 0.037063710627347535], [0.17129456971288087, 0.0013478997092389988, 0.03619307591388812, 0.032085669213326326, 0.035189508032128336], [0.17484443543686476, 0.0015067045384579156, 0.047783259264899416, 0.0017856887878762544, 0.018624367199341813], [0.1882357793354736, 0.01004212252454667, 0.05134461585021917, 0.0007245618548068081, 0.01487598553692317], [0.21967926975442897, 0.0277923096098653, 0.024407111682820858, 0.01572911384959827, 0.016288431815704177], [0.22855211467400977, 0.023785069082411917, 0.045858686665334464, 0.015531900989952552, 0.016288431815704177], [0.24457417536419365, 0.014646627655565264, 0.045858686665334464, 0.015531900989952552, 0.016288431815704177], [0.20565574303532042, 0.006051397074044049, 0.016445127414476596, 0.010835710626245292, 0.0029610324850920383], [0.21015640897602317, 0.0018140204669326015, 0.016816574513661302, 0.028160685082241656, 0.01347697915552986], [0.255330119509437, 0.04639322899130259, 0.00617334432912397, 8.968921707876165e-05, 0.0018262894044624826], [0.23530697934346628, 0.04639322899130259, 0.00617334432912397, 8.968921707876165e-05, 0.001602381867930585], [0.26336112306112136, 0.07171857928264166, 0.00776589944351052, 0.008195343981441533, 0.025601750190230983], [0.274908192704672, 0.023785069082411917, 0.005423380545721401, 0.015531900989952552, 0.0476778582021902], [0.2685314793294097, 0.020408936038982035, 0.019618201026284907, 0.029467972983598902, 0.006742200751135772], [0.41791084846451654, 0.02224451172315188, 0.006767087313690374, 0.007915537361572467, 0.06015198855610246], [0.4331172593261033, 0.0016135182534186467, 0.02943576710655058, 0.008586331375309739, 0.06371300586050321], [0.3929680217414031, 0.001739668933663039, 0.02787107344847751, 7.235009086209638e-05, 0.007839753080421709], [0.3849030747116033, 0.01838309027899493, 0.031157655947728225, 0.0006419273413821869, 0.046439813779406175], [0.4735145509111099, 0.005366575733562167, 0.0167040584488201, 0.010184206550132857, 0.01394158422216952], [0.4686034898138614, 0.018269802216019843, 0.001780431624126392, 0.000692386149747857, 0.013760337004343419], [0.4501815151434426, 0.001739668933663039, 0.00797986228528425, 7.235009086209638e-05, 0.007839753080421709], [0.4343233381883681, 0.00971690394480356, 0.014783574495622315, 0.022334646666778667, 0.02630357285603701], [0.4638258651637866, 0.017109095912363956, 0.03144355600148913, 0.05161008319993583, 0.025243409302503076], [0.32566318327504223, 0.015003988330173364, 0.017846766917326486, 0.02862273150288073, 0.0001727202323021492], [0.33717132295813124, 0.011758382073161154, 0.019547316296013268, 5.4913099830932835e-08, 0.006965828929228432], [0.3352105527594914, 0.02419167324571235, 0.01841899005139437, 3.31100229037911e-05, 0.018424280365089363], [0.3030117632361256, 0.009574953239088855, 0.009789518205876079, 0.0, 7.725419006752952e-05], [0.27967792945400527, 0.013631930398330376, 0.0037474563903426507, 0.0004527721285426285, 0.0], [0.2878664089818291, 0.015286757952297378, 0.0008343767147918138, 0.00025225590879138574, 0.0], [0.3143699815454608, 0.013722301696352234, 0.00045047343204850923, 9.334264358524386e-05, 0.023395678382854602], [0.31661116552914903, 0.013722301696352234, 0.00045047343204850923, 9.334264358524386e-05, 0.023395678382854602], [0.3804239424832008, 0.024478646005131426, 5.5941726917062797e-08, 0.003627776012868386, 0.0], [0.36929138496582015, 0.014609942153203052, 0.003680756847950495, 0.0, 0.00016391400663141485], [0.34798375257944214, 0.0019908558897491144, 2.9182143774475377e-07, 0.0, 0.0017206026664629837], [0.35459249292305983, 0.03574396137967038, 0.0010476252294243649, 0.026537468401444483, 5.4999560248109427e-05], [0.29623444852217273, 0.061569163287732986, 4.917514431993213e-06, 0.0005898493371033773, 0.0004719592950878015], [0.36640771984228343, 0.0025016938872999862, 4.976279156364039e-05, 1.688250460743859e-05, 0.06386138754763901], [0.19912461594283926, 0.02478526278271043, 0.0003181584080313646, 0.0, 0.0], [0.20812447059216377, 0.012844365364838375, 4.8495230487638485e-05, 0.0, 9.846768819018852e-06], [0.2180033855854666, 0.011585786219226252, 0.008031932784733607, 0.0008871404439814417, 0.028077260758823018], [0.24373627101851156, 0.006457016664276949, 9.147919856317271e-05, 0.009983602522102692, 0.009681131293045406], [0.23508043393744535, 0.0018124027500755722, 1.3295164937615541e-05, 1.8652249670266413e-09, 0.0034625737909784945], [0.2275396621233125, 0.00961900639261695, 0.0005356303552545934, 0.00011632848683564304, 7.692042238628043e-05], [0.25465668677106457, 0.012844365364838375, 4.8495230487638485e-05, 0.0, 9.846768819018852e-06], [0.2686188874416675, 0.01361221137720401, 4.677395526432582e-05, 4.192267424022898e-09, 0.0], [0.19125998587027895, 0.0017649000035568647, 1.3295164937615541e-05, 0.0, 0.09045896949710452], [0.4072807681451883, 0.007689216663284008, 0.0006333314488019021, 0.0010638167011301262, 0.004292702578284083], [0.44761026874829446, 0.02873674950346089, 0.0001519144991941693, 0.0, 0.0], [0.43555143602327145, 0.02884004453138574, 1.6580716095260543e-05, 0.0, 0.0], [0.43278742897660816, 0.015286757952297378, 0.0003879718063624152, 0.01217457140280451, 0.0], [0.4238740532762104, 0.03761878470619063, 0.023865500662599386, 0.0, 0.0], [0.529968473459795, 0.011353363747319267, 3.472163640362569e-06, 0.0, 0.0], [0.5131347643233799, 0.003050746951008383, 0.0, 0.0, 0.0], [0.5043663788565839, 0.0023569697750014437, 0.0, 0.000580578767347642, 0.0010797975216851885], [0.4945256161175366, 0.02884004453138574, 0.0019813573397839826, 0.0, 0.0], [0.5009436833086975, 0.009144507149594847, 0.003625609188769082, 0.0011609575475337573, 0.02905290135485239], [0.45633270834323997, 0.008428025962568326, 0.002279750319228539, 0.0033898031791379513, 0.019458457933031043], [0.48389735063737604, 0.008311974505755455, 8.864805488602713e-07, 0.0, 1.6737570821976762e-06], [0.46581379008682644, 0.011318244368144936, 0.013552023663030942, 0.0, 9.161823409639062e-09], [0.3379951605108096, 0.003197721103480531, 0.01781833869568814, 0.02513996193131067, 0.02103063155336555], [0.3273443975164732, 0.0032191639926699455, 0.01788950014357325, 0.015452784815896082, 0.0028247689455205404], [0.3461721639447662, 0.00015131588702433632, 0.026418794440826874, 0.02662138653066192, 0.004380194407891638], [0.29975294236994465, 0.0003577286551073337, 0.04019104626896176, 0.01627225104224583, 0.0004816133347553004], [0.2790597104567736, 0.00014800734722583177, 0.0246782569958725, 0.024824653378652237, 0.016264418053146615], [0.39323033055450596, 0.0004330717694511939, 0.02391838514632816, 0.001909616746011332, 0.018983220262476303], [0.3845980844331336, 0.013746214561043956, 0.03087403068573222, 0.001909616746011332, 0.01720581900563], [0.3742303396658687, 0.015509424396640697, 0.0306790170087067, 0.007406754543288131, 0.004434519604271537], [0.36070431302610384, 0.014235401930659707, 0.017548368272034404, 0.026763568120694817, 0.036154718784927264], [0.3611357932117274, 0.002016888521984214, 0.006516086716704408, 0.015267916750239321, 0.009388981317207806], [0.26716692837579703, 0.00016741280074513733, 0.030040901828912257, 0.02459711123512858, 0.08860343090565935], [0.2735384176349219, 0.00010854988806740205, 0.024087830276535663, 0.04050704204414129, 0.08770588291367648], [0.4352338066820943, 0.0009904421510588764, 0.02724142411160826, 0.007693558166497201, 0.030312764116579363], [0.4134418010458113, 0.0032165454383314687, 0.02722114963712155, 0.015083365158783897, 0.021252784513083583], [0.4245628360974468, 0.0032165454383314687, 0.02722300973775925, 0.015083365158783897, 0.021252784513083583], [0.4514640411496944, 0.001515519223929336, 0.029668916624804892, 0.06041057675331768, 0.02120545377425499], [0.45569308335183745, 0.0, 0.030638283681636336, 0.0350334861842629, 0.02541097619208009], [0.4907435818657978, 0.0015856841463671393, 0.01968584416344246, 0.014559873708534555, 0.005002319006899439], [0.48065880936525485, 0.0016862049334611072, 0.03464389260083391, 0.011224332147922508, 0.02551309024348292], [0.48514828723439873, 0.0016862049334611072, 0.035601544821776084, 0.015499733296353011, 0.025830185210436292], [0.46373071509676084, 7.434893288533443e-05, 0.006373855680852863, 0.013146469312103871, 0.0017492182018184893], [0.47492352530081644, 0.06140906778732072, 0.02383304571047861, 0.010994784425390779, 0.007220699045952697], [0.5107317927196285, 1.404729407129845e-06, 0.10176467625158225, 0.0092850847996949, 0.051158579951157246], [0.5080111330446007, 0.009547305573296529, 0.10176467625158225, 0.0092850847996949, 0.01832770752728413], [0.3175526303165767, 0.02769041270473499, 0.0285664774262223, 0.0062190571014193625, 0.019060660811146553], [0.3421461401572165, 0.0011845380287790128, 0.025798847902813, 0.01696960926596542, 0.005718048527387133], [0.3562563772129462, 0.0002700406140483443, 0.030163811808879337, 0.006308776182414105, 6.370802478941379e-06], [0.3639989954145496, 0.005219247243045257, 0.02579247406342794, 0.02062747282323273, 0.0023287733926536207], [0.3717620780285952, 2.6125607213147993e-06, 0.015513701941703761, 0.00428690917968352, 7.659570474425904e-05], [0.3108943073282285, 0.012260939563196765, 0.025876389682561958, 0.00690697458268634, 1.0214852605586102e-05], [0.2708721116714281, 0.016250027022084248, 0.002893820974200517, 0.022431805697438398, 0.0212446305996835], [0.2679352429564392, 0.03688469570869935, 0.002893820974200517, 0.022431805697438398, 0.0212446305996835], [0.2908600824274525, 3.4846710226473605e-05, 0.015242417311957829, 0.004218896483157757, 0.01774958372155183], [0.29331754169, 0.009979156395992235, 0.002893820974200517, 0.022431805697438398, 0.0212446305996835], [0.25562869360753454, 0.010584359457051504, 0.0011827821419218842, 0.000819872770129234, 0.00327139436630592], [0.3253223005743433, 0.07923020882504639, 0.0030293859019025864, 0.0027011465330082363, 1.0386452313182817e-05], [0.4277077199816717, 0.010086939501627926, 0.036249805720025535, 0.005856128870269532, 0.017091476920777962], [0.4472281355335584, 0.010047101920382372, 0.03610569629974804, 0.005856128870269532, 0.01774958372155183], [0.415227052186241, 0.027188918275863498, 0.008937555692954874, 0.006760849210177576, 0.00585560879391297], [0.40462513154771396, 0.0001907605067779257, 0.013985512056193727, 0.011979679274236321, 7.218263824239248e-05], [0.46570484106749566, 0.006454148151537088, 0.015147329699208024, 0.020371296038889056, 3.6592436698895773e-06], [0.45242273479414835, 0.010739421799972698, 0.01519247550379274, 0.013650751665607967, 0.00019592492890880067], [0.4835485037802921, 0.010823671314090339, 0.01565999826614055, 0.012115840282451058, 3.111921424511083e-05], [0.47607682219602626, 0.051075372816674396, 0.035739723274884505, 0.0027011465330082363, 7.868782260135208e-07], [0.48912175383650747, 0.05463861873814453, 0.00935890245461467, 0.023294526511157668, 7.868782260135208e-07], [0.39396531917094696, 0.07923020882504639, 0.035739723274884505, 0.0027011465330082363, 7.868782260135208e-07], [0.39953276038339147, 0.06145521914800651, 0.008296777824084271, 0.022193925176562646, 0.040757298690929256], [0.23524073831330397, 0.01886016176100164, 0.026755202354538606, 0.02101034719006529, 0.0004935152687245477], [0.26274498153422965, 0.0214937753143865, 0.03440600619307177, 0.022819084728024117, 0.02329314260726361], [0.19975729299503092, 0.004667563505458369, 0.0448099208171, 0.00023268964607896475, 0.0], [0.21356410064966563, 0.004842495750405894, 0.0448099208171, 1.250663937048604e-07, 0.0], [0.23747106457629114, 0.005369101660304663, 0.037565329652468546, 3.568619556735923e-05, 4.9618342138114686e-06], [0.2508360736661826, 0.021565145073278363, 0.0013669477720880154, 0.020445605821756044, 0.0070678598477320375], [0.27567304438594986, 0.012376593607904177, 0.0024095252691767547, 0.022218291549477753, 0.0015189718866009567], [0.18317418122515722, 0.0423555573640656, 0.01901258057644844, 4.019949726216562e-05, 4.261258537193585e-07], [0.20656414287495384, 0.017984953393853746, 0.008405097454195556, 0.011535684594069812, 0.0003324602690870995], [0.22904533022458312, 0.04121915411638079, 0.08839188599408682, 1.1140662594467207e-06, 1.5368946730494554e-08], [0.2922900918251365, 0.04412479917344039, 0.05281606574179415, 0.07053991835348401, 0.0], [0.3745147545519949, 0.032189235188962335, 0.0384993115794285, 8.202934805684731e-08, 0.0], [0.38431115127265997, 0.024343983735741797, 0.024023315550583423, 0.001103331841659989, 0.005388688305301224], [0.39438843127167084, 0.0037935250848075072, 0.030312085241486306, 0.020235479512190138, 0.012945774114863147], [0.35270123693307526, 0.005219385033641083, 0.017647232134678614, 5.909820642807737e-08, 1.533986901968199e-05], [0.34890348830612267, 0.005854267497558283, 0.02088971130514221, 1.5430437504585457e-05, 7.186524713602004e-07], [0.33745832957519223, 0.005854456751857981, 0.032071563545767894, 0.0004971553449324923, 0.0003957196104091981], [0.3131188265836585, 0.01817743883478277, 0.04783715946945427, 0.0, 1.2382800999976434e-06], [0.33001411353354226, 0.01733950952867014, 0.051777272566293, 4.797466078257288e-08, 8.086808562131195e-09], [0.32424446254750805, 0.018284454600348953, 0.051777272566293, 0.0, 0.0], [0.29913666452588233, 0.02646502582451678, 0.01832934971850956, 9.561219555954546e-05, 3.860965660847096e-06], [2.1291020162184093e-17, 0.005375960641740729, 0.03601513973365275, 1.3105751132765928e-05, 0.00024475492704306923], [0.0064323280058281584, 0.005259224091410101, 0.03689706013439582, 0.00018617312664006086, 0.0003710566266378498], [0.023947786445258606, 0.030229044933322322, 0.014999171213143453, 1.9891662102467e-05, 4.760839607281593e-07], [0.055437850072585504, 0.0006506195932436867, 0.0047322362985329075, 0.00044433824675362, 0.0006253711705094755], [0.045542468625035304, 0.0006506195932436867, 0.008405097454195556, 0.00036384226179360987, 3.2511166577778305e-05], [0.07982742807760136, 0.01764760536872277, 0.010871475539611038, 0.011484416613670712, 1.366191057126584e-05], [0.0642371269342692, 0.003733298962513572, 0.021830125924560267, 7.866993712265027e-05, 2.5276864707101515e-05], [0.07195963060122629, 0.004611221680044072, 0.029024534762699745, 2.0835171616023e-06, 0.00024599560623723727], [0.16939024222073007, 0.047806365938001895, 0.058254917665128185, 2.1163674267338524e-06, 0.0005274786127656833], [0.11897358800755786, 0.001375968276869869, 0.05525538284466319, 0.0, 3.7669693816644485e-06], [0.10802547288335301, 0.005489943426998862, 0.05873530172904412, 1.1481049339216219e-06, 0.0006403927318735375], [0.0990082341326049, 0.005489943426998862, 0.055288228776870944, 0.00010561631977552312, 0.005450184344218956], [0.08972726094004452, 0.005539450324084715, 0.040967625741283646, 0.000246137733196106, 1.796430440669525e-06], [0.1441561763457852, 0.0011561787584697253, 0.02734598227580192, 1.8548852126254933e-05, 4.007694657996189e-06], [0.15209664486289565, 0.0031030755550541383, 0.017890713599642873, 7.866993712265027e-05, 2.5276864707101515e-05], [0.15798698866986688, 0.018284454600348953, 0.017357350731119586, 2.948272626262941e-06, 2.2704807450211373e-07], [0.12882857522894664, 0.01428707467711357, 0.028353918821775664, 0.0, 0.0], [0.1309187549754049, 0.026478869230421566, 0.007796219370977256, 0.0003771802414211994, 0.02026024258453321]], "centroid": [0.23286455283923657, 0.018066063248924753, 0.026642042154044195, 0.0200245255421085, 0.01912207867096456]}, "2-0": {"solutions": [[0.7389281240929697, 0.13645522566068502, 0.05991768951221166, 0.12322634912172259, 0.044551878544761725], [0.7423040881506267, 0.13326429814029747, 0.002674387843143035, 0.12322634912172259, 0.044551878544761725], [0.8084237784862403, 0.13826707445684394, 0.0028072718549282394, 0.11985437348237213, 0.057757925873158804], [0.7781055326465932, 0.13645522566068502, 0.05991768951221166, 0.12322634912172259, 0.12404356509169326], [0.7800286067556776, 0.13645522566068502, 0.059222114738086175, 0.10534432903324678, 0.12046755780652207], [0.8996397024455436, 0.13582744844496858, 0.17395566668046436, 0.11988693176906413, 0.023366640502740108], [0.8721045989204168, 0.13582744844496858, 0.17282861597899254, 0.11980099788052893, 0.023366640502740108], [0.9147245395040701, 0.25633021598785866, 0.07224224925226452, 0.0717113599236184, 0.046170231102193204], [0.7446060552855922, 0.007308912999962305, 0.1622819680216116, 0.04223166364327412, 0.054960900422395806], [0.7320782256650171, 0.009142952094967627, 0.15049517103893667, 0.12533832526523367, 0.053149838476265865], [0.9879391161961564, 0.013512117200044887, 0.1601576471599723, 0.10425974240660886, 0.07464569590589447], [0.9992076769800174, 0.01588275952258668, 0.1601576471599723, 0.10467392606298329, 0.08734752754112744], [0.9854271175690646, 0.013512117200044887, 0.16085305071422584, 0.12236305273847176, 0.15873257859016177], [0.9541659781771983, 0.02716752896357358, 0.19556773197517818, 0.023189623146997018, 0.05608273096217839], [0.823713900058584, 0.0760519575050003, 0.0043057431541361785, 0.05571828083978821, 0.01968231072970173], [0.7981801097084084, 0.02399242830493177, 0.004934269576069683, 0.05754797030040827, 0.0034946885926747454], [0.7953040075258546, 0.12622755389308196, 0.004312396250998135, 0.08878510889812935, 0.00464451935303635], [0.8749711806847711, 0.0007719531363628365, 0.02351437467151242, 0.08363823796146028, 0.05411408342281042], [0.8435291280802494, 0.007372855246792126, 0.0264667862243493, 0.007925354877211091, 0.05366444056209993], [0.8396019501257331, 0.015316790957315987, 0.03482173084805161, 3.776921268211497e-06, 0.09523604761249893], [0.9952685573378633, 0.022876751232332737, 0.06312010975296345, 0.0603651467541556, 0.018718258338076305], [0.9859452652792995, 0.010853639240773174, 0.06310149158595807, 0.0035625178494053666, 0.038422802217832744], [0.9875056690006776, 0.014953252222336955, 0.06039619388611025, 0.024673229093822968, 0.025089829743811676], [0.9214001141716252, 0.015316790957315987, 0.036750590826064786, 0.06119139246290378, 0.05074149175291024], [0.9464631523401265, 0.014953252222336955, 0.030806050485854265, 0.07015854750768578, 0.05351027746104339], [0.9527252918612621, 0.03782502826672052, 0.02551246893499398, 0.06999722856378417, 0.007459714892080391], [0.9008568109623932, 0.02440866621130028, 0.07424054823209193, 0.09272983006767468, 0.015637301403514634], [0.9851071928183428, 0.011035178997268122, 0.06260204694480513, 0.12618858306184064, 0.02064567180875801], [0.9764332668598898, 0.03312973098002224, 0.0784859932782428, 0.08367733578765613, 0.05716722096102085], [0.9761643587729382, 0.09260711284245682, 0.017703038443510143, 0.08590905738824407, 0.04946193672506263], [0.9429606434769149, 0.09392455498917746, 0.06496513384727984, 0.08821647196677214, 0.018718258338076305], [0.8952079707857202, 0.09471021698875759, 0.07424054823209193, 0.09311053767293585, 0.015637301403514634], [0.8882764025892804, 0.09260711284245682, 0.05303850291684938, 0.08087590628015023, 0.049652857070650674], [0.9439188486328556, 0.015469317968767314, 0.005322270890356723, 0.07997111307294924, 0.10732571947100525], [0.9786967867529371, 0.01541035022690738, 0.005322270890356723, 0.059577993754539746, 0.10732571947100525], [0.9081876770977726, 0.07510342236060961, 0.07172470709062205, 0.07959684454823318, 0.05244417260565085], [0.9220077589368164, 0.03182304520958522, 0.05614386101482592, 0.06344531142111569, 0.04729323085430666], [0.9122457322600752, 0.03912176990310463, 0.05411184696969079, 0.020307302180291975, 0.04717551785257169], [0.87077507303298, 0.040326645423871224, 0.05331867221172251, 0.019032666491195647, 0.047435031908973205], [0.8899038693348611, 0.047057874382134365, 0.04692617733781326, 0.0517958134815196, 0.07208313334846957], [0.8559450010511888, 0.03768278720466401, 0.05683496842205682, 0.051660684058329534, 0.03408990502178895], [0.8516680130186002, 0.03194054453010599, 0.04913759389452669, 0.06271750186984047, 0.06874969797959404], [0.9067314631170973, 0.07504139178271228, 0.11514009750000244, 0.07978560978388924, 0.05244417260565085], [0.8688447089793576, 0.04964713336078204, 0.041307889408938106, 0.11250132828739906, 0.004729710516604535], [0.8809160616327905, 0.07480665921249488, 0.0067362042688851285, 0.029029980815823232, 0.05837084413730026], [0.9749205467306787, 0.012334760806140085, 0.07127449595599458, 0.04829608957814353, 0.06478801028527893], [0.963221615118111, 0.020638389099937544, 0.06105100302506801, 0.05162248755956356, 0.0733107220371086], [0.9563955018438887, 0.020638389099937544, 0.06145474996239549, 0.05162248755956356, 0.0733458727115588], [0.9458482447925172, 0.032258733440760315, 0.0750579659024094, 0.06553319521544591, 0.07569555137094446], [0.9368153615831223, 0.00278638495985796, 0.10253397503383961, 0.04829608957814353, 0.06367808645066944], [0.9466779685469042, 0.010977382660812569, 0.007275363727706617, 0.05579774992418726, 0.05738994035827221], [0.9691269330908229, 0.042360974753689745, 0.0136385088855068, 0.025324334028211534, 0.07334416303542089], [0.9410083601592968, 0.05749666043103198, 0.004027850388317572, 0.06589583786934666, 0.11139885010724018], [0.9998464073549115, 0.08260370513978882, 0.041307889408938106, 0.02121812479931896, 0.03388049254173328], [0.9872590868740414, 0.08393734779324367, 0.05870471290141319, 0.021172800393075508, 0.04078774728469219], [0.8506969466778116, 0.018104667134431277, 0.04575925965767228, 0.00935146693695825, 0.13864417587644856], [0.8866059687372772, 0.05334248414846903, 0.05467567355692404, 0.05305791964707767, 0.03633501746244263], [0.871722222301573, 0.03495615187936534, 0.05467567355692404, 0.05210799691242599, 0.03633501746244263], [0.8688222621974909, 0.053866711205319606, 0.04613647665173384, 0.05285758875586968, 0.05020454522154008], [0.9430647928014018, 0.05301202987149429, 0.047079456908652374, 0.0547222255091675, 0.05287553968154857], [0.9023027871416885, 0.0015357091837986114, 0.06250909382648555, 0.06869871732509514, 0.04438692145356894], [0.9061231570496715, 0.06981602090038537, 0.03471328693756749, 0.00014176995884345941, 0.02100696899290965], [0.8905351307338866, 0.052866533092135244, 0.02286693179422526, 0.0142479343284263, 0.03682667834592718], [0.9993828594394152, 0.0016195281157119143, 0.035354742813439005, 0.0012450754953655407, 0.0008793842679702402], [0.9757156032757932, 0.0033060995673938574, 0.0278542354427828, 0.000113035728937649, 0.010758582626283604], [0.9923792426377205, 0.01401731677481011, 0.06977534477160668, 0.015131152127227421, 0.0016669952612260695], [0.9844596135102847, 0.02289160952174555, 0.0684930584447941, 0.0, 0.0016669952612260695], [0.924636177368479, 0.0, 0.0759046727315507, 8.345984042110814e-06, 0.0005105504026281033], [0.9467856225518444, 0.005127052154398928, 0.08339624044019558, 0.0, 0.0003463674752571533], [0.9288629786061322, 2.3604304054886723e-05, 0.04342893935408342, 8.345984042110814e-06, 0.0005105504026281033], [0.9549723099031358, 0.014525483071758237, 0.030732254646922454, 0.053484252232801, 0.008123300893242116], [0.9637286002166175, 0.04861101016670906, 0.0317948583119496, 0.000113035728937649, 0.051464048432960124], [0.8598682560014085, 0.007032922224911212, 0.0827866918650648, 0.0015547163230008286, 0.07521733091111783], [0.7951267904649212, 0.0, 0.10949218160825408, 0.0, 0.039841021175608185], [0.8375669556213085, 0.03172619014520863, 0.008669411039962046, 0.0010348310150497982, 0.01220953658958969], [0.8130092349414301, 0.04625339933934479, 0.03171479684585042, 0.004402340493488963, 0.049878628301215394], [0.8199955517929028, 0.05553904087378042, 0.06318551286448972, 0.0108688301448389, 0.014611333254919229], [0.8275177709711008, 0.09512541320191992, 0.02114614823484981, 0.0008799786846222664, 0.010315012612163351], [0.8024366304136067, 0.05177793048087918, 0.05207905804063091, 0.05953892929514311, 0.0005174221567270151], [0.8323790981771155, 0.0392402291813594, 0.026257366680134283, 0.08609815082704997, 0.01890268388901542], [0.7964154990978356, 0.017836661122641543, 0.011452384455120049, 0.05953892929514311, 0.0005174221567270151], [0.7562343928750697, 0.040979387422574086, 0.0017417619496121195, 0.05203986697024024, 0.008818435323920647], [0.7390254342351622, 0.0008865793269321708, 0.05458667005031214, 0.073125856308138, 0.045506266159246245], [0.7491623785048921, 0.03488728097510255, 0.05448937833483415, 0.0315088476324997, 0.03633501746244263], [0.7236735247184536, 0.0, 0.008655276117752887, 0.0, 0.04301097703294026], [0.7620092796528524, 0.007052974309323914, 0.0024582015962927653, 0.00014176995884345941, 0.020937723967009395], [0.7781217847962176, 0.00848784252382571, 0.006970563439382238, 0.05214201483298361, 0.10038619801144848], [0.7212750939111553, 0.09450914988000836, 0.00993718497303521, 0.0, 0.04301097703294026], [0.7195743800122427, 0.10086048787053487, 0.03054955992183161, 0.019699308659694423, 0.05785645163732966], [0.8757899285691431, 0.01992331630266484, 0.0546579351465159, 0.05042310627958896, 0.04512082457340642], [0.814223256995925, 0.0015978569126290096, 0.06156204105366017, 0.02042965874221353, 0.06212855363416088], [0.8530573049106492, 0.0015886148747644643, 0.049879694818046376, 0.04412825066412876, 0.04109404363489602], [0.819101046338165, 0.00016026084987805396, 0.032151779285515415, 0.04030117712384085, 0.03549951450620925], [0.8272801188606045, 0.025233593333994053, 0.04739771115068337, 0.04112209453641315, 0.021695338808021783], [0.8617152719317234, 0.008116695175711897, 0.02536507350294548, 0.014654712347418282, 0.0012198979709458282], [0.883821757773171, 0.00047033921501592885, 0.030415961829582616, 0.0015485649919802303, 0.0026350221231078302], [0.8365128206345546, 0.0019801929288192494, 0.044111472064574525, 0.0, 0.030372723971424508], [0.8304993051372724, 0.003490362464375063, 0.025726679147600517, 0.00020804606550100027, 0.004636463499302863], [0.8459053797860878, 0.019542697025241786, 0.021962945619173634, 0.0004960193742599183, 0.06973937329216719], [0.9303703822605407, 0.0, 0.051225223736131115, 0.015183339977973675, 0.001849363297141006], [0.9448103846822471, 2.5166833886401834e-05, 0.054805542902989966, 0.012391643358902193, 0.016274755817533935], [0.9230256904194301, 0.0, 0.025726679147600517, 0.00020297591524639363, 0.006485910756934561], [0.9071716741950789, 2.4802387111894932e-05, 0.0422200468112889, 7.746985408669388e-05, 0.0009240096477609941], [0.9151599805052217, 0.0006096738816457169, 0.054336297038867366, 0.00011348830229750855, 0.03718535300206028], [0.8985451996773202, 0.0016413775649441443, 0.025726679147600517, 0.00020297591524639363, 0.03981649968933343], [0.869959991015502, 0.0029567793720516253, 0.04881542184088543, 0.00031054539990926886, 0.04288691232717438], [0.9988062188717385, 9.712280233211573e-06, 0.049879694818046376, 0.04412825066412876, 0.007766533501310093], [0.9767693519801608, 0.01903221908585352, 0.061452518319042325, 7.59196872819246e-07, 0.01643245583231746], [0.9865360609284934, 0.0, 0.061432444085457574, 0.0007977868707820506, 0.03964167269484281], [0.995881343676691, 0.0, 0.061432444085457574, 0.0006110725805835594, 0.040268815240103485], [0.9668776811163208, 6.6453455605368925e-06, 0.040592375389142905, 0.0, 0.06402053397836241], [0.9359478489384323, 0.013887189634854226, 0.010589217109250437, 2.2176200004359048e-05, 0.0], [0.9302040490902792, 0.014713563203770031, 0.005966006142717965, 0.009051168704060988, 0.0130112124603982], [0.8891159813753825, 0.0010744521736879547, 0.006017464223176058, 1.3136782587307855e-05, 0.00011326048286203986], [0.9036822845686039, 1.788894379110747e-06, 0.01607699122016763, 2.312001683366094e-06, 0.0], [0.9100994692843573, 4.9668589853328615e-06, 0.007578107295785563, 0.0, 0.0], [0.8996330567649979, 0.017739471520714548, 0.022137942370966862, 0.0004201065426163189, 0.006975036734542264], [0.8817990828629036, 0.0005778451072059841, 0.054132702074537936, 0.005033903330497986, 0.001282867838457883], [0.8320484327076746, 0.0004001252946627355, 0.02032451734787207, 0.004174746038431399, 1.0681463001846784e-06], [0.8566547607108589, 0.0, 0.016605496471354897, 0.0, 1.4412596625957972e-05], [0.8637617509766264, 0.00018833045951023846, 0.012601522387551179, 2.312001683366094e-06, 0.0], [0.8491268279987487, 0.0001893779158620209, 0.001564624883764916, 6.190132860943247e-05, 0.000848582666372686], [0.8467207205368916, 0.034880051749492255, 0.019102808085370338, 0.03617981154216878, 0.00029515731688275365], [0.8711014571127934, 0.0017429448650933556, 0.026169181443954873, 0.03485276101734847, 0.007775356063029981], [0.8138136199757795, 0.015228721474029677, 0.014539498579036369, 0.012433669110137407, 0.00027390747577868413], [0.8055089375464762, 0.015228721474029677, 0.014539498579036369, 0.021760717813788272, 0.0007542898393315369], [0.9978585845620599, 0.00032156822635368964, 0.022137942370966862, 0.0014967180799254284, 0.007060620173374336], [0.9915516457488938, 0.00031890783058605436, 0.011485048966418677, 8.320789908591517e-05, 0.013544881006519922], [0.9789325035747363, 5.37047122895372e-07, 0.0032987721953208968, 0.0013364314203930458, 0.022710316986375323], [0.9500396673298288, 0.0009383295243300081, 0.033684085134865926, 0.0006311065374276538, 6.879084449172047e-06], [0.9674597400143685, 8.492609773268905e-05, 0.06676722021570106, 0.004451304158508286, 0.01186634701123837], [0.9726177926106484, 0.0, 0.04488421282686173, 0.008255335469416463, 0.0], [0.8929533405119792, 0.007324480718907331, 0.01133402430237598, 0.07076864783260817, 0.014748890529657565], [0.8721346764561791, 0.023140316416036893, 0.01133402430237598, 0.0003489581721729533, 0.0008215931869542618], [0.8823496766012452, 0.014035197504182362, 0.009188417998823261, 0.030858336065393434, 0.010789866370414868], [0.9088489488439297, 0.05736923244163668, 0.000981831090946619, 3.326317802553248e-06, 0.026182710469112087], [0.8983018206938094, 0.05794291002263538, 0.0007369751369171659, 7.025531484708777e-06, 0.0], [0.8498943849349492, 0.07600358374733096, 0.0019381583776910336, 0.013772844841454034, 0.010364763302837036], [0.8446879012758676, 0.07601246196803388, 0.004966421899123059, 0.0014815386123292048, 0.009441692019071756], [0.9965796513445853, 0.019282529990457452, 0.006058680948060287, 0.00011316091020098507, 0.0], [0.9877125940779035, 0.015415580374122793, 0.0007369751369171659, 0.00013407840222840785, 0.0], [0.9284762144851494, 0.009130601007123457, 0.0038719528406448156, 0.00014562327582177265, 0.01383530430636943], [0.9171284939163575, 0.022121031966245343, 0.004478840362987142, 0.00019830734545480885, 0.033186930099911215], [0.9622427242341345, 0.015415580374122793, 0.0007369751369171659, 0.00013407840222840785, 0.032117148645564024], [0.9536651552854695, 0.02183012448412643, 0.014684145621725332, 0.00019830734545480885, 0.0049263031697175524], [0.9511293702171212, 0.059268157565251826, 0.0038719528406448156, 0.027857114605566287, 0.013649888196857442], [0.9738949258597025, 0.0865132866579991, 0.011453862652444458, 0.012522100261358245, 0.009441692019071756], [0.9797381766854611, 0.05736923244163668, 0.0007088163201749043, 3.326317802553248e-06, 0.026182710469112087], [0.8693513682113045, 0.12655455093902127, 0.023172680516226063, 0.0, 0.0005592790609920077], [0.8021459570753386, 0.12208864285419808, 0.023453488332220596, 9.090610465336967e-05, 8.870838580560909e-06], [0.9001540085450308, 0.01674049556874866, 0.029217264655954617, 0.03818444149093904, 0.03515300507366891], [0.9108116866546818, 0.03449582782570688, 0.02942840391463093, 0.022044224149790195, 0.03319254254514334], [0.8793994191510585, 0.0344983658251402, 0.011977908264921025, 0.035314817065348086, 0.032281045029615645], [0.874815762147955, 0.0013841631781313958, 0.04570322002186912, 0.07546338803376346, 0.004599135918988077], [0.865532166783297, 0.019469293393595155, 0.04372082325704537, 0.07546338803376346, 0.007040457701193379], [0.8685014150969785, 0.034978834458953306, 0.04570322002186912, 0.07546338803376346, 0.007025551793586403], [0.8318568743520804, 0.02857540146437813, 0.028477072195116256, 0.04078149432839614, 0.0005266922302356054], [0.8408566661965937, 0.02157818555260677, 0.011941400219918255, 0.04144572989422503, 0.011386265420440009], [0.8141622627453027, 0.010448768668768732, 0.0047526611724492684, 0.03136339102537916, 0.006067985764161921], [0.8541702042347281, 0.021812590318816452, 0.012954643837822275, 0.002539164775411669, 0.029905659555498537], [0.8453608351992893, 0.00023558786848582448, 0.004698805840947482, 0.010053934357284685, 0.001433543734811707], [0.8232839297611502, 2.301833752792193e-06, 0.04208223500273143, 0.006891600335914568, 0.01052759439214549], [0.9944731147556313, 0.03538937577835223, 0.04447787449762313, 0.005822645959865327, 0.01828176485707464], [0.9469386156169519, 0.03451404939620681, 0.04627451821833846, 0.006186283721379041, 0.03231834052148903], [0.9502868990828358, 0.03450318852402405, 0.006571394076457574, 0.03136339102537916, 0.005397935907597764], [0.9818942592141683, 0.02687482443841637, 0.00267298246886858, 0.03136339102537916, 0.0060828916717688974], [0.9894454846650361, 0.009992074019253403, 0.0015092017700857711, 0.018190354662098257, 0.010075496932126813], [0.936868603892542, 0.034956721203021894, 0.02942840391463093, 0.11602084594093032, 0.08263765300340262], [0.9177534817810025, 0.025365725356420545, 0.04783641820548535, 0.016139926163344517, 0.0497906167307411], [0.8825581611225534, 0.01704367103917168, 0.019593453046838377, 0.001705535958487282, 0.006242676573038862], [0.8842439243391316, 0.017196765180086362, 0.019593453046838377, 0.0028456249681621873, 0.0006076823340272694], [0.9091565365766054, 0.030333036606870218, 0.00204909376615859, 0.0066010606377476105, 0.008098036377337012], [0.8965064348050926, 0.0332865666327491, 0.01633530065914322, 0.023874845820235063, 0.029078679524437663], [0.8926859609404717, 0.02434643281197686, 0.009235048102739247, 0.004820268695316522, 0.02868028785924815], [0.9946289575941907, 0.018545456858212173, 0.012407449841034748, 0.004146748835017587, 0.025084525998146222], [0.9804189106442549, 0.014358181947844034, 0.010666419551925663, 0.004498662415669315, 0.03161187532071062], [0.9759611653015079, 0.018545456858212173, 0.012407449841034748, 0.01676019328818879, 0.025084525998146222], [0.9587511268518447, 0.016562066021413774, 0.0033494747159903415, 0.00012575844136239467, 0.01501343364473267], [0.9465366286502961, 0.013558762516994591, 0.033229763437058066, 0.013908644539384923, 0.015767825274740545], [0.9375960474322905, 0.00027475038672379604, 0.0049778924686652015, 0.005316868089883912, 2.872931688074551e-05], [0.9635881206380064, 0.05384680672813303, 0.03142769454960326, 0.026727023973051545, 0.015768245222279785], [0.9752534088383775, 0.025365725356420545, 0.05243232374261926, 0.03124198352510621, 0.061419419869814224], [0.9329927582048825, 0.10837242567636135, 0.011012377897218859, 0.02019544111971859, 0.004992260827986141], [0.9338702152363871, 0.10837242567636135, 0.0064438806914438075, 0.016133711429616275, 0.005506730664821352], [0.8489071517831019, 0.01692894010108534, 0.019593453046838377, 0.001705535958487282, 0.006242676573038862], [0.8272326715310162, 0.013510702402848854, 0.033245463559470056, 0.061107658861032574, 0.01574360027366504], [0.7793205787236928, 0.029514537873464843, 0.00543005672191299, 0.015133450990343359, 0.0072243155590534305], [0.7869809872058591, 0.013511046537513297, 0.0064904385867439185, 0.02354411506487866, 0.005182982031243573], [0.7629253553408188, 0.02937872522246895, 0.03391636580931162, 0.0030159467935473444, 0.024059704395818827], [0.8008870898986509, 0.017926002400715027, 0.027141135306979147, 0.017307651460121396, 0.02373550165550179], [0.8115812305622716, 0.02632089748076402, 0.023010415052595046, 0.029701418576295456, 0.03882542634232157], [0.797905027103782, 0.0021929123024822944, 0.033336161404303975, 0.045179876513784675, 0.05009205289315133], [0.8173611368894329, 0.01340795784070769, 0.06935309907287401, 0.01296780699182961, 0.03369213213100519], [0.9168312111932457, 0.05863400347312106, 0.03800835336438013, 0.009225542064365214, 0.0005610845494928452], [0.8835982121905327, 0.047037516682659486, 0.016865978173988425, 0.007346799251367347, 0.0008020053637246343], [0.8637056442597112, 0.0, 0.0010203616898584837, 0.011868694780835475, 0.0], [0.8749461655408344, 5.520564792379709e-06, 0.00025242472817159833, 0.005380818439298855, 3.258651293490378e-05], [0.8551330946076698, 4.013057529520837e-06, 0.0011005493627773318, 0.0060291689359390265, 3.239563251451467e-05], [0.8498454829325421, 3.363088088487339e-05, 0.00017119264404408946, 0.003708484692883615, 0.0], [0.8927854740204837, 0.0005436564457477512, 0.0017312264733025523, 0.032692054631048344, 0.00035843691994018323], [0.9013190882175741, 0.0001468846824466824, 6.760376296274415e-05, 0.032329326208677234, 4.867974118758238e-08], [0.9060872985358244, 0.008946248837440792, 0.0, 0.019942182368951705, 0.0004427966158617996], [0.8256834348061195, 0.031063874406464867, 0.07873933414734424, 0.005647588617377797, 0.007281202778998415], [0.8398749914015805, 0.011772238487590285, 0.0777110030546428, 0.00499711102837878, 6.029325430740304e-06], [0.8338115692106967, 0.030820752877896762, 0.038730505914854677, 0.005057820618292023, 0.0003631655182785923], [0.8482642474600829, 0.0001611173297757472, 0.017619300623544946, 0.09672519644663652, 0.040109226889718075], [1.0, 0.0, 0.0, 0.006064640089726342, 0.0], [0.9846574662145544, 6.971142038273825e-05, 0.0004292835899238973, 0.005321928176501884, 0.010637723307060382], [0.9928183518423858, 0.0, 0.0009775028627965036, 0.03213988235439946, 0.0], [0.9377603858083509, 0.009037013713511316, 0.004862035746910798, 0.003952817032277455, 0.0004323870900209154], [0.9610415844317948, 0.024562734219458697, 0.0, 0.005618600849183015, 0.0], [0.9727995421488183, 0.013757369943668482, 0.0, 0.01179470806541233, 0.0], [0.926672023957893, 0.02492444573881724, 0.017444226892746488, 0.0719577825604756, 0.0008043406401379587], [0.966946495504716, 0.020942370716487774, 0.0002851556114779356, 0.06668937509495577, 0.0004751894694614914], [0.8792995717565838, 0.02773125194216458, 0.023338708763296162, 0.03156101432756689, 0.02758283881546567], [0.8941223282721438, 0.028257169160843, 0.03590178617426623, 0.0006596952788550537, 0.02758283881546567], [0.921953187967644, 0.013401449641002514, 0.03590178617426623, 0.00015364570864830236, 0.02669483030681795], [0.9161681436256535, 0.025633572368063393, 0.018746586691106182, 0.017920933308779648, 0.043021701362912536], [0.851544142926516, 0.027969780857892326, 0.04611733861996492, 0.03266986316671333, 0.01625986264533758], [0.8526438633741298, 0.0023487020692131207, 0.024461876948597, 0.04736640459648475, 0.003044105956342767], [0.8646757024684015, 0.02378528289120868, 0.024461876948597, 0.0014900706300272366, 0.018624367199341813], [0.8316208863956164, 0.09641024652992108, 0.03339617368218486, 0.029489811659947476, 0.00016305483105120977], [0.9960218006844617, 0.029264203178078062, 0.03825430498343327, 0.0015125011341089879, 0.026286359557264674], [0.9933578400004416, 0.013547245627720236, 0.04529751412307989, 0.00015364570864830236, 0.027545496583618444], [0.9852118975329556, 0.02872673230460244, 0.01959002194754605, 0.0006596952788550537, 0.026294872406566888], [0.9763104921958023, 0.011207372817032168, 0.030598152555099983, 0.0009141266621551837, 0.08047204787400752], [0.9644196521354916, 0.01533487983682318, 0.1252857779873312, 0.002168664134680625, 0.01160486573748071], [0.9723470061302566, 0.01548117582047107, 0.1254593403041092, 0.0022148107642644263, 0.02872835877449588], [0.7602204626859265, 0.01997528723502921, 0.020201945916400496, 0.0014192015891997096, 0.02872835877449588], [0.7523819025662217, 0.0165863237768476, 0.020018848199100478, 0.0013730549596149215, 0.02437389387321626], [0.7442958778792671, 0.022911973637226073, 0.006613534919061449, 0.015531900989952552, 0.017116775150936646], [0.7305354231944576, 0.0028956801264250417, 0.008634944810275285, 0.0014900706300272366, 0.0063598653172922785], [0.7214939774373204, 0.019828991251381323, 0.01949512065302973, 0.0013730549596149215, 0.0243368008346774], [0.7005275604170451, 0.01946826089479608, 0.008456776217069945, 0.015762256449721318, 0.02758283881546567], [0.709899789580982, 0.03328840691227904, 0.02734059535136571, 0.0019956041799319042, 0.00034915205183769227], [0.6956475741742363, 0.0015443195997567887, 0.027196459257724515, 0.0014708544202336078, 0.0063598653172922785], [0.7787205956467206, 0.014511955166900086, 0.030180068526980165, 0.0019540740688976585, 0.0004253142999770358], [0.8030902838466418, 0.01475071881851197, 0.02934657420736624, 0.013686947709482101, 0.0007092481700348846], [0.812246498806416, 0.01734746180092255, 0.02965623247662357, 0.013984133222609182, 0.014329987977367918], [0.7929503485485216, 0.018732423720126845, 0.01949587469948485, 0.0013730549596149215, 0.024335696993339886], [0.8158751419928397, 0.02206274725942363, 0.006902603271450081, 0.003890465677926329, 0.029236373001350922], [0.8353567595398419, 0.0031052149023117065, 0.005664755116678339, 0.028545409864396687, 0.047649283196922146], [0.7898831028698134, 0.017199699997979028, 0.029339112491524662, 0.01399269190166929, 0.08206434863934715], [0.8757176475071791, 0.02374851443560743, 0.015600223577956828, 0.000196424318312052, 0.027007230238045264], [0.8639111894510526, 0.01898352514228443, 0.030351272546387264, 0.035791544173671655, 1.2359749036356548e-06], [0.9254861199841672, 0.0024068478830942507, 0.00023124289611291954, 0.004830315579228346, 8.248644763271176e-05], [0.9402476816879777, 0.0053079272278185935, 0.00020955883325332256, 0.0, 0.0050616954193308085], [0.8875925928596342, 0.023887892373182326, 0.000644839144663358, 1.621402382950241e-05, 7.360218431865327e-06], [0.8959666827406428, 0.02419167324571235, 0.00044323080624089975, 0.0, 0.018424280365089363], [0.9174166926445824, 0.02952181665943219, 0.0002449389995199847, 0.0, 0.000578348222481487], [0.9123714688981233, 0.02290753088178637, 0.0013418132166173567, 0.0011004514286138164, 0.0010887948137225986], [0.9079323644243912, 0.06099090910013337, 0.027541251120760193, 0.0, 0.008504300010595945], [0.8870339032808995, 0.014157355457811186, 0.0002711938210992384, 0.031169588482602775, 0.10554090734290883], [0.9994799033395364, 0.03980817492975728, 0.029041696006290578, 0.0, 0.007046172276911554], [0.9730433237153167, 0.028934559756927027, 0.0010688024929367515, 0.0, 0.00032304375415960094], [0.9850183995830539, 0.01631783021674964, 0.0032820628912829486, 0.00047305871046084873, 0.000580887253713463], [0.9608446830828041, 0.013880889338024165, 0.002102079927742693, 0.000448932645223412, 0.0005634026807073318], [0.9659367723487589, 0.01913072907192947, 0.015600223577956828, 0.000196424318312052, 0.028061990959896414], [0.9503871868701272, 0.016372398555031496, 0.001678800544036796, 0.000448932645223412, 0.05859594809499169], [0.8165768113042018, 0.03980817492975728, 0.029041696006290578, 0.0, 0.007046172276911554], [0.8508774841929497, 0.01486631404726015, 0.0008343767147918138, 0.00030038404090468665, 0.0], [0.8420631575280524, 0.01576493571833673, 0.0032890566705722985, 0.0, 0.000580887253713463], [0.8342905233702608, 0.01449501277740745, 7.49499576276694e-06, 0.005014832823754662, 0.0], [0.8275640936173733, 0.028953916289862394, 0.0007388616664256282, 0.00017140524428025522, 0.0011814001691221783], [0.7903432421566619, 0.015147985204217417, 0.015021215037351227, 0.0, 0.00012806268341677827], [0.7783466454270799, 0.013631930398330376, 0.0037146180078551872, 0.0004527721285426285, 0.0], [0.7820565504261825, 0.016258862101771045, 0.0005307632241918448, 0.0004527721285426285, 0.016555532113464434], [0.8042366598055302, 0.020715476949480085, 0.0, 0.0, 0.0], [0.7970019672447036, 0.013631930398330376, 0.0005301403774974787, 0.0004527721285426285, 0.005084663767733799], [0.7430023162746893, 0.009168586150552998, 0.00023124289611291954, 0.0, 7.476528456135102e-05], [0.7573076665804469, 0.0025992976809723796, 0.0, 1.1255514308528945e-05, 0.0], [0.7695980447680124, 0.0013115756790520391, 0.01071276255739494, 0.0, 0.006505271281053313], [0.7319152247831624, 0.006734966445745913, 0.005657914030861043, 0.0004720773208352798, 0.02157436151842441], [0.7543451403386482, 0.00928710409811546, 0.00023124289611291954, 0.0, 0.028570968757817693], [0.7029324163249588, 0.0020445376428634594, 0.0001118544019027712, 0.0001112052254334285, 0.0], [0.7223911755430976, 0.004416105562803363, 0.003360172274414999, 0.0, 4.8205658876512326e-05], [0.8897664503844501, 0.02895615786795095, 0.024374676014010513, 0.014204204775622719, 0.023384904906135484], [0.9104594536430116, 0.027772850646846446, 0.03062558423185249, 0.03361579675236451, 0.025417120035772497], [0.8536792514343212, 0.017667827643420907, 0.024399061583155336, 0.014815191484666574, 0.016246448980282373], [0.846269599201396, 0.014432829905616062, 0.029253511482522428, 0.03041349063010397, 0.028125114365329367], [0.8663067828856263, 0.0033770530935749304, 0.03853002966339069, 0.014863412664767539, 0.027182933457772708], [0.8649740573560613, 0.017658821841857367, 0.03853002966339069, 0.014863412664767539, 0.02558207845273318], [0.876979719922928, 0.014432829905616062, 0.0028284448809538995, 0.014863412664767539, 0.027149147366632324], [0.8973893480201974, 7.864725539609256e-05, 0.032102604414199556, 0.022577579084378064, 0.003160400112632477], [0.8854304398054555, 0.025768885170675562, 0.006932299475991744, 0.061094251425302386, 0.00188653115802076], [0.9213392466094878, 4.574704146890628e-05, 0.029851700398945705, 0.06041057675331768, 0.0246805080817782], [1.0, 0.0, 0.02383304571047861, 0.03802448387810081, 0.025577645851687973], [0.9862910656284727, 0.0, 0.02383304571047861, 0.03802448387810081, 0.024332808566842123], [0.9944881355913454, 0.002016888521984214, 0.006348989184534595, 0.015382886341508984, 0.00922503718310428], [0.9430140678838652, 0.00014216955641526384, 0.024374676014010513, 0.0050810583088999545, 0.002795117513997719], [0.9498355019928809, 0.00015215468512726205, 0.04339714299651255, 0.001886357773564478, 0.0003770028820846774], [0.928178724993786, 0.007337419817823249, 0.03484986219365946, 0.011224332147922508, 0.025362337366928923], [0.9162809995097028, 0.027704484518172902, 0.03062558423185249, 0.007711888432028469, 0.025417120035772497], [0.9670531604188518, 6.728401670746411e-05, 0.016922615293653583, 0.0020546354222399504, 0.05096771901339613], [0.9585179840306621, 0.01130162115093494, 0.014388265574011069, 0.0020546354222399504, 0.045507959521568234], [0.7021946669673544, 0.0, 0.02383304571047861, 0.03790951471694139, 0.02574159200562539], [0.7124926785637483, 0.0, 0.02383304571047861, 0.03385195994922481, 0.05096771901339613], [0.7286749560084727, 0.02333399553568004, 0.006816906678987713, 0.024075231108801914, 0.0517317149410288], [0.7615134931858113, 0.016099040598093826, 0.03445629308910707, 0.033111388865088645, 0.0193961036142199], [0.7713832551913332, 0.015188499476527749, 0.02540002516364693, 0.0307795220934204, 0.018077869853018905], [0.7381575427528143, 0.007337419817823249, 0.035059214040741145, 0.011224332147922508, 0.02551309024348292], [0.7510084350587912, 0.0008467039725248704, 0.02383304571047861, 0.0006101408553170345, 0.05096771901339613], [0.7194708382212326, 0.0009127560424288539, 0.007103086503044559, 0.061078993095270456, 0.0002707808945420151], [0.8396218328918306, 0.02895615786795095, 0.024374676014010513, 0.022112099544225848, 0.06320695283084128], [0.7811740959715174, 0.032244269634026566, 0.006848660674145432, 0.008947834237082355, 0.004529132519883098], [0.8089921191440629, 0.017667827643420907, 0.024990025638670452, 0.03714672013628212, 0.016952138561190176], [0.8147016375852704, 0.015554620147526685, 0.02540002516364693, 0.0307795220934204, 0.018077869853018905], [0.7943873529693286, 0.0085858753769349, 0.0064840427895671605, 0.030993844985720977, 0.018553449655488864], [0.7920837802682039, 0.008370584201368964, 0.025931270393646406, 0.030986204976122228, 0.04338600692230043], [0.8232952092872291, 0.0019731559318167235, 0.024540253269397377, 0.03802448387810081, 0.05092405840758479], [0.7502543432280927, 0.08807036887409725, 0.02529470739833222, 0.028827289890119064, 0.006536523234662685], [0.9803004200633514, 0.0007490253604036934, 0.05411118816965124, 0.0934432337846889, 0.0014012199824047049], [0.9811359394568807, 0.0003213509218310817, 0.0292207915177664, 0.0934432337846889, 0.02474381174232593], [0.8584651403096262, 0.008778461445146695, 0.0239183485647914, 0.017923303623158193, 0.028765061918157277], [0.8700356854006308, 0.00019075885529288737, 0.0051999174251210365, 0.012640594355500516, 0.0002062700753821898], [0.8817891792789608, 0.00019075885529288737, 0.00559332326584638, 0.012665800128275683, 0.00020642019453509937], [0.8878204851660351, 0.0019415191174844137, 0.006316381642010319, 0.01849897463765953, 0.010656320491250777], [0.8779205023885788, 0.04750479971130729, 0.010240716138389666, 0.0008421612188045991, 0.00012950184009345896], [0.897195008899788, 0.0, 0.05818220762012605, 0.005350692016109222, 0.0001108346389748307], [0.8188992368502148, 0.015661982080140295, 0.015254105339423939, 0.013636884586072155, 0.01592967154958222], [0.834894154369404, 0.014530294225230878, 0.026755107279452368, 0.004239333148319695, 0.0001924239125502391], [0.8456042429748627, 0.008189095130529275, 0.0011825901069985184, 0.008733983428663765, 0.0027662908599258747], [0.8510574655042401, 2.6125607213147993e-06, 0.016251482079570723, 0.00428690917968352, 0.00012950184009345896], [0.9122597198410706, 0.06255768413403309, 0.008008978158983087, 0.0416181174672365, 2.3170884085048533e-06], [0.9351006802708491, 0.00113874243524743, 0.010239252729470516, 0.0008421612188045991, 0.00012950184009345896], [0.9202055412018489, 0.00019075885529288737, 0.004745301012774989, 0.012670083718621532, 0.010656320491250777], [0.9318101497996997, 0.03832057633840316, 0.03204972706348207, 0.013826584909903671, 0.005854880625158975], [0.9639682135253522, 0.051608149564622924, 0.026029291395109587, 0.00428690917968352, 0.00012950184009345896], [0.98291630064009, 0.00010255946005532056, 0.02031917653552933, 0.012613800918332037, 0.0023725147964408933], [0.7550661845755631, 9.912218838139934e-05, 0.019823654434910312, 0.01399382519640057, 0.028682427021635024], [0.7872470468502766, 0.00034207126742488974, 0.013739078791251746, 0.013649360695443764, 0.00019592492890880067], [0.7779555899091736, 0.02072742736187951, 0.004022768333472095, 0.022070064032177206, 0.009872085920080487], [0.742248592050745, 0.023160800557616407, 0.03162118533481486, 0.040080238662191646, 0.010044850230822928], [0.8083753809936667, 5.617370232388142e-05, 0.03803895214434238, 0.028127627839909946, 0.04704287166337952], [0.769405980498092, 0.000478680108816589, 0.0284375905585684, 0.005691110365799171, 0.07897415871537208], [0.8020357695521863, 0.0003430692477274974, 0.027823449662871428, 0.07614044351811856, 9.80125684598189e-05], [0.8318975876706415, 0.0, 0.01359840753866845, 0.0900722911795894, 0.0], [0.9999141972661117, 0.0, 0.03670199597917801, 0.08684088849510528, 0.0], [0.9609679608724963, 0.01652840588876582, 0.019867231702984284, 0.07898027560186165, 0.009833271567380175], [0.9729448187103144, 0.0, 0.019940336730247952, 0.07382610320446117, 5.585007444481414e-05], [0.8765576721303809, 0.005542985765493122, 0.029646029153010654, 0.0, 0.0], [0.8677128744274263, 0.005542985765493122, 0.029646029153010654, 0.00010736945818403345, 0.025762991024669196], [0.8579061129238146, 0.017416492112879153, 0.029773277227702878, 0.0, 0.0], [0.8515638570726921, 0.03049037066558897, 0.025047323292797394, 0.0017254785303254423, 0.0], [0.9138144183320263, 0.006407562519429552, 0.0493096445945744, 0.05399960681030026, 0.0006140533515250311], [0.9060157083307815, 0.006407562519429552, 0.04819424540411951, 0.055564542281512926, 2.5320816672165503e-05], [0.79858415117955, 0.005539450324084715, 0.041335013013411026, 4.2938072520946525e-06, 0.0], [0.8024606150882703, 0.01759585086393152, 0.029480763024942864, 1.3689313643810356e-06, 0.00014133447408351584], [0.8148917854043615, 0.013273940561994303, 0.0030763320995305125, 0.014158313975280364, 0.019306950868651362], [0.8309809870575607, 0.0487465231514145, 0.023193869296992624, 0.015577610413659604, 0.0005340689767152995], [0.8392005023037611, 0.03909373834700397, 0.02311379535531982, 0.014671560166519465, 0.0005071715065656568], [0.8239103747166171, 0.02129545669651934, 0.02796935812950628, 0.018977883216972836, 0.0], [0.8463605952676039, 0.004194312886414638, 0.0597413357894528, 0.00010722584833331545, 0.019941644784740087], [0.9935835916952107, 0.0037935250848075072, 0.023536919589954394, 0.020235479512190138, 0.012945774114863147], [0.9661400077840553, 0.017990658702295305, 0.010741792720670863, 0.016761108755732425, 0.0001516519414259728], [0.9739297974079243, 0.017990658702295305, 0.010741792720670863, 0.01336687702805274, 0.0001516519414259728], [0.9919507089592408, 0.013332052694964833, 0.01054324385439507, 0.0001920905040323457, 0.0003702122791154885], [0.953896324610268, 0.042454353643359664, 0.017662139466052267, 0.0012159862292763952, 0.032009215093209684], [0.9235253401683376, 0.005704940015184807, 0.008227073968317324, 0.00037518703940916335, 1.073108961560367e-06], [0.9384607175484396, 0.005704750760885108, 0.008405097454195556, 0.014434618060686768, 3.2511166577778305e-05], [0.9165573189261491, 0.002574684124498093, 0.017662139466052267, 0.0012159862292763952, 0.032009215093209684], [0.9841622792882075, 0.0030376513754135307, 0.08379762942805188, 6.045498519118314e-06, 0.0]], "centroid": [0.8803743064616476, 0.024447368661268856, 0.029945526103853336, 0.025221836691691805, 0.022818526519347418]}, "0-1": {"solutions": [[1.471309361224829e-07, 0.9935344642442533, 0.9986560487592907, 0.9802588089590515, 0.994784020231751], [0.01737668782164392, 0.9999998435735871, 0.9998939804927025, 0.9998535988250217, 1.0], [0.04012747588827276, 1.0, 0.9931900687199475, 0.9807645947084181, 0.994715989708641], [0.06099332870806723, 0.9999876215498994, 0.9998894428343293, 0.9940487294661413, 0.9999999714972727], [0.07885775906539474, 1.0, 1.0, 0.9971076856497271, 1.0], [0.11255949667838966, 1.0, 1.0, 0.9988788051801494, 1.0], [0.10154552785999799, 1.0, 1.0, 0.9934572752514172, 1.0], [0.09196997631150078, 1.0, 1.0, 0.9648977859958212, 1.0], [0.22718400459572302, 1.0, 0.9892260023567546, 0.9987637749633139, 1.0], [0.21215064742007517, 1.0, 1.0, 0.9948690521353231, 1.0], [0.2510102205970469, 0.9996525488911804, 0.9998891944420405, 0.9965439221523053, 0.999999695242804], [0.26155020218423025, 1.0, 0.9889420270133809, 0.9704989918194992, 0.9997961484684939], [0.2739612634439042, 1.0, 0.9889420270133809, 0.9704989918194992, 0.9997961213859246], [0.2823862198152317, 0.9996525488911804, 0.9570763990302441, 0.9965439221523053, 0.9581523438373707], [0.19428605405088845, 1.0, 0.9999880688857592, 0.9974246814091242, 1.0], [0.18046844651586286, 1.0, 0.99789857938535, 0.9935038164505053, 0.9996392062359993], [0.15142341059061426, 1.0, 0.9977514757117976, 0.9982883167346085, 0.9999999717679892], [0.13952480435638334, 0.9999575464949685, 0.9893206219301702, 0.9918508464991266, 0.9999968144025593], [0.16838428628887211, 1.0, 0.9990865431992796, 0.9542128398018312, 1.0], [0.1497768399643703, 0.9999717650751272, 0.9950140865759377, 0.9880140231564836, 0.9972195428069536], [0.15520543013926014, 0.9975169041222036, 0.9989365964110603, 0.9932855132508704, 0.9991860147936982], [0.14172844059326106, 0.9995448402738875, 0.9946515746201706, 0.9933563003280467, 0.9997742339317574], [0.12999112572998306, 0.999944153160399, 0.9946515746201706, 0.9959889722378753, 0.9999169081181581], [0.16495376381493604, 0.9999740984280688, 0.9741358287381652, 0.9924889065455262, 0.9995178955706177], [0.1976169642520511, 0.9529721884428194, 0.9832410960745408, 0.9933563003280467, 0.9953915241496422], [0.18783822356416885, 0.9760643752659394, 0.9579576760029282, 0.9941766864166566, 0.965969592768265], [0.18961863233795523, 0.9985409760362892, 0.9925627982005424, 0.991385502463727, 0.965969592768265], [0.11262114167419268, 0.9975761517294096, 0.994082697517796, 0.9946937565787193, 0.9762671429682191], [0.10021779265106535, 0.991249742377229, 0.9996243954950799, 0.9932872194578244, 0.9459269666742101], [0.08625282236066592, 0.9779023031938766, 0.9993190653884881, 0.99948725378238, 0.9424347924531247], [0.13518743060039978, 0.99993329667746, 0.9935470624406987, 0.9933535008017285, 0.9265979248972301], [0.1750607944773009, 0.9952334413363885, 0.9946336262001119, 0.9426229142961459, 0.9984500711694085], [0.21291099071616054, 0.9999740066888388, 0.9771165393583331, 0.9252936040770781, 0.9987397375501721], [0.1100191018140621, 0.963580095503254, 0.9949718007607674, 0.9352101833720938, 0.9973274254222871], [0.07820765448837919, 0.9996202407181615, 0.9947237094618119, 0.9352499543923156, 0.9972042254094109], [0.04908862501283681, 0.9993807782862214, 0.9954413030901302, 0.9790481716446708, 0.9974610948160233], [0.06466183624157637, 0.9981264456943201, 0.9999139756338109, 0.9790481716446708, 0.9974610948160233], [0.06926070232821499, 0.9981264456943201, 0.9990333935475348, 0.9790481716446708, 0.9974610948160233], [0.024988778033122105, 0.9783313998311438, 0.9934945752671738, 0.9911907976580427, 0.9907837365348602], [0.014739971249693451, 0.994223411279834, 0.9933565727218217, 0.9904314069033135, 0.9999795007461626], [0.034689734429648206, 0.9993807782862214, 0.9959040825494958, 0.9899424555522437, 0.998277027618743], [0.0400646911824897, 0.9970383626409965, 0.9825597163099119, 0.9997144350382947, 0.9995143272524482], [0.042478570785310754, 0.975989916775244, 0.9632400654858805, 0.9709542477643786, 0.9974610948160233], [0.0030297255681172516, 0.9796873304941289, 0.9861785216548615, 0.9950613339959855, 0.9495477152524491], [0.004297083813008223, 0.9796873304941289, 0.9855122509862686, 0.993069511692875, 0.9495477152524491], [6.582732328028445e-08, 0.9899759772224721, 0.9999811100341687, 0.9979157072103156, 0.9522796087267531], [0.030030486946373863, 0.9952334413363885, 0.9949941625923164, 0.9499905646921826, 0.9577490417768773], [0.021051992095746534, 0.9782746465764757, 0.9996243954950799, 0.9639384102028271, 0.9469749506296696], [0.00746484814815615, 0.9979990328825251, 0.9992739829264657, 0.9244594002995966, 0.9988220994030135], [0.01258651626049092, 0.9565249467353372, 0.9970612312932181, 0.9412577471072303, 0.9969620307369161], [0.018287261147156522, 0.9975169041222036, 0.9253319074578576, 0.9938667249296894, 0.9602641995228308], [1.2301902832690868e-08, 0.9597154010399611, 0.9432254980780233, 0.9241800251596165, 0.9966043013059317], [0.09601679760738457, 0.9960454205422183, 1.0, 0.9762574753110584, 1.0], [0.1206159743251912, 0.999987124384418, 1.0, 0.999768577398859, 0.9999975787509623], [0.06791179101360006, 0.9999597881044373, 0.9968518920055247, 0.9889647063627554, 0.9945932332492926], [0.08027928858089328, 1.0, 1.0, 0.962373685290059, 0.9890483405615674], [0.13471069052925994, 0.9925403327097561, 0.9885033213003339, 0.9916716954198864, 0.9931913481916709], [0.15278651249484126, 0.9925403327097561, 0.98745318607943, 0.9922583072456269, 0.9931913481916709], [0.17581642552044222, 0.9998173637767325, 0.9980271559961377, 0.9889398525212545, 0.9995694995419174], [0.17101507397800544, 0.9998650811521015, 0.9980271559961377, 0.9889398525212545, 0.9995694995419174], [0.15838703515476166, 0.9976894936084982, 0.9998403259684644, 0.9779947310124322, 0.9897079419431069], [2.489332931411223e-13, 0.9938818680544, 0.9999603777377385, 0.9521660317773923, 0.9916479895188082], [0.04318724469518641, 0.9997148353919099, 0.9996033084840571, 0.9994308333019701, 0.9999712554912359], [0.0232319856181622, 1.0, 1.0, 0.9883062877497195, 0.9999822027648817], [0.017675703870182302, 0.9999715687046654, 0.976108562298655, 0.9774881236228526, 0.9989808081331324], [0.1043605868117453, 0.9937986001456803, 0.9955708460660636, 0.9937382538798546, 0.9975573132823349], [0.10332529343913584, 0.9955679702291608, 0.9933535618735743, 0.9990455505662952, 0.9891641345501399], [0.11939271914576577, 0.9981887250436058, 0.9868131675161704, 0.9652003571230109, 0.9981894929500733], [0.09258129699180617, 0.9961238259784789, 0.9952095324949397, 0.9852673757076231, 0.9706029378220669], [0.08008699125006496, 0.996131022063698, 0.9952072865003825, 0.9880007761170312, 0.9759744218454467], [0.128992262457799, 0.9986954735393495, 0.9970976271348675, 0.9442707626606579, 0.992192769478998], [0.17338484376598573, 0.9344313986055482, 0.9954209466426914, 0.9958227929879921, 0.9979697448269325], [0.1418391983732603, 0.9471490187450983, 0.9953114067551582, 0.9892828202933414, 0.9971369651185655], [0.1555624869335983, 0.9981887250436058, 0.9956086976405563, 0.989218335261709, 0.9971369651185655], [0.18413775076758232, 0.9783845553930811, 0.9938416337322408, 0.9729635316626537, 0.9992534842259775], [0.19421610330580155, 0.993792658347101, 0.9949476609871185, 0.9749511572391278, 0.9996690572024073], [0.11790975255182518, 0.9672899213304177, 0.9309013881589984, 0.9792069561274918, 0.9797132646665547], [0.09818841075629613, 0.993792658347101, 0.9158269123586834, 0.975210368625337, 0.9925806673909779], [0.1514076651771906, 0.9998945568088637, 0.8909733947478266, 0.9818704947324959, 0.9927051695716654], [0.08707333758801772, 0.9390801819822491, 0.9460352951338535, 0.9963672938145319, 0.945445329819549], [9.270050479732832e-12, 0.9577100571737105, 0.9519097211381407, 0.9513294729872879, 0.9994245250532148], [0.0028538939124165275, 0.911299504852098, 0.9572798368358262, 0.9669156387337603, 0.9696114338262689], [0.07493982243380665, 0.9663929040924346, 0.9970976271348675, 0.9983493712221764, 0.9919088461054545], [0.050695854494152925, 0.9624005276283573, 0.9860059783690148, 0.9792295003227699, 0.999460902313554], [0.06260120281976649, 0.9990839184233011, 0.9935846449769177, 0.9643134927895811, 0.9896142500934236], [0.006048324511384817, 0.9970330752967652, 0.9755312203262594, 0.9851416596256548, 0.9866372831253227], [0.011442801463347418, 0.999928603467439, 0.9953382835384815, 0.9968416804193807, 0.9993986704117579], [0.040029040107976754, 0.9982896235822047, 0.9970976271348675, 0.9983399177609389, 0.9917417564120499], [0.018445645998860144, 0.9624005276283573, 0.9877329285862009, 0.9792295003227699, 0.9748478949875441], [0.044858510731794865, 0.963794277699485, 0.9878985629312629, 0.9729441441707802, 0.9654925353346163], [0.009361778827218448, 0.9623825616567444, 0.9966780281640991, 0.9789707104126901, 0.9999942808111398], [0.013353460881374773, 0.9430493369415383, 0.9952735551806655, 0.9938027389115426, 0.9975573132823349], [0.03336515824026459, 0.9982036401507126, 0.9480730505111803, 0.9975660533237055, 0.9943624984079285], [0.0030718582136031367, 0.9782997068652038, 0.9451659879192232, 0.9994866016833166, 0.9641450141327501], [0.0003830988520006366, 0.9802918948395315, 0.9171176436163339, 0.9988358350548852, 0.9865135178895622], [0.02926245584868528, 0.9843218532656743, 0.9466970468194689, 0.9100448463482833, 0.9979578344454896], [0.0014112402802156782, 0.9984107266842921, 0.9453704297013068, 0.9010235341488019, 0.9864497118620834], [0.05790325820268044, 0.9662342684195788, 0.9956831413416567, 0.9191764160544045, 0.9692068626396629], [0.09432457794291094, 0.9882616858313847, 0.985500788883678, 0.9987696024566054, 0.9885611469707959], [0.07721185067883052, 0.9881580987120758, 0.9919597019057292, 0.9796240042370031, 0.9964894954248602], [0.11495531055387234, 0.9925185423165326, 0.9918651706227143, 0.9994796252147076, 0.9897210426014365], [0.12728753910065232, 0.9467649975496721, 0.9947974238140568, 0.9994799058944651, 0.9994409309449503], [0.0, 0.9908549812944297, 0.999967541861691, 0.9861155027952557, 0.9890938427494642], [0.02587331112604757, 0.9980888906160115, 1.0, 1.0, 0.9701399625252525], [0.05551276393517074, 0.9907702277341316, 0.9869587522632329, 0.9863131902925537, 0.9928892309251869], [0.049403210573487136, 0.9908549812944297, 0.9999018452078261, 0.9861155027952557, 0.9890938427494642], [0.22684118015736918, 0.9905927407801582, 0.999198044283485, 0.999840547890577, 0.9774715179339304], [0.22573051498751678, 0.9896472189461971, 0.9926393666854917, 0.9999539108761929, 0.9929597361921022], [0.20797046410028786, 0.9860194688488714, 1.0, 1.0, 0.9692024897599676], [0.19966857775179675, 0.9860194688488714, 1.0, 0.9789805122805542, 0.9616840611719345], [0.1515107317413268, 0.9904456516545764, 0.9659118486091939, 0.9997140002539773, 0.9906683807818173], [0.18160179096881168, 0.9860194688488714, 0.9996243086768307, 0.9789805122805542, 0.9956491483935683], [0.1735163798265575, 0.992261468096562, 0.9866012463563139, 0.9901849498624987, 0.9971974709676868], [0.16233364414059315, 0.9937375016443918, 0.9942095757493898, 0.9940183162260742, 0.9781587867650433], [0.09482748027493651, 0.9988401565888398, 0.9926102650225253, 0.9817298367372738, 0.9860616655520705], [0.12173082881165093, 0.9978822639126663, 0.9642985631018685, 0.9923827874143067, 0.9846557219780377], [0.0883975384447113, 0.9969627555658024, 0.986164096687621, 0.9925727837032459, 0.9595830718694125], [0.10904683941657667, 0.9845214821366732, 0.9978208276897219, 0.9924357407632521, 0.9494663215961684], [0.04049010776688117, 0.9880006273475588, 0.9865632712764918, 0.9834332667927654, 0.9859874889153447], [0.05634809115659173, 0.9948069194276825, 0.9773045956465539, 0.9873760258002023, 0.9893177741446298], [0.0629642753230028, 0.9947592271981442, 0.992195744943889, 0.9915148183401601, 0.9864377349197258], [0.0825870783095278, 0.9969627555658024, 0.986164096687621, 0.9279878858403565, 0.9595830718694125], [0.07535987099085906, 0.9974435437615025, 0.9744277567358551, 0.9265542071021542, 0.9841584639168934], [3.04708542661994e-11, 0.9965825961509297, 0.9746030231130965, 0.9914595876797663, 0.9922002937696154], [3.70475227359497e-10, 0.9987646191739824, 0.9746030231130965, 0.9914595876797663, 0.9922482484123956], [0.003219505370097242, 0.9907834872987135, 0.9899835201210576, 0.9938623145906884, 0.9864179579166552], [0.012599317480121719, 0.9987687610996867, 0.9896034309129769, 0.940362525660132, 0.9860644945928928], [0.026484499328597255, 0.9879952750244236, 0.9974712242775636, 0.9613844224091284, 0.9886933638309449], [0.006600859235927391, 0.9931384531742309, 0.9929791027151609, 0.9722751598338524, 0.9713635282633428], [0.0013244684690235202, 0.9959725319003981, 0.9615553843347299, 0.941938806894869, 0.9994469748296917], [0.021133194990992504, 0.9342251464543223, 0.9953729563543106, 0.940070497609642, 0.9822941226501504], [0.02612089832396971, 0.9331361739188795, 0.9960223692718353, 0.9789719608109692, 0.9843379922384476], [0.05134345157903308, 0.998001390912727, 0.8518427261042236, 0.9914595876797663, 0.9922482484123956], [0.0357243793654794, 0.9791202940310306, 0.8959707754188407, 0.9278351526395461, 0.9900477730218696], [0.034835965071896846, 0.9986609705068119, 0.8959707754188407, 0.9278351526395461, 0.9897447774438476], [0.11898664554573163, 0.9791202940310306, 0.8959707754188407, 0.9923827874143067, 0.9935193221723203], [0.1470708034678806, 0.9890621419002489, 0.9999325022084524, 0.9097719424802623, 0.9888094014577188], [0.22141473345221024, 0.966387811699365, 0.975617029347426, 0.9215053759211298, 0.9986480491008687], [0.19823016717770114, 0.9987687610996867, 0.9917943713033721, 0.913702856742582, 0.9942397368006446], [0.16235851102223559, 0.9996359413762472, 0.953992620000016, 0.9952145792482802, 0.9890588226586652], [0.1563370977441345, 0.9965996498037121, 0.96702660445517, 0.9802621243478354, 0.9888094014577188], [0.17957551100105584, 0.9987687610996867, 0.9917943713033721, 0.9640238674311397, 0.9942397368006446], [0.20945231885073, 0.9868054440639437, 0.9990817825452493, 0.9994321894587285, 0.9841363848122666], [0.18685248462300658, 0.9978514369040303, 0.9949801124353936, 0.9965985276657102, 0.9937511182287093], [0.2790978513247422, 0.99615408509683, 0.9916962256891794, 0.9987387297215072, 0.9999045377892468], [0.2670029236975764, 0.9763880379668471, 0.9947752352159543, 0.9829742429603014, 0.9919939291111683], [0.26279960364658117, 0.9877106022034703, 0.9926169581604788, 0.9908385791190497, 0.9996625798623007], [0.24690052159275921, 0.9887794796666148, 0.9974712242775636, 0.9613844224091284, 0.9891140495995616], [0.238533092306645, 0.9348150697717681, 0.9925157735856777, 0.9908385791190497, 0.9997024073193778], [0.2585079970814876, 0.9960930654874165, 0.9056152666074668, 0.9856128213312576, 0.9960074358844365], [0.12862581609653387, 0.9724850927589073, 0.9869542587617492, 0.9968370196342768, 0.9996658852944886], [0.10863734852907722, 0.9616093176901658, 0.9911327122524423, 0.9789058505916463, 1.0], [0.05246928944634183, 0.9882568048216401, 0.9999599490016322, 1.0, 0.99999402739437], [0.06438782814205646, 0.9961442551441612, 0.9998904077549882, 1.0, 0.9999891707398925], [0.08301128843092435, 0.9944539076050946, 0.9937898451398186, 0.9999236725439404, 0.999991707258723], [0.09295425695276749, 0.9972024654133598, 0.9959172532872684, 0.9998698863281947, 0.9999741448829711], [3.341903617444346e-12, 0.9708839874722167, 0.9997983560108661, 0.9988906903707429, 0.9754745087376556], [0.028449362466988787, 0.9833038380805607, 0.9942754504608019, 1.0, 0.9998340105366801], [0.016558428498731126, 0.9796959196955374, 0.9922861110003776, 0.9999570787823743, 0.9995935563910926], [0.16135828551218898, 0.9724850927589073, 0.9869542587617492, 0.9968127851712245, 0.9996658852944886], [0.15070893266209373, 0.9335682175018729, 0.9913312107033564, 0.9787121782019846, 0.9992529425140276], [0.19180195422793694, 0.9742684017194029, 0.9990044321073032, 1.0, 0.9999533839314902], [0.21041863580352016, 0.9731561844557618, 0.9992793120674588, 0.9999950614337176, 0.9998079750134748], [0.2051316978950079, 0.9724850927589073, 0.9768652113564736, 1.0, 1.0], [0.23002049467437252, 0.9963359855441263, 0.9999918479336118, 0.9990483311110617, 1.0], [0.2214193970157768, 0.998544506706355, 1.0, 1.0, 1.0], [0.0956148820806115, 0.9877140540853515, 0.9973368239537149, 0.9720305224439503, 0.9749042569366164], [0.10274680631321167, 0.9895015590645666, 0.9632535203081611, 0.9977109353788168, 0.9754861244295728], [0.11025573292687593, 0.9724435280940951, 0.9973368239537149, 0.9720305224439503, 0.9656970184349513], [0.07988867461273036, 0.9840213161110808, 0.9906840563071858, 0.9900828388149577, 0.9979175745813677], [0.07268966574327956, 0.9927178865783536, 0.9829673307957149, 0.9925045838526886, 0.9990398333574907], [0.06074025184337628, 0.9892698912731829, 0.9930830326427053, 0.981696456702032, 0.9999087468527073], [0.1233791063605928, 0.961909369945053, 0.9844060681122034, 0.9999908899778599, 0.976487913649146], [0.11790933677078741, 0.9768478661326454, 0.9975308163490274, 0.9998721383775501, 0.9713106002544869], [0.14409985131146819, 0.961351316547452, 0.9980142686860688, 0.9998721383775501, 0.971424221771934], [0.0, 0.9892741426685229, 0.9716280160615166, 0.9988715462883188, 0.9842395814210531], [0.0004013755533058237, 0.9888783463950817, 0.9990169620313688, 0.986623887800069, 0.9881414746493753], [0.007037922784881134, 0.994301388539867, 1.0, 0.9904290294532048, 0.9913411828381158], [0.0011858459827538814, 0.9877485943240641, 0.9989526566534708, 0.9969119316366024, 0.9944912775369139], [0.0037117788640550885, 0.9877454859737468, 0.9989608469257174, 0.9975010377767897, 0.9750767129834013], [0.023297871444243112, 0.9874694452425282, 0.9995302949590577, 0.9860459356349343, 0.9881414746493753], [0.014750397878808441, 0.9883961416491722, 0.9997633767984204, 0.9844019201475229, 0.9887711756857887], [0.0045252522526796485, 0.9757062289902972, 0.9894692865070258, 0.978458916093258, 0.987875288232369], [0.028383109416807606, 0.9512441985381623, 0.9995335592132435, 0.9875209330928126, 0.9896815577904101], [0.04747947031542288, 0.9999900072387612, 0.9542076430444051, 0.9843703854969631, 0.9796358297810098], [0.06704180204010157, 0.9999562427769546, 0.9537523448712014, 0.9843703854969631, 0.9895311707270831], [0.055083821115798126, 0.9742317338288635, 0.9889307243363821, 0.9465129762231089, 0.9888954143361106], [0.04315379155335469, 0.9719084960066353, 0.9565271564995252, 0.9529691179825787, 0.9779744871571776], [0.0377327855198335, 0.9617758478331412, 0.9164847142773191, 0.9628558915800182, 0.9743688893351831], [0.1934033809476459, 0.9866080869614353, 0.9483274187003171, 0.987606805886481, 0.9865774690235817], [0.2004520462480549, 0.9870070706149268, 0.9906840563071858, 0.9864686999379434, 0.9865774690235817], [0.2264394374780624, 0.9775096068012269, 0.9907982322335728, 0.980118393758148, 0.9911145558000484], [0.21631065891185797, 0.961946030077428, 0.992425692642615, 0.9866084457269994, 0.9753276940804136], [0.20937066511622077, 0.9939567135815374, 0.9728744115245889, 0.999871725659982, 0.9984001195340165], [0.1712081574856478, 0.9822494417605495, 0.9999566294189218, 0.9866084457269994, 0.9967288418230325], [0.18246489659684512, 0.9688509503714522, 0.9999566294189218, 0.9904451714552857, 0.9961917736844618], [0.16308937019814748, 0.961909369945053, 0.9646496204302851, 0.9894851553493133, 0.9765107314803397], [0.17745895849121013, 0.9701910635329148, 0.9844060681122034, 0.9996307300738349, 0.9753621013001255], [0.15145134738238417, 0.9892741426685229, 0.9716280160615166, 0.9981946536878681, 0.997401522707862], [0.141807529261912, 0.9843455685040015, 0.9927759286921249, 0.9933152415953606, 0.8810265783745878], [0.12415501077898694, 1.0, 1.0, 0.9996917390711819, 0.9997170611531062], [0.11377059921165977, 0.9982702018364029, 0.9999527124834343, 0.9999999877676967, 0.999997951896421], [0.09465202249414445, 0.9999999791567488, 0.9999831900997542, 1.0, 1.0], [0.0336504676449656, 1.0, 0.999952682204607, 0.9783208806704806, 1.0], [0.017411355750268864, 0.9999976961594984, 1.0, 1.0, 0.9998449095786014], [0.07606044567476955, 0.9999986350379816, 1.0, 1.0, 1.0], [0.06244362515454738, 1.0, 1.0, 1.0, 0.9999328680708237], [0.057778873265588615, 0.9999986350379816, 0.964986558273824, 1.0, 1.0], [4.070654010808299e-12, 0.9534709237096434, 0.9999539049391596, 0.9999999877908026, 0.9999974700150764], [0.11541152735250082, 0.9984773081109191, 0.9925240105778719, 0.9985273169949389, 0.9999527853944212], [0.1285615544755208, 0.9999787166627543, 0.9886405450341593, 0.9998649268180251, 0.9887893922006662], [0.13376170249374278, 0.9931243902296952, 0.994727943827892, 0.9820383917291717, 0.9995970923658029], [0.12047502698386395, 0.9999778805439081, 0.9725322232265913, 0.9827426213004901, 0.9999999975086088], [0.04509013782715976, 0.9929282346943681, 0.9926799925225092, 0.9881805020291984, 0.9925463140604156], [0.06357172028683755, 0.9994934384262689, 0.9854198838025299, 0.999999999426565, 0.9999932622555113], [0.08341998730712172, 0.999999590758157, 0.9978351593241288, 1.0, 1.0], [0.07556341703083308, 0.9999974353161218, 0.9929717126098073, 0.9999111642050077, 0.9999957962550732], [0.07041897987090823, 0.9999994536354496, 0.9929717126098073, 0.9984955501811166, 0.996093888410818], [0.08959236044742458, 1.0, 0.9872590947994144, 0.9999999961468133, 0.9999747692480034], [0.09895407558132968, 0.9923323220581248, 0.9290249884615278, 0.9999885381323771, 0.9887893922006662], [0.1886304891759777, 0.9984773081109191, 0.9925240105778719, 0.9985273169949389, 0.9999527853944212], [0.20878735777397495, 0.9992784670507644, 0.9932404212037471, 1.0, 1.0], [0.21049926737165903, 0.9995524966575119, 0.9869207928368269, 0.9987107471735206, 1.0], [0.1562346826430844, 0.9994968122700214, 0.9951374578426371, 0.9999999971829905, 0.9999950895886628], [0.16501821897915347, 0.9818028327721477, 0.9910412537862088, 1.0, 0.9998718146264587], [0.14389730745378998, 1.0, 0.9666335772032137, 0.9951722407353327, 0.9999993165012386], [0.1742632419767511, 0.9999684529226057, 0.9660926469584634, 1.0, 1.0], [0.18561528697985386, 0.9818028327721477, 0.9595561730220448, 1.0, 0.9858928487293879], [0.0, 1.0, 0.9661487162444283, 1.0, 1.0], [0.020407065248122136, 0.9986189350604741, 0.9802521858492542, 0.9998688087207717, 0.9996692117934033], [0.013308099867344908, 1.0, 0.9766445964071868, 1.0, 1.0], [0.024991873741980752, 1.0, 0.9661413212951381, 1.0, 1.0], [5.719698002304614e-05, 1.0, 0.9868497382617348, 1.0, 1.0], [0.001279003266746584, 0.997039850200331, 0.9840966656894536, 0.9818526449011634, 0.9998716422771617], [0.0028401466518780394, 1.0, 0.9993607630054372, 0.9821347849158296, 0.9998063450179061], [0.009977211705930467, 0.999997068595246, 0.9904482599301564, 1.0, 0.9777379954137565], [0.004781357267478137, 0.997089580510897, 0.9578855764994554, 1.0, 0.977293405672666], [0.0006919416298017738, 0.999997068595246, 0.9661487162444283, 1.0, 0.9774148283793965], [0.01646322508450075, 1.0, 0.9460168536931576, 0.9996649284766279, 1.0], [0.040734532357474484, 1.0, 0.9589622038261424, 1.0, 0.9319811685996949], [0.033354028128991825, 0.8742779486673493, 0.9999138885071819, 0.9996208622540672, 0.9999870362113997], [0.07937026169120825, 1.0, 1.0, 1.0, 1.0], [0.09864790209138952, 1.0, 1.0, 1.0, 1.0], [0.09491867429967776, 1.0, 0.9999835536462899, 0.9993768251090656, 1.0], [0.14471707689095153, 0.9986001588853235, 0.9965008635260901, 0.9967906423027528, 0.9996658390744839], [0.13527614964892434, 0.9998901724363457, 0.9985125409220978, 0.999906294525447, 0.9991325370642096], [0.11731772478226862, 0.9998901724363457, 0.9985413237293395, 0.9999996182860472, 0.9991325370642096], [0.1173555072950066, 1.0, 1.0, 1.0, 1.0], [0.021991090343068787, 1.0, 0.9999703689265028, 0.9993768251090656, 1.0], [0.004808841391125529, 1.0, 0.9999703689265028, 0.9993768251090656, 1.0], [0.06721980868930594, 0.9931312501999332, 0.9919954760654932, 0.9890224254529405, 0.9927556353586636], [0.04347719390991567, 1.0, 1.0, 0.9999983911879221, 0.9997568438766206], [0.04691575800915371, 1.0, 0.9993059519299775, 0.9999779709881131, 0.9997568438766206], [0.19986380349172078, 0.9993882860943887, 0.9997922698185101, 0.9599258219700222, 0.9997077465369902], [0.17756719804024593, 1.0, 0.9999718679177617, 0.9903084930349196, 0.9997418892012315], [3.1432960891666873e-09, 0.994014846552324, 0.892119441486926, 0.9997956511842441, 0.8297382922214316], [4.070654010808299e-12, 0.9873953980622177, 0.9299321247385584, 0.9803443564550365, 0.9343499606278074], [0.09797023273711487, 0.9880537572016527, 0.9850034129331902, 0.9869929228805808, 0.9896304343070094], [0.1047646849969549, 0.9887342273259533, 0.9999961173153088, 0.9908537497233733, 0.9988548248962028], [0.1121588740493329, 0.9890799745753239, 0.9999828149680053, 0.998862265838279, 0.9899432220644508], [0.0834708564423916, 0.9977596636662502, 0.9702224083080887, 0.9914175045965696, 0.9911828484355124], [0.08586073044204034, 0.9994721250366726, 0.9999961173153088, 0.9859011567536236, 0.9823859185955649], [0.11868227206092068, 0.9947697936238695, 0.982796944174807, 0.9887927632972202, 0.9988991450703024], [0.07646985926820185, 0.9714941760661479, 0.999996683677882, 0.9857359978688011, 0.9901812828975307], [0.05667684167140963, 0.9881260140907061, 0.9973792008045704, 0.9916709473139278, 0.9899540186636961], [0.12542982794248375, 0.9949470474387019, 0.9962038664354812, 0.9683218812341724, 0.9990801302024085], [0.14772223735037507, 0.9895569612597466, 0.9971210562537414, 0.9679129387198298, 0.9894855927493683], [0.054842227396818904, 0.9887342273259533, 0.9522625563308694, 0.9908537497233733, 0.9984392942147012], [0.1611276596763395, 0.9597400343525007, 0.9966937637920068, 0.9943774313071295, 0.9827811177003366], [0.16955569256956307, 0.9609591278612922, 0.9966937637920068, 0.9847770694810206, 0.9992489333258691], [2.8613116693060846e-05, 0.9087878048219393, 0.9768588174116547, 0.9911004185256648, 0.9089788965720074], [0.011752197948353471, 0.9076485740452997, 0.9768588174116547, 0.9971485498728612, 0.9262148066899069], [0.001515922471993364, 0.9536379297336499, 0.9993018004640717, 0.986180779172323, 0.957504661904694], [0.03073759441705043, 0.9671862098393146, 0.9931357686918394, 0.9852171427499524, 0.9362957882739947], [0.018278976973374716, 0.9577151910737919, 0.9757334462861379, 0.9911004185256648, 0.9059935852858856], [0.07187462899341263, 0.9647115507884254, 0.9936495848287502, 0.9673862616786044, 0.9063326396825537], [0.008399490686935213, 0.8892084017933051, 1.0, 0.9269216096805634, 0.9827839980246752], [0.0011823821874870633, 0.8890826693813466, 1.0, 0.9270176836015741, 0.9820968704059422], [0.022340934691409964, 0.9122708875415987, 0.9959084457978729, 0.9265061931070137, 0.9941706864674621], [0.06676626841667734, 0.9078899128480473, 0.9999875437047444, 0.9287931997817535, 0.9881996173166105], [0.036769474319877926, 0.9529407863195909, 0.9993275583666726, 0.9735871587835127, 0.9941706864674621], [0.04508478153461093, 0.9384391518116182, 0.999996683677882, 0.9830248417834653, 0.9901812828975307], [0.02577548544764713, 0.9124212449124962, 0.9936749864861273, 0.9885340171490927, 0.9941706864674621], [0.014635026043854193, 0.9849658566356824, 0.9988005347839319, 0.929381229913278, 0.959138489185902], [0.04760858095390319, 0.9873174622111092, 0.9907654993994082, 0.9121295142661294, 0.9888260090079225], [0.20249110836029727, 0.9852097905911544, 0.9993901272158107, 0.9109364861529506, 0.9812483061488413], [0.18109843167131978, 0.9945115742664731, 0.9990806981729946, 0.9136753114365848, 0.9887437591249241], [0.1407663628116554, 0.9536379297336499, 0.9608580172243529, 0.98526975667242, 0.8711650801885429], [0.09548676413572577, 0.9928392999311644, 0.9886217745607939, 0.9959047854828031, 0.9962752003349404], [0.11746160008508252, 0.9938202461415602, 0.998241265571654, 0.971603842089304, 0.9847251102165803], [0.12165456716808382, 0.9915513745889302, 0.9839340894431733, 0.971603842089304, 0.9999912740285714], [0.06141129467625006, 0.9867862784324877, 0.9997194467095754, 0.9877689661230196, 0.9893013489843859], [0.0, 0.991738439690117, 0.9941679084842641, 0.9962740085918808, 0.9929185677659038], [0.0245370380359681, 0.9913796050331377, 0.9939327396656947, 0.9902164917181074, 0.9929185677659038], [0.011521867023194299, 0.9913796050331377, 0.9940993113508066, 0.9902164917181074, 0.9929185677659038], [0.13975603782049234, 0.9934054585190376, 0.9577467036928123, 0.9911775164267493, 0.9999218791793771], [0.15898454224653305, 0.9995237126123789, 0.9854988203610805, 0.9845405953952763, 1.0], [0.18821296936991802, 0.9998182566318159, 0.9791147537248416, 0.9982605486344868, 0.9999919189659731], [0.21771350120793342, 0.9954151424312339, 0.9987293363984344, 0.9866638957650424, 0.9745199713544207], [0.22262502457780198, 0.9929259640870391, 0.9987293363984344, 0.9866638957650424, 0.9745199713544207], [0.20109765608831454, 0.9954151424312339, 0.9987293363984344, 0.9865840100968603, 0.9742074130739672], [0.24123905029262466, 0.916336056625586, 0.9906813659787393, 0.9912908911945697, 1.0], [0.17783185632796134, 0.9281979293372343, 0.999994255411458, 0.9964030665166118, 1.0], [0.1003507338513441, 0.9844847314144813, 0.9999959477392483, 0.9809609021125643, 0.9999022660472209], [0.09927991986270757, 0.9851226464901495, 0.9999999984701523, 0.9833541446531288, 0.9993091527906917], [0.11032587409009009, 0.995874177904305, 0.9908456398469287, 0.9725283882246285, 0.9955200240360487], [0.06943609997829231, 0.9941887576863299, 0.9975039007861216, 0.9854887746046069, 0.9875265203408947], [0.07572405979363281, 0.9955976509495409, 0.9994494383382616, 0.9605561659844682, 0.9881117498313389], [0.07975706015105688, 0.967354818234209, 0.9855787385022184, 0.9882109924270738, 0.9953500591926686], [0.06483315395433145, 0.9630374625702026, 0.9866104971322277, 0.9974776189595697, 0.9904506903283968], [0.13066981259317567, 0.9688872867569553, 0.9968550791924177, 0.9999112592037603, 0.9631151305672504], [0.13858667466939278, 0.9850473867013996, 0.9827207659086848, 0.9983271591714671, 0.9979720899351604], [0.17898621917684165, 0.991084406567357, 0.9994318127597066, 0.9752628028877675, 0.987700534713281], [0.1668001911544862, 0.9929830627922921, 1.0, 0.9771260213040855, 1.0], [0.15808704383421646, 0.9968958327286324, 0.9999996935252362, 0.9833222724911641, 0.9935179817411787], [0.15301170558999405, 0.9680629255257265, 0.9997813372557818, 0.9851790876878519, 0.9986005057818286], [0.14746652163776586, 0.9550221025856429, 0.9594064655930908, 0.9996865081686915, 0.9997316320673186], [0.18864775422550745, 0.9409875439429061, 0.9974850786555687, 0.9999112592037603, 0.9696197261857079], [0.09255219499658823, 0.9881698216294375, 0.9144313439898177, 0.9682955424347172, 0.9987456763260331], [4.942621561598165e-14, 0.9739084134598885, 0.999002048701159, 0.9966385617890111, 0.9537045486267987], [0.009359095144664237, 0.986931792893926, 0.9887806069195447, 0.9783748338099432, 0.9893599163128672], [0.014687745749567604, 0.9679795479734986, 0.985065250500565, 0.9816080561454971, 0.987416382263068], [0.024195147097958274, 0.9856133237105695, 0.9975642104519041, 0.9690314915000151, 0.9999924226033513], [0.022030498408053142, 0.9932000887133088, 0.9999999990564892, 0.9833423816340439, 0.9992664791064514], [0.03345906472348235, 0.9993521936161461, 0.9996411530338237, 0.9809500710851438, 1.0], [0.04053089826104184, 0.9861960799996629, 1.0, 0.9813057186303618, 0.9994082085944593], [0.04713386668854458, 0.9910624644837631, 0.9994373345563785, 0.9757254889228693, 0.9901681909134488], [0.030785824648097135, 0.9768197834520638, 0.9994040055932607, 0.9833541446531288, 0.9884984474826631], [0.016516851662738863, 0.9981507305318231, 0.9998161704069619, 0.9548682553291309, 0.9995127849442716], [0.006294864371254927, 0.9981707397220609, 0.9887806069195447, 0.9999250567245637, 0.9895026760216856], [0.003506095227996109, 0.9458908641409488, 1.0, 0.9829518691910027, 0.9991627686368239], [0.12532545331423858, 0.9419948590947708, 0.9974805586037707, 0.9165615258073984, 0.9999857410564308], [0.08829526950412012, 0.9089505089933434, 0.9974805586037707, 0.9165615258073984, 0.9988447008698284], [0.001356077233023112, 0.973050218171874, 0.9027645185958647, 0.9966385617890111, 0.9841465764815132], [0.08112532613857765, 0.985273219707165, 0.9977096757848818, 0.9882513939966134, 0.9880104949053984], [0.11858294958429311, 1.0, 0.9954560060675439, 1.0, 0.999895185730414], [0.1345131656883418, 0.985274103544486, 0.9977202771732168, 0.9881714014730909, 0.9986185100611716], [0.05926005923235525, 1.0, 0.9800818519902771, 0.999996090281845, 1.0], [0.06818397465470741, 0.9999989625492078, 0.9974756796267635, 0.9992950726193228, 0.9997916614284222], [2.1291020162184093e-17, 0.9999662001001909, 0.9974756796267635, 0.9992957913180663, 0.9997945872888957], [0.00902702123592751, 0.9999664078663772, 0.9974756796267635, 0.9992642444268627, 0.9998618813529707], [0.02966232099012156, 0.9999583890579833, 0.9974756796267635, 0.9999982012216441, 0.9998661562855761], [0.23126172439425868, 1.0, 0.9783185281900207, 0.9998571631430031, 1.0], [0.2088036550494453, 0.960314533592773, 0.9758789784984672, 0.9877172063096803, 0.9999958066722294], [0.20558183252530826, 0.9605195761898785, 0.947968394457348, 0.9879217803716667, 0.9999735165698188], [0.1677723403869187, 0.9999001873500456, 0.9948794230425843, 0.9999684004122523, 0.9999999493519162], [0.15357367389014076, 0.9993855797584245, 0.975004006185917, 0.9999721428038089, 1.0], [0.18568423627546599, 0.9999978871178495, 0.9711439777546195, 0.9999779409596533, 0.9999991465341501], [0.18965018253376328, 0.9999987948319131, 0.9711439777546195, 0.9999779409596533, 1.0], [0.15023140981649086, 0.9605377388097873, 0.9817279437048076, 0.9865210011086812, 0.9969940311297635]], "centroid": [0.09683036424038649, 0.9846300627841068, 0.9856394263848324, 0.9835786778970002, 0.988251425240757]}, "2-1": {"solutions": [[0.8073353474437259, 1.0, 0.967121036685666, 0.9448853971239551, 0.9998017341757323], [0.7870754499596849, 0.999803010620038, 0.99997491129639, 0.9998425402106855, 1.0], [0.7824597625901222, 0.9999990882139344, 0.9999806063540057, 0.9997906296712622, 0.9999999999996214], [0.7666697453832816, 0.9998846885383934, 0.9991431096097239, 0.9979062901505201, 0.9995187916601582], [0.7577472666401255, 1.0, 0.9999609290759264, 0.9994059161055479, 1.0], [0.771926366921502, 0.9999799721541134, 0.9996286415397047, 0.9516548893766221, 0.9993875439346934], [0.7774244351120277, 0.9997855216950402, 1.0, 0.9648977859958212, 1.0], [0.7003326125972069, 1.0, 0.99943023876847, 0.9916484285127682, 1.0], [0.687309155992988, 1.0, 0.9999940235767146, 0.9933742950221833, 1.0], [0.6819813745648363, 1.0, 0.9999341809082369, 0.9896045644719778, 0.999643523492575], [0.6752939777153243, 1.0, 0.9999341809082369, 0.9916394808833839, 0.9999773119991706], [0.6706942738969704, 1.0, 0.9999341809082369, 0.9904863571965286, 0.9907151073785512], [0.716387735841886, 1.0, 0.9998954016096694, 0.9955327569089386, 1.0], [0.719216798878085, 0.9999925586788618, 0.9947017768388198, 0.99827041485587, 0.9993875439346934], [0.726936370961233, 0.9999998966133561, 0.9998365088011484, 0.9994025074756867, 1.0], [0.7375728591605643, 1.0, 1.0, 0.9907128961429743, 1.0], [0.7444079112087459, 1.0, 0.9999427297024936, 0.9994059161055479, 1.0], [0.7359277320510771, 0.9999673374419845, 0.9995747845027233, 0.9881447686006043, 0.9993760806934996], [0.7236165946017117, 0.9995813270769507, 0.9935702011530221, 0.9560986025446292, 0.9981126375525123], [0.6970976929691334, 0.9987239768207504, 0.9982547601341778, 0.9995926228616822, 0.9984157772764545], [0.7752866713558753, 0.9977563413941594, 0.9943748033580968, 0.9944972212837041, 0.999974644360801], [0.7937581872664891, 0.9997722144886886, 0.9935757453853696, 0.9933563003280467, 0.9908582563542565], [0.7986591455949931, 0.9997647295618075, 0.9942295536240215, 0.9998447566069281, 0.9641164953258732], [0.8135324877017764, 0.9995267346601376, 0.9935702011530221, 0.9497126619984193, 0.9998449798695298], [0.836816994201522, 0.9997349410446285, 0.9974621752501022, 0.9560046220495622, 0.9999763151444796], [0.8266703975696253, 0.9665187562187602, 0.9987046781697057, 0.9884151551951521, 0.9993195033279525], [0.7856828345985662, 0.9763535625036344, 0.9942613135961608, 0.995140447537452, 0.9351282710290306], [0.682431378977779, 0.9988529882853806, 0.995840180961266, 0.9040600978220618, 0.8829177085531366], [0.9574506423575644, 1.0, 1.0, 0.945706042270259, 1.0], [1.0, 1.0, 1.0, 0.9934528962257916, 1.0], [0.978107751464677, 1.0, 1.0, 0.9934097851492668, 1.0], [0.986512658896157, 0.9999766834289493, 0.9981128300015257, 0.9931007625632792, 0.9995398784375482], [0.9656208644792348, 1.0, 0.9995290691712281, 0.9905376211074293, 1.0], [0.962213049025494, 1.0, 0.9898590183363787, 0.9940129006077887, 0.9995256185028322], [0.9418891124528705, 1.0, 0.9999736972742893, 0.9942514478820075, 1.0], [0.9357261656926735, 1.0, 0.999240035979944, 0.992649463842828, 0.9991818536797439], [0.919930275029945, 1.0, 1.0, 0.993624765077988, 0.9996230339770361], [0.9265437288094844, 0.9999940718854309, 0.999718126603067, 0.9979062901505201, 0.9997473240752681], [0.9094843378623937, 1.0, 0.999778147762829, 0.9855919600701207, 0.9838616283334057], [0.9029736791498171, 1.0, 1.0, 0.9922191911962507, 1.0], [0.878104079829776, 0.999716638885556, 0.999835056374553, 0.9606760645617763, 0.9939814183838421], [0.899091300816321, 1.0, 0.997262134235185, 0.9638571443488068, 1.0], [0.851340733288885, 0.9999936812707225, 0.9999454413890486, 0.9609523344423666, 0.9999873008997026], [0.8655107632525488, 1.0, 0.9997081822480751, 0.9985119370847243, 0.973605267737384], [0.8578066605939327, 0.9899577510739567, 0.9994904837544855, 0.9930059088473375, 0.9992330786412437], [0.8622782495545267, 0.9996069521151293, 0.9994904837544855, 0.9930059088473375, 0.9998358144951478], [0.885457471328112, 0.977910558208628, 0.990775565322962, 0.9995482288645632, 0.9995655015447844], [0.8183616984072664, 0.9999855688776028, 0.9998510694848913, 0.9996598977378149, 0.9999993960953145], [0.8226795838225787, 0.9854288763469847, 0.9996590426648762, 0.9999019503119502, 1.0], [0.8346472290201279, 1.0, 0.9998240195373231, 0.9995531313495659, 1.0], [0.8280159779246822, 1.0, 1.0, 0.9818060542779068, 1.0], [0.8425218995799347, 1.0, 0.9670940089033215, 0.998393273549213, 1.0], [0.9013444963599584, 0.9980237825872066, 0.9974644338666027, 0.9881389566819538, 0.9978202964501355], [0.9109717963645148, 0.9975780991801375, 0.9937413600897592, 0.9925501963767565, 0.9966083023960431], [0.8622375289186922, 0.9758551680575756, 0.9923078923183486, 0.9904301980312297, 0.9999795007461626], [0.8514939112587583, 0.9975169041222036, 0.9973440839575166, 0.9938667249296894, 0.9982351010687982], [0.8782038169786598, 0.9937351065864177, 0.9999529713781933, 0.9964480244635581, 0.9814544772407977], [0.924508799100142, 0.9992094646758481, 0.9996343302968667, 0.992680287800137, 0.9521609459131783], [0.9963261598454735, 0.9900371230576519, 0.9942613135961608, 0.9974181846161169, 0.9478454835071772], [0.9326323705391858, 0.99993678708092, 0.9995885726228219, 0.9906053762085474, 0.9999589878566578], [0.9521119845933219, 0.9994692822232362, 0.9997101636508113, 0.9984141623533906, 0.9844214095048397], [0.9525923926637283, 0.9994692822232362, 0.9997044443307581, 0.9984141623533906, 0.9846643276057124], [0.9663063135922068, 0.9977563413941594, 0.9996079929170719, 0.9944876539067868, 0.999974644360801], [0.9737261714542905, 0.9999270173966697, 0.9995885726228219, 0.9906077497486901, 0.9995300742620953], [0.9859402190038433, 0.9994904605569882, 0.9991343613925355, 0.9968565461539365, 0.9997718297910374], [0.8499156636998172, 0.9997383686316352, 0.9390117112171403, 0.9969495143111141, 0.9999917006853822], [0.8292500660996865, 0.9997781127856952, 0.9990718841615313, 0.9862855484816918, 0.9835112409264282], [0.8532778920101963, 0.993063724648542, 0.9990718841615313, 0.9897244228843627, 0.9835112409264282], [0.8229425243279648, 0.9999999994990373, 1.0, 0.9842786439838196, 0.9998650495422639], [0.8764795040177213, 1.0, 0.9711157286253305, 0.9907390845910896, 1.0], [0.861086571087481, 1.0, 0.9813589635249856, 0.9907390845910896, 0.9998957538980792], [0.8416196877632256, 0.9975363736687445, 1.0, 0.9347475080060795, 0.9974158580600494], [0.8935871941446063, 1.0, 0.999994828964247, 0.9686172075613292, 0.9868775791282336], [0.8709376333932193, 0.999837164291482, 0.9988905366702046, 0.9523885581937461, 0.991792351277487], [0.9038043758429496, 0.9999388320466343, 1.0, 0.9880432730395995, 0.9939472377707528], [0.91100129912036, 0.9975363736687445, 0.999998598259261, 0.9802040526255678, 0.9975285066285708], [0.8987343805989664, 0.9999391312276826, 1.0, 0.9981003411222245, 0.9997052130344409], [0.9244117901933461, 0.9999391312276826, 1.0, 0.9981003411222245, 0.9998293899673945], [0.7695118289734303, 0.9999094544298743, 0.9990718841615313, 0.9861249012325273, 0.9840456961897213], [0.7858173400235287, 0.9999321907302996, 0.9964702346582258, 0.9951393136391692, 0.9997457981694224], [0.7965185566628539, 1.0, 1.0, 0.9640151578444511, 0.9972866583783099], [0.7999018316923795, 1.0, 0.999994828964247, 0.969391019767819, 0.9872060212406241], [0.8056362726148121, 1.0, 1.0, 0.9847461914856463, 0.9862735718730593], [0.7833302900125112, 0.9999035854912549, 0.9998173057016024, 0.9950967713953822, 0.9553395180454419], [0.74860048545259, 0.9999776886240767, 0.9999997701684779, 0.9886027888015751, 0.9997073506167417], [0.7357034991076156, 0.9999511797345664, 0.996588948604684, 0.9933975323926522, 0.999745108380943], [0.7600855809918062, 0.9931333012996225, 0.9964095374382875, 0.9950088949499657, 0.9998057974491004], [0.7397564490221938, 0.9999215904360454, 0.969761946916968, 0.9979643016169542, 0.9946636225781877], [1.0, 1.0, 1.0, 0.9883064467526624, 0.9993769954178999], [0.9929982909009201, 0.9999989571819068, 1.0, 0.9983604505093664, 0.9997052130344409], [0.978953867569179, 0.9936432667513763, 0.9665888765211413, 0.9897197754918453, 0.9794940964613593], [0.9865785421861459, 1.0, 0.971264054540488, 0.9803808125514434, 0.9616240670198142], [0.9907116224182329, 0.9905190389491583, 0.9953427711906518, 0.9592122617900732, 0.9822176475618187], [0.9704338557811114, 0.991308254623956, 0.9989537932631077, 0.990332098341606, 0.9999912510593406], [0.9607966498559402, 0.9980707191749199, 0.9998329599454511, 0.9972853701481476, 0.9931913481916709], [0.9335325533554177, 1.0, 0.9999975722680898, 0.9832737695809096, 0.9970373814290712], [0.9414549584094625, 0.999871751155817, 0.9994005604963012, 0.9810039345251483, 0.99999428562762], [0.9478581447398076, 1.0, 1.0, 0.9826077802250575, 1.0], [0.9493532718673651, 1.0, 1.0, 0.9833815924288378, 0.9998991939238103], [0.9565144431989285, 0.9982603723280217, 0.998929379633756, 0.9586186401956149, 0.9999912510593406], [0.940361816777469, 1.0, 0.9999943126035269, 0.9590285774680322, 0.9999999622976197], [0.8545779620691275, 0.9979037802955705, 0.9960490161620853, 0.985539578917608, 0.9930376007863395], [0.8459053315177504, 0.9979037802955705, 0.9956086976405563, 0.985539578917608, 0.9930376007863395], [0.8339207834910118, 0.9979109763806576, 0.995606451645999, 0.9882729793270162, 0.9934508314634516], [0.8816294651075302, 0.9497856754027018, 0.9956086976405563, 0.9855418676815186, 0.9930376007863395], [0.7787202889825198, 0.9390801819822491, 0.9605155308702898, 0.9963672938145319, 0.9942435906825753], [0.8018555688937704, 0.9804114890177539, 0.9894381041912951, 0.9967512747834549, 0.9997114286598825], [0.8172557430142791, 0.9539948483236937, 0.9985353904798608, 0.981202312322895, 0.999391825083185], [0.79213178030604, 0.9761118865329976, 0.9573885081927294, 0.9661696726929484, 0.9999495894161539], [0.8264480794175498, 0.939078575230878, 0.9572612446609086, 0.979060812768605, 0.9772127545318856], [0.8669758464717844, 0.9688494906123983, 0.9602080812813004, 0.9066995814075807, 1.0], [0.9988491752195924, 0.999928603467439, 0.9953382835384815, 0.9968416804193807, 0.9997534162773668], [0.9528462027349581, 0.9836113109058834, 0.9967305669620228, 0.9508547492106516, 0.9999738363273677], [0.985350428430775, 0.999928603467439, 0.9980832900850487, 0.9481915387174855, 0.999990021981871], [0.9391208667124267, 0.9909256648786139, 0.9469045598526593, 0.9625181991876948, 0.9952659640759092], [0.898563274973923, 0.9908255546721322, 0.9323879604350314, 0.9764897694326158, 1.0], [0.9105107506064178, 0.9999794893410597, 0.9446081431185208, 0.9573039293373028, 0.9873501476218896], [0.8906007709653891, 0.99886385387438, 0.956637790735752, 0.9887123516567544, 0.9770201181858311], [0.9187692250407284, 0.9942932417420968, 0.9905490823260865, 0.9954678429050848, 0.9895553923224525], [0.9700302791108668, 0.9935222477858152, 0.9480144681920292, 0.9969896709060538, 0.9692068626396629], [0.861680792456564, 0.9949744821978348, 0.9942501412628474, 0.9965929539892873, 0.9946886642700535], [0.873582185962178, 0.9879018047879831, 0.9999962950892227, 0.9975670224601411, 0.9914369962985862], [0.880753886506594, 0.9956926696003263, 0.9998393826330836, 0.999626606748985, 0.9913172908372225], [0.8472516176431801, 0.9953808468254173, 0.997157466142507, 0.9999937823319615, 0.9674070092337613], [0.8546345294556268, 0.9937243427946889, 0.9945411638322768, 0.979746515064144, 0.9670434371740959], [0.8113054218798641, 0.9856499422598789, 0.9999962950892227, 0.9975670224601411, 0.9949337330358787], [0.8009780383090577, 0.9906524797124416, 0.9996069298646766, 0.9976809145893256, 0.9934603167055067], [0.8277655154444093, 0.9949332002746113, 0.9923270866541195, 0.9999996583466432, 0.9957863206849189], [0.8313402851608523, 0.9904632947503097, 0.994615267764709, 0.998494880653414, 0.9937205017314977], [0.8372306091924935, 0.995399120553229, 0.9954583522346745, 0.9964811510145366, 0.9894763508348294], [0.8196961311516885, 0.9979834087144724, 0.9995657783717016, 0.9999974405952405, 0.9596503133306932], [0.8976584403096275, 0.9927509322488575, 0.9929775886194597, 0.9994954823101633, 0.9322199376308565], [0.900079078853619, 0.9972145107560336, 1.0, 0.9999876638854855, 0.9597316256809024], [0.9383988779312863, 0.9908689532331043, 0.9907736925371435, 0.9939729093448342, 0.9353831709656668], [0.9050008324853492, 0.9747124444209782, 0.9985265181957517, 0.979847463919457, 0.9991587579262662], [0.9131216363157353, 0.956021649501784, 0.9977363555346707, 0.9994688601666315, 0.9998136444348765], [0.9213998522886625, 0.991336139421416, 0.9999987471732298, 0.9999998506206917, 0.9916939932026988], [0.9297673834925644, 0.9963526176365001, 1.0, 0.9940055235955485, 0.9682508522521183], [0.9999221557621882, 0.984007705557456, 0.9938423779581331, 0.9857639752093857, 0.998625406475208], [0.9912639066671702, 0.9898416908425285, 0.9926311733574447, 0.9832380690866971, 0.992976498668359], [0.9790940517100702, 0.9884427915923533, 0.9995545240685072, 0.9915043875578459, 0.9929832188420732], [0.9858808399806825, 0.9896472189461971, 0.9926368708365153, 0.9999554394834383, 0.9929597361921022], [0.9688824656269767, 0.987811313834424, 0.999770292117473, 0.9914168124093715, 0.9756488542426834], [0.9482462348367716, 0.987811313834424, 0.9998393826330836, 0.99935153622404, 0.9913172908372225], [0.9592945187870228, 0.9903379589276811, 0.9999947336271281, 0.991322366726304, 0.9989444943066272], [0.9960506633520096, 0.9996224602515428, 0.994247645413871, 0.9999850007155304, 0.9419457546996871], [0.9475274124197474, 0.9905278304444365, 0.9999302743406043, 0.9239280679138356, 0.9711325139710228], [0.8673758051430633, 0.9943622733876384, 0.9934438016036321, 0.9855850579082197, 0.9907462105137022], [0.8622711225818656, 0.9943622733876384, 0.9934438016036321, 0.9855850579082197, 0.9907462105137022], [0.875449860540251, 0.9971294857322038, 0.9961578091575785, 0.994777206422751, 0.9888786923366673], [0.8867015090409722, 0.9971294857322038, 0.9966984790718088, 0.994777206422751, 0.9879905089508111], [0.8891217815426601, 0.9971294857322038, 0.9936960508106947, 0.994777206422751, 0.9879905089508111], [0.8995023800448347, 0.9947689388258286, 0.9955388150103581, 0.9914143643552644, 0.9842244670897211], [0.8341166129545508, 0.9956752170044748, 0.9967670001217699, 0.9958146502202424, 0.995761888515532], [0.8470219984023497, 0.9966398478965097, 0.9917480100853976, 0.9876821679133532, 0.9932898580254526], [0.8056796077033743, 0.9996359413762472, 0.9834414539585338, 0.9916293133561104, 0.9886514815707992], [0.7783630133555222, 0.9987687610996867, 0.9896034309129769, 0.940362525660132, 0.9860645882293892], [0.7878589856874281, 0.9878414685585324, 0.990021792395321, 0.941938806894869, 0.9869551771900387], [0.7960604162045799, 0.9989615233902814, 0.986776803884308, 0.9162384405854778, 0.9993600569925822], [0.8394834511977656, 0.9735739172968236, 0.9864918332964943, 0.940362525660132, 0.9859863462378108], [0.9953148585644902, 0.9976085711789192, 0.9925157735856777, 0.9792844665227742, 0.9887274974910494], [0.9564924545806857, 0.9760905840239837, 0.9730714131570785, 0.9992543007389392, 0.9994876102723341], [0.960287252136022, 0.9760905840239837, 0.9730714131570785, 0.9992543007389392, 0.9994876102723341], [0.9300163142319826, 0.99615408509683, 0.9995551083698802, 0.9986091810318505, 0.9861105481094817], [0.9206447466307972, 0.9987629231080787, 0.9953137999831806, 0.9914595876797663, 0.9584162039804903], [0.9720419314003821, 0.994683674027441, 0.9113959761854914, 0.9847950859545908, 0.9894674476019427], [0.9186315594993257, 0.9943622733876384, 0.9088255923941677, 0.9855496208327572, 0.9907462105137022], [0.9892616344780805, 0.9974418476965832, 0.9951396064221588, 0.9132204345707077, 0.9841584639168934], [0.8856858243227616, 0.9724835689534634, 0.9770815046422409, 0.9982000838415097, 0.9791619666160173], [0.8933489916217764, 0.9606701089227726, 0.9932467246665245, 0.9997651975938492, 1.0], [0.8771893612492061, 0.9749823638424896, 0.9999870231514771, 0.9999839080207994, 0.9999994231556983], [0.8607223030545772, 0.9907413007144873, 1.0, 0.9999999655558653, 0.9999921192099852], [0.8493110469440175, 0.9749823638424896, 0.9999999743429522, 0.9999839080207994, 1.0], [0.842377115858242, 0.9829967303773336, 0.9999887911811434, 0.9998638120221038, 0.9990061943445689], [0.8349270911534671, 0.9984828161362305, 0.9989433800124558, 0.9998637068567864, 1.0], [0.8263144756704215, 0.9984828161362305, 0.9990081290506931, 0.9998637068567864, 1.0], [0.904060450381944, 0.9894187798424753, 0.9996941817816987, 0.9998469984962605, 0.9959422346340552], [0.8987508227718202, 0.9840788070663998, 0.9998409846640725, 1.0, 1.0], [0.9169972213434774, 0.994214918449432, 0.9996901061851177, 0.9975228708320742, 0.9999998717359126], [0.9237631088591483, 0.9961442551441612, 0.9998904077549882, 1.0, 0.9999997839639635], [0.7378208733391324, 0.9983159291996122, 0.9989884415391, 0.9997844752986462, 1.0], [0.7300991107145756, 0.9826415629679045, 0.999436530645019, 0.9988205999945193, 0.9989570680928695], [0.7500166979535772, 0.9870678087365413, 0.9996807079608216, 0.9956819302647021, 0.9999750115372615], [0.7536746485772681, 0.9730570547235925, 0.998948748076758, 0.9962204226556775, 1.0], [0.7622262092616662, 0.9729742517082494, 0.9999155815082362, 0.9998874877234606, 0.9824028259293811], [0.7683481931358478, 0.9974429523452847, 0.9998484775737697, 0.9999997530643047, 0.9581856251795839], [0.7895193223533867, 0.9752782613773352, 0.9992516138865524, 0.9999999995216319, 0.9999922026945975], [0.7969041037129547, 0.9888878278143896, 0.9999502791999965, 0.9994193534106037, 0.9974960409955321], [0.8038475164954361, 0.9990601563937059, 0.9999546116926046, 0.9998353295826763, 0.9999976588629785], [0.8135904130273368, 0.981784261256713, 0.9971849349011059, 0.9999487916305881, 0.9941726803139014], [0.7816098939529724, 0.9941289213220147, 0.9855837006445911, 1.0, 1.0], [0.7764642802095415, 0.9921912312165829, 0.991979064088822, 0.99882806813328, 0.9997740643775955], [0.8101743488632892, 0.9722923204819786, 0.9597417566042644, 0.9998479380621194, 0.978022241290303], [0.8206457810447181, 0.9921912312165829, 0.9464131066226131, 0.9999810502223635, 0.9997740643775955], [0.7761324870220145, 0.991141395685046, 0.9694070502834199, 0.9197071440428526, 0.9999717124041072], [1.0, 0.9911130641335013, 0.9994219794380632, 0.9999989015485898, 0.9999909280006257], [0.9923523651379615, 0.989637002385743, 0.9999216125787912, 0.9974349805718955, 0.9999743724760134], [0.9861151396198187, 0.9725113525942691, 0.9949862026818402, 1.0, 1.0], [0.9790088715826104, 0.9722782536160494, 0.9839434484395234, 0.9987430810544149, 0.9999716744421505], [0.9732967849690808, 0.9725172575122707, 0.9986597907320206, 1.0, 0.987378623519017], [0.9680583248512084, 0.987885462207414, 0.9840278271587338, 0.9780667239711849, 0.999981209709193], [0.9543681913832613, 0.9833334572561357, 0.9999826565184041, 1.0, 1.0], [0.9475415750166318, 0.9661084545277584, 0.997168762107418, 0.9996232943883605, 0.9999985557233546], [0.9383899519982867, 0.9415008528704794, 0.9999178467592044, 0.9999984891830157, 0.9996589350221665], [0.9432581951557034, 0.9429538841885386, 0.9988943438626394, 0.9863606404287305, 0.9992529425140276], [0.8682090329002948, 0.9967198279115783, 0.9931669493827776, 0.9934812722186456, 0.9915705881166434], [0.8569033732174107, 0.9959687808353278, 0.9865936305525413, 0.9783161170909713, 0.9865975001990176], [0.8865042726854644, 0.9878357192605212, 0.9992016701609094, 0.9661296546650104, 0.9837880210793476], [0.8343613639048569, 0.9988589203078877, 0.9998238398457819, 0.9766026461794576, 0.9890711344625488], [0.9543634176196253, 0.9941578535786422, 0.9999892359759385, 0.995716082937236, 0.98335259453306], [0.9312930685030069, 0.979188593584145, 0.9991143209698065, 0.9843703854969631, 0.9731142559506175], [0.9199213911523119, 0.9863424111395599, 0.9999933351513938, 0.9847037571443715, 0.9970404581017168], [0.9102994732718479, 0.9869281917367074, 0.9852828488615374, 0.9901816234346026, 0.9958173567789856], [0.9008984049281661, 0.987121530645685, 0.9992873737540439, 0.9833834183213045, 0.998684313400363], [0.894994455851688, 0.987121530645685, 0.9599631884757378, 0.9833834183213045, 0.9347179626546063], [0.9907317500189698, 0.9840571249966781, 0.9907972111712288, 0.9915073310997299, 0.9991829262757744], [0.9857307221656689, 0.987121530645685, 0.9999951397301775, 0.9833834183213045, 0.9998717429341677], [0.9731398180578884, 0.9767006022657778, 0.9803445092154794, 0.9933918260810672, 0.9897071560291284], [0.9701780868760818, 0.9840571249966781, 0.9283430177773887, 0.9915073310997299, 0.9961584693685104], [0.8757104262442374, 1.0, 0.9933973317370367, 0.9840157510565194, 1.0], [0.8600957368711594, 0.9999760721477056, 0.9887286011593274, 0.9836904654577214, 1.0], [0.865922193754338, 0.9998718993003725, 0.9998940624004108, 0.9994087318336777, 0.9996699742976873], [0.8778563316575779, 1.0, 0.9713275366784944, 0.9994077901378354, 0.9928565467007456], [0.8956465816147399, 0.9999760721477056, 0.9999585119961617, 1.0, 1.0], [0.8896935256256869, 0.9994814496845159, 0.9999820184390645, 1.0, 1.0], [0.8172026805845067, 1.0, 1.0, 1.0, 1.0], [0.8252188504009668, 1.0, 1.0, 1.0, 1.0], [0.8315861103393791, 0.9872085117040889, 0.99999952087768, 1.0, 1.0], [0.8451266532832791, 0.9996133958795229, 0.9995207089798405, 0.9999990744315554, 0.998936875553476], [0.8413702722394882, 0.9999982952673337, 0.9999999968783139, 1.0, 1.0], [0.8363017544967115, 1.0, 1.0, 1.0, 0.9997066688847811], [0.8520549475868774, 0.9999986228345857, 1.0, 0.9999998522699687, 1.0], [0.9036718324764326, 0.9721661332025237, 0.999952682204607, 0.9558794513727102, 0.9643096068660041], [1.0, 1.0, 1.0, 0.9999999937339411, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0], [0.9789543640879219, 0.9999905946229339, 1.0, 1.0, 1.0], [0.9854161438698232, 0.99981721229281, 0.9991971469858588, 0.9954894683987441, 0.9997382235120925], [0.9565311863669279, 1.0, 0.9999990566449773, 1.0, 0.9999761623375998], [0.9522866698787942, 1.0, 1.0, 0.9999316498133906, 1.0], [0.9659945931837207, 1.0, 0.9985699834042744, 1.0, 1.0], [0.9700505846501164, 0.9999917122071209, 0.9999322958446709, 0.9999644396453429, 0.9999999468665405], [0.933752846391296, 1.0, 1.0, 1.0, 1.0], [0.9434973688276154, 0.9999448385316886, 1.0, 0.9999866464239101, 0.9988758980572073], [0.9217534006283628, 1.0, 1.0, 0.9999315274268076, 0.9999536527079307], [0.9201528847344966, 0.9999669115418192, 1.0, 0.9999315274268076, 0.9999536527079307], [0.9073169132829643, 0.9996902900460934, 1.0, 0.9997053858480337, 0.9999942857917634], [0.9501215527979697, 1.0, 0.9820412915125606, 0.945259695869756, 1.0], [0.776085606119519, 0.9999997720776175, 0.999998679565015, 0.9999955166621879, 0.9999999899344441], [0.7844093527643703, 0.9999986350379816, 1.0, 1.0, 1.0], [0.7987635977523732, 1.0, 1.0, 1.0, 1.0], [0.7917004816373867, 1.0, 1.0, 1.0, 1.0], [0.8060331059201312, 1.0, 1.0, 1.0, 1.0], [0.8102299762406604, 1.0, 1.0, 1.0, 1.0], [0.7624075483926152, 0.9999999406931337, 0.9998912079663544, 1.0, 1.0], [0.7580014687516953, 0.9999987663477147, 0.9999607398584652, 1.0, 0.9996819302092477], [0.7499307710867531, 1.0, 1.0, 1.0, 1.0], [0.7429510350638713, 1.0, 0.9821502512612228, 0.9999989696285557, 0.9999995139453774], [0.7376542008954969, 1.0, 0.9796864782213206, 0.9999996642404613, 0.999987873183375], [0.7271313675521616, 1.0, 0.9999957923726349, 0.999999512371828, 0.9999923606746343], [0.7213477699599874, 1.0, 0.999999941426991, 1.0, 1.0], [0.7333852180330307, 1.0, 0.9999999998808738, 1.0, 1.0], [0.8695927137232151, 0.9929282346943681, 0.9929717126098073, 0.9881805020291984, 0.9929783972314571], [0.8864138779926365, 1.0, 0.9965968220632546, 0.9980807349419931, 0.9999572727705961], [0.8530667760100571, 1.0, 0.99222116458726, 0.9999999961468133, 0.9999747692480034], [0.8383150313087666, 0.9999239388067591, 0.9936130379388377, 0.9881805020291984, 0.9993607879790183], [0.8794299405568355, 1.0, 0.9663030121432495, 1.0, 0.999999999972436], [0.8613798129649257, 1.0, 0.9581447516707099, 0.9999996771240373, 0.999999997931608], [0.9995093995232547, 0.9999919918500707, 0.992788125881723, 0.9999999972214627, 0.9821887933478227], [0.9826621795039829, 0.9996850867857567, 0.9831363267089226, 0.9999745400653655, 0.9985915576821083], [0.9903092497103962, 1.0, 0.9685168670478637, 1.0, 1.0], [0.9665324465460865, 0.9993803963818806, 0.9544402014810707, 1.0, 0.9985215828253637], [0.9716949524446352, 0.9996886175025227, 0.9544402014810707, 1.0, 0.9985915576821083], [0.9203438678546467, 0.99999326013346, 0.9932229059665385, 0.9999991949071451, 0.9999999999869167], [0.926983709782121, 1.0, 0.9926032175898996, 0.9999991949071451, 0.9999999996293395], [0.9355198641104638, 0.9999999160493848, 0.9912527991780554, 1.0, 0.9995184992190327], [0.9093422494764093, 1.0, 0.9736274206495035, 0.9999991949071451, 0.9999999217270042], [0.9506977261901355, 0.9995996909682978, 0.9969100279591698, 0.9761467313707438, 0.9884651479934655], [0.7368717438348776, 0.9999999950330272, 0.99373750267738, 0.9999157149842108, 0.9999999982006167], [0.754238442748833, 1.0, 0.989394839249707, 1.0, 1.0], [0.755657043244176, 1.0, 0.9918911038983139, 1.0, 0.9918765580384086], [0.7783790050552766, 0.9999772742322658, 0.9984460099233227, 1.0, 1.0], [0.7936411379337197, 0.9901710166778686, 0.9946421412142373, 0.9822619517661823, 0.9999510140773723], [0.8183043612134107, 0.9991695165171409, 0.9977216424275488, 0.9999999999894366, 0.9999999931564143], [0.7716810530745647, 1.0, 0.9370682554386207, 1.0, 0.976148464512697], [0.8066987799798297, 1.0, 0.9494035977198176, 0.9500914300542397, 0.9649535579801674], [0.8671906099803818, 0.9999986715418914, 1.0, 0.9989110545321218, 1.0], [0.872181390459214, 0.9997706993171146, 0.9999811405241918, 0.9994630913897365, 0.9989015804097716], [0.8572977328198277, 1.0, 1.0, 1.0, 1.0], [0.8601088907244163, 1.0, 1.0, 1.0, 1.0], [0.8970035275080344, 0.989050999557301, 0.9905508367458735, 0.9868505110558744, 0.999473287601525], [0.8930415318511777, 0.9891371726201406, 0.9919954760654932, 0.988172277655998, 0.9929677388006061], [0.8860587284489834, 1.0, 0.9999999984188129, 1.0, 1.0], [0.8423850596467811, 0.9999986715418914, 1.0, 0.9989110545321218, 1.0], [0.8499921520445377, 1.0, 0.9998565333826771, 0.9945527859926668, 0.9993483667138189], [0.8288565953936988, 0.999999945016945, 0.999348543224608, 0.9999943474187549, 0.9999938304368167], [0.819655867906708, 0.9960422383588069, 0.9931894542551584, 0.9995613774902304, 0.9989650065719677], [0.9266736906268446, 1.0, 0.9995035055169831, 0.999998605679656, 0.9997902068703776], [0.9337149000391368, 1.0, 0.9999998477259336, 0.9999988388204519, 0.9999878443686181], [0.9053566083098039, 0.9997662080456376, 0.9919954760654932, 0.9991329253186263, 0.999921338325318], [0.9081391386513097, 0.9985109815330522, 0.9961394564182916, 0.9976189776406373, 0.9925377629803633], [0.91738360707055, 0.9998212768753879, 0.9941119589214528, 0.9999998764304978, 0.99933125463673], [0.9165022261914508, 0.9998313781099983, 0.9941119589214528, 0.9999998764304978, 0.9973022981700649], [0.9443917826263192, 0.9999592977787047, 0.9997834121883, 0.9599258219700222, 0.9997077465369902], [0.8067868034877939, 0.9568937754368843, 0.9898770689620684, 0.905030652478895, 0.9863569805693795], [1.0, 1.0, 1.0, 1.0, 0.9999999922625378], [1.0, 1.0, 1.0, 1.0, 1.0], [0.9913665459140142, 1.0, 0.9880960054425696, 1.0, 0.9994699788702964], [0.9803305065005395, 1.0, 0.9996903044060511, 0.9998261504733048, 0.9981956110531829], [0.9844109630610693, 1.0, 0.9999978738392373, 0.9952899640764202, 1.0], [0.9661219260047509, 1.0, 0.9995279639868123, 0.999998605679656, 0.9997902068703776], [0.952349915943294, 1.0, 0.9996169274724398, 0.9999998252942326, 0.9993021033574768], [0.8186406820141087, 0.9580329844392889, 0.8911944298721242, 0.9887656564211647, 0.9991172028511911], [0.8636778452282621, 0.9986657468513278, 0.999535966346209, 0.9888807785408021, 0.9949332644047442], [0.8521493743006804, 0.9858193697888213, 0.9737560880106638, 0.9848540639772689, 0.9891573993709563], [0.9179468194740431, 0.9950311066657782, 0.990780315466106, 0.9887832686325505, 0.9935235272619131], [0.9313849759116117, 0.9977313784683839, 0.9842876779601794, 0.984775724712093, 0.9954213953661035], [0.8376763962600893, 0.9507099626539457, 0.981391161223655, 0.988396897517834, 0.9935685168287259], [0.9048369803359296, 0.9990819603360187, 0.9999995163786942, 0.9986355338948145, 0.9370321957870285], [0.8820466747554399, 0.9989785526928806, 0.9999995824136448, 0.9989772888464794, 0.9370321957870285], [0.7095254711711875, 0.956980516253537, 1.0, 0.9278498868085248, 0.9993999884991472], [0.72306502979321, 0.9948011545644844, 0.9997312296693895, 0.9495267100473027, 0.9823818008139471], [0.8064008585718063, 0.9936402327530047, 0.9644621624167636, 0.9971141159569753, 0.9996039563719075], [0.8234882214312115, 0.9992834151518519, 0.9991677634416283, 0.9887832686325505, 0.9962250234696225], [0.8179315951757272, 0.9936402327530047, 0.996094108587956, 0.9971141159569753, 0.9889289722084041], [0.7647609199110383, 0.9934356807823816, 0.9986950276580415, 0.996755275487915, 0.9897786729753073], [0.776726028258348, 0.983205288683185, 0.9830154336908697, 0.9995549443421639, 0.9738029293670261], [0.7822098441251816, 0.983205288683185, 0.9830154336908697, 0.9995549443421639, 0.9738029293670261], [0.7954854294510181, 0.9795991793632987, 0.9986030553896172, 0.9757795305838727, 0.9817468017523682], [0.7432456701788565, 0.999658015701597, 0.9999995163786942, 0.9986355338948145, 0.9984636511476135], [0.7306243197232292, 0.999658015701597, 0.9999975101028267, 0.9989181134267922, 0.9894133670434667], [0.9995644724270257, 0.9929982071291712, 0.9992603301108649, 0.9611239868121911, 0.993443399341025], [0.9657633819333924, 0.9933211377598956, 0.997630704843815, 0.9773074530515385, 0.9933736068423066], [0.9518737061616321, 0.9933211377598956, 0.997630704843815, 0.9909545262223751, 0.9933736068423066], [0.9825957459603067, 0.9936402327530047, 0.996857688632376, 0.9995004056412132, 0.9933473252762597], [0.9832341608204591, 0.9932289419333168, 0.9997249906020588, 0.9996277702414705, 0.9975581363178756], [0.997379985972905, 0.9930068161772369, 0.9992177110304366, 0.9914265495226784, 0.9887624109945485], [0.8716979135032732, 0.9934054585190376, 0.9965506212147748, 0.9889665873688691, 0.9997604547365008], [0.8644833446876744, 0.9929248660963654, 0.9842631231103772, 0.9905439373177243, 0.9999997465337421], [0.8495554120075, 0.9986783684673942, 0.9915602172507686, 0.9870642601892243, 0.9999606934012925], [0.887879666189739, 0.9976231870865174, 0.9748662284525588, 0.9939941690840624, 0.9995711489177327], [0.8969936638363541, 0.9934054585190376, 0.992202775386639, 0.9889665873688691, 0.9931527121622892], [0.8884550349929269, 0.9978259639255644, 0.9921435568666153, 0.9889665873688691, 0.9927675341931942], [0.90720959321938, 0.9928518197196878, 0.9840110679264071, 0.9904133586134736, 0.9996866949529847], [0.9024108032875546, 0.9903644062254572, 0.9914462926424499, 0.9897804211038314, 0.9999585382180639], [0.8562714554603338, 0.9932831745777352, 0.9577625816392519, 0.9900569795301863, 0.9947858780471226], [0.8118567733822798, 0.9934054585190376, 0.992202775386639, 0.9868913638034853, 0.9923811961788622], [0.8223535820046243, 0.9911850881966457, 0.9839340894431733, 0.9884271561600597, 0.9997191335339441], [0.8396960313213178, 0.977494935228539, 0.989862132089594, 0.9936902283760367, 0.9999203744753178], [0.8476835057802536, 0.994040729579563, 0.9934066980737463, 0.9371174562302335, 0.9999128910764046], [0.8626806814791921, 0.9888909866403109, 0.9451630845720915, 0.9532097837000187, 0.9943116263250149], [0.9979568431756882, 0.9939661294467423, 0.9855296343692966, 0.9773886166834556, 1.0], [0.9883411110910234, 0.9954151424312339, 0.9986877169081273, 0.9866638957650424, 0.9989438060409032], [0.9906246492282431, 0.9912582442135375, 0.9971385157227075, 0.9914343648107368, 0.9941077003426725], [0.9746427767312617, 0.9987249608058473, 0.9882375813217733, 0.9662086926694499, 0.999392015069114], [0.9198918207735807, 0.9942976670747431, 0.9996175166219532, 0.9895298111058852, 0.9993496245310729], [0.9340891045044174, 0.9742976269633173, 0.989862132089594, 0.9938089585188086, 0.9999203744753178], [0.9560307470918258, 0.992314112306806, 0.9949866337827326, 0.9968581071900828, 0.9991148162924511], [0.9510655627224065, 0.9999098485245645, 0.9924557029239851, 0.9890091851105779, 0.999921232616568], [0.9382407835693367, 0.9975614071044562, 0.9945007781245523, 0.9693545012329277, 0.9999256364100063], [0.9267369067236118, 0.9864526674801635, 0.9853695024861878, 0.990502646493301, 0.9684751325229811], [0.9462337924277955, 0.9814181603321488, 0.9932347042712093, 0.9329008698930032, 0.9999997975405011], [0.9662617064177755, 0.935977873335711, 0.9883112846444116, 0.9662086926694499, 0.999392015069114], [0.9170688560367646, 0.9496848970212688, 0.9471486832779085, 0.9915797477295176, 0.9958682816638225], [0.8743992040185837, 0.9951100938790445, 0.9999931401573733, 0.9884361165896066, 0.998739062348945], [0.8798236631025758, 0.9848659327069976, 0.9855787385022184, 0.9882109924270738, 0.9998381227257375], [0.8543278602643803, 0.9832145957858953, 0.9999186392992477, 0.9817734724061141, 0.9969528352611694], [0.8626875789775938, 0.9915968300423704, 1.0, 0.9871663451809662, 0.9997210221825195], [0.8902166874285394, 0.9875220368014042, 0.9925335379410061, 0.9812128267581545, 0.9775971845779934], [0.9050872072628611, 0.9915968300423704, 1.0, 0.9871663451809662, 0.9875619432886433], [0.9187044809956226, 0.9855332483037018, 0.9997975686221487, 0.9866794719381344, 0.9868292679625004], [0.9216396136769063, 0.973050218171874, 0.99865541927696, 0.9966385617890111, 0.9980526164839525], [0.9027626714032453, 0.9850765086458431, 0.985457080244624, 0.9999429260447649, 0.9999609386557858], [0.823474261531163, 0.9604771100960672, 0.9989730945986965, 0.9595355974154163, 0.99992057786437], [0.841656890499075, 0.9711682201357319, 0.9989824316573735, 0.9770157067274133, 1.0], [0.8341953011895678, 0.9597599251268776, 1.0, 0.9807705712104742, 1.0], [0.7616340429822742, 0.9850784278241536, 0.9989993058384965, 0.9832479835264614, 0.9975150742532074], [0.7711809740668454, 0.9855099211616235, 0.9925099348993196, 0.981406971417479, 0.9885562689933526], [0.7980212216007985, 0.9692299115751741, 1.0, 0.9888818591461569, 1.0], [0.8036219031355184, 0.9592100377223032, 1.0, 0.9980436255933522, 1.0], [0.7865732227460716, 0.9708899674626016, 0.9922739956942053, 0.9829623842865696, 0.9956226872004672], [1.0, 0.9915968300423704, 1.0, 0.9871663451809662, 0.9875619432886433], [0.9941214045651277, 0.9832145957858953, 0.9999186392992477, 0.9817743119665387, 0.9963010474583585], [0.9834139722065821, 0.9850765086458431, 0.985457080244624, 0.9999429260447649, 0.9892251321077934], [0.9788243562969461, 0.9952673509993337, 0.9985078471734599, 0.9987883402964028, 0.9724914673549543], [0.96684608447725, 0.9862515549651817, 0.9999835165730993, 0.9781097864087339, 1.0], [0.9490361410747935, 0.9861658544740745, 1.0, 0.9898520120134577, 0.9999886342759021], [0.9337847721854331, 0.9945211068849488, 0.9892700214933003, 0.9864733236175466, 0.9999745948628569], [0.7558487210288749, 0.9848914305996653, 0.999745849522939, 0.8917789760290834, 0.9999380075108364], [0.8618028452244094, 0.998581528221662, 0.9779832931633692, 0.9999992497799229, 0.999106756135322], [0.8789032558414898, 0.9998505386112215, 0.9747493212358652, 0.9959470934264566, 0.9999441713487744], [0.8925439886888473, 0.9999975708017567, 0.9961209538610983, 0.996730207249715, 1.0], [0.8746719952672254, 0.9974190684589408, 0.9916794931448344, 0.9525670349313329, 0.9888140393268041], [0.8864980474845905, 0.9605377388097873, 0.9929985113915861, 0.9865210011086812, 0.9988844016451656], [0.9193630117346981, 0.9607404665352252, 0.9933940339322715, 0.9865210011086812, 0.9988844016451656], [0.8548444748222307, 0.9535179173996035, 0.9759087600805636, 1.0, 1.0], [0.7672605492350064, 1.0, 0.9854108102899469, 0.996977566714261, 0.9887683110046158], [0.7770844040978335, 1.0, 0.9862722944804564, 0.9990939268889151, 1.0], [0.7924004508944368, 0.9984082506279196, 0.9759618590029134, 0.9999595376990037, 1.0], [0.7842559222884332, 0.9998244523336354, 0.9715369652197852, 0.9999928215909829, 0.9998806108293152], [0.7500525809319653, 0.9998663086052184, 0.9713334407129619, 1.0, 1.0], [0.805363064514021, 0.9975092926569565, 0.9998763457982147, 0.9998542972509206, 0.9888140393268041], [0.815458105142505, 0.9859433252680903, 0.9998785707735426, 0.9991575676276361, 0.9889380630912468], [0.7939438120803801, 0.9861628692530523, 0.9997451766974245, 0.9991575676276361, 0.9896841881976565], [0.8189731800544191, 1.0, 0.9801546850077795, 0.9999731989790485, 1.0], [0.8273239574980955, 0.9975408192653163, 0.9936674965505109, 0.9981241807938237, 0.9997199510123845], [0.8307941603760957, 1.0, 0.9758947844522493, 1.0, 0.987699038521161], [0.84781018410968, 0.9981209785317681, 0.9764285400986457, 1.0, 1.0], [0.8440197388361187, 1.0, 0.9713146102530961, 1.0, 1.0], [0.8374829143964813, 1.0, 0.9759004471464756, 0.9999733142683546, 1.0], [0.9181598675868539, 0.9997083280915264, 0.9827203036365002, 0.9340877206961641, 0.9999837724715274], [1.0, 1.0, 0.9885069463978001, 1.0, 1.0], [0.990452232455097, 0.9999994730267081, 0.9976368610070181, 0.9919635785338666, 0.9999546808347405], [0.9714025940353326, 1.0, 0.9974698811693073, 0.9999999966677227, 1.0], [0.9817459428537775, 0.99991178158763, 0.989685311513857, 0.9983967657041934, 0.9999667926928509], [0.9672751933222219, 1.0, 0.975897659079145, 1.0, 1.0], [0.9884912522956034, 0.9606158934202998, 0.975808767196972, 0.9999765124654875, 1.0], [0.9992311528337396, 0.9999994730267081, 0.9501358396827065, 0.9917886952841262, 1.0], [0.9454876183085319, 0.9862584945574167, 0.9986463676459023, 0.9868318740858512, 0.9998055443705349], [0.9323584187781904, 0.9998920352098419, 0.9986455094009786, 0.9883580869522567, 1.0], [0.9585883100047613, 0.9758495254849224, 0.9927099456133291, 0.9774385961591106, 1.0], [0.9257107340394903, 0.9999987948319131, 0.9711439777546195, 0.9990762349408169, 1.0], [0.9380290187174037, 0.9403036825738136, 0.9758634386968705, 0.9789800297897894, 0.9989473230138667]], "centroid": [0.8752999437777547, 0.9922116738289346, 0.9914270739422684, 0.9884425017998758, 0.9935789930293037]}, "29-1": {"solutions": [[0.4578844225835399, 1.0, 0.9887190259923725, 0.9947647824948108, 1.0], [0.44863855912523176, 0.9999936196052733, 0.988688123719097, 0.9947647824948108, 0.9998660842342615], [0.44449684523978605, 1.0, 0.9946155216079583, 0.9978149475221064, 1.0], [0.435733003931694, 0.9996695049113792, 0.9997515067085242, 0.9935643091199267, 1.0], [0.46864512791038115, 0.9927917804263235, 0.9923064909677745, 0.9931993712902635, 1.0], [0.4113292788439683, 0.9972803066378957, 1.0, 0.9941780723900172, 1.0], [0.41859652045085827, 0.9957924191347222, 1.0, 0.9941780723900172, 1.0], [0.42242984783941495, 1.0, 0.9946155216079583, 0.9978149475221064, 1.0], [0.47880375869851965, 1.0, 0.9728963092869045, 0.9999019503119502, 1.0], [0.4865356060055941, 0.9997061310943451, 0.9724922853709319, 0.9986751238232873, 1.0], [0.34738104960566385, 1.0, 1.0, 0.9933742950221833, 1.0], [0.360404505702681, 1.0, 0.9994202249748558, 0.994573408280248, 1.0], [0.36924817895665407, 1.0, 0.9999981621427119, 0.9997276638369468, 1.0], [0.39453385076810943, 1.0, 0.9944361799858943, 0.9993424084219861, 1.0], [0.3810677282804368, 0.9999775999924639, 0.9996099333808666, 0.9882147541122153, 1.0], [0.3988330490416845, 0.9684278835746088, 1.0, 0.9812935147169097, 1.0], [0.29355140398523494, 0.9999998428785426, 0.9931731634946164, 0.9796620343365715, 0.999703431435152], [0.3101891869055574, 1.0, 1.0, 0.9922191911962507, 1.0], [0.3044159919336492, 0.9942158983107254, 0.9998568129929497, 0.992351194325625, 1.0], [0.33268088374690874, 1.0, 0.9833129292536423, 0.99942399175999, 1.0], [0.326046118722938, 1.0, 0.9894938891235906, 0.9814434915207586, 1.0], [0.4035964563818938, 0.9995448402738875, 0.9946515746201706, 0.9933563003280467, 0.9997742339317574], [0.3728285792749695, 0.9795909923760028, 0.986398836849325, 0.993069511692875, 0.9993078366873249], [0.4512805608445319, 0.9999320057081894, 0.9874299793967648, 0.9964263379321242, 0.9964252149824029], [0.4606458855222329, 0.9998663677813022, 0.9873656816183303, 0.9879985885294131, 0.996420309324332], [0.4364602523665513, 0.9963021022726545, 0.9900343670251169, 0.9984263591701111, 0.9993848933932993], [0.4400496889527374, 0.9999320057081894, 0.9911482115453141, 0.994817672678893, 0.9964252149824029], [0.42527046821473435, 0.9992094646758481, 0.9942295536240215, 0.9994862057181094, 0.9641164953258732], [0.23926114869045179, 0.9997248379877104, 0.997425167460772, 0.9932483954473281, 0.9994070612643616], [0.22571172891415447, 0.9975262156039463, 0.994082697517796, 0.9933563003280467, 0.9999795007461626], [0.22379353921937117, 0.9975761517294096, 0.994082697517796, 0.9933563003280467, 0.9999795007461626], [0.25346764585937853, 0.9790523188583713, 0.9796348715884585, 0.9934886967032831, 0.9999795007461626], [0.29050134337138095, 0.9999673374419845, 0.9986996482582203, 0.9881447686006043, 0.9999905156448041], [0.2686546258692609, 0.9996031070391999, 0.9955737474490903, 0.9988784890191332, 0.9997535603136547], [0.28270293883866654, 0.9951761152379321, 0.9900398838114853, 0.9879024929094264, 0.9680179888373986], [0.21738987758701644, 0.9995813270769507, 0.9935702011530221, 0.9497126619984193, 0.9225648625173669], [0.2629543620776875, 0.9938112100044065, 0.994727493012212, 0.9882796509920507, 0.9208592985441172], [0.31077263629841945, 0.977778855543191, 0.9949962913275542, 0.9940605428803426, 0.9537935833960522], [0.3206472536988725, 0.9899759772224721, 0.9999997039164588, 0.9884128054045827, 0.9539557007144406], [0.3359937915788521, 0.9938112100044065, 0.9999993577250326, 0.9882796509920507, 0.9208592985441172], [0.3474476015296683, 0.9998673073503348, 0.999792513147038, 0.9880140231564836, 0.9972195428069536], [0.3244958698820556, 0.994950029294734, 0.9979807563084602, 0.9878576695891068, 0.9936177146809576], [0.34296170086769573, 0.9840900118567041, 0.959481096371733, 0.9267507783990963, 0.9222189602792477], [0.35923441879953627, 0.8811511665377347, 0.9946725800333851, 0.9995087500938191, 0.9970109268285399], [0.35624405058676706, 1.0, 1.0, 0.9809075661515638, 0.9864412535866062], [0.38022908817834494, 0.9937727900077654, 0.9759823825238702, 0.9805289088392488, 0.9886071092620725], [0.36833834188597553, 1.0, 0.9695506817410715, 0.9837950224993484, 0.9861639439210513], [0.32328700288124956, 1.0, 1.0, 0.9809075661515638, 0.9810595396098474], [0.3082056531963481, 1.0, 1.0, 0.9512955899277492, 1.0], [0.33589157648337514, 0.9997357490747248, 0.9999482510706171, 0.9600221387056289, 0.9993839746918018], [0.42280629141745585, 0.9999559189367908, 0.9999712100837791, 0.980461367945702, 0.9999798433282463], [0.39493000778980036, 0.9995745158462996, 0.9990015215231836, 0.9770451959877616, 0.9883448031013901], [0.4046589727330936, 1.0, 0.9999741891164616, 0.9848282987479642, 0.995686007198826], [0.44412188285918086, 1.0, 0.9975752822756287, 0.9861221086911582, 0.9612323206477001], [0.46455973194521366, 0.9999999925219867, 1.0, 0.9842786439838196, 1.0], [0.44591753094652153, 0.9999915128272705, 0.9885033213003339, 0.9915679072542175, 0.9931913481916709], [0.4587665282286234, 0.9684622644901061, 0.9972561113737066, 0.9962411140028608, 0.9790242874242251], [0.48670996150551293, 1.0, 1.0, 0.9353173891513742, 0.9950382480811953], [0.29653434063166945, 1.0, 1.0, 0.9837950224993484, 0.9872287829507005], [0.2790911797393814, 1.0, 0.9998214371792115, 0.9837950224993484, 0.9872287829507005], [0.28533145920907554, 1.0, 1.0, 0.9778185361524324, 0.9899147936640703], [0.2664953484104255, 0.9999950960139575, 1.0, 0.9810039683367069, 0.9972696696175843], [0.24929689349834017, 1.0, 1.0, 0.9777829572170634, 0.9897079419431069], [0.23602968511034855, 0.9998752126355205, 1.0, 0.9810039683367069, 0.9970945110503483], [0.2590827857690857, 1.0, 1.0, 0.9507952546601851, 1.0], [0.2263624816493182, 0.9678333663684625, 0.9972561113737066, 0.9962411140028608, 0.9790242874242251], [0.19465141192691524, 1.0, 1.0, 0.9643727433758456, 0.9890483405615674], [0.21229864355837835, 1.0, 0.9999741891164616, 0.9848282987479642, 0.9861115046893976], [0.34904454515152594, 0.9979037802955705, 0.9956086976405563, 0.985539578917608, 0.9939088801075626], [0.3680036646963505, 0.996131022063698, 0.9915345216281931, 0.9928638533615994, 0.9760416715455451], [0.30705551884589133, 0.9884395731041382, 0.9928205665888221, 0.9996876147760674, 0.9974984336615592], [0.319243138763663, 0.9765360907910343, 0.9949932093450667, 0.9837860205583495, 0.9994832605943494], [0.325655243509438, 0.9503711410904868, 0.9723114848971101, 0.9850085055122757, 0.9991907258408641], [0.29537801429081467, 0.9503711410904868, 0.9879337300547032, 0.9850085055122757, 0.9997114286598825], [0.33779810354528095, 0.9622747169532733, 0.9763730975754036, 0.9273959247848458, 0.9939990479685378], [0.39387184237568823, 0.9909256648786139, 0.9466179619758602, 0.9856862908411654, 0.9952382194428049], [0.4118342678152589, 0.9967565746884549, 0.974628293639536, 0.9848064554135603, 0.9996702550467961], [0.4165454025544736, 0.9971286666884059, 0.9707278920691654, 0.9815652536394571, 0.9924883475182471], [0.43608281930546394, 0.9765360907910343, 0.9949932093450667, 0.9500040244038171, 0.9994832605943494], [0.4557968527469608, 0.9972230839414833, 0.9538564115509809, 0.9513294729872879, 0.9994213749760326], [0.427361223985696, 0.9958910729598914, 0.9462987797647249, 0.930421065886591, 0.9750630740449723], [0.48065782876488955, 0.9967587276861087, 0.994302344937818, 0.9956658480247176, 0.999753225873663], [0.498004998064284, 0.9985662000346707, 0.9985285382463791, 0.9983144427841323, 0.9974979595017313], [0.4656686624537418, 0.9975059965863269, 0.9950696983509405, 0.9852332830773112, 0.9982998837024071], [0.2553860571212083, 0.9979037802955705, 0.9990526852204091, 0.9720259813749799, 0.9950136436586297], [0.22163284466901206, 0.9929848296835219, 0.9952574505248838, 0.9965486300988874, 0.9997852844648499], [0.2512874265025392, 0.9937843752559127, 0.9449579810382666, 0.9831875129426925, 1.0], [0.23956250436255477, 0.9505901743666436, 0.9601078669340324, 0.9503512386086286, 0.9593168916453021], [0.23119841794078755, 0.9548248273561626, 0.9880969440793195, 0.9528058785847782, 0.9750785593955393], [0.20548736887190028, 0.9369559842096359, 0.9442531911092984, 0.9568729943611094, 0.9983376310907454], [0.2811513907040649, 0.9506500689938299, 0.94496136822013, 0.9848636124611705, 0.9992947068117214], [0.29433932306326105, 0.9472024772283653, 0.9449579810382666, 0.9831875129426925, 1.0], [0.2854004473838486, 0.9152613447756994, 0.9931387572756349, 0.9847440485589138, 0.9974927076551287], [0.20944538220404735, 0.9865161291203731, 0.9928205665888221, 0.9994039800858222, 0.9064992738857208], [0.3317905910346427, 0.9957156174282509, 0.9923003159674925, 0.9964551785816411, 0.9915924084204536], [0.34779647955163895, 0.9948940523608459, 0.9998856446580486, 0.9987285175411861, 0.9884283630743679], [0.34122250310390373, 0.9921406553853421, 0.9978246068500704, 0.9999617194136652, 0.9701888074464828], [0.3646755844656883, 0.9914123610240727, 0.99233031973524, 0.9964361079940353, 0.9699149021239992], [0.3953063371091015, 0.9856662642871136, 0.9999988938578476, 0.9796240042370031, 0.9947329447978639], [0.38911754412031174, 0.9884841644281874, 0.9999110186678424, 0.9796240042370031, 0.9914259707499908], [0.38045306403135126, 0.9977647309989421, 0.9923003159674925, 0.9964551785816411, 0.9915924084204536], [0.37772489745331705, 0.9630044425509299, 0.9854431298345582, 0.994291415472953, 0.9747555933157379], [0.26045542853913334, 0.9953432588671828, 0.9942501412628474, 0.9999844713926437, 0.9680815259613136], [0.27312857963183, 0.9949652266441745, 0.9729731120147365, 0.9999898671602679, 0.9538627665492921], [0.29332814092803505, 0.9857963999516033, 1.0, 0.9975670224601411, 0.9514453635414575], [0.2873399690290642, 0.9982456531302911, 0.9922160647607869, 1.0, 0.9538318065879858], [0.28081186406084413, 0.9917299679124263, 0.98494521131674, 0.9787159225877021, 0.9329517173257983], [0.3045650440442623, 0.9900756408255648, 1.0, 0.9836515277035507, 0.9851682366892329], [0.32855553802141163, 0.9927158810343215, 0.978175448272455, 0.9992194131491386, 0.9419457546996871], [0.508270059127103, 0.9933659978378009, 1.0, 1.0, 0.9851682366892329], [0.4981178684803994, 0.9933659978378009, 1.0, 1.0, 0.9851682366892329], [0.4458281376950543, 0.993408022849424, 0.9983760255655233, 0.9995978382156123, 0.9956918293873704], [0.4537045555544736, 0.9836474556776632, 0.9997825217486646, 1.0, 0.9997151238063815], [0.46240608994232957, 0.9895434467205457, 0.999874697422957, 1.0, 0.98870700694102], [0.43234647495169076, 0.9566944086859795, 0.9978993876322356, 0.9991079068205719, 0.9401062492649194], [0.4240445879018109, 0.9566944086859795, 0.9978993876322356, 0.9785243273901016, 0.9615985546407557], [0.47283539460403207, 0.9284085503350873, 0.9932713687995791, 1.0, 0.9656253459941911], [0.4070216039692986, 0.9906414754797964, 0.9544929804748983, 1.0, 0.9685971095365036], [0.3584872986934546, 0.9887694065995207, 0.990021792395321, 0.9844961671905768, 0.9860616655520705], [0.3533422122481648, 0.9887840040030896, 0.990021792395321, 0.9715012664977584, 0.9860616655520705], [0.3442014780923673, 0.997023775175216, 0.9870625937807412, 0.9820718540030837, 0.9665002805974294], [0.3208211034506103, 0.9969584631598645, 0.9893336661779908, 0.9928608806090716, 0.9978634633490628], [0.33524345200505684, 0.9996165624194182, 0.9895488590514726, 0.9951255358861272, 0.9884759972367779], [0.3805770052726207, 0.9763880379668471, 0.9972564703151742, 0.9814063324523272, 0.9916572771800072], [0.3053708168833977, 0.997023775175216, 0.9870256417163191, 0.966693908959776, 0.9849100795997091], [0.31227519814926374, 0.997023775175216, 0.9991548950632064, 0.9820718540030837, 0.9665002805974294], [0.4027235706286977, 0.990060517308274, 0.9926968815567907, 0.9309546451820339, 0.9885595772819987], [0.45001236671123945, 0.9977759477549685, 0.987029560938937, 0.9544146967889005, 0.9960413500794102], [0.43032276418690973, 0.9969560328562108, 0.9991420170218109, 0.9804625252959788, 0.9866173081014892], [0.4134148159057659, 0.9885659709951206, 0.9925898934529535, 0.9796804798970636, 0.999885493243525], [0.4406253908669061, 0.9757889325586001, 0.9906420862161701, 0.9808029643342214, 0.9690308118404307], [0.46198323916941014, 0.9993791174089084, 0.994919036416098, 0.9916762156959427, 0.9966266654870174], [0.4572222985705141, 0.9993791174089084, 0.994919036416098, 0.9915614142435716, 0.9991058913730267], [0.42081382836972475, 0.9446925751902586, 0.9651266496027742, 0.9737065636704307, 1.0], [0.36229768057921047, 0.9881896479187631, 0.990120404881251, 0.9855245409897831, 0.9862624950911623], [0.3378119740109137, 0.9888659113589106, 0.9994997802756234, 0.9907653129430385, 0.9868126633554347], [0.37313468510488645, 0.9903561727592929, 0.9917021391287342, 0.99882806813328, 0.9997740643775955], [0.35511479557896825, 0.9622872223811226, 0.9676619586849537, 0.9999943727623181, 0.9862624950911623], [0.39209415558199223, 0.9606701089227726, 0.9932467246665245, 0.9997651975938492, 1.0], [0.3972513394784253, 0.9800783541722802, 0.9913312107033564, 0.9995849498585418, 0.9992529425140276], [0.3807163645333064, 0.9744734478590942, 0.9923479599915207, 0.9997153332332722, 0.9996793276527269], [0.3272407717425677, 0.9366366017689304, 0.9999597983985932, 0.9999999731879238, 0.9999997529950403], [0.2541718956944278, 0.9957912519369512, 0.9999966015720904, 0.9721542664679763, 0.9999545572448507], [0.2655324716704038, 0.9846624462270287, 0.9992901706522072, 0.9872388586083075, 0.9862632272141253], [0.271863934187681, 0.9658677287796466, 0.9970887184510037, 0.9708735653266345, 0.999999414360421], [0.2907812874639614, 0.9839877634410364, 0.9942805383971001, 1.0, 0.9999614958603907], [0.30913217987294533, 0.9932030816042471, 0.9999599490016322, 0.9999999981125923, 0.9999998339387632], [0.3145835743769314, 0.9899162663175768, 0.9999228193453359, 0.9974349805718955, 0.9999545551725826], [0.46201763036411836, 0.9984828161362305, 0.9990081290506931, 0.9996027242971898, 0.9999787923667401], [0.4745843239207217, 0.9877465811244375, 0.9997963962493208, 0.9996138019416072, 1.0], [0.47915608907367935, 0.9999231122938042, 0.9998902733940652, 0.9990483311110617, 1.0], [0.5001038207922438, 0.974554955440999, 0.9989796607781662, 1.0, 0.9999571414634035], [0.48904947628300777, 0.972671398301386, 0.9949371032110936, 0.9999998348996212, 1.0], [0.4507237949809368, 0.9615517931452005, 0.9826301918422159, 0.9780601552325845, 0.9985596764684013], [0.4200894798779067, 0.9744734478590942, 0.9984863221818926, 0.9999989741684182, 0.9979371324801259], [0.43400564711503187, 0.9743545248698188, 0.9922861902176863, 0.9850567365192248, 0.9999704090594643], [0.44280711099312536, 0.9741787411739495, 0.9997834019026237, 0.9974983247749365, 1.0], [0.4095010654113991, 0.9388649534212863, 0.9768120783926096, 0.9936516438204237, 0.9999951480562663], [0.36197689973414743, 0.9839744084931026, 0.9906840563071858, 0.9900828388149577, 0.9879730978922686], [0.3846860085481586, 0.9893261692011526, 0.9930830326427053, 0.9834045166229027, 0.9896260848969788], [0.35534880322869256, 0.9895461485005161, 0.9716125661478501, 0.9977109353788168, 0.9885674563619384], [0.32241814922686074, 0.9999900072387612, 0.990411486282781, 0.9843703854969631, 0.9796358297810098], [0.31800993542142564, 0.9893261692011526, 0.9927341662871965, 0.9830705509968061, 0.9779744871571776], [0.3374578998108734, 0.9878357192605212, 0.9992520153298966, 0.9858527366095295, 0.9837880210793476], [0.3980732849491021, 0.9841155637645062, 0.9906886377435501, 0.965262226514893, 0.9999679858932938], [0.3420154350810033, 0.9839744084931026, 0.99957141077274, 0.9291024322263244, 0.9879730978922686], [0.2580421920557606, 0.9744645045359352, 0.9887398503117739, 0.991570492805563, 0.9952281863448319], [0.27298724663905183, 0.9744645045359352, 0.9906938491206937, 0.9915073310997299, 0.9991072646796177], [0.30165076848035155, 0.9628719510874381, 0.9991653861487987, 0.9878185124227061, 0.9915315039147371], [0.290429985819065, 0.9893261692011526, 0.9929345872221373, 0.9830705509968061, 0.9779744871571776], [0.2715019709069123, 0.9872507179454993, 0.9477715091803488, 0.9893133783431649, 0.9881248641104541], [0.28548797442590845, 0.9700575414210031, 0.998441298147521, 0.9372581835330075, 0.9743668849799678], [0.25116490750078535, 0.9739171524958682, 0.9999071686950143, 0.9923356707041459, 0.9335326003077129], [0.40791678864173603, 0.9798914605788673, 0.9074347701771956, 0.9844850309445085, 0.9738445019986193], [0.37870441672130184, 0.9798914605788673, 0.9074347701771956, 0.9844850309445085, 0.9733142414560483], [0.4314380393194681, 0.979578110833257, 0.9303567753396341, 0.9844850309445085, 0.9852905186866677], [0.3630727809136965, 0.9995517999534783, 0.9996395104583924, 0.9816308682895529, 1.0], [0.34639211715983187, 1.0, 1.0, 0.9998686190874523, 1.0], [0.3202915215273448, 0.9982287806403747, 0.9999914792090655, 1.0, 0.9997186998070489], [0.3284288203198769, 1.0, 1.0, 0.999999512371828, 0.999964818524522], [0.31359203046379364, 0.9727835682690902, 1.0, 1.0, 1.0], [0.38556192847246423, 1.0, 0.9996552486683713, 0.9504374771699377, 0.9869495598734462], [0.3458440024140708, 0.923717244052999, 1.0, 0.999870930327896, 1.0], [0.43787289863751205, 0.9996618834209545, 0.9999936179526682, 1.0, 1.0], [0.4306013107326247, 0.9996067124157076, 0.9991828078990673, 0.9981813523069617, 0.9873640632010505], [0.4143021428366868, 0.9996044563514713, 0.9995200195597298, 0.9999987480823553, 0.9992803385563997], [0.3979972088775155, 0.9999811385514058, 0.9372982485611284, 1.0, 0.9999982997206076], [0.16463372904172718, 0.9937691916280603, 0.998651104157445, 0.9997021598787874, 0.9999921746088264], [0.15076313368003916, 0.9991937221149538, 0.9986311623890867, 0.9999999999691368, 0.9999974700150764], [0.1899214679999155, 0.9999998803904196, 1.0, 1.0, 1.0], [0.19723155712897233, 1.0, 1.0, 1.0, 1.0], [0.21637589538875768, 1.0, 1.0, 1.0, 1.0], [0.21254411676523194, 1.0, 1.0, 1.0, 1.0], [0.2628943587628862, 0.9993993308895761, 0.9999322958446709, 0.9894795900183969, 0.9999974877596978], [0.23721728338117914, 0.9921870802758949, 0.991640673205231, 0.9891367434155501, 0.9937369900360921], [0.2437625397850134, 0.999643159218163, 0.9999992096006701, 1.0, 0.998936875553476], [0.2915475628450148, 1.0, 0.9990296577179172, 1.0, 0.999997132529951], [0.2793859182080892, 1.0, 1.0, 1.0, 1.0], [0.30447481164599877, 0.9992898487117056, 1.0, 1.0, 0.998936875553476], [0.27653412822458007, 1.0, 0.9678531413090461, 0.999999512371828, 0.999964818524522], [0.35524541397835413, 0.9999772742322658, 0.9984460099233227, 1.0, 0.9999999998593002], [0.3379058682498011, 1.0, 0.9919442506751979, 0.9999403073435572, 0.9999999718983081], [0.3681912202581133, 0.9984347614510909, 0.9633460005857424, 1.0, 0.9735071488622774], [0.36725228145339917, 1.0, 0.9633466291487189, 1.0, 1.0], [0.3800083739000122, 0.9998154056336831, 0.9912506449084593, 0.9997874756239893, 0.999999536691268], [0.39113073595754866, 0.9999999214698977, 0.991737865026251, 0.9996480189149215, 0.9974189750647168], [0.41103139611732054, 1.0, 0.9929389983053596, 0.991715857426663, 1.0], [0.31477611103469033, 1.0, 0.9402108198488832, 1.0, 0.9999999722781799], [0.33171440910892014, 1.0, 0.921878985626845, 1.0, 0.999840332732476], [0.22080952086207783, 0.9999999850104091, 0.9665524628875392, 1.0, 0.999999976612221], [0.23288601954037053, 1.0, 0.9661487162444283, 1.0, 1.0], [0.2638345177625726, 0.9999999497086529, 0.9533327556573336, 1.0, 0.9999998333877624], [0.25698990800042504, 0.9999957733273115, 0.9692147638395, 1.0, 0.9999997393337404], [0.2500975927197587, 0.9999987845141607, 0.9775919847577341, 0.9998371673888684, 0.9999998749378535], [0.27174252473940735, 0.999999998890972, 0.9869893486653537, 0.9987107471735206, 1.0], [0.2836594100743497, 0.9999517214865132, 0.9932404212037471, 1.0, 1.0], [0.2877524709967748, 1.0, 0.9869207928368269, 0.9987107471735206, 1.0], [0.3019107100692584, 1.0, 0.999658602044081, 0.9920992680312224, 0.9999931884385552], [0.2971512052562575, 1.0, 0.9651053312795148, 1.0, 0.9881528980294867], [0.3357205044319492, 0.9996280531789751, 0.9999337666231549, 0.9997912604025518, 0.9851234768024707], [0.3479314786292152, 0.9995652845787153, 0.9998778876265035, 0.9993876050049268, 0.9998694878653628], [0.3614579074774337, 0.9999971822773984, 0.9551697071752222, 0.9621388432609492, 0.9927467794042196], [0.37552211801126983, 0.9999971931343057, 0.9924068173786497, 0.9595917787787767, 0.992853537463365], [0.3667623790011605, 0.9999981775949784, 0.9924068173786497, 0.9595917787787767, 0.992853537463365], [0.3945806025876227, 0.989008994719182, 0.9905508367458735, 0.9867880086620721, 0.9985266278023078], [0.3815459599185902, 1.0, 0.9999721273262464, 0.9984975339513715, 0.9997568438766206], [0.40932639299927437, 0.9700307127388089, 0.9906246549857924, 0.9903133740992901, 0.9997708421579674], [0.30457021082936286, 1.0, 0.9862448949257173, 1.0, 1.0], [0.2924827448837981, 0.9986001588853235, 0.9960917851654321, 0.9995320590705543, 0.9963137725557554], [0.2841010007336149, 0.9999509579402073, 0.9981890909399651, 1.0, 0.99803577447666], [0.2726873918110517, 0.9999509579402073, 0.9981890909399651, 1.0, 1.0], [0.2656756529909025, 1.0, 0.9983634774800068, 1.0, 1.0], [0.24445478356018674, 0.9985887911305403, 0.9914980811162587, 1.0, 1.0], [0.23080604295455065, 1.0, 0.9999907504965004, 1.0, 1.0], [0.25895837424016055, 0.9955061679655794, 0.994587105778727, 0.9813021359600373, 0.9653246323631512], [0.4972627887206639, 1.0, 0.9964005992038406, 0.9997205901529355, 1.0], [0.48655204802295215, 0.9986980532023157, 0.9999971253731043, 0.9999716647150401, 0.9992296961864027], [0.47011757902052076, 0.9996951564107989, 0.9996899185306767, 0.9992276104662864, 0.9997573390292345], [0.47425852332861107, 0.999325504260665, 0.9999995880249878, 0.9992276104662864, 0.9997077465369902], [0.43372279528799396, 0.9995652845787153, 0.9998778876265035, 0.9993876050049268, 0.9999382014664735], [0.4426707544468314, 0.9903600957196523, 0.9906246549857924, 0.9988102857775726, 0.9903297087628541], [0.46040159321434526, 0.946332633654611, 0.9941119589214528, 0.9999998764304978, 0.9973022981700649], [0.455268136431095, 0.9417490677808095, 0.9995713964146341, 0.9960252053930688, 1.0], [0.4224078400588517, 0.9920029457366584, 0.9898770689620684, 0.9335845833509854, 0.985475090655329], [0.3382789223559876, 0.9977596636662502, 0.9989190887030104, 0.9914170704094164, 0.9888426533818286], [0.3140834690547798, 0.9984913219796813, 0.9723635255481963, 0.9848540639772689, 0.9891578528215393], [0.318524023663104, 0.9954455548178002, 0.9798194351977019, 0.9980602974142057, 0.9880547759427802], [0.4082597799300915, 0.9938670084170431, 0.9997237102974067, 0.9980602974142057, 0.9888426533818286], [0.38943108405175597, 0.99482462589013, 0.9990790250988683, 0.9914265495226784, 0.9871061318665653], [0.39599773425915274, 0.9932196653973437, 0.9990938406867675, 0.9909545262223751, 0.9933736068423066], [0.37895319888324575, 0.983205288683185, 0.9953014467639444, 0.9995549443421639, 0.9738029293670261], [0.3312963385100779, 0.9996524370434701, 0.9848545218726708, 0.8989830416365578, 0.9880933871403995], [0.27858948818647794, 0.993685692737877, 0.996094108587956, 0.9971141159569753, 0.9827798937653597], [0.2654364225155514, 0.9950945222388928, 0.9998401343160388, 0.9911582795561795, 0.9822207107168816], [0.29264341800115234, 0.9937900551622236, 0.9992313805055094, 0.9887832686325505, 0.9888593332519415], [0.21619152843054973, 0.9890733984939231, 0.9999961173153088, 0.988462288886883, 0.9902189986357615], [0.22636465008223708, 0.9928864469642918, 0.9909235732050922, 0.9966734693689783, 0.9773729297488477], [0.2579108149190639, 0.9954455548178002, 0.9798194351977019, 0.998091467176377, 0.9880107475464023], [0.23878238472615532, 0.9891662713649453, 0.9785535903942587, 0.9881021678846216, 0.9902189986357615], [0.2500545703030358, 0.9462042837936872, 0.9992449584015177, 0.9891344316309187, 0.9932558218444762], [0.3002141322118955, 0.969590732274791, 0.9971837674878649, 0.9882521089920348, 0.9197565210392475], [0.46437126969096587, 0.9939786693980213, 0.9997357212266625, 0.9959914937012224, 0.9885195162577731], [0.4857454863805458, 0.986535971421784, 0.9999961173153088, 0.9866641889779809, 0.9901812828975307], [0.4306928661287842, 0.9601417623782412, 0.9937368850103141, 0.9885033084250766, 0.9837819558009201], [0.4418818769058134, 0.9904723660842126, 0.9971210562537414, 0.9888435705453138, 0.9614667462697072], [0.4551039712021998, 0.9460491168768299, 1.0, 0.9294824919960855, 0.98373017826215], [0.4196219939629643, 0.9851942554677525, 0.9990888603155428, 0.9914265495226784, 0.9105462352733409], [0.3496804076694596, 0.9888302767711139, 0.9942647598725501, 0.9952863465254042, 0.9877459637174532], [0.3411383377621051, 0.9962590854047282, 0.9939510826570441, 0.9952863465254042, 0.9999973450381096], [0.35954239631348817, 0.9952556139491732, 0.9911538098629817, 0.9745415131848414, 0.9875409263882587], [0.3299890795825401, 0.9885600354138215, 0.9720988592335108, 0.9720688881908578, 0.9974785760705612], [0.40716474210493586, 0.9890910473042045, 0.9891823430523785, 0.9985330424496921, 0.9998364321565288], [0.3151636689542998, 0.999622948030214, 0.996492411599288, 0.9999995483819356, 0.999998001561504], [0.2980460731751386, 0.9998188483987978, 0.998325891131791, 0.975613374733409, 0.9998671521767962], [0.2523989906806383, 0.9885843041161312, 0.9720988592335108, 0.9993764803215083, 0.9979537380993075], [0.27273447487491176, 0.9954151424312339, 0.992485091896007, 0.9866086647807366, 0.9748605026223093], [0.2630937036355219, 0.9939661294467423, 0.9855588053723375, 0.9773886166834556, 0.9750588783928145], [0.2847015348104883, 0.9885600354138215, 0.9720988592335108, 0.975613374733409, 0.9906698224520045], [0.3886998824952116, 0.9065064248948815, 0.9861080898654534, 0.9649713092632731, 0.994436451153107], [0.3959837653420043, 0.9486292714534907, 0.989094218428182, 0.9754821618419405, 0.9887770527116326], [0.5238786038373977, 0.9208963548494903, 0.9959443283845429, 0.9911948394833708, 0.9999941887025937], [0.5332081786453482, 0.9473683762580806, 0.9859079581986555, 0.975880906405132, 0.9905629028821614], [0.5028340287876929, 0.9704300924320493, 0.9792407890129905, 0.9992802498197951, 1.0], [0.48798815732470313, 0.970320355021165, 0.9859425449672257, 0.998590501281955, 1.0], [0.5015885380612195, 0.986385430186993, 0.9609564398895257, 0.9659381558007476, 0.9992497207848213], [0.46880041294741226, 0.9299795954050531, 0.9890926605509667, 0.9659381558007476, 0.9995968750147729], [0.4766625857162202, 0.9267289200253862, 0.994547739480106, 0.9773198650355679, 0.9992547518708792], [0.4844274117443068, 0.91257285085414, 0.9860438704922064, 0.9659381558007476, 0.9992497207848213], [0.4378576456090249, 0.9387644674117779, 0.9837563671624084, 0.9702278977688911, 0.9936354432095139], [0.4259786755064138, 0.9864526674801635, 0.9713593845526494, 0.9458244061878361, 0.99023239297718], [0.4419806121985179, 0.9864526674801635, 0.9713593845526494, 0.9458244061878361, 0.9908984622624399], [0.4574015879480947, 0.9687508356945479, 0.9859425449672257, 0.9443211290342198, 0.9842215554793211], [0.3388593372486558, 0.9849976979072881, 0.9989186977404639, 0.9928777428068774, 0.9998722352920633], [0.3482040702166179, 0.9840816730157169, 1.0, 0.9888818591461569, 1.0], [0.3680329071755273, 0.9679776776892718, 1.0, 0.9708025997183373, 0.9989950220474008], [0.38065474818147904, 0.9990667132894447, 0.9994444522452286, 0.9932777900136234, 0.9994548310481166], [0.36248008158763767, 0.96865703123538, 0.9999999816239606, 0.977910766640908, 0.9577804655945895], [0.3858734659409867, 0.9746089121949508, 0.9675266543809923, 0.9985483859708214, 0.9996147149353896], [0.3274399037883058, 0.9961146954496856, 0.9523666317535842, 0.988325279213356, 0.9988785583083455], [0.31260917001409216, 0.9479182332544775, 0.9722523108343822, 0.9810470389724353, 0.9700489207790902], [0.41172097174819966, 0.9848453025679386, 0.9957632710927731, 0.9722347034210872, 0.9987339205526994], [0.41774870367444583, 0.9850571616737614, 1.0, 0.9753135200967646, 0.9759474702674409], [0.43268975802726267, 0.9979859604973591, 1.0, 0.9811354414406885, 1.0], [0.2159978691499768, 0.9948263971595108, 0.999904763767896, 0.9665637765878221, 1.0], [0.2848137783290497, 0.9666823865973238, 1.0, 0.9753409753702466, 1.0], [0.2734808858601807, 0.954224670989635, 1.0, 0.9770622259951806, 1.0], [0.26778465934587686, 0.9696002766452474, 1.0, 0.9811352826063686, 0.9956347945299359], [0.25635193961816755, 0.985870057328679, 1.0, 0.978485908582475, 0.9998657453661396], [0.24866469460259533, 0.9698719612791209, 0.9985436567020646, 0.9634318173073267, 0.9873248043300406], [0.24357308576101971, 0.9630374625702026, 0.985457080244624, 0.9685723402757587, 0.9999609386557858], [0.20081109310958692, 0.968893377775342, 0.9528660925384758, 0.9974138224772593, 0.9999897971673584], [0.23341211488339164, 0.9463527366681479, 0.9568759865714724, 0.9813117686894242, 0.9995462522636063], [0.23769318197515438, 0.9463527366681479, 0.9569271954916018, 0.9813174594233206, 0.9995775294414], [0.34850046525028733, 0.9862584945574167, 0.9978089921906702, 0.9864597724255265, 0.9998067603802836], [0.36008731259586885, 0.9862584945574167, 0.9978089921906702, 0.9868316487726941, 0.9998067603802836], [0.3716140720811263, 0.9997321062154471, 0.976349086384145, 0.9865210011086812, 0.9989871537294004], [0.33828655223922155, 0.9917662984844637, 0.9848121680236268, 0.9993535467968739, 0.9999977954729248], [0.3201801838313021, 1.0, 0.9884988316018983, 0.9999820131581317, 0.9999999684653313], [0.38412261813408716, 0.949108813689174, 0.9944588410993348, 0.9999427213505888, 1.0], [0.256500121416188, 1.0, 0.9711439777546195, 1.0, 1.0], [0.2708289057770842, 0.9998746366935588, 0.9739971016800442, 1.0, 0.9999568127718532], [0.2683900778551171, 0.9998746366935588, 0.9850181811047063, 1.0, 0.9999998094076686], [0.2992808452546726, 0.9979517483086832, 0.968950916873958, 0.9986230834522808, 0.9999733732343282], [0.31187219169838687, 0.9915940752699686, 0.975004006185917, 1.0, 1.0], [0.28523394047200124, 1.0, 0.9927472310756258, 0.9999104977669662, 0.9999984895465632], [0.28358945149593906, 1.0, 0.9927472310756258, 0.9999075667317222, 0.9999984895465632], [0.3053557814897822, 0.9998920352098419, 0.9985328172141568, 0.9883580869522567, 1.0], [0.45272238914089846, 0.9799825978544005, 0.9758499478598713, 0.9999914408557595, 1.0], [0.44193687267675547, 0.9998575906250019, 0.9758499478598713, 0.9999914408557595, 1.0], [0.3930376833359654, 1.0, 0.9893150130794545, 0.9999863260963967, 0.999970272635538], [0.4121068594319062, 0.9999629991011313, 0.9746370755604734, 0.9999916490190496, 1.0], [0.42176039625719897, 0.9998987020123387, 0.9995258799471316, 0.9865918919133352, 0.9999921398698577], [0.40768255937362335, 0.9816153145016883, 0.9750601553673192, 0.9766151890371247, 0.9999796950186685]], "centroid": [0.3508936878183737, 0.9866742863070436, 0.988864292628109, 0.9870574511210521, 0.990550262057764]}, "17-1": {"solutions": [[0.611557568631911, 1.0, 0.9999657796177255, 0.9889009290522156, 0.9999241130052354], [0.6034117438503042, 1.0, 0.9974633971335384, 0.9940513079078462, 0.999999999264612], [0.6234616776008631, 1.0, 1.0, 0.9961637482679271, 0.9999997708065514], [0.6295518681828646, 1.0, 0.9998095216242314, 0.9992816563227287, 1.0], [0.6385640866733087, 1.0, 1.0, 0.9901053565128334, 1.0], [0.6482423039028782, 1.0, 0.9998943469178412, 0.99634818369737, 0.9999999998948328], [0.6573738197501197, 0.9998008763142089, 0.9996104275147971, 0.9891865571224295, 0.9999999309676546], [0.5139245092803031, 1.0, 0.9890855342625006, 0.959039777637273, 0.9945259657893035], [0.5012271992700346, 1.0, 0.9889420270133809, 0.9590028688629236, 0.9999983859324183], [0.5210292264089682, 0.9840499809239276, 0.9996633174467656, 0.9576304785854468, 0.9999894446888136], [0.5971164866106341, 0.9763911085871515, 0.9758466249308217, 0.9803518770535261, 1.0], [0.5822427939734759, 0.9758324819922253, 0.9998444139352188, 0.9962289377243986, 0.9999756377212952], [0.5702920593089225, 1.0, 0.9999652524431474, 0.9929920918222936, 0.9999195305964759], [0.5630283839714709, 0.9994895921369394, 0.9923646652808243, 0.9931993712902635, 0.9999994109460425], [0.5363421930855192, 0.9999996371907993, 1.0, 0.9933586111165905, 1.0], [0.5615964739588004, 1.0, 0.9889420270133809, 0.9574299375622457, 0.99992351809437], [0.5511500209188387, 1.0, 0.9860418831685283, 0.9682029712982918, 1.0], [0.5443199934919644, 1.0, 0.9860418831685283, 0.9486054881963536, 1.0], [0.5775235255406694, 1.0, 0.9966244270138261, 0.945374675351737, 0.9762002369220693], [0.5720757318583227, 0.9943502771325818, 0.9947423962360556, 0.9792344644939313, 0.9995699563965453], [0.5806292597058867, 0.9949259961430221, 0.9979807563084602, 0.9878567326200184, 0.9968708432665492], [0.5671835943827895, 0.9924518842220912, 0.9996577016918534, 0.9939032742190576, 0.9932464332361023], [0.5868758785201299, 0.9617471785824421, 0.9973818608761758, 0.9835101709920603, 0.9988220994030135], [0.5483020531828844, 0.9565019014396596, 0.9992233515865357, 0.9835101709920603, 0.9988220994030135], [0.6118373538814587, 0.9995490275930805, 0.9947423962360556, 0.9969495143111141, 0.9984450497173513], [0.6343769909067309, 0.9995105816159755, 0.999937164898428, 0.9812801247463881, 0.9752697570489305], [0.6463685017899183, 0.9951280436889784, 0.9999139756338109, 0.9790481716446708, 0.9977261656315515], [0.4914330858894767, 0.9999781451599317, 0.9992739829264657, 0.9828905752352068, 0.9988220994030135], [0.5146884619418383, 0.9999781451599317, 0.9992495227199397, 0.9631119533318221, 0.9988220994030135], [0.5026969510586516, 0.9999781451599317, 0.9992739829264657, 0.9627787977867784, 0.9988220994030135], [0.47985587871909935, 0.9999257198214143, 0.9876497497794268, 0.9647165030821372, 0.9779663689740118], [0.5323365876524988, 0.9999548064228203, 0.9947423962360556, 0.9972854772186219, 0.9908167183373126], [0.5253686783637863, 0.9995490275930805, 0.9947423962360556, 0.9969495143111141, 0.9894317069531071], [0.6632359207354924, 0.9893466825012558, 0.997155328930317, 0.9498167014325651, 0.9448697816721476], [0.6512631570539873, 0.9883314508959394, 0.9802122666775022, 0.9498167014325651, 0.9591616979184949], [0.6850675106390254, 1.0, 0.999906261025379, 0.9533008519071693, 0.9994767215056612], [0.6299914227618288, 0.9324278677057138, 0.9925627982005424, 0.991385502463727, 0.9608967090137249], [0.5798795392825854, 0.9999788407259939, 0.995363616692178, 0.9784540548001541, 0.9986043387941046], [0.607400285565308, 0.9999998841116202, 0.9999998628348054, 0.9841095035393841, 0.9988555552497068], [0.5973886219573854, 0.999765031951893, 0.9999540869521639, 0.9881959933964339, 0.9999813984525726], [0.5893107281638895, 1.0, 1.0, 0.9643727433758456, 0.9703272894110052], [0.5720687783742678, 0.9972519246929431, 0.9895293297508929, 0.9455865342407269, 0.9706728062792892], [0.5994077379475371, 1.0, 1.0, 0.9970690707078906, 0.9697928341451096], [0.5569645478361832, 0.9989086760921202, 0.9999771472636552, 0.9646947242570292, 0.9998021621482336], [0.5649814227118416, 1.0, 1.0, 0.9512955899277492, 1.0], [0.5389688570627615, 1.0, 0.9983033601093029, 0.950752178835874, 0.9995508587264587], [0.6341206247291534, 0.9982603723280217, 0.9988892088781063, 0.9897579549203143, 0.999990865288485], [0.6256687556744616, 1.0, 1.0, 0.9800421329405715, 1.0], [0.524123936068094, 0.9809701051558549, 0.9991338603720228, 0.9951056254863914, 0.9992199043676057], [0.5150586010630375, 1.0, 1.0, 0.9911118652287657, 0.9998505055904678], [0.5058746826129565, 1.0, 1.0, 0.9979851878003643, 0.9998569399425996], [0.5420637007735268, 0.9999999994965507, 0.9948495292481372, 0.9837026099463244, 1.0], [0.6500603791573094, 0.9998013316249231, 0.9999928096804316, 0.9665126441118737, 0.9719351509685972], [0.6839960912191816, 1.0, 1.0, 0.9642610938143741, 0.9665071081923706], [0.6791570952089915, 0.9981434348683289, 0.9998403183135465, 0.9693101930541785, 0.9719550530456629], [0.6561568977143817, 0.9999695764931049, 0.9965514584264306, 0.9948960001202556, 0.999745108380943], [0.6686187024447954, 1.0, 1.0, 0.9769512354882958, 1.0], [0.6733469445001511, 1.0, 0.999994828964247, 0.9694462663566, 0.9872060212406241], [0.7081725881135275, 0.999667234213927, 0.9896664429387246, 0.9820625035698297, 0.9949668499014315], [0.689588029403446, 1.0, 0.9999527017198876, 0.9931116814384013, 0.9997188766428486], [0.7000003784910116, 0.999667234213927, 0.9999311380767303, 0.9953371000926637, 0.9946586865048942], [0.697239860811081, 0.9976896560820394, 0.9964638248241335, 0.9936093247146566, 0.999745108380943], [0.7196342216043615, 0.9841326273810576, 0.9999743041335208, 0.9819573414218045, 0.994967326395009], [0.7295870732879216, 0.9972261602441109, 0.9896664429387246, 0.9455865342407269, 0.9949668499014315], [0.48515666833973525, 0.9123695627255031, 0.9998154576171684, 0.9932677566709679, 0.9950382480811953], [0.5961467492857621, 0.9938923109290003, 0.996558516113006, 0.9876388385955718, 0.9928908616507175], [0.5608928374009566, 0.996246376130035, 0.996558516113006, 0.9783283918785254, 0.9891263741435926], [0.55346884450684, 0.9889108026622341, 0.996558516113006, 0.999869131174458, 0.9976612924659013], [0.6416740227499435, 0.9587296408150026, 0.9981275634126859, 0.9501408086713677, 0.9998780565942227], [0.6223138049653663, 0.9401268408697221, 0.9938225504496417, 0.9620942288926948, 0.9948560858969003], [0.5371220485972606, 0.9695123205733254, 0.9942478461147561, 0.9369586919887746, 0.994862360279583], [0.5292696441737718, 0.9667590668073166, 0.9973037764791498, 0.9418946430073943, 0.9949748396097363], [0.5807560175888633, 0.9938923109290003, 0.8955523075740053, 0.9783283918785254, 0.9992429362140197], [0.5502858030104133, 0.9955176468601233, 0.9177203929731274, 0.9559998005355975, 0.9997527334513339], [0.5210832272898958, 0.9984817590642953, 0.9467561476703452, 0.9852789830338171, 0.9935247013514661], [0.6480868006197376, 0.998466955654333, 0.9972871529262465, 0.9986073220283498, 0.9967543609054229], [0.6666040689014707, 0.9996405969404552, 0.9959726708314005, 0.9985878677219331, 0.9989297947987303], [0.6798680231548356, 0.998466955654333, 0.9944073386632676, 0.9986073220283498, 0.9967543609054229], [0.6739989846826232, 0.9986812661077566, 0.9998604432766116, 0.9880007761170312, 0.9918662965541264], [0.6973198088660865, 0.9542636493378419, 0.9931387572756349, 0.9985944635599286, 0.9974927076551287], [0.7072973781689448, 0.9503711410904868, 0.9879337300547032, 0.9988306884450511, 0.9997114286598825], [0.7560011953968975, 0.9881111355813147, 0.9965164339610149, 0.9983093975904268, 0.9994197291600451], [0.7673376564422612, 0.961477436311868, 0.9913449636712541, 0.9870990383105765, 0.9878344462159571], [0.7281688485294006, 0.993686290941619, 0.9950177285433268, 0.9870924648898802, 0.9876001068200896], [0.7169561530113868, 0.9884395731041382, 0.9928205665888221, 0.9986028498348772, 0.9974984336615592], [0.7448292175374913, 0.9549860898186403, 0.9952119664085048, 0.9508497917993249, 0.9988435202706898], [0.7404236873361658, 0.9548512937158586, 0.9322118827543299, 0.9954744496667953, 0.9994049803069724], [0.6197299851531836, 0.9941343608834181, 0.999646571463642, 0.9999910213508807, 0.9931748890631781], [0.6099651804091811, 0.9941847930875187, 0.9997359397255287, 0.9999910213508807, 0.9936804864769456], [0.6432649048089988, 0.9980099682559027, 0.995416951173951, 0.9997348926133306, 0.978060522022274], [0.6312086836727944, 0.9968277732258457, 1.0, 0.9938945974239739, 0.9678183312831053], [0.6319763742628631, 0.9974162090089886, 1.0, 0.9933488910490795, 0.9682508522521183], [0.656657002185639, 0.9941343608834181, 0.9999991422537825, 0.991132847648797, 0.9951453276106873], [0.6693120084941195, 0.9904128625461956, 0.9944969201517172, 0.998494880653414, 0.9997707931695018], [0.6876707585423778, 0.9881580987120758, 0.9845106624178442, 0.9795436702391556, 0.9885611469707959], [0.6636800781761331, 0.9875212575201293, 0.9698095773013472, 0.9871044050315597, 0.9913866430984107], [0.642158817918144, 0.9677038132030044, 0.9708007908858238, 0.9872725833553851, 0.9894216824655391], [0.5250676155308607, 0.9878728554215414, 0.9858488471902168, 0.9640934243427016, 0.9710071656790085], [0.5336985950384827, 0.9984536520527559, 0.9858488471902168, 0.9640934243427016, 0.991675065177413], [0.5773730138554883, 0.9889483396386857, 0.9998967972138117, 0.9999802959119012, 0.9693990134694378], [0.5675662207812459, 0.9898193025017019, 0.9929975682937849, 0.9875753032003137, 0.9899448483764037], [0.5519389911255359, 0.9923286093047772, 0.9864239853636686, 0.9884640091641982, 0.9888222571981803], [0.5565751629601114, 0.9953587911590829, 0.999209970607153, 0.9875473356742888, 0.9773846493053351], [0.5377044638489881, 0.9952358821169369, 0.9999909215221778, 0.9873951016991972, 0.9691156211313723], [0.5905925732190713, 0.9901897893136062, 0.9928917970695964, 0.9938969881750553, 0.9412482767695654], [0.6044305292125505, 0.9941807638569262, 0.9171755694440292, 0.9999974430672871, 0.9702480063134495], [0.7369794321236576, 0.9963526176365001, 1.0, 0.9931361667923033, 0.9894763508348294], [0.7530313981655788, 0.9942117247576492, 0.9917767621338465, 0.9832380690866971, 0.9690781116124687], [0.7491878582263987, 0.996296755950454, 0.9706507181870203, 0.9932479697656847, 0.9929832188420732], [0.6821121500590096, 0.9980099682559027, 0.999998090078721, 1.0, 0.9684128548993084], [0.6966755844240116, 0.9980099682559027, 0.9999985405895385, 0.9994518335756764, 0.9687284516886229], [0.7074899594985828, 0.983699019062047, 1.0, 1.0, 0.9701399625252525], [0.7050628126900598, 0.9906414754797964, 1.0, 1.0, 0.9701399625252525], [0.7160538705110586, 0.9977726016860278, 1.0, 1.0, 0.981248425319633], [0.7238041229112311, 0.995476242812394, 1.0, 0.9861971946605895, 0.9693815891130901], [0.7635402069820487, 0.9917299679124263, 1.0, 0.992201931716254, 0.9344226997990182], [0.7733172703249317, 0.9463398282440937, 0.9942424180764609, 1.0, 0.9689667088759911], [0.7684832876041708, 0.9454873261439171, 0.9924247350341601, 0.9988052222663458, 0.9954796448679897], [0.7786826070470488, 0.9748834546822692, 0.9969041279959612, 0.9794658255746717, 0.9951667678011027], [0.7323440789491757, 0.9925814075766173, 0.9999632636040827, 0.9263117924703501, 0.9993997479455162], [0.634144849986243, 0.9988125102794233, 0.9954520127314885, 0.9856128213312576, 0.9887665007710252], [0.6074766013518008, 0.996684002807403, 0.9748590665805252, 0.9844495512929183, 0.9921564197296056], [0.606543496626058, 0.9969627555658024, 0.9873679873847904, 0.9937029737842613, 0.9965928565854588], [0.6526826304987025, 0.9890571038755146, 0.9956346068727218, 0.9714092826535288, 0.9888101295828654], [0.6442704490379044, 0.9788998091233951, 0.9925663715487265, 0.9846070746673793, 0.9991806494896908], [0.6294271444616086, 0.9884178827504829, 0.9589385222229937, 0.9918623026334118, 0.9865341861524128], [0.5894920289569416, 0.9757889325586001, 0.9906420862161701, 0.9805326340882433, 0.9690308118404307], [0.580014471062221, 0.9890621419002489, 0.9966839039063147, 0.9995053423167868, 0.9887536668708137], [0.7242170483333226, 0.9989915559107873, 0.9968515595039422, 0.9984536894613115, 0.9860530526306642], [0.7352164183310602, 0.99615408509683, 0.9932798104702921, 0.9963331414999703, 0.9861105481094817], [0.7695196919786782, 0.9890350641314446, 0.9925896321330464, 0.976441962843284, 0.9913072965040426], [0.7509340799278428, 0.9703847586803472, 0.9956346068727218, 0.9910520356572593, 0.9985877234816293], [0.7058929975969508, 0.9878974264534465, 0.9924900756087058, 0.941938806894869, 0.9860375685152079], [0.6683001316861562, 0.9651023498260062, 0.970765432831324, 0.9985402298160715, 0.9960566921457192], [0.6997311287311357, 0.9908394451936275, 0.9924518033344426, 0.9845047819537316, 0.9863938608797926], [0.6889727603233886, 0.9965825961509297, 0.9948366265678371, 0.9914595876797663, 0.9926852556405298], [0.6783103732926845, 0.9920933215870147, 0.9916701824425903, 0.9978044065692137, 0.9888101295828654], [0.4895264758419075, 0.9875488667284636, 0.979671931127911, 0.9776331207628497, 0.951197528152128], [0.5102676216297791, 0.9969627555658024, 0.9873679873847904, 0.9934585627627371, 0.9965928565854588], [0.5441692351601499, 0.99615408509683, 0.9933530888034852, 0.9963649501110502, 0.9887906758174099], [0.5400220290261489, 0.9969687927064027, 0.9647710811766549, 0.9754316006886775, 0.9993227262583374], [0.5249925600936636, 0.964560532575349, 0.9498373358784367, 0.991678106469173, 0.9682774867039214], [0.5652289779847809, 0.957510825307281, 0.9381527748065652, 0.9754316006886775, 0.999318056875015], [0.561861450033894, 0.9570891584742344, 0.9381527748065652, 0.975329307975017, 0.9683927583008146], [0.4732825593819522, 0.9455204219752769, 0.9134100406287867, 0.9834826070495775, 0.9836782340047187], [0.6229743195575077, 0.9889101840810564, 0.9993782523373628, 0.9820229238641135, 0.9893306785257906], [0.5963054178170669, 0.9894639125234735, 0.99527249756173, 0.999994475731437, 0.9996429419484976], [0.6059379957846848, 0.9731595551153883, 1.0, 1.0, 0.9999427589705702], [0.6129227088942693, 0.9715478614006363, 0.995080181443202, 0.9999822489185448, 1.0], [0.6379407061570442, 0.9725135240542419, 0.9980035372756764, 1.0, 1.0], [0.6456420478854736, 0.9951583870280628, 0.9998190873094123, 1.0, 0.9999718716007389], [0.6636125785510791, 0.9731398999600192, 0.9952588588595261, 0.9999972077530063, 0.988485117909436], [0.6576274198116348, 0.9726830829638962, 0.9952680800897015, 0.9999999732909659, 0.9889872589760484], [0.6761005362020764, 0.9862019217200293, 0.9932361888166645, 1.0, 0.9848947840440846], [0.5850685059749715, 0.9951583870280628, 0.9766211740358053, 1.0, 0.9787005391059705], [0.5850152452261649, 0.9890835024709316, 0.9993514469942412, 0.9998139137620099, 0.9355960266025963], [0.7138919819748574, 0.9861415168012175, 0.994856125662976, 0.9997615583575308, 0.9627433302891125], [0.703699952069049, 0.9981421646857758, 0.9998533707614303, 0.9997313153122289, 0.9653904340664002], [0.7005587163509996, 0.9930383568825867, 0.9991242106147439, 0.9999935592567765, 0.983089390030575], [0.6916633064035438, 0.9930383568825867, 0.9756100582878761, 0.9999935592567765, 0.983089390030575], [0.6727896688108623, 0.9862703689903435, 0.9932361888166645, 0.998851582140162, 0.9602402709067798], [0.685838976633489, 0.9861964307536017, 0.994856125662976, 0.9454593438077353, 0.9627433302891125], [0.5136409473047949, 0.9937974347063344, 0.9993231266634522, 0.9975291655760641, 0.9998571106045452], [0.5338265570096346, 0.9890835024709316, 0.9993231266634522, 0.9975513779866402, 0.9999735407331454], [0.5696644837483902, 0.991930630114846, 0.99980917301354, 0.9999998851875679, 0.9999931328507251], [0.557401970087962, 0.991930630114846, 0.9999600880890005, 0.9999875796324698, 0.9994300524229665], [0.5472204403834565, 0.9766966096462683, 0.9948920255082148, 0.9996904773426997, 0.9901716284157966], [0.5440468071960274, 0.974554955440999, 0.9439206151091728, 1.0, 0.9999563393049891], [0.62695615916804, 0.9884512968308886, 0.9831873783536343, 0.9844019201475229, 0.9886423707038136], [0.61947426334079, 0.979188593584145, 0.9903005386415975, 0.9843698951938611, 0.9733584058105524], [0.6420977313083109, 0.9931389152606287, 0.9955752817097282, 0.9953120104068907, 0.9853080180348364], [0.6340012620905309, 0.9884512968308886, 0.9632123249809869, 0.99957550287963, 0.9886423450293501], [0.6054546184658072, 0.9783380787247486, 0.9999452883570563, 0.9855171672658096, 0.9532643438643019], [0.587733892319221, 0.9855614556397837, 0.9993139603431967, 0.9855095546277869, 0.9521339897248338], [0.5941428352748932, 0.9781736130298118, 0.9999996241530673, 0.9923427455057137, 0.9337125357871834], [0.5767026869638939, 0.978613319341356, 0.9795780833352273, 0.9894237914487268, 0.93200581126189], [0.7497160998143838, 0.8948844106564904, 0.9840109681838931, 0.9830709380908238, 0.9838510205216935], [0.6611880689623657, 0.9007629695280565, 1.0, 0.973403478078456, 0.9838838689491287], [0.7997434452231584, 0.9969877222395628, 0.9880444794537159, 0.9878576935291241, 0.9926675328655661], [0.7680412138337024, 0.9941578535786422, 0.9999919193582875, 0.9956524280277679, 0.9832623300788218], [0.7833752183417723, 0.9877225529677617, 0.9997786926643941, 0.9863688385986562, 0.9882098206698021], [0.7583869317523358, 0.979188593584145, 0.9991143209698065, 0.9838252152812978, 0.9833944234721123], [0.7440467589692314, 0.9773629411418224, 0.9853097498307467, 0.9938575769629076, 0.9995114893043933], [0.7450540251423637, 0.9773629411418224, 0.9930000258972324, 0.9983112440064401, 0.9995114893043933], [0.6766047020282145, 0.9785855080045208, 0.9999892802116217, 0.9893507812623499, 0.9794384752082097], [0.661463783394634, 0.979188593584145, 0.9930928739504237, 0.9843698951938611, 0.9734379795460882], [0.6982867468660389, 0.9883861604230391, 0.9906031363255953, 0.9832975274201872, 0.9886532302211716], [0.7075869388669449, 0.9888262769318662, 0.9943755654908721, 0.9904722059243471, 0.9809281441738773], [0.7212796323888698, 0.9925122528021492, 0.9999216393447259, 0.9925145219972761, 0.9991019233913145], [0.730601873743966, 0.9988589203078877, 0.998616973883799, 0.9766026461794576, 0.9808360873782404], [0.5411791080296305, 0.9939770786413384, 0.9989906739371551, 0.9999699904477946, 0.9588456421133863], [0.5605588254930749, 0.988869957664276, 0.9929172308041012, 0.9996351235037267, 0.9990548927300287], [0.5284205792303381, 0.9791857349720167, 0.9906034385220236, 0.9846945592147159, 0.9964807127970867], [0.5177980122794141, 0.9933227490280623, 0.994605318742138, 0.9844019201475229, 0.9961873973934967], [0.5122841372560057, 0.9947137466047001, 0.9843338384794076, 0.9751219821072186, 0.9483934620697286], [0.4954526283892243, 0.9512441985381623, 0.9986470466857632, 0.9874000346612636, 0.9896815577904101], [0.5698135870439542, 0.9504240705516931, 0.9986470466857632, 0.9876282005030952, 0.9896815577904101], [0.4204684333998188, 0.9939567135815374, 0.999979634930306, 0.9999633486299115, 0.9872741299393657], [0.43953032262813296, 0.974136434342654, 0.9802959753442189, 0.9904727249981351, 0.9723786125358589], [0.4690843877932498, 0.9973596245781149, 0.9995996133203909, 0.9813623194024298, 0.9782439236265368], [0.45991763317741474, 0.9956839843444482, 0.9823720479141408, 0.9970849534048553, 0.9776020297750363], [0.4832155308212146, 0.9819597863143082, 0.9967848298985619, 0.9906550896462373, 0.9995594337736737], [0.45129658251234245, 0.9905897760416864, 0.980946687549681, 0.9151001636925027, 0.9442769824317367], [0.6009675089236217, 0.997271865943984, 0.990994079256771, 0.9999972988456886, 0.9994033228874805], [0.6144409316872191, 0.9994214477545028, 0.9999805946820465, 1.0, 0.9999009921421178], [0.6084671798788712, 0.9999983568350275, 1.0, 1.0, 0.998936875553476], [0.623715307572314, 0.9990046472941894, 0.9909214933987843, 0.9940728600646043, 0.9996822974510216], [0.6552149680539995, 0.9878839380949723, 1.0, 0.9806050939971142, 0.9976623993305226], [0.6449553798670893, 1.0, 1.0, 1.0, 1.0], [0.5932182243451958, 0.9996044563514713, 0.9794430952745864, 0.9999959042307255, 0.9992803385563997], [0.6705211453151795, 1.0, 1.0, 1.0, 1.0], [0.692641897575235, 0.9991053407303476, 0.9986279242463588, 0.9999946930929154, 1.0], [0.7106888900943756, 0.9760426291657136, 1.0, 0.9842113315209287, 1.0], [0.6841220019106034, 0.9916433129123398, 0.9857886495695218, 0.9448523712503022, 0.9911743483706671], [0.7025571289448421, 1.0, 0.9999999427743134, 0.9517355479970454, 1.0], [0.45714115665026656, 0.9999814067386875, 0.9883664964393103, 0.9970152948100178, 0.9999923622907655], [0.4733560739237917, 1.0, 0.9885333383220359, 0.9845199670087326, 0.9869495598734462], [0.4825569183933011, 1.0, 1.0, 1.0, 1.0], [0.4937572516908187, 0.9998101378884329, 0.9911697717673592, 1.0, 0.999977710924988], [0.5015232083599381, 1.0, 0.9999005412700506, 0.9994049448324998, 0.9996858390934162], [0.5127867229255657, 0.9986306866219069, 0.9999005412700506, 0.9994114109175677, 0.9997467996048004], [0.5099664469167623, 1.0, 0.9999999637398428, 1.0, 0.9998424808519251], [0.5513621032449078, 0.98699688980624, 0.990994079256771, 0.999835766496664, 0.9945829308528229], [0.5431303795511997, 0.9996133290970822, 0.9994171678945453, 1.0, 1.0], [0.5381665059713816, 0.9999867564514309, 0.9999943297821391, 0.9999684198239644, 1.0], [0.5680088783452528, 1.0, 1.0, 1.0, 1.0], [0.5726653053717711, 1.0, 0.9999999998531046, 0.9981181851950574, 0.9999873763228809], [0.5296355365097223, 0.9995888182832258, 0.9892224396464772, 0.9965739040425576, 0.9721604345415761], [0.6040788171985623, 0.9999383292495609, 0.9775854227977729, 0.9824507204527919, 0.9999780161085904], [0.5918389879195031, 1.0, 0.9901839674770093, 1.0, 0.999999327505948], [0.6159783476177214, 0.9999986530515719, 0.9692147638395, 1.0, 0.9999788835137898], [0.6318723813659223, 0.9999772017374404, 0.9702195897147367, 0.9998950666939906, 1.0], [0.6406870831531009, 0.9999831318797741, 0.9547199950432459, 0.9999983579316044, 0.9883396143406192], [0.6863046848102253, 1.0, 0.9917130487357083, 1.0, 0.9999999667876002], [0.698277187881031, 0.999998777302797, 0.9918316360524841, 0.9985004431769291, 1.0], [0.7200466144263509, 0.9998001456231851, 0.9916319340912271, 0.9999999864000003, 0.9999999931564143], [0.7112564271796109, 0.9999872194035351, 0.989394839249707, 1.0, 1.0], [0.6687554596797467, 0.979423853272528, 0.9877258388338752, 0.9832737589576697, 0.9999961065121894], [0.6625877507083217, 0.9937910053186949, 0.9877387576418071, 0.9999999971829905, 0.9999932338119091], [0.5613078316447966, 1.0, 0.9692023601767743, 1.0, 0.9999999944025699], [0.5837701245152394, 1.0, 0.9662051814297754, 1.0, 1.0], [0.5368054540862532, 1.0, 0.9533327556573336, 1.0, 1.0], [0.4908164200054157, 0.9980487560712643, 0.9659323101342342, 1.0, 1.0], [0.5032988545872841, 0.995360546956034, 0.9479749496620743, 1.0, 1.0], [0.515668396725413, 0.9863097569196823, 0.988905404803123, 1.0, 0.9989326661518326], [0.5258982535580026, 1.0, 0.9942050303830814, 1.0, 1.0], [0.5034938290314857, 0.999999590758157, 0.9987787739978563, 1.0, 0.9851826168088181], [0.5515045105308788, 0.999999590758157, 0.9987787739978563, 1.0, 1.0], [0.4580571746242003, 0.9964291890556252, 0.9999402001891241, 0.999023061464056, 0.9997470669067006], [0.45091432467704273, 0.9963272115271271, 0.9984239710766084, 0.9999704772137923, 0.9998506717829578], [0.44121083831064856, 0.999999921555265, 0.991737865026251, 0.9985793003749369, 0.9974189750647168], [0.47243230868379493, 0.9999999987865056, 0.9918676370630378, 0.9918924499368853, 1.0], [0.47735801416755075, 0.9999999998742385, 0.9917990812345053, 0.9808621100520425, 1.0], [0.620624585720392, 0.9889128723229536, 0.9905508367458735, 0.9868505110558744, 0.9836103850596144], [0.6059491855646956, 0.9999475054988443, 0.9905508367458735, 0.9997954475083256, 0.9891588441367922], [0.5995089633147421, 1.0, 1.0, 1.0, 1.0], [0.592395130782598, 1.0, 0.9996169274724398, 0.9999998252942326, 0.9998222561944757], [0.6269595992237349, 1.0, 0.9880315411127661, 1.0, 1.0], [0.5892122433117275, 0.9993869314908829, 0.9648057240852161, 0.9968569422705442, 1.0], [0.6414387665170389, 0.974714499226077, 1.0, 1.0, 0.9949677831876422], [0.6489075027145192, 1.0, 1.0, 1.0, 1.0], [0.6622227664644652, 0.9980806104865633, 0.9999823888742745, 0.997273935447503, 0.999996760204835], [0.6584736877387787, 0.9997742616779887, 0.9998954726592728, 0.9995858751307972, 1.0], [0.6736347487147727, 0.9997706993171146, 0.999498369791945, 0.9996109782604048, 0.999992656539937], [0.5821474538443844, 1.0, 0.990965033046063, 0.9945527859926668, 0.9361777950911043], [0.5613469804427468, 1.0, 0.9932441606318423, 1.0, 1.0], [0.5701447792205225, 0.9900561313596514, 1.0, 0.9953265899060595, 0.9991772743721528], [0.5460177063499003, 1.0, 0.9694945426868352, 1.0, 1.0], [0.5193250414491957, 0.9953263472567, 0.9999111081178269, 0.9945527859926668, 1.0], [0.5153729153833975, 0.9996951564107989, 0.9994638007140366, 0.9992276104662864, 0.9997554428806109], [0.5341942673677185, 1.0, 1.0, 0.9945527859926668, 1.0], [0.5380329604889525, 1.0, 1.0, 1.0, 1.0], [0.7678641484805611, 0.9982781834913105, 0.9996709581920604, 0.9999876294919263, 0.999911484520915], [0.7757456462677421, 0.9999998669909504, 1.0, 1.0, 1.0], [0.7876478370901094, 0.9623008205872146, 0.9995148299944435, 0.999989263849581, 1.0], [0.7466915077965381, 0.9422490136399037, 0.9972059857727323, 0.9959229228905726, 1.0], [0.6910693660820252, 0.9889128723229536, 0.9905508367458735, 0.9868505110558744, 0.9915480878777608], [0.7136951384114185, 1.0, 1.0, 0.9996056562416422, 0.9999861747086045], [0.7106295158239859, 1.0, 1.0, 1.0, 1.0], [0.6968450523109809, 1.0, 0.9999056865194135, 1.0, 0.9999300253515621], [0.7534314562330896, 0.999915292219862, 0.9931894542551584, 0.9996348981347578, 0.9989650065719677], [0.7369485930108868, 0.9983399441125725, 0.9978393824081445, 0.9998872660249382, 0.997558960624873], [0.723317481790222, 0.9999576630645438, 0.9905479593485998, 0.9999733691378296, 0.9850719152208577], [0.7284755003720251, 0.9986001588853235, 0.9960917851654321, 0.9969011436033581, 0.9850719152208577], [0.6769721778256961, 0.9518706105852935, 0.9954987222314742, 0.9887967489533872, 0.99369567171472], [0.6169496705866943, 0.9897989436242697, 0.9989865771670228, 0.9880871428300426, 0.9898811083834782], [0.6065954151329837, 0.9890733984939231, 0.9999961173153088, 0.9893020682449397, 0.9903254234115175], [0.6526188862653486, 0.990231590600167, 0.999982631529865, 0.998836451926463, 0.9901124905740266], [0.6477133687994185, 0.9789707572499302, 0.9998401343160388, 0.9911582795561795, 0.9941836770829284], [0.6309588904163599, 0.9832043286455661, 0.999371315547482, 0.9989187823844436, 0.9890099950310388], [0.6347669562575642, 0.9832043286455661, 0.9997442689144667, 0.9989718859589893, 0.9890099950310388], [0.5650687189827606, 0.9877428796181724, 0.9997907326914715, 0.9915766859145408, 0.9882413556591768], [0.5580114177575919, 0.9936402327530047, 0.9999970694542321, 0.9963404713405623, 0.9889289722084041], [0.5796478084448917, 0.9904023082935802, 0.999952176581262, 0.9922585805785475, 0.9889244615937349], [0.5808229334741546, 0.995465951176543, 0.9999811354682543, 0.9752752520093683, 0.9882323192886555], [0.5303576977951164, 0.9936402327530047, 0.9997930383531464, 0.9958855553349495, 0.988333313055828], [0.5386158961310733, 0.9937207174694137, 0.998808289679847, 0.9909617500492204, 0.9894581455382143], [0.546992635108951, 0.9936402327530047, 0.9999970325704808, 0.9963404713405623, 0.9889289722084041], [0.5069368766267504, 0.9936402327530047, 0.9987626527939749, 0.9973186712746445, 0.9945369315704365], [0.6807044869446272, 0.983205288683185, 0.9830154336908697, 0.9995549443421639, 0.9738029293670261], [0.5949343144514735, 0.9894699229959849, 0.9980837068934167, 0.9193536063111385, 0.9906897707882433], [0.669174564264234, 0.9868685940691734, 0.9997182569325468, 0.9357212351802956, 0.9099675349565292], [0.6736537053044088, 0.9864319690053893, 0.9999967855778912, 0.9358145222489792, 0.9099675349565292], [0.6942264047174831, 0.8785180230838057, 0.9992177110304366, 0.9911745647338107, 0.9889592712568307], [0.6143874735837728, 0.9914769837703096, 0.9903187697617715, 0.9760794800409259, 0.9893013489843859], [0.607760596196582, 0.989134415334248, 0.9915474444293804, 0.9877689661230196, 0.9994575363602588], [0.6309653481253645, 0.9714624047035956, 0.9914451316182654, 0.997671351845677, 0.9999989333041286], [0.6411875947333436, 0.9864526674801635, 0.9832869369949625, 0.9877277574737562, 0.989485093645395], [0.6366892226242291, 0.9918840462087407, 0.9762263379477251, 0.9972643020167146, 0.9976775154125512], [0.5962837885332126, 0.9870314800993919, 0.9997194467095754, 0.9761113737175975, 0.9936365832011783], [0.5833648821762154, 0.9924928251781768, 0.994794414747652, 0.9889665873688691, 0.9926698133512507], [0.5596541287405148, 0.9867862784324877, 0.9999488585838103, 0.9877689661230196, 0.9893013489843859], [0.5561274049295448, 0.9864526674801635, 0.9832869369949625, 0.9877277574737562, 0.989485093645395], [0.5477145050488053, 0.9842732787019683, 0.9932114209243578, 0.9930659141091003, 1.0], [0.5701446129983332, 0.9721284181954238, 0.9859425449672257, 0.998590501281955, 0.9999683608839287], [0.5397090503194001, 0.9843837612050361, 0.9742565028301922, 0.9982605486344868, 0.998987540288191], [0.5718845257527372, 0.989134415334248, 0.9635798950815522, 0.9877205537987095, 0.9994575363602588], [0.5856969412283402, 0.987940487723292, 0.9636207793918049, 0.9902974506774828, 0.9999951386634376], [0.6012312751218012, 0.9999095386487079, 0.9684594030036837, 0.9930802831580381, 0.999679510712918], [0.7944946753168788, 0.9259218726516555, 0.999994255411458, 0.9954973272510851, 1.0], [0.7593765388552605, 0.9241637368013559, 0.9973419239131669, 0.9674264074259238, 0.9941631982297084], [0.7649836323225727, 0.9374188634827673, 0.9843116081604366, 0.9865174774418005, 1.0], [0.8103335444317297, 0.8958282996607893, 0.9903661769558368, 0.973703084360948, 0.9998211094589403], [0.6806745673111168, 0.9850628055633684, 0.9967894840994181, 0.9878340926986166, 0.9998814044728845], [0.670056503197811, 0.9904012143841361, 0.9764437201765228, 0.9972812576934563, 0.9946126489454743], [0.6598416627076349, 0.9977941625916988, 0.990422174469522, 0.9681870427795238, 1.0], [0.6499261866090746, 0.9941979480553166, 0.9961401808551228, 0.9778842192455874, 0.9892034703702524], [0.6956965833672284, 0.9996325157662651, 0.9908240863967939, 0.9730493269485264, 0.9999376150882833], [0.7332539836334985, 0.9938980236748417, 0.990521763020618, 0.9673822599799173, 0.9999956019264215], [0.7396966852097357, 0.9875515840407737, 0.9830043570819561, 0.98644487232005, 0.9999386120610668], [0.7235745948223393, 0.9893644499523259, 0.991634300779813, 0.9941075271855476, 0.9982187798334305], [0.7181660256738769, 0.9814837149613437, 0.9999446614933666, 0.9962245633925221, 0.9999541926384602], [0.7174669652902305, 0.9268399719271021, 0.9901828011909155, 0.9776843621558985, 0.9958036113169166], [0.7084507894723978, 0.9557424284906435, 0.9928380842993068, 0.9941999844686009, 0.9999999986081564], [0.7467524038360713, 0.9978926373043171, 0.9956687430204724, 0.9730067773806427, 0.9300106290620661], [0.7784457987969051, 0.9922554882145369, 0.9859079581986555, 0.9758814626611344, 0.9905597049849405], [0.7776683854778751, 0.9955923422941262, 0.9859079581986555, 0.9758814626611344, 0.9905597049849405], [0.6160963451603901, 0.9850073380449439, 0.9999912396172628, 0.9879177038174121, 0.9997430727090469], [0.6001476608489118, 0.9890508303242022, 1.0, 0.9753135200967646, 0.9998482425670114], [0.5519404834616234, 0.9844844593765509, 0.999953679180108, 0.9900442684352949, 0.9819676806771345], [0.5818775171714503, 0.9871297454589547, 0.9892700214933003, 0.9869523385008937, 0.9896354237814956], [0.5763364435911335, 0.99802305398155, 0.9887806069195447, 0.9999250567245637, 0.9895026760216856], [0.6590180123086133, 0.9708899674626016, 0.9622819292380209, 0.9811349600785755, 0.9774199894504297], [0.7061068969176932, 0.9856505648494397, 1.0, 0.9829664193917473, 0.9998584210099437], [0.720213175901671, 0.9850638864809755, 0.9997647310219879, 0.990267827728394, 1.0], [0.7387973903765864, 0.9693248369478588, 1.0, 0.9933321215485584, 0.9998383961880992], [0.6818502019833353, 0.9721783541703967, 0.9998738842239394, 0.977131189344803, 0.9933083792720142], [0.6882351490034425, 0.9700654350950288, 1.0, 0.9864804780407401, 0.9997029381113501], [0.6703229819459999, 0.9850473867013996, 0.9999448428193262, 0.9985173039010178, 0.9882764524520652], [0.697593255953376, 0.973964297824415, 0.9999016259086365, 0.9375983596270854, 0.999688920314324], [0.5949658207822448, 0.9890410553518402, 0.9957757829091697, 0.9833390850392871, 0.9033040474620208], [0.5698066899533957, 0.9448772084362189, 0.9383236644889752, 0.9612827203587698, 0.9541614410793345], [0.4841804167936823, 0.9833466691391123, 0.9998638244468114, 0.9986636308459429, 0.9996796705087161], [0.49988068908176175, 0.996081710923628, 0.9963990410220704, 0.98363658282545, 0.9998725493878375], [0.495943790565588, 0.9715520208815526, 0.9963865292056738, 0.9767660650517874, 0.9761716327355868], [0.5139224076237945, 0.9708899674626016, 0.9744889637824394, 0.981406971417479, 0.9774199894504297], [0.47048008243942174, 0.9666823865973238, 1.0, 0.9753135200967646, 1.0], [0.4634618659585946, 0.9607106220721342, 0.9964840399412715, 0.9707326760230479, 1.0], [0.5367286347402515, 0.9441719694076072, 1.0, 0.9612827203587698, 0.984603476281953], [0.6347806866947724, 0.9996090168977155, 0.9920329069759343, 0.9999961082871013, 0.9880228079634593], [0.6213344175626255, 0.9995825024923937, 0.9949154889722757, 0.9997818792594213, 0.9980185366522539], [0.59886044362205, 0.9999945739011776, 0.9415932045867925, 1.0, 1.0], [0.6110392608809322, 0.9999723564499999, 0.9527704125390223, 1.0, 1.0], [0.616345148966614, 0.9999994730267081, 0.9501358396827065, 0.9917886952841262, 0.9836468327101705], [0.5836984980579636, 0.9999654153069913, 0.9411107340708562, 1.0, 1.0], [0.5768423078433125, 0.9982991483056555, 0.9528750734389703, 0.9966397441266669, 0.9998877663387383], [0.7098204377218609, 0.9653259891046441, 0.9757673889578682, 0.9828250191846227, 0.9883931985586046], [0.7286511275145937, 0.9999318533460105, 0.9948898195260973, 0.9999684004122523, 0.9999999119302316], [0.7349559347697082, 0.9994421012047475, 0.9934032215235407, 0.9915315462848159, 1.0], [0.7184706332548464, 0.9998012798255917, 0.9934032215235407, 0.9930795088674406, 1.0], [0.715296539798404, 0.9996967365514264, 0.9982689540514803, 0.9879474568646649, 1.0], [0.7003119669161565, 0.9996967365514264, 0.9986378267449667, 0.9882010499406066, 0.9929882791429201], [0.6974287915239588, 0.9983398567359885, 0.9986378267449667, 0.9882010499406066, 0.999986028951071], [0.6549325148865706, 1.0, 0.970200004016963, 1.0, 0.9999990775368203], [0.642897744359837, 0.9999806862965999, 0.9527704125390223, 1.0, 1.0], [0.6743864598457543, 0.9973105524349963, 0.989012087533454, 0.9999269644495763, 0.9999999468302075], [0.6629477129776795, 1.0, 0.9893150130794545, 0.9999911212474553, 0.9999998446754658], [0.6866228155040304, 0.9968818019466503, 0.9761357142608829, 0.9999884096601345, 1.0], [0.6870973818361144, 1.0, 0.9854108102899469, 0.999090796409896, 0.9887683110046158], [0.4767466701332394, 0.9974509164028943, 0.9778129953464673, 1.0, 0.999999803924059], [0.4966756642614111, 0.9918574942646409, 0.983461763209429, 0.9984528889458831, 0.9999977954729248], [0.5119238175304589, 1.0, 0.9748167477821554, 0.9999759963177366, 1.0], [0.5453241788250031, 0.998616783301369, 0.9803246915774562, 1.0, 0.9999985206919199], [0.5507406914098051, 0.9999966497327115, 0.9835059560514711, 0.9999994665430229, 0.9999795606396165], [0.5554677107235919, 0.9998746366935588, 0.9913736365962661, 1.0, 0.9999991689257436], [0.5652993958443001, 0.9999966497327115, 0.9763507476013967, 0.9999994665430229, 0.9999795606396165], [0.5348284574052946, 1.0, 0.9774223137705006, 1.0, 0.9999999699290727], [0.5697236959025838, 0.9765102658905362, 0.9763507476013967, 0.9999994665430229, 0.9999994380372664], [0.4912110860686401, 0.9345031379849807, 0.9404005699482795, 0.9822157220193455, 0.9945767348517228]], "centroid": [0.6194952075740855, 0.9879298672783987, 0.9901514208354825, 0.9878603271971118, 0.9902766483853468]}, "1-4": {"solutions": [[4.980921443933873e-10, 0.05088198034321967, 0.036454068304751855, 0.028461563832047253, 0.7688068573246495]], "centroid": [4.980921443933873e-10, 0.05088198034321967, 0.036454068304751855, 0.028461563832047253, 0.7688068573246495]}, "0-6": {"solutions": [[9.270050479732832e-12, 0.3472961907676273, 0.020852189007587493, 0.052802977644879054, 0.0138360608625385], [5.8974133627758e-14, 0.3229656601563637, 0.001947839570936175, 0.0006147335150197223, 0.02328161955115745], [2.7863480159219176e-12, 0.3163507519950577, 0.020718781509015242, 0.03034741447115939, 0.023660132369401437], [4.311461384849495e-12, 0.26732197744142605, 0.020745033170923587, 0.0056600549383192585, 0.012163447352984386]], "centroid": [4.106708503533001e-12, 0.3134836450901187, 0.016065960814615626, 0.022356295142344353, 0.018235315034020445]}, "1-11": {"solutions": [[4.070654010808299e-12, 0.9930404641906206, 0.10518723325645885, 0.9736368534697782, 0.9996626314067248]], "centroid": [4.070654010808299e-12, 0.9930404641906206, 0.10518723325645885, 0.9736368534697782, 0.9996626314067248]}, "0-21": {"solutions": [[8.647990906284625e-14, 0.983205288683185, 0.9649990207938879, 0.9995104500834285, 0.16615493590245362], [1.0984743388335605e-14, 0.9536379297336499, 0.9993018004640717, 0.98526975667242, 0.21428809608617982], [8.647990906284625e-14, 0.975263369371852, 0.9234817800291617, 0.9996277702414705, 0.2377445689233213], [3.774111828180188e-14, 0.9111591657829713, 0.9237890389659131, 0.9982726181427716, 0.2377445689233213]], "centroid": [5.5421419948957495e-14, 0.9558164383929145, 0.9528929100632586, 0.9956701487850227, 0.213983042458819]}, "0-24": {"solutions": [[3.5435792754973106e-16, 0.0476294452882548, 0.8589095714463428, 0.11480118340180798, 0.014828193401611069]], "centroid": [3.5435792754973106e-16, 0.0476294452882548, 0.8589095714463428, 0.11480118340180798, 0.014828193401611069]}, "1-27": {"solutions": [[2.1291020162184093e-17, 0.9847854727104389, 0.9974756796267635, 0.14500175072336452, 0.948041255140271]], "centroid": [2.1291020162184093e-17, 0.9847854727104389, 0.9974756796267635, 0.14500175072336452, 0.948041255140271]}} \ No newline at end of file diff --git a/pymoo/algorithms/moo/kgb.py b/pymoo/algorithms/moo/kgb.py index f93e8cb42..ae049383a 100755 --- a/pymoo/algorithms/moo/kgb.py +++ b/pymoo/algorithms/moo/kgb.py @@ -4,7 +4,10 @@ from pymoo.algorithms.moo.nsga2 import NSGA2 from pymoo.util.nds.non_dominated_sorting import NonDominatedSorting from pymoo.core.population import Population -from sklearn.naive_bayes import GaussianNB +try: + from sklearn.naive_bayes import GaussianNB +except: + raise "Please install sklearn for KGB: pip install scikit-learn" def euclidean_distance(a, b): From e43a069f877760310d4e7f813b30ba37ad22a992 Mon Sep 17 00:00:00 2001 From: Romain Egele Date: Sun, 19 Nov 2023 20:02:34 +0100 Subject: [PATCH 06/26] Wrong Numpy Array Type When Using Choice in MixedVariableMating (#503) * "n_last" replaced by "period" in termination documentation * Fixing wrong numpy array type (not object) when having Choice in MixedVariableMating --- pymoo/core/mixed.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pymoo/core/mixed.py b/pymoo/core/mixed.py index d49a9b2bb..9c547dea9 100644 --- a/pymoo/core/mixed.py +++ b/pymoo/core/mixed.py @@ -94,8 +94,11 @@ def _do(self, problem, pop, n_offsprings, parents=False, **kwargs): crossover = self.crossover[clazz] assert crossover.n_parents == XOVER_N_PARENTS and crossover.n_offsprings == XOVER_N_OFFSPRINGS - _parents = [[Individual(X=np.array([parent.X[var] for var in list_of_vars])) for parent in parents] for - parents in pop] + _parents = [ + [Individual(X=np.array([parent.X[var] for var in list_of_vars], dtype="O" if clazz is Choice else None)) + for parent in parents] + for parents in pop + ] _vars = {e: vars[e] for e in list_of_vars} _xl = np.array([vars[e].lb if hasattr(vars[e], "lb") else None for e in list_of_vars]) From cef2a9a9af900624fd3e524327e2e4c757df40aa Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sun, 19 Nov 2023 12:24:24 -0800 Subject: [PATCH 07/26] Update version and documentation --- .pre-commit-config.yaml | 11 + docs/source/algorithms/hyperparameters.ipynb | 130 ++------- docs/source/algorithms/index.ipynb | 34 ++- docs/source/algorithms/initialization.ipynb | 52 ++-- docs/source/algorithms/list.ipynb | 39 +-- docs/source/algorithms/moo/age.ipynb | 44 ++- docs/source/algorithms/moo/age2.ipynb | 33 ++- docs/source/algorithms/moo/ctaea.ipynb | 72 ++--- docs/source/algorithms/moo/dnsga2.ipynb | 26 +- docs/source/algorithms/moo/kgb.ipynb | 61 +--- docs/source/algorithms/moo/moead.ipynb | 28 +- docs/source/algorithms/moo/nsga2.ipynb | 40 ++- docs/source/algorithms/moo/nsga3.ipynb | 46 ++- docs/source/algorithms/moo/rnsga2.ipynb | 32 +-- docs/source/algorithms/moo/rnsga3.ipynb | 38 ++- docs/source/algorithms/moo/rvea.ipynb | 78 ++---- docs/source/algorithms/moo/sms.ipynb | 36 ++- docs/source/algorithms/moo/unsga3.ipynb | 56 ++-- docs/source/algorithms/soo/brkga.ipynb | 63 ++--- docs/source/algorithms/soo/cmaes.ipynb | 74 ++--- docs/source/algorithms/soo/de.ipynb | 32 +-- docs/source/algorithms/soo/es.ipynb | 32 +-- docs/source/algorithms/soo/g3pcx.ipynb | 28 +- docs/source/algorithms/soo/ga.ipynb | 32 +-- docs/source/algorithms/soo/isres.ipynb | 32 +-- docs/source/algorithms/soo/nelder.ipynb | 32 +-- docs/source/algorithms/soo/pattern.ipynb | 32 +-- docs/source/algorithms/soo/pso.ipynb | 32 +-- docs/source/algorithms/soo/sres.ipynb | 32 +-- docs/source/algorithms/usage.ipynb | 164 ++--------- docs/source/case_studies/index.ipynb | 31 ++- .../case_studies/portfolio_allocation.ipynb | 85 ++---- .../case_studies/subset_selection.ipynb | 54 ++-- docs/source/constraints/as_obj.ipynb | 40 +-- docs/source/constraints/as_penalty.ipynb | 61 ++-- docs/source/constraints/eps.ipynb | 43 ++- docs/source/constraints/feas_first.ipynb | 39 ++- docs/source/constraints/index.ipynb | 61 ++-- docs/source/constraints/problem.ipynb | 18 +- docs/source/constraints/repair.ipynb | 63 ++--- docs/source/contribute.ipynb | 14 +- docs/source/customization/binary.ipynb | 28 +- docs/source/customization/custom.ipynb | 90 ++---- docs/source/customization/discrete.ipynb | 38 ++- .../source/customization/initialization.ipynb | 38 ++- docs/source/customization/mixed.ipynb | 65 ++--- docs/source/customization/permutation.ipynb | 92 ++---- docs/source/customization/subset.ipynb | 54 ++-- docs/source/faq.ipynb | 14 +- docs/source/getting_started/index.ipynb | 26 +- docs/source/getting_started/part_1.ipynb | 47 ++-- docs/source/getting_started/part_2.ipynb | 85 ++---- docs/source/getting_started/part_3.ipynb | 132 ++------- docs/source/getting_started/part_4.ipynb | 169 ++--------- docs/source/getting_started/part_5.ipynb | 26 +- docs/source/getting_started/preface.ipynb | 22 +- docs/source/getting_started/source_code.ipynb | 24 +- docs/source/gradients/index.ipynb | 36 +-- docs/source/home/portfolio.html | 14 +- docs/source/index.rst | 14 - docs/source/installation.ipynb | 54 ++-- docs/source/interface/algorithm.ipynb | 27 +- docs/source/interface/callback.ipynb | 37 ++- docs/source/interface/display.ipynb | 28 +- docs/source/interface/index.ipynb | 26 +- docs/source/interface/minimize.ipynb | 22 +- docs/source/interface/problem.ipynb | 44 ++- docs/source/interface/result.ipynb | 168 ++--------- docs/source/interface/termination.ipynb | 263 +++--------------- docs/source/mcdm/index.ipynb | 104 ++----- docs/source/misc/checkpoint.ipynb | 121 ++------ docs/source/misc/convergence.ipynb | 48 +--- docs/source/misc/decomposition.ipynb | 148 ++-------- docs/source/misc/index.ipynb | 22 +- docs/source/misc/indicators.ipynb | 98 ++----- docs/source/misc/kktpm.ipynb | 48 +--- docs/source/misc/reference_directions.ipynb | 105 ++----- docs/source/operators/crossover.ipynb | 120 ++------ docs/source/operators/index.ipynb | 22 +- docs/source/operators/mutation.ipynb | 54 ++-- docs/source/operators/repair.ipynb | 72 ++--- docs/source/operators/sampling.ipynb | 50 ++-- docs/source/operators/selection.ipynb | 116 ++------ docs/source/operators/survival.ipynb | 189 +------------ docs/source/problems/constrained/mw.ipynb | 147 ++-------- docs/source/problems/definition.ipynb | 72 ++--- docs/source/problems/dynamic/df.ipynb | 188 +++---------- docs/source/problems/index.ipynb | 26 +- docs/source/problems/many/dtlz.ipynb | 96 ++----- docs/source/problems/many/wfg.ipynb | 27 +- docs/source/problems/multi/bnh.ipynb | 29 +- docs/source/problems/multi/omni_test.ipynb | 98 ++----- docs/source/problems/multi/osy.ipynb | 33 ++- docs/source/problems/multi/sym_part.ipynb | 104 ++----- docs/source/problems/multi/tnk.ipynb | 29 +- docs/source/problems/multi/truss2d.ipynb | 40 ++- docs/source/problems/multi/welded_beam.ipynb | 29 +- docs/source/problems/multi/zdt.ipynb | 120 ++------ docs/source/problems/single/ackley.ipynb | 35 +-- docs/source/problems/single/griewank.ipynb | 30 +- docs/source/problems/single/rastrigin.ipynb | 35 +-- docs/source/problems/single/rosenbrock.ipynb | 39 ++- docs/source/problems/single/zakharov.ipynb | 39 ++- docs/source/problems/test_problems.ipynb | 30 +- docs/source/versions.ipynb | 148 +++------- docs/source/visualization/heatmap.ipynb | 80 ++---- docs/source/visualization/index.ipynb | 49 ++-- docs/source/visualization/pcp.ipynb | 52 +--- docs/source/visualization/petal.ipynb | 72 ++--- docs/source/visualization/radar.ipynb | 46 +-- docs/source/visualization/radviz.ipynb | 40 +-- docs/source/visualization/scatter.ipynb | 46 +-- docs/source/visualization/star.ipynb | 52 ++-- examples/algorithms/moo/dynamic_comparison.py | 2 +- pymoo/version.py | 2 +- tests/test_docs.py | 2 +- 116 files changed, 2061 insertions(+), 4726 deletions(-) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..ad2b8da62 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,11 @@ +repos: + - repo: https://github.com/srstevenson/nb-clean + rev: 3.1.0 + hooks: + - id: nb-clean + args: + - --remove-empty-cells + - --preserve-cell-metadata + - tags + - format + - -- diff --git a/docs/source/algorithms/hyperparameters.ipynb b/docs/source/algorithms/hyperparameters.ipynb index 030949df7..dd442204a 100644 --- a/docs/source/algorithms/hyperparameters.ipynb +++ b/docs/source/algorithms/hyperparameters.ipynb @@ -2,35 +2,21 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_algorithms_hyperparameters:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# Hyperparameters" ] }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -40,11 +26,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Most algoriths have **hyperparameters**. For some optimization methods the parameters are already defined and can directly be optimized. For instance, for Differential Evolution (DE) the parameters can be found by:" ] @@ -52,17 +34,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:48.308627Z", - "iopub.status.busy": "2022-08-01T02:36:48.308160Z", - "iopub.status.idle": "2022-08-01T02:36:48.364512Z", - "shell.execute_reply": "2022-08-01T02:36:48.363614Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "import json\n", @@ -75,22 +47,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "If not provided directly, when initializing a `HyperparameterProblem` these variables are directly used for optimization." ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Secondly, one needs to define what exactly should be optimized. For instance, for a single run on a problem (with a fixed random seed) using the well-known parameter optimization toolkit [Optuna](https://optuna.org), the implementation may look as follows:" ] @@ -98,17 +62,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:48.369753Z", - "iopub.status.busy": "2022-08-01T02:36:48.369415Z", - "iopub.status.idle": "2022-08-01T02:36:59.415863Z", - "shell.execute_reply": "2022-08-01T02:36:59.414988Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.hyperparameters import SingleObjectiveSingleRun, HyperparameterProblem\n", @@ -141,11 +95,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Of course, you can also directly use the `MixedVariableGA` available in our framework:" ] @@ -153,17 +103,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:59.419480Z", - "iopub.status.busy": "2022-08-01T02:36:59.419084Z", - "iopub.status.idle": "2022-08-01T02:37:05.995629Z", - "shell.execute_reply": "2022-08-01T02:37:05.994612Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.hyperparameters import SingleObjectiveSingleRun, HyperparameterProblem\n", @@ -198,11 +138,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Now, optimizing the parameters for a **single random seed** is often not desirable. And this is precisely what makes hyper-parameter optimization computationally expensive. So instead of using just a single random seed, we can use the `MultiRun` performance assessment to average over multiple runs as follows:" ] @@ -210,17 +146,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:37:06.000183Z", - "iopub.status.busy": "2022-08-01T02:37:05.999864Z", - "iopub.status.idle": "2022-08-01T02:37:21.459474Z", - "shell.execute_reply": "2022-08-01T02:37:21.458554Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.hyperparameters import HyperparameterProblem, MultiRun, stats_single_objective_mean\n", @@ -255,11 +181,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Another way of performance measure is the number of evaluations until a specific goal has been reached. For single-objective optimization, such a goal is most likely until a minimum function value has been found. Thus, for the termination, we use `MinimumFunctionValueTermination` with a value of `1e-5`. We run the method for each random seed until this value has been reached or at most `500` function evaluations have taken place. The performance is then measured by the average number of function evaluations (`func_stats=stats_avg_nevals`) to reach the goal." ] @@ -267,17 +189,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:37:21.462989Z", - "iopub.status.busy": "2022-08-01T02:37:21.462728Z", - "iopub.status.idle": "2022-08-01T02:37:38.013305Z", - "shell.execute_reply": "2022-08-01T02:37:38.012403Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.hyperparameters import HyperparameterProblem, MultiRun, stats_avg_nevals\n", @@ -313,7 +225,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/index.ipynb b/docs/source/algorithms/index.ipynb index 8c05737ea..84f0ab9f2 100644 --- a/docs/source/algorithms/index.ipynb +++ b/docs/source/algorithms/index.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_algorithms:" ] @@ -18,9 +16,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. toctree::\n", " :hidden:\n", @@ -52,7 +48,8 @@ " moo/age2\n", " moo/rvea\n", " moo/sms\n", - " moo/dnsga2\n" + " moo/dnsga2\n", + " moo/kgb\n" ] }, { @@ -64,9 +61,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -77,7 +72,24 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/initialization.ipynb b/docs/source/algorithms/initialization.ipynb index 541e764d2..ba8006b13 100644 --- a/docs/source/algorithms/initialization.ipynb +++ b/docs/source/algorithms/initialization.ipynb @@ -2,45 +2,28 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_algorithms_init:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# Initialization" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Algorithms are directly initialized using the corresponding constructor." ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Directly initializing the object keeps the code clean and if you use an idea lets you quickly jump to the definition of the algorithm and find hyperparameters to modify." ] @@ -48,18 +31,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:37:41.860818Z", - "iopub.status.busy": "2022-08-01T02:37:41.860438Z", - "iopub.status.idle": "2022-08-01T02:37:41.907117Z", - "shell.execute_reply": "2022-08-01T02:37:41.906417Z" - }, - "pycharm": { - "name": "#%%\n" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -67,7 +39,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/list.ipynb b/docs/source/algorithms/list.ipynb index e51595b48..4d5ce3f25 100644 --- a/docs/source/algorithms/list.ipynb +++ b/docs/source/algorithms/list.ipynb @@ -2,35 +2,21 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_algorithms_list:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# List Of Algorithms" ] }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. csv-table:: Algorithms available in pymoo\n", " :header: \"Algorithm\", \"Class\", \"Objective(s)\", \"Constraints\", \"Description\"\n", @@ -39,7 +25,24 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/age.ipynb b/docs/source/algorithms/moo/age.ipynb index 34fd2a805..79c6c8b81 100644 --- a/docs/source/algorithms/moo/age.ipynb +++ b/docs/source/algorithms/moo/age.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_agemoea:" ] @@ -57,16 +55,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "algorithms/usage_nsga2.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:37:58.389087Z", - "iopub.status.busy": "2022-08-01T02:37:58.388483Z", - "iopub.status.idle": "2022-08-01T02:38:09.398062Z", - "shell.execute_reply": "2022-08-01T02:38:09.397102Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.age import AGEMOEA\n", @@ -101,16 +90,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "algorithms/usage_nsga2_binary.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:38:09.402666Z", - "iopub.status.busy": "2022-08-01T02:38:09.402311Z", - "iopub.status.idle": "2022-08-01T02:38:28.753407Z", - "shell.execute_reply": "2022-08-01T02:38:28.752637Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.age import AGEMOEA\n", @@ -154,16 +134,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.age.AGEMOEA\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/age2.ipynb b/docs/source/algorithms/moo/age2.ipynb index 462d21dc6..1c8144f47 100644 --- a/docs/source/algorithms/moo/age2.ipynb +++ b/docs/source/algorithms/moo/age2.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_agemoea2:" ] @@ -34,16 +32,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "algorithms/usage_nsga2.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:40:12.867840Z", - "iopub.status.busy": "2022-08-01T02:40:12.867466Z", - "iopub.status.idle": "2022-08-01T02:40:25.525000Z", - "shell.execute_reply": "2022-08-01T02:40:25.524091Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.age2 import AGEMOEA2\n", @@ -76,16 +65,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.age2.AGEMOEA2\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/ctaea.ipynb b/docs/source/algorithms/moo/ctaea.ipynb index b5976a317..69f002fca 100644 --- a/docs/source/algorithms/moo/ctaea.ipynb +++ b/docs/source/algorithms/moo/ctaea.ipynb @@ -2,23 +2,14 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_ctaea:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# C-TAEA\n", "\n", @@ -31,18 +22,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:38:55.107829Z", - "iopub.status.busy": "2022-08-01T02:38:55.107203Z", - "iopub.status.idle": "2022-08-01T02:39:37.950795Z", - "shell.execute_reply": "2022-08-01T02:39:37.949837Z" - }, - "pycharm": { - "name": "#%%\n" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.ctaea import CTAEA\n", @@ -75,18 +55,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:39:37.962823Z", - "iopub.status.busy": "2022-08-01T02:39:37.962497Z", - "iopub.status.idle": "2022-08-01T02:40:09.351112Z", - "shell.execute_reply": "2022-08-01T02:40:09.350005Z" - }, - "pycharm": { - "name": "#%%\n" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"carside\")\n", @@ -104,23 +73,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## API" ] }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.ctaea.CTAEA\n", " :noindex:" @@ -128,17 +88,25 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Python implementation by [cyrilpic](https://github.com/cyrilpic) based on the [original C code](https://web.archive.org/web/20200916105021/https://cola-laboratory.github.io/docs/publications)." ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/dnsga2.ipynb b/docs/source/algorithms/moo/dnsga2.ipynb index 29ccaa5a3..102617b9b 100644 --- a/docs/source/algorithms/moo/dnsga2.ipynb +++ b/docs/source/algorithms/moo/dnsga2.ipynb @@ -3,9 +3,7 @@ { "cell_type": "raw", "id": "1c4f9d85-e64f-4680-a937-1079d69d5c33", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dnsga2:" ] @@ -13,9 +11,7 @@ { "cell_type": "markdown", "id": "f0a1dfd8-a241-4f73-b8db-3ed46ae7fd23", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "# D-NSGA-II: Dynamic Multi-Objective Optimization Using Modified NSGA-II" ] @@ -32,14 +28,7 @@ "cell_type": "code", "execution_count": null, "id": "4a786da2-8c26-406e-ad1e-c6f0159793c1", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:40:29.361615Z", - "iopub.status.busy": "2022-08-01T02:40:29.360969Z", - "iopub.status.idle": "2022-08-01T02:40:33.474285Z", - "shell.execute_reply": "2022-08-01T02:40:33.473443Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.dnsga2 import DNSGA2\n", @@ -54,14 +43,12 @@ "\n", "algorithm = DNSGA2(version=\"A\")\n", "\n", - "simulation = TimeSimulation()\n", - "\n", "res = minimize(problem,\n", " algorithm,\n", " termination=('n_gen', 100),\n", - " callback=CallbackCollection(ObjectiveSpaceAnimation(), simulation),\n", + " callback=TimeSimulation(),\n", " seed=1,\n", - " verbose=True)\n" + " verbose=False)\n" ] } ], @@ -80,8 +67,7 @@ "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" + "pygments_lexer": "ipython3" } }, "nbformat": 4, diff --git a/docs/source/algorithms/moo/kgb.ipynb b/docs/source/algorithms/moo/kgb.ipynb index 9e7856ace..5f51a470e 100644 --- a/docs/source/algorithms/moo/kgb.ipynb +++ b/docs/source/algorithms/moo/kgb.ipynb @@ -2,28 +2,21 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_kgb:" ] }, { "cell_type": "markdown", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "# KGB-DMOEA: Knowledge-Guided Bayesian Dynamic Multi-Objective Evolutionary Algorithm" ] }, { "cell_type": "markdown", - "metadata": { - "jp-MarkdownHeadingCollapsed": true, - "tags": [] - }, + "metadata": {}, "source": [ "KGB-DMOEA is a sophisticated evolutionary algorithm for dynamic multi-objective optimization problems (DMOPs). It employs a knowledge-guided Bayesian classification approach to adeptly navigate and adapt to changing Pareto-optimal solutions in dynamic environments. This algorithm utilizes past search experiences, distinguishing them as beneficial or non-beneficial, to effectively direct the search in new scenarios." ] @@ -37,7 +30,7 @@ "\n", "- **Knowledge Reconstruction-Examination (KRE):** Dynamically re-evaluates historical optimal solutions based on their relevance and utility in the current environment. \n", "- **Bayesian Classification:** Employs a Naive Bayesian Classifier to forecast high-quality initial populations for new environments.\n", - "- **Adaptive Strategy:** Incorporates dynamic parameter adjustment for optimized performance across varying dynamic contexts." + "- **Adaptive Strategy:** Incorporates dynamic parameter adjustment for optimized performance across varying dynamic contexts.\n" ] }, { @@ -45,35 +38,6 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [ - "\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Example" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'pymoo.algorithms.moo.kgb'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/var/folders/dp/fdf8szyn3zd4kcyh18gxsyvm0000gn/T/ipykernel_78338/2424210873.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0malgorithms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkgb\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mKGB\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcallback\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mCallbackCollection\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptimize\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mminimize\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mproblems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdyn\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mTimeSimulation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpymoo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mproblems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdynamic\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdf\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mDF1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pymoo.algorithms.moo.kgb'" - ] - } - ], "source": [ "from pymoo.algorithms.moo.kgb import KGB\n", "from pymoo.core.callback import CallbackCollection\n", @@ -87,21 +51,17 @@ "\n", "algorithm = KGB()\n", "\n", - "simulation = TimeSimulation()\n", - "\n", "res = minimize(problem,\n", " algorithm,\n", - " termination=('n_gen', 100),\n", - " callback=CallbackCollection(ObjectiveSpaceAnimation(), simulation),\n", + " termination=('n_gen', 10),\n", + " callback=TimeSimulation(),\n", " seed=1,\n", - " verbose=True)\n" + " verbose=False)\n" ] }, { "cell_type": "markdown", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "### Parameters \n", "\n", @@ -123,7 +83,7 @@ "cell_type": "raw", "metadata": {}, "source": [ - "Yulong Ye, Lingjie Li, Qiuzhen Lin, Ka-Chun Wong, Jianqiang Li, Zhong Ming. “A knowledge guided Bayesian classification for dynamic multi-objective optimization”. Knowledge-Based Systems, Volume 251, 2022. Link to the paper" + "Yulong Ye, Lingjie Li, Qiuzhen Lin, Ka-Chun Wong, Jianqiang Li, Zhong Ming. “A knowledge guided Bayesian classification for dynamic multi-objective optimization”. Knowledge-Based Systems, Volume 251, 2022." ] } ], @@ -142,8 +102,7 @@ "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" + "pygments_lexer": "ipython3" } }, "nbformat": 4, diff --git a/docs/source/algorithms/moo/moead.ipynb b/docs/source/algorithms/moo/moead.ipynb index 87c5806cc..06132fcd3 100644 --- a/docs/source/algorithms/moo/moead.ipynb +++ b/docs/source/algorithms/moo/moead.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_moead:" ] @@ -23,12 +21,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:38:32.433379Z", - "iopub.status.busy": "2022-08-01T02:38:32.433016Z", - "iopub.status.idle": "2022-08-01T02:38:51.604270Z", - "shell.execute_reply": "2022-08-01T02:38:51.603527Z" - }, "tags": [] }, "outputs": [], @@ -67,16 +59,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.moead.MOEAD\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/nsga2.ipynb b/docs/source/algorithms/moo/nsga2.ipynb index 063790524..9c5322be5 100644 --- a/docs/source/algorithms/moo/nsga2.ipynb +++ b/docs/source/algorithms/moo/nsga2.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_nsga2:" ] @@ -27,9 +25,7 @@ }, { "cell_type": "markdown", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "# NSGA-II: Non-dominated Sorting Genetic Algorithm" ] @@ -86,9 +82,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -122,15 +116,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:41:41.424586Z", - "iopub.status.busy": "2022-08-01T02:41:41.424186Z", - "iopub.status.idle": "2022-08-01T02:41:52.509972Z", - "shell.execute_reply": "2022-08-01T02:41:52.509081Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -167,16 +153,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.nsga2.NSGA2\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/nsga3.ipynb b/docs/source/algorithms/moo/nsga3.ipynb index 3bc40d61e..30bcaefb0 100644 --- a/docs/source/algorithms/moo/nsga3.ipynb +++ b/docs/source/algorithms/moo/nsga3.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_nsga3:" ] @@ -79,15 +77,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:40:55.515469Z", - "iopub.status.busy": "2022-08-01T02:40:55.514884Z", - "iopub.status.idle": "2022-08-01T02:41:09.986121Z", - "shell.execute_reply": "2022-08-01T02:41:09.985458Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga3 import NSGA3\n", @@ -117,15 +107,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:41:09.990271Z", - "iopub.status.busy": "2022-08-01T02:41:09.989967Z", - "iopub.status.idle": "2022-08-01T02:41:24.723125Z", - "shell.execute_reply": "2022-08-01T02:41:24.722224Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res = minimize(get_problem(\"dtlz1^-1\"),\n", @@ -138,25 +120,33 @@ }, { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.nsga3.NSGA3\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/rnsga2.ipynb b/docs/source/algorithms/moo/rnsga2.ipynb index 041c2e07c..4bca04808 100644 --- a/docs/source/algorithms/moo/rnsga2.ipynb +++ b/docs/source/algorithms/moo/rnsga2.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_rnsga2:" ] @@ -62,15 +60,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:41:28.550073Z", - "iopub.status.busy": "2022-08-01T02:41:28.549443Z", - "iopub.status.idle": "2022-08-01T02:41:32.621805Z", - "shell.execute_reply": "2022-08-01T02:41:32.620855Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -116,16 +106,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.rnsga2.RNSGA2\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/rnsga3.ipynb b/docs/source/algorithms/moo/rnsga3.ipynb index 84d8147d2..f35ed7d3c 100644 --- a/docs/source/algorithms/moo/rnsga3.ipynb +++ b/docs/source/algorithms/moo/rnsga3.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_rnsga3:" ] @@ -64,12 +62,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:41:56.232538Z", - "iopub.status.busy": "2022-08-01T02:41:56.232135Z", - "iopub.status.idle": "2022-08-01T02:42:03.282443Z", - "shell.execute_reply": "2022-08-01T02:42:03.281758Z" - }, "tags": [] }, "outputs": [], @@ -114,12 +106,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:03.285933Z", - "iopub.status.busy": "2022-08-01T02:42:03.285662Z", - "iopub.status.idle": "2022-08-01T02:42:21.939742Z", - "shell.execute_reply": "2022-08-01T02:42:21.939026Z" - }, "tags": [] }, "outputs": [], @@ -157,25 +143,33 @@ }, { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.rnsga3.RNSGA3\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/rvea.ipynb b/docs/source/algorithms/moo/rvea.ipynb index 849a0ae91..b0b11b1fa 100644 --- a/docs/source/algorithms/moo/rvea.ipynb +++ b/docs/source/algorithms/moo/rvea.ipynb @@ -2,45 +2,28 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_rvea:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# RVEA: Reference Vector Guided Evolutionary Algorithm" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "The algorithm is implemented based on . In RVEA, a scalarization approach, termed angle penalized distance (APD), is adopted to balance the convergence and diversity of the solutions in the high-dimensional objective space. Furthermore, an adaptation strategy is proposed to dynamically adjust the reference vectors' distribution according to the objective functions' scales. An illustration of the APD is shown below:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "
\n", " \n", @@ -49,23 +32,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Example" ] }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -76,18 +50,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:25.461155Z", - "iopub.status.busy": "2022-08-01T02:42:25.460793Z", - "iopub.status.idle": "2022-08-01T02:42:28.508517Z", - "shell.execute_reply": "2022-08-01T02:42:28.507785Z" - }, - "pycharm": { - "name": "#%%\n" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.rvea import RVEA\n", @@ -116,30 +79,33 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.rvea.RVEA\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/sms.ipynb b/docs/source/algorithms/moo/sms.ipynb index 3cd768ef9..86c7234d2 100644 --- a/docs/source/algorithms/moo/sms.ipynb +++ b/docs/source/algorithms/moo/sms.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_sms:" ] @@ -41,9 +39,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -61,15 +57,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:37:49.158027Z", - "iopub.status.busy": "2022-08-01T02:37:49.157669Z", - "iopub.status.idle": "2022-08-01T02:37:54.867445Z", - "shell.execute_reply": "2022-08-01T02:37:54.866443Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.sms import SMSEMOA\n", @@ -102,16 +90,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.sms.SMSEMOA\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/moo/unsga3.ipynb b/docs/source/algorithms/moo/unsga3.ipynb index 443799f93..0a22e2bfe 100644 --- a/docs/source/algorithms/moo/unsga3.ipynb +++ b/docs/source/algorithms/moo/unsga3.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_unsga3:" ] @@ -40,15 +38,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:40:36.997417Z", - "iopub.status.busy": "2022-08-01T02:40:36.996984Z", - "iopub.status.idle": "2022-08-01T02:40:43.735821Z", - "shell.execute_reply": "2022-08-01T02:40:43.735074Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -87,15 +77,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:40:43.739320Z", - "iopub.status.busy": "2022-08-01T02:40:43.738943Z", - "iopub.status.idle": "2022-08-01T02:40:50.648379Z", - "shell.execute_reply": "2022-08-01T02:40:50.647603Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "_res = minimize(problem,\n", @@ -109,15 +91,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:40:50.651828Z", - "iopub.status.busy": "2022-08-01T02:40:50.651562Z", - "iopub.status.idle": "2022-08-01T02:40:50.925887Z", - "shell.execute_reply": "2022-08-01T02:40:50.924799Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -137,25 +111,33 @@ }, { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.moo.unsga3.UNSGA3\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/brkga.ipynb b/docs/source/algorithms/soo/brkga.ipynb index 6b4ac2dde..dba377716 100644 --- a/docs/source/algorithms/soo/brkga.ipynb +++ b/docs/source/algorithms/soo/brkga.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_brkga:" ] @@ -45,15 +43,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:43:35.740726Z", - "iopub.status.busy": "2022-08-01T02:43:35.740369Z", - "iopub.status.idle": "2022-08-01T02:43:35.767030Z", - "shell.execute_reply": "2022-08-01T02:43:35.766163Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -84,15 +74,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:43:35.770716Z", - "iopub.status.busy": "2022-08-01T02:43:35.770423Z", - "iopub.status.idle": "2022-08-01T02:43:35.775275Z", - "shell.execute_reply": "2022-08-01T02:43:35.774583Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.duplicate import ElementwiseDuplicateElimination\n", @@ -114,16 +96,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "algorithms/usage_brkga.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:43:35.778652Z", - "iopub.status.busy": "2022-08-01T02:43:35.778360Z", - "iopub.status.idle": "2022-08-01T02:43:35.783128Z", - "shell.execute_reply": "2022-08-01T02:43:35.782532Z" - }, - "section": "problem" - }, + "metadata": {}, "outputs": [], "source": [ "np.random.seed(2)\n", @@ -142,15 +115,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:43:35.786491Z", - "iopub.status.busy": "2022-08-01T02:43:35.786225Z", - "iopub.status.idle": "2022-08-01T02:43:47.539174Z", - "shell.execute_reply": "2022-08-01T02:43:47.538573Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.brkga import BRKGA\n", @@ -183,16 +148,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.brkga.BRKGA\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/cmaes.ipynb b/docs/source/algorithms/soo/cmaes.ipynb index 7d2f24aaf..911219cb8 100644 --- a/docs/source/algorithms/soo/cmaes.ipynb +++ b/docs/source/algorithms/soo/cmaes.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_cmaes:" ] @@ -42,15 +40,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:51.984928Z", - "iopub.status.busy": "2022-08-01T02:42:51.984512Z", - "iopub.status.idle": "2022-08-01T02:42:52.495245Z", - "shell.execute_reply": "2022-08-01T02:42:52.494538Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -81,15 +71,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:52.499497Z", - "iopub.status.busy": "2022-08-01T02:42:52.499166Z", - "iopub.status.idle": "2022-08-01T02:42:52.528408Z", - "shell.execute_reply": "2022-08-01T02:42:52.527724Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res = minimize(problem,\n", @@ -104,15 +86,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:52.532288Z", - "iopub.status.busy": "2022-08-01T02:42:52.531939Z", - "iopub.status.idle": "2022-08-01T02:42:52.554711Z", - "shell.execute_reply": "2022-08-01T02:42:52.554080Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res = minimize(problem,\n", @@ -134,14 +108,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:52.558531Z", - "iopub.status.busy": "2022-08-01T02:42:52.558233Z", - "iopub.status.idle": "2022-08-01T02:42:52.966052Z", - "shell.execute_reply": "2022-08-01T02:42:52.965427Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"rastrigin\")\n", @@ -168,14 +135,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:52.969686Z", - "iopub.status.busy": "2022-08-01T02:42:52.969346Z", - "iopub.status.idle": "2022-08-01T02:42:53.412717Z", - "shell.execute_reply": "2022-08-01T02:42:53.411591Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -212,25 +172,33 @@ }, { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.cmaes.CMAES\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/de.ipynb b/docs/source/algorithms/soo/de.ipynb index 2a1471d3d..bca283539 100644 --- a/docs/source/algorithms/soo/de.ipynb +++ b/docs/source/algorithms/soo/de.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_de:" ] @@ -78,15 +76,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:32.165406Z", - "iopub.status.busy": "2022-08-01T02:42:32.164895Z", - "iopub.status.idle": "2022-08-01T02:42:34.859580Z", - "shell.execute_reply": "2022-08-01T02:42:34.858677Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.de import DE\n", @@ -124,16 +114,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.de.DE\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/es.ipynb b/docs/source/algorithms/soo/es.ipynb index 28dca7340..18e50b8ac 100644 --- a/docs/source/algorithms/soo/es.ipynb +++ b/docs/source/algorithms/soo/es.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_es:" ] @@ -44,15 +42,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:42.089822Z", - "iopub.status.busy": "2022-08-01T02:42:42.089478Z", - "iopub.status.idle": "2022-08-01T02:42:44.451924Z", - "shell.execute_reply": "2022-08-01T02:42:44.451168Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.es import ES\n", @@ -81,16 +71,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.es.ES\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/g3pcx.ipynb b/docs/source/algorithms/soo/g3pcx.ipynb index da4e7c84d..9538d99b1 100644 --- a/docs/source/algorithms/soo/g3pcx.ipynb +++ b/docs/source/algorithms/soo/g3pcx.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_g3pcx:" ] @@ -28,12 +26,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:43:51.052247Z", - "iopub.status.busy": "2022-08-01T02:43:51.051496Z", - "iopub.status.idle": "2022-08-01T02:43:52.690858Z", - "shell.execute_reply": "2022-08-01T02:43:52.690248Z" - }, "tags": [] }, "outputs": [], @@ -63,9 +55,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.g3pcx.G3PCX\n", " :noindex:\n", @@ -73,7 +63,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/ga.ipynb b/docs/source/algorithms/soo/ga.ipynb index 25f958b24..8053bcf90 100644 --- a/docs/source/algorithms/soo/ga.ipynb +++ b/docs/source/algorithms/soo/ga.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_ga:" ] @@ -53,15 +51,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:56.920242Z", - "iopub.status.busy": "2022-08-01T02:42:56.919870Z", - "iopub.status.idle": "2022-08-01T02:42:58.480007Z", - "shell.execute_reply": "2022-08-01T02:42:58.479008Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -91,16 +81,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autofunction:: pymoo.algorithms.soo.nonconvex.ga.GA\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/isres.ipynb b/docs/source/algorithms/soo/isres.ipynb index dde6f44fe..ec29db835 100644 --- a/docs/source/algorithms/soo/isres.ipynb +++ b/docs/source/algorithms/soo/isres.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_isres:" ] @@ -42,15 +40,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:43:01.999249Z", - "iopub.status.busy": "2022-08-01T02:43:01.998607Z", - "iopub.status.idle": "2022-08-01T02:43:14.366442Z", - "shell.execute_reply": "2022-08-01T02:43:14.365662Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.isres import ISRES\n", @@ -79,16 +69,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.isres.ISRES\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/nelder.ipynb b/docs/source/algorithms/soo/nelder.ipynb index 5944a669b..5a287aab6 100644 --- a/docs/source/algorithms/soo/nelder.ipynb +++ b/docs/source/algorithms/soo/nelder.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_nelder_mead:" ] @@ -22,15 +20,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:43:56.210201Z", - "iopub.status.busy": "2022-08-01T02:43:56.209589Z", - "iopub.status.idle": "2022-08-01T02:43:56.520704Z", - "shell.execute_reply": "2022-08-01T02:43:56.519914Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.nelder import NelderMead\n", @@ -58,16 +48,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.nelder.NelderMead\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/pattern.ipynb b/docs/source/algorithms/soo/pattern.ipynb index aa5e731e3..178bfced5 100644 --- a/docs/source/algorithms/soo/pattern.ipynb +++ b/docs/source/algorithms/soo/pattern.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_pattern_search:" ] @@ -27,15 +25,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:38.404703Z", - "iopub.status.busy": "2022-08-01T02:42:38.404290Z", - "iopub.status.idle": "2022-08-01T02:42:38.557754Z", - "shell.execute_reply": "2022-08-01T02:42:38.556883Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.pattern import PatternSearch\n", @@ -64,16 +54,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.pattern.PatternSearch\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/pso.ipynb b/docs/source/algorithms/soo/pso.ipynb index 8bbf8b09b..8b06e911e 100644 --- a/docs/source/algorithms/soo/pso.ipynb +++ b/docs/source/algorithms/soo/pso.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_pso:" ] @@ -88,15 +86,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:42:48.076384Z", - "iopub.status.busy": "2022-08-01T02:42:48.075980Z", - "iopub.status.idle": "2022-08-01T02:42:48.444798Z", - "shell.execute_reply": "2022-08-01T02:42:48.443890Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.pso import PSO\n", @@ -124,9 +114,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.pso.PSO\n", " :noindex:\n", @@ -134,7 +122,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/soo/sres.ipynb b/docs/source/algorithms/soo/sres.ipynb index 6f36b5a05..b148367bc 100644 --- a/docs/source/algorithms/soo/sres.ipynb +++ b/docs/source/algorithms/soo/sres.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_sres:" ] @@ -61,15 +59,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:43:17.871687Z", - "iopub.status.busy": "2022-08-01T02:43:17.871244Z", - "iopub.status.idle": "2022-08-01T02:43:32.165071Z", - "shell.execute_reply": "2022-08-01T02:43:32.164461Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.sres import SRES\n", @@ -105,16 +95,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.sres.SRES\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/algorithms/usage.ipynb b/docs/source/algorithms/usage.ipynb index 942a1e27c..94c339750 100644 --- a/docs/source/algorithms/usage.ipynb +++ b/docs/source/algorithms/usage.ipynb @@ -3,10 +3,6 @@ { "cell_type": "raw", "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -15,11 +11,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# Usage" ] @@ -27,10 +19,6 @@ { "cell_type": "raw", "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -45,10 +33,6 @@ { "cell_type": "raw", "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -57,22 +41,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## Functional" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "As you might be used to executing algorithms from other frameworks, pymoo offers a functional interface. It requires to pass the problem to be solved, the algorithm to be used, and optionally (but for most algorithms recommend) a termination condition. Other important arguments are discussed in the [Interface](../interface/index.ipynb) tutorial. For executing custom code in between iterations the [Callback](../interface/callback.ipynb) object can be useful. Moreover, it is worth noting that the algorithm object is cloned before being modified. Thus, two calls with the same algorithm object and random seed lead to the same result." ] @@ -80,20 +56,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:40.097490Z", - "iopub.status.busy": "2022-08-01T02:36:40.096831Z", - "iopub.status.idle": "2022-08-01T02:36:40.450301Z", - "shell.execute_reply": "2022-08-01T02:36:40.449563Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -117,10 +80,6 @@ { "cell_type": "raw", "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -129,22 +88,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## Object-oriented" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Instead of passing the algorithm to the `minimize` function, it can be used directly for optimization. The first way using the `next` function is available for all algorithms in pymoo. The second way provides a convenient **Ask and Tell** interface, available for most evolutionary algorithms. The reason to use one or the other interface is to have more control during an algorithm execution or even modify the algorithm object while injecting new solutions." ] @@ -152,10 +103,6 @@ { "cell_type": "raw", "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -164,22 +111,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Next Function" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Directly using the `algorithm` object will modify its state during runtime. This allows to ask the object if one more iteration shall be executed or not by calling `algorithm.has_next()`. As soon as the termination criterion has been satisfied, this will return `False`, ending the run. \n", "Here, we show a custom printout in each iteration (from the second iteration on). Of course, more sophisticated procedures can be incorporated." @@ -188,20 +127,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:40.454106Z", - "iopub.status.busy": "2022-08-01T02:36:40.453766Z", - "iopub.status.idle": "2022-08-01T02:36:40.664458Z", - "shell.execute_reply": "2022-08-01T02:36:40.663770Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "import datetime\n", @@ -236,10 +162,6 @@ { "cell_type": "raw", "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -248,33 +170,21 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Ask and Tell" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "The `next` method already provides much more control over the algorithm executing than the functional interface. However, the call of the `next` function on the algorithm object still is considered a black box. This is where the **Ask and Tell** interface comes into play. Instead of calling one function, two function calls are executed. First, `algorithm.ask()` returns a solution set to be evaluated, and second, `algorithm.tell(solutions)` receives the evaluated solutions to proceed to the next generation. This gives even further control over the run. " ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### Problem-Depdendent\n", "\n", @@ -284,20 +194,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:40.667774Z", - "iopub.status.busy": "2022-08-01T02:36:40.667516Z", - "iopub.status.idle": "2022-08-01T02:36:40.932269Z", - "shell.execute_reply": "2022-08-01T02:36:40.931620Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -334,11 +231,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### Problem-independent\n", "\n", @@ -348,20 +241,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:40.935772Z", - "iopub.status.busy": "2022-08-01T02:36:40.935480Z", - "iopub.status.idle": "2022-08-01T02:36:41.153440Z", - "shell.execute_reply": "2022-08-01T02:36:41.152668Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -417,7 +297,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/case_studies/index.ipynb b/docs/source/case_studies/index.ipynb index a25784f35..c59db13d8 100644 --- a/docs/source/case_studies/index.ipynb +++ b/docs/source/case_studies/index.ipynb @@ -2,28 +2,21 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_case_studies:" ] }, { "cell_type": "markdown", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "# Case Studies" ] }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext", - "tags": [] - }, + "metadata": {}, "source": [ "\n", ".. toctree::\n", @@ -38,9 +31,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -51,7 +42,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/case_studies/portfolio_allocation.ipynb b/docs/source/case_studies/portfolio_allocation.ipynb index d41b3f086..c6ca1ef9c 100644 --- a/docs/source/case_studies/portfolio_allocation.ipynb +++ b/docs/source/case_studies/portfolio_allocation.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_portfolio_allocation:" ] @@ -34,14 +32,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:53.033075Z", - "iopub.status.busy": "2022-08-01T02:45:53.032574Z", - "iopub.status.idle": "2022-08-01T02:45:54.348859Z", - "shell.execute_reply": "2022-08-01T02:45:54.347743Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", @@ -61,9 +52,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -74,14 +63,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:54.352867Z", - "iopub.status.busy": "2022-08-01T02:45:54.352559Z", - "iopub.status.idle": "2022-08-01T02:45:55.126929Z", - "shell.execute_reply": "2022-08-01T02:45:55.126234Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "returns = df.pct_change().dropna(how=\"all\")\n", @@ -120,14 +102,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:55.130509Z", - "iopub.status.busy": "2022-08-01T02:45:55.130210Z", - "iopub.status.idle": "2022-08-01T02:45:55.149978Z", - "shell.execute_reply": "2022-08-01T02:45:55.149119Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.problem import ElementwiseProblem\n", @@ -161,14 +136,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:55.153273Z", - "iopub.status.busy": "2022-08-01T02:45:55.153009Z", - "iopub.status.idle": "2022-08-01T02:45:55.164231Z", - "shell.execute_reply": "2022-08-01T02:45:55.163140Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.repair import Repair\n", @@ -191,14 +159,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:55.170086Z", - "iopub.status.busy": "2022-08-01T02:45:55.169503Z", - "iopub.status.idle": "2022-08-01T02:46:07.365915Z", - "shell.execute_reply": "2022-08-01T02:46:07.365010Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.sms import SMSEMOA\n", @@ -224,14 +185,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:07.370130Z", - "iopub.status.busy": "2022-08-01T02:46:07.369774Z", - "iopub.status.idle": "2022-08-01T02:46:07.543999Z", - "shell.execute_reply": "2022-08-01T02:46:07.543197Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "X, F, sharpe = res.opt.get(\"X\", \"F\", \"sharpe\")\n", @@ -257,14 +211,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:07.547816Z", - "iopub.status.busy": "2022-08-01T02:46:07.547441Z", - "iopub.status.idle": "2022-08-01T02:46:07.553072Z", - "shell.execute_reply": "2022-08-01T02:46:07.552193Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import operator\n", @@ -278,7 +225,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/case_studies/subset_selection.ipynb b/docs/source/case_studies/subset_selection.ipynb index b33c1445f..5dca04be6 100644 --- a/docs/source/case_studies/subset_selection.ipynb +++ b/docs/source/case_studies/subset_selection.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_subset_selection:" ] @@ -44,14 +42,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:11.254406Z", - "iopub.status.busy": "2022-08-01T02:46:11.254011Z", - "iopub.status.idle": "2022-08-01T02:46:11.279481Z", - "shell.execute_reply": "2022-08-01T02:46:11.278587Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -90,14 +81,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:11.282972Z", - "iopub.status.busy": "2022-08-01T02:46:11.282700Z", - "iopub.status.idle": "2022-08-01T02:46:11.293091Z", - "shell.execute_reply": "2022-08-01T02:46:11.292480Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.crossover import Crossover\n", @@ -164,14 +148,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:11.296340Z", - "iopub.status.busy": "2022-08-01T02:46:11.296078Z", - "iopub.status.idle": "2022-08-01T02:46:12.439555Z", - "shell.execute_reply": "2022-08-01T02:46:12.438774Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -204,14 +181,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:12.443481Z", - "iopub.status.busy": "2022-08-01T02:46:12.443134Z", - "iopub.status.idle": "2022-08-01T02:46:12.447830Z", - "shell.execute_reply": "2022-08-01T02:46:12.447110Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "opt = np.sort(np.argsort(L)[:n_max])\n", @@ -220,7 +190,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/constraints/as_obj.ipynb b/docs/source/constraints/as_obj.ipynb index 64f6b8b16..353aee16b 100644 --- a/docs/source/constraints/as_obj.ipynb +++ b/docs/source/constraints/as_obj.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_feas_first:" ] @@ -13,13 +11,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:50.179088Z", - "iopub.status.busy": "2022-08-01T02:34:50.178722Z", - "iopub.status.idle": "2022-08-01T02:34:51.054508Z", - "shell.execute_reply": "2022-08-01T02:34:51.053573Z" - }, - "nbsphinx": "hidden", "tags": [] }, "outputs": [], @@ -46,12 +37,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:51.060099Z", - "iopub.status.busy": "2022-08-01T02:34:51.059652Z", - "iopub.status.idle": "2022-08-01T02:34:57.292396Z", - "shell.execute_reply": "2022-08-01T02:34:57.291442Z" - }, "tags": [] }, "outputs": [], @@ -90,14 +75,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:57.296232Z", - "iopub.status.busy": "2022-08-01T02:34:57.295890Z", - "iopub.status.idle": "2022-08-01T02:34:57.301459Z", - "shell.execute_reply": "2022-08-01T02:34:57.300836Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.evaluator import Evaluator\n", @@ -114,7 +92,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/constraints/as_penalty.ipynb b/docs/source/constraints/as_penalty.ipynb index 043a7d6c5..b4dfb36f8 100644 --- a/docs/source/constraints/as_penalty.ipynb +++ b/docs/source/constraints/as_penalty.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_constraints_penalty:" ] @@ -12,16 +10,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:15.254641Z", - "iopub.status.busy": "2022-08-01T02:35:15.254266Z", - "iopub.status.idle": "2022-08-01T02:35:16.131213Z", - "shell.execute_reply": "2022-08-01T02:35:16.130343Z" - }, - "nbsphinx": "hidden", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%capture\n", @@ -45,15 +34,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:16.136119Z", - "iopub.status.busy": "2022-08-01T02:35:16.135409Z", - "iopub.status.idle": "2022-08-01T02:35:18.167893Z", - "shell.execute_reply": "2022-08-01T02:35:18.167280Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.de import DE\n", @@ -78,9 +59,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_constraints_no_feas_found:" ] @@ -102,14 +81,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:18.171667Z", - "iopub.status.busy": "2022-08-01T02:35:18.171245Z", - "iopub.status.idle": "2022-08-01T02:35:19.146221Z", - "shell.execute_reply": "2022-08-01T02:35:19.145228Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.de import DE\n", @@ -138,14 +110,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:19.150054Z", - "iopub.status.busy": "2022-08-01T02:35:19.149708Z", - "iopub.status.idle": "2022-08-01T02:35:19.433936Z", - "shell.execute_reply": "2022-08-01T02:35:19.433302Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.operators.sampling.lhs import LHS\n", @@ -161,7 +126,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/constraints/eps.ipynb b/docs/source/constraints/eps.ipynb index 3ddb671f8..55aaa1036 100644 --- a/docs/source/constraints/eps.ipynb +++ b/docs/source/constraints/eps.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_constraints_eps:" ] @@ -12,16 +10,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:00.877444Z", - "iopub.status.busy": "2022-08-01T02:35:00.877064Z", - "iopub.status.idle": "2022-08-01T02:35:01.763102Z", - "shell.execute_reply": "2022-08-01T02:35:01.762194Z" - }, - "nbsphinx": "hidden", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%capture\n", @@ -44,9 +33,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -64,15 +51,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:01.767062Z", - "iopub.status.busy": "2022-08-01T02:35:01.766793Z", - "iopub.status.idle": "2022-08-01T02:35:08.171985Z", - "shell.execute_reply": "2022-08-01T02:35:08.171232Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.de import DE\n", @@ -94,7 +73,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/constraints/feas_first.ipynb b/docs/source/constraints/feas_first.ipynb index e77d4ad4f..1b8d238c3 100644 --- a/docs/source/constraints/feas_first.ipynb +++ b/docs/source/constraints/feas_first.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_constraints_as_obj:" ] @@ -12,16 +10,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:44.701658Z", - "iopub.status.busy": "2022-08-01T02:34:44.700923Z", - "iopub.status.idle": "2022-08-01T02:34:45.681246Z", - "shell.execute_reply": "2022-08-01T02:34:45.680052Z" - }, - "nbsphinx": "hidden", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%capture\n", @@ -52,15 +41,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:45.685296Z", - "iopub.status.busy": "2022-08-01T02:34:45.684988Z", - "iopub.status.idle": "2022-08-01T02:34:46.615628Z", - "shell.execute_reply": "2022-08-01T02:34:46.614634Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -79,7 +60,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/constraints/index.ipynb b/docs/source/constraints/index.ipynb index 1c82df196..b6bccb724 100644 --- a/docs/source/constraints/index.ipynb +++ b/docs/source/constraints/index.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_constraints:" ] @@ -20,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -33,7 +29,6 @@ { "cell_type": "raw", "metadata": { - "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -84,12 +79,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:28.116654Z", - "iopub.status.busy": "2022-08-01T02:35:28.116294Z", - "iopub.status.idle": "2022-08-01T02:35:28.145336Z", - "shell.execute_reply": "2022-08-01T02:35:28.144457Z" - }, "tags": [] }, "outputs": [], @@ -116,14 +105,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:28.148888Z", - "iopub.status.busy": "2022-08-01T02:35:28.148620Z", - "iopub.status.idle": "2022-08-01T02:35:28.611743Z", - "shell.execute_reply": "2022-08-01T02:35:28.611006Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -173,7 +155,6 @@ { "cell_type": "raw", "metadata": { - "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -199,14 +180,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:28.615991Z", - "iopub.status.busy": "2022-08-01T02:35:28.615619Z", - "iopub.status.idle": "2022-08-01T02:35:28.620890Z", - "shell.execute_reply": "2022-08-01T02:35:28.620234Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "class ConstrainedProblemWithEquality(ElementwiseProblem):\n", @@ -230,14 +204,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:28.624088Z", - "iopub.status.busy": "2022-08-01T02:35:28.623846Z", - "iopub.status.idle": "2022-08-01T02:35:28.968375Z", - "shell.execute_reply": "2022-08-01T02:35:28.967688Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -280,9 +247,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -301,7 +266,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/constraints/problem.ipynb b/docs/source/constraints/problem.ipynb index 8e606b76c..31aba7f32 100644 --- a/docs/source/constraints/problem.ipynb +++ b/docs/source/constraints/problem.ipynb @@ -3,9 +3,7 @@ { "cell_type": "raw", "id": "c23dfa57-d50b-4b8a-bfa3-917993a5a7ad", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_constraints_problem:" ] @@ -19,7 +17,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/docs/source/constraints/repair.ipynb b/docs/source/constraints/repair.ipynb index e79851dcc..94c95e0e0 100644 --- a/docs/source/constraints/repair.ipynb +++ b/docs/source/constraints/repair.ipynb @@ -3,9 +3,7 @@ { "cell_type": "raw", "id": "d8b54188-9c5d-494d-8435-aea1ccacb125", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_repair:" ] @@ -14,16 +12,7 @@ "cell_type": "code", "execution_count": null, "id": "d2e220b4-b2af-4278-bb4f-e5936312ced3", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:23.014767Z", - "iopub.status.busy": "2022-08-01T02:35:23.014408Z", - "iopub.status.idle": "2022-08-01T02:35:23.895825Z", - "shell.execute_reply": "2022-08-01T02:35:23.894946Z" - }, - "nbsphinx": "hidden", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%capture\n", @@ -33,9 +22,7 @@ { "cell_type": "markdown", "id": "be5e07d8-23af-4361-9f4e-5982a8a1ab40", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "## Repair Operator " ] @@ -60,15 +47,7 @@ "cell_type": "code", "execution_count": null, "id": "c0ef1df3-f2d9-4a20-92a4-5684e5032e23", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:23.899739Z", - "iopub.status.busy": "2022-08-01T02:35:23.899404Z", - "iopub.status.idle": "2022-08-01T02:35:23.904380Z", - "shell.execute_reply": "2022-08-01T02:35:23.903672Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.repair import Repair\n", @@ -92,15 +71,7 @@ "cell_type": "code", "execution_count": null, "id": "54068131-6224-48b0-9608-01546a096b38", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:23.908051Z", - "iopub.status.busy": "2022-08-01T02:35:23.907788Z", - "iopub.status.idle": "2022-08-01T02:35:24.260751Z", - "shell.execute_reply": "2022-08-01T02:35:24.259657Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -129,15 +100,7 @@ "cell_type": "code", "execution_count": null, "id": "18e818b8-73cd-4a48-9567-21f76ac9cf3d", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:24.265524Z", - "iopub.status.busy": "2022-08-01T02:35:24.264980Z", - "iopub.status.idle": "2022-08-01T02:35:24.480013Z", - "shell.execute_reply": "2022-08-01T02:35:24.478845Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -156,7 +119,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/docs/source/contribute.ipynb b/docs/source/contribute.ipynb index bd46e9b88..20b12cc06 100644 --- a/docs/source/contribute.ipynb +++ b/docs/source/contribute.ipynb @@ -37,7 +37,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/customization/binary.ipynb b/docs/source/customization/binary.ipynb index aae98b500..5f8da7815 100644 --- a/docs/source/customization/binary.ipynb +++ b/docs/source/customization/binary.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_binary:" ] @@ -28,15 +26,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:19.688801Z", - "iopub.status.busy": "2022-08-01T02:36:19.688442Z", - "iopub.status.idle": "2022-08-01T02:36:21.709415Z", - "shell.execute_reply": "2022-08-01T02:36:21.708556Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -67,7 +57,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/customization/custom.ipynb b/docs/source/customization/custom.ipynb index 402069977..9c56ae468 100644 --- a/docs/source/customization/custom.ipynb +++ b/docs/source/customization/custom.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_custom:" ] @@ -40,14 +38,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:25.241364Z", - "iopub.status.busy": "2022-08-01T02:36:25.240980Z", - "iopub.status.idle": "2022-08-01T02:36:25.266977Z", - "shell.execute_reply": "2022-08-01T02:36:25.266242Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -100,14 +91,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:25.271668Z", - "iopub.status.busy": "2022-08-01T02:36:25.271196Z", - "iopub.status.idle": "2022-08-01T02:36:25.276501Z", - "shell.execute_reply": "2022-08-01T02:36:25.275795Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.sampling import Sampling\n", @@ -141,14 +125,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:25.279804Z", - "iopub.status.busy": "2022-08-01T02:36:25.279526Z", - "iopub.status.idle": "2022-08-01T02:36:25.287524Z", - "shell.execute_reply": "2022-08-01T02:36:25.286501Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.crossover import Crossover\n", @@ -209,14 +186,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:25.290828Z", - "iopub.status.busy": "2022-08-01T02:36:25.290559Z", - "iopub.status.idle": "2022-08-01T02:36:25.296797Z", - "shell.execute_reply": "2022-08-01T02:36:25.296187Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.mutation import Mutation\n", @@ -264,14 +234,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:25.299803Z", - "iopub.status.busy": "2022-08-01T02:36:25.299543Z", - "iopub.status.idle": "2022-08-01T02:36:25.304049Z", - "shell.execute_reply": "2022-08-01T02:36:25.303431Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.duplicate import ElementwiseDuplicateElimination\n", @@ -294,14 +257,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:25.307117Z", - "iopub.status.busy": "2022-08-01T02:36:25.306828Z", - "iopub.status.idle": "2022-08-01T02:36:25.636193Z", - "shell.execute_reply": "2022-08-01T02:36:25.635580Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import string\n", @@ -327,14 +283,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:25.640542Z", - "iopub.status.busy": "2022-08-01T02:36:25.639845Z", - "iopub.status.idle": "2022-08-01T02:36:26.046543Z", - "shell.execute_reply": "2022-08-01T02:36:26.045747Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.visualization.scatter import Scatter\n", @@ -344,14 +293,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:26.050897Z", - "iopub.status.busy": "2022-08-01T02:36:26.050604Z", - "iopub.status.idle": "2022-08-01T02:36:26.055771Z", - "shell.execute_reply": "2022-08-01T02:36:26.055122Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "results = res.X[np.argsort(res.F[:, 0])]\n", @@ -360,7 +302,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/customization/discrete.ipynb b/docs/source/customization/discrete.ipynb index 434b9a83d..0e341f972 100644 --- a/docs/source/customization/discrete.ipynb +++ b/docs/source/customization/discrete.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_discrete:" ] @@ -28,15 +26,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:30.696001Z", - "iopub.status.busy": "2022-08-01T02:36:30.695388Z", - "iopub.status.idle": "2022-08-01T02:36:31.622471Z", - "shell.execute_reply": "2022-08-01T02:36:31.621374Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -84,15 +74,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:31.626266Z", - "iopub.status.busy": "2022-08-01T02:36:31.625953Z", - "iopub.status.idle": "2022-08-01T02:36:31.921654Z", - "shell.execute_reply": "2022-08-01T02:36:31.920458Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -106,7 +88,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/customization/initialization.ipynb b/docs/source/customization/initialization.ipynb index ad495f784..0683cf2d7 100644 --- a/docs/source/customization/initialization.ipynb +++ b/docs/source/customization/initialization.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_initialization:" ] @@ -37,15 +35,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:35.639276Z", - "iopub.status.busy": "2022-08-01T02:36:35.638633Z", - "iopub.status.idle": "2022-08-01T02:36:36.188432Z", - "shell.execute_reply": "2022-08-01T02:36:36.187478Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -77,15 +67,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:36.191840Z", - "iopub.status.busy": "2022-08-01T02:36:36.191541Z", - "iopub.status.idle": "2022-08-01T02:36:36.621974Z", - "shell.execute_reply": "2022-08-01T02:36:36.621355Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -113,7 +95,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/customization/mixed.ipynb b/docs/source/customization/mixed.ipynb index 0819ceebd..7e87f2956 100644 --- a/docs/source/customization/mixed.ipynb +++ b/docs/source/customization/mixed.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_mixed_variable:" ] @@ -21,15 +19,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:59.555534Z", - "iopub.status.busy": "2022-08-01T02:35:59.555179Z", - "iopub.status.idle": "2022-08-01T02:35:59.590515Z", - "shell.execute_reply": "2022-08-01T02:35:59.589442Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.problem import ElementwiseProblem\n", @@ -70,15 +60,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:59.594048Z", - "iopub.status.busy": "2022-08-01T02:35:59.593763Z", - "iopub.status.idle": "2022-08-01T02:36:00.047577Z", - "shell.execute_reply": "2022-08-01T02:36:00.046553Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.mixed import MixedVariableGA\n", @@ -108,14 +90,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:00.051336Z", - "iopub.status.busy": "2022-08-01T02:36:00.051019Z", - "iopub.status.idle": "2022-08-01T02:36:04.648797Z", - "shell.execute_reply": "2022-08-01T02:36:04.647934Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.optuna import Optuna\n", @@ -145,14 +120,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:04.653137Z", - "iopub.status.busy": "2022-08-01T02:36:04.652753Z", - "iopub.status.idle": "2022-08-01T02:36:04.658504Z", - "shell.execute_reply": "2022-08-01T02:36:04.657839Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "class MultiObjectiveMixedVariableProblem(ElementwiseProblem):\n", @@ -184,14 +152,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:04.661972Z", - "iopub.status.busy": "2022-08-01T02:36:04.661359Z", - "iopub.status.idle": "2022-08-01T02:36:05.544988Z", - "shell.execute_reply": "2022-08-01T02:36:05.544101Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.visualization.scatter import Scatter\n", @@ -216,7 +177,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/customization/permutation.ipynb b/docs/source/customization/permutation.ipynb index 0593ceeaa..dce00623a 100644 --- a/docs/source/customization/permutation.ipynb +++ b/docs/source/customization/permutation.ipynb @@ -2,18 +2,14 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_perm:" ] }, { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "# Permutations" ] @@ -45,15 +41,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:09.438144Z", - "iopub.status.busy": "2022-08-01T02:36:09.437792Z", - "iopub.status.idle": "2022-08-01T02:36:09.453378Z", - "shell.execute_reply": "2022-08-01T02:36:09.452016Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -82,15 +70,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:09.457766Z", - "iopub.status.busy": "2022-08-01T02:36:09.457452Z", - "iopub.status.idle": "2022-08-01T02:36:10.334989Z", - "shell.execute_reply": "2022-08-01T02:36:10.333362Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -126,15 +106,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:10.338809Z", - "iopub.status.busy": "2022-08-01T02:36:10.338460Z", - "iopub.status.idle": "2022-08-01T02:36:10.343180Z", - "shell.execute_reply": "2022-08-01T02:36:10.342452Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "print(\"Traveling Time:\", np.round(res.F[0], 3))\n", @@ -144,15 +116,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:10.347700Z", - "iopub.status.busy": "2022-08-01T02:36:10.347319Z", - "iopub.status.idle": "2022-08-01T02:36:10.687683Z", - "shell.execute_reply": "2022-08-01T02:36:10.686551Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.single.traveling_salesman import visualize\n", @@ -176,15 +140,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:10.692819Z", - "iopub.status.busy": "2022-08-01T02:36:10.691850Z", - "iopub.status.idle": "2022-08-01T02:36:10.984144Z", - "shell.execute_reply": "2022-08-01T02:36:10.983469Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.single.flowshop_scheduling import create_random_flowshop_problem\n", @@ -214,15 +170,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:10.987476Z", - "iopub.status.busy": "2022-08-01T02:36:10.987012Z", - "iopub.status.idle": "2022-08-01T02:36:10.990812Z", - "shell.execute_reply": "2022-08-01T02:36:10.990180Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "print(\"Maximum Span:\", np.round(res.F[0], 3))\n", @@ -232,15 +180,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:10.993819Z", - "iopub.status.busy": "2022-08-01T02:36:10.993556Z", - "iopub.status.idle": "2022-08-01T02:36:11.331680Z", - "shell.execute_reply": "2022-08-01T02:36:11.330912Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.single.flowshop_scheduling import visualize\n", @@ -255,7 +195,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/customization/subset.ipynb b/docs/source/customization/subset.ipynb index 904311f88..5dca04be6 100644 --- a/docs/source/customization/subset.ipynb +++ b/docs/source/customization/subset.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_subset_selection:" ] @@ -44,14 +42,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:15.088637Z", - "iopub.status.busy": "2022-08-01T02:36:15.088143Z", - "iopub.status.idle": "2022-08-01T02:36:15.114194Z", - "shell.execute_reply": "2022-08-01T02:36:15.113610Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -90,14 +81,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:15.117534Z", - "iopub.status.busy": "2022-08-01T02:36:15.117253Z", - "iopub.status.idle": "2022-08-01T02:36:15.127188Z", - "shell.execute_reply": "2022-08-01T02:36:15.126300Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.crossover import Crossover\n", @@ -164,14 +148,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:15.130479Z", - "iopub.status.busy": "2022-08-01T02:36:15.130211Z", - "iopub.status.idle": "2022-08-01T02:36:16.207499Z", - "shell.execute_reply": "2022-08-01T02:36:16.206643Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -204,14 +181,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:36:16.210854Z", - "iopub.status.busy": "2022-08-01T02:36:16.210494Z", - "iopub.status.idle": "2022-08-01T02:36:16.215263Z", - "shell.execute_reply": "2022-08-01T02:36:16.214580Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "opt = np.sort(np.argsort(L)[:n_max])\n", @@ -220,7 +190,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/faq.ipynb b/docs/source/faq.ipynb index 8b850ac20..438adb15f 100644 --- a/docs/source/faq.ipynb +++ b/docs/source/faq.ipynb @@ -33,7 +33,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/getting_started/index.ipynb b/docs/source/getting_started/index.ipynb index 3771d5f45..760b84dc7 100644 --- a/docs/source/getting_started/index.ipynb +++ b/docs/source/getting_started/index.ipynb @@ -18,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_getting_started:" ] @@ -34,9 +32,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. toctree::\n", " :maxdepth: 1\n", @@ -64,9 +60,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -80,7 +74,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/getting_started/part_1.ipynb b/docs/source/getting_started/part_1.ipynb index 254f5e5f8..0b30a4114 100644 --- a/docs/source/getting_started/part_1.ipynb +++ b/docs/source/getting_started/part_1.ipynb @@ -18,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_getting_started_part1:" ] @@ -95,9 +93,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. note::\n", " Next, we derive the optimum for the given optimization problem. It is worth pointing out that this is not a requirement for pymoo and is just done for verification purposes here. Moreover, this is a valuable exercise to understand the design and objective space mapping." @@ -121,16 +117,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:36.898723Z", - "iopub.status.busy": "2022-08-01T02:46:36.898350Z", - "iopub.status.idle": "2022-08-01T02:46:37.460915Z", - "shell.execute_reply": "2022-08-01T02:46:37.459964Z" - }, - "nbsphinx": "hide_input", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -202,15 +189,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:37.464865Z", - "iopub.status.busy": "2022-08-01T02:46:37.464593Z", - "iopub.status.idle": "2022-08-01T02:46:37.731253Z", - "shell.execute_reply": "2022-08-01T02:46:37.730482Z" - }, - "nbsphinx": "hide_input" - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -245,9 +224,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Hint\n", " :class: myOwnStyle\n", @@ -256,7 +233,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/getting_started/part_2.ipynb b/docs/source/getting_started/part_2.ipynb index b07d7b095..7d9f212da 100644 --- a/docs/source/getting_started/part_2.ipynb +++ b/docs/source/getting_started/part_2.ipynb @@ -18,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_getting_started_part2:" ] @@ -65,9 +63,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Problem Definition\n", " :class: myOwnStyle\n", @@ -124,14 +120,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:56.845802Z", - "iopub.status.busy": "2022-08-01T02:46:56.845129Z", - "iopub.status.idle": "2022-08-01T02:46:56.872835Z", - "shell.execute_reply": "2022-08-01T02:46:56.871898Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -162,9 +151,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. tip::\n", " A problem can be defined in a couple of different ways. Above, the implementation of an **element-wise** implementation is demonstrated, which means the `_evaluate` is called for each solution `x` at a time. Other ways of implementing a problem are **vectorized**, where `x` represents a whole set of solutions or a **functional** and probably more pythonic way by providing for each objective and constraint as a function. For more details, please have a look at the Problem tutorial." @@ -218,14 +205,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:56.876675Z", - "iopub.status.busy": "2022-08-01T02:46:56.876389Z", - "iopub.status.idle": "2022-08-01T02:46:56.903318Z", - "shell.execute_reply": "2022-08-01T02:46:56.902697Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -253,9 +233,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. tip::\n", " The documentation is designed to make it easy to get started and to copy code for each of the algorithms. However, please be aware that each algorithm comes with all kinds of hyper-parameters to be considered. If an algorithm turns out not to show a good convergence behavior, we encourage you to try different algorithm configurations. For instance, for population-based approaches the population size and number of offsprings, as well as the parameters used for recombination operators are a good starting point." @@ -275,14 +253,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:56.906392Z", - "iopub.status.busy": "2022-08-01T02:46:56.906132Z", - "iopub.status.idle": "2022-08-01T02:46:56.910223Z", - "shell.execute_reply": "2022-08-01T02:46:56.909611Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.termination import get_termination\n", @@ -322,14 +293,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:56.913231Z", - "iopub.status.busy": "2022-08-01T02:46:56.912969Z", - "iopub.status.idle": "2022-08-01T02:46:57.385314Z", - "shell.execute_reply": "2022-08-01T02:46:57.384640Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.optimize import minimize\n", @@ -354,9 +318,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. tip::\n", " An algorithm can be executed by using the **minimize** interface as shown below. In order to have more control over the algorithm execution, pymoo also offers an **object-oriented** execution. For an example and a discussion of each's pros and cons, please consult or algorithm tutorial. " @@ -379,14 +341,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:57.389110Z", - "iopub.status.busy": "2022-08-01T02:46:57.388813Z", - "iopub.status.idle": "2022-08-01T02:46:57.573120Z", - "shell.execute_reply": "2022-08-01T02:46:57.571994Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -402,15 +357,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:57.578808Z", - "iopub.status.busy": "2022-08-01T02:46:57.578539Z", - "iopub.status.idle": "2022-08-01T02:46:57.748367Z", - "shell.execute_reply": "2022-08-01T02:46:57.747635Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "plt.figure(figsize=(7, 5))\n", @@ -422,7 +369,15 @@ ], "metadata": { "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" } }, "nbformat": 4, diff --git a/docs/source/getting_started/part_3.ipynb b/docs/source/getting_started/part_3.ipynb index e052bfec1..8c45b709b 100644 --- a/docs/source/getting_started/part_3.ipynb +++ b/docs/source/getting_started/part_3.ipynb @@ -18,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_getting_started_part3:" ] @@ -28,15 +26,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:41.317242Z", - "iopub.status.busy": "2022-08-01T02:46:41.316864Z", - "iopub.status.idle": "2022-08-01T02:46:42.467955Z", - "shell.execute_reply": "2022-08-01T02:46:42.466976Z" - }, - "nbsphinx": "hidden" - }, + "metadata": {}, "outputs": [], "source": [ "%%capture\n", @@ -67,14 +57,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:42.472528Z", - "iopub.status.busy": "2022-08-01T02:46:42.472040Z", - "iopub.status.idle": "2022-08-01T02:46:42.637903Z", - "shell.execute_reply": "2022-08-01T02:46:42.637121Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "F = res.F\n", @@ -95,14 +78,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:42.641318Z", - "iopub.status.busy": "2022-08-01T02:46:42.641019Z", - "iopub.status.idle": "2022-08-01T02:46:42.645994Z", - "shell.execute_reply": "2022-08-01T02:46:42.645252Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "fl = F.min(axis=0)\n", @@ -120,9 +96,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. warning::\n", " Without normalization, we are comparing **oranges with apples**. The first objective will dominate any distance calculation in the objective space because of its larger scale. Handling different scales of objectives is an inherent part of any multi-objective algorithms, and, thus, we need to do the same for post-processing. " @@ -139,14 +113,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:42.649297Z", - "iopub.status.busy": "2022-08-01T02:46:42.649036Z", - "iopub.status.idle": "2022-08-01T02:46:42.652445Z", - "shell.execute_reply": "2022-08-01T02:46:42.651884Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "approx_ideal = F.min(axis=0)\n", @@ -156,14 +123,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:42.655551Z", - "iopub.status.busy": "2022-08-01T02:46:42.655285Z", - "iopub.status.idle": "2022-08-01T02:46:42.836667Z", - "shell.execute_reply": "2022-08-01T02:46:42.835405Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "plt.figure(figsize=(7, 5))\n", @@ -185,14 +145,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:42.840293Z", - "iopub.status.busy": "2022-08-01T02:46:42.839997Z", - "iopub.status.idle": "2022-08-01T02:46:42.990294Z", - "shell.execute_reply": "2022-08-01T02:46:42.989547Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "nF = (F - approx_ideal) / (approx_nadir - approx_ideal)\n", @@ -227,14 +180,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:42.993745Z", - "iopub.status.busy": "2022-08-01T02:46:42.993477Z", - "iopub.status.idle": "2022-08-01T02:46:42.997025Z", - "shell.execute_reply": "2022-08-01T02:46:42.996240Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "weights = np.array([0.2, 0.8])" @@ -250,14 +196,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:43.000717Z", - "iopub.status.busy": "2022-08-01T02:46:43.000414Z", - "iopub.status.idle": "2022-08-01T02:46:43.005502Z", - "shell.execute_reply": "2022-08-01T02:46:43.004839Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.decomposition.asf import ASF\n", @@ -275,14 +214,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:43.008758Z", - "iopub.status.busy": "2022-08-01T02:46:43.008493Z", - "iopub.status.idle": "2022-08-01T02:46:43.012150Z", - "shell.execute_reply": "2022-08-01T02:46:43.011561Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "i = decomp.do(nF, 1/weights).argmin()" @@ -298,14 +230,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:43.015173Z", - "iopub.status.busy": "2022-08-01T02:46:43.014905Z", - "iopub.status.idle": "2022-08-01T02:46:43.178804Z", - "shell.execute_reply": "2022-08-01T02:46:43.178147Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "print(\"Best regarding ASF: Point \\ni = %s\\nF = %s\" % (i, F[i]))\n", @@ -319,9 +244,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. tip::\n", " One benefit of this approach is that any kind of decomposition function can be used." @@ -350,14 +273,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:43.182343Z", - "iopub.status.busy": "2022-08-01T02:46:43.182005Z", - "iopub.status.idle": "2022-08-01T02:46:43.188364Z", - "shell.execute_reply": "2022-08-01T02:46:43.187797Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.mcdm.pseudo_weights import PseudoWeights\n", @@ -368,15 +284,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:43.196452Z", - "iopub.status.busy": "2022-08-01T02:46:43.196145Z", - "iopub.status.idle": "2022-08-01T02:46:43.363586Z", - "shell.execute_reply": "2022-08-01T02:46:43.362634Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "print(\"Best regarding Pseudo Weights: Point \\ni = %s\\nF = %s\" % (i, F[i]))\n", @@ -391,7 +299,15 @@ ], "metadata": { "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" } }, "nbformat": 4, diff --git a/docs/source/getting_started/part_4.ipynb b/docs/source/getting_started/part_4.ipynb index 17ff761c0..f9215f894 100644 --- a/docs/source/getting_started/part_4.ipynb +++ b/docs/source/getting_started/part_4.ipynb @@ -18,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_getting_started_part4:" ] @@ -28,16 +26,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:47.595936Z", - "iopub.status.busy": "2022-08-01T02:46:47.595526Z", - "iopub.status.idle": "2022-08-01T02:46:49.340133Z", - "shell.execute_reply": "2022-08-01T02:46:49.339222Z" - }, - "nbsphinx": "hidden", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%capture\n", @@ -75,15 +64,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:49.344697Z", - "iopub.status.busy": "2022-08-01T02:46:49.343946Z", - "iopub.status.idle": "2022-08-01T02:46:49.351511Z", - "shell.execute_reply": "2022-08-01T02:46:49.350356Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.util.misc import stack\n", @@ -122,15 +103,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:49.360979Z", - "iopub.status.busy": "2022-08-01T02:46:49.360210Z", - "iopub.status.idle": "2022-08-01T02:46:49.367963Z", - "shell.execute_reply": "2022-08-01T02:46:49.366863Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "pf_a, pf_b = problem.pareto_front(use_cache=False, flatten=False)" @@ -139,15 +112,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:49.373602Z", - "iopub.status.busy": "2022-08-01T02:46:49.373148Z", - "iopub.status.idle": "2022-08-01T02:46:49.377970Z", - "shell.execute_reply": "2022-08-01T02:46:49.376949Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "pf = problem.pareto_front(use_cache=False, flatten=True)" @@ -156,15 +121,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:49.381432Z", - "iopub.status.busy": "2022-08-01T02:46:49.381155Z", - "iopub.status.idle": "2022-08-01T02:46:49.605760Z", - "shell.execute_reply": "2022-08-01T02:46:49.604555Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "plt.figure(figsize=(7, 5))\n", @@ -208,15 +165,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:49.610702Z", - "iopub.status.busy": "2022-08-01T02:46:49.610346Z", - "iopub.status.idle": "2022-08-01T02:46:49.909128Z", - "shell.execute_reply": "2022-08-01T02:46:49.908344Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.optimize import minimize\n", @@ -244,15 +193,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:49.912580Z", - "iopub.status.busy": "2022-08-01T02:46:49.912316Z", - "iopub.status.idle": "2022-08-01T02:46:49.930576Z", - "shell.execute_reply": "2022-08-01T02:46:49.929688Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "n_evals = [] # corresponding number of function evaluations\\\n", @@ -294,15 +235,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:49.933888Z", - "iopub.status.busy": "2022-08-01T02:46:49.933619Z", - "iopub.status.idle": "2022-08-01T02:46:49.938204Z", - "shell.execute_reply": "2022-08-01T02:46:49.937503Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "k = np.where(np.array(hist_cv) <= 0.0)[0].min()\n", @@ -319,15 +252,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:49.943251Z", - "iopub.status.busy": "2022-08-01T02:46:49.942495Z", - "iopub.status.idle": "2022-08-01T02:46:50.138276Z", - "shell.execute_reply": "2022-08-01T02:46:50.137100Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "# replace this line by `hist_cv` if you like to analyze the least feasible optimal solution and not the population \n", @@ -386,15 +311,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:50.145235Z", - "iopub.status.busy": "2022-08-01T02:46:50.144900Z", - "iopub.status.idle": "2022-08-01T02:46:50.150061Z", - "shell.execute_reply": "2022-08-01T02:46:50.148728Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "approx_ideal = F.min(axis=0)\n", @@ -404,15 +321,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:50.156225Z", - "iopub.status.busy": "2022-08-01T02:46:50.155770Z", - "iopub.status.idle": "2022-08-01T02:46:50.361818Z", - "shell.execute_reply": "2022-08-01T02:46:50.361077Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.indicators.hv import Hypervolume\n", @@ -466,15 +375,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:50.366653Z", - "iopub.status.busy": "2022-08-01T02:46:50.366345Z", - "iopub.status.idle": "2022-08-01T02:46:51.259632Z", - "shell.execute_reply": "2022-08-01T02:46:51.258536Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.util.running_metric import RunningMetricAnimation\n", @@ -498,15 +399,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:51.269651Z", - "iopub.status.busy": "2022-08-01T02:46:51.268761Z", - "iopub.status.idle": "2022-08-01T02:46:52.411336Z", - "shell.execute_reply": "2022-08-01T02:46:52.410659Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.util.running_metric import RunningMetric\n", @@ -551,15 +444,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:52.414588Z", - "iopub.status.busy": "2022-08-01T02:46:52.414317Z", - "iopub.status.idle": "2022-08-01T02:46:52.744798Z", - "shell.execute_reply": "2022-08-01T02:46:52.743753Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.indicators.igd import IGD\n", @@ -582,15 +467,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:52.748970Z", - "iopub.status.busy": "2022-08-01T02:46:52.748669Z", - "iopub.status.idle": "2022-08-01T02:46:53.082341Z", - "shell.execute_reply": "2022-08-01T02:46:53.081530Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.indicators.igd_plus import IGDPlus\n", @@ -611,7 +488,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/getting_started/part_5.ipynb b/docs/source/getting_started/part_5.ipynb index 6272b5cd8..e3302a68e 100644 --- a/docs/source/getting_started/part_5.ipynb +++ b/docs/source/getting_started/part_5.ipynb @@ -18,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_getting_started_part5:" ] @@ -41,9 +39,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -74,9 +70,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "If you have used our framework for research purposes, you can cite our publication by:\n", "\n", @@ -99,7 +93,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/getting_started/preface.ipynb b/docs/source/getting_started/preface.ipynb index 956e46619..2523ed855 100644 --- a/docs/source/getting_started/preface.ipynb +++ b/docs/source/getting_started/preface.ipynb @@ -18,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_getting_started_preface:" ] @@ -66,9 +64,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. tip::\n", " If you are new to multi-objective optimization and are not familiar with essential concepts, a look into \"Multi-Objective Optimization Using Evolutionary Algorithms \" by Kalyanmoy Deb might be a good starting point." @@ -148,7 +144,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/getting_started/source_code.ipynb b/docs/source/getting_started/source_code.ipynb index f6eaae0da..3e523f195 100644 --- a/docs/source/getting_started/source_code.ipynb +++ b/docs/source/getting_started/source_code.ipynb @@ -18,9 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_getting_started_source_code:" ] @@ -44,12 +42,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:46:26.312227Z", - "iopub.status.busy": "2022-08-01T02:46:26.311862Z", - "iopub.status.idle": "2022-08-01T02:46:29.274817Z", - "shell.execute_reply": "2022-08-01T02:46:29.273985Z" - }, "tags": [] }, "outputs": [], @@ -98,7 +90,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/gradients/index.ipynb b/docs/source/gradients/index.ipynb index 0f0384571..53117dc51 100644 --- a/docs/source/gradients/index.ipynb +++ b/docs/source/gradients/index.ipynb @@ -3,9 +3,7 @@ { "cell_type": "raw", "id": "de9db017-6072-448e-9642-765c49c4aac9", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_gradients:" ] @@ -31,12 +29,6 @@ "execution_count": null, "id": "5e480925-4e01-48dd-9316-3e48410c3ca6", "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:49.425499Z", - "iopub.status.busy": "2022-08-01T02:45:49.424865Z", - "iopub.status.idle": "2022-08-01T02:45:49.458131Z", - "shell.execute_reply": "2022-08-01T02:45:49.457118Z" - }, "tags": [] }, "outputs": [], @@ -72,12 +64,6 @@ "execution_count": null, "id": "8e332e32-0d76-412d-aaaf-f4a24511f96a", "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:49.463725Z", - "iopub.status.busy": "2022-08-01T02:45:49.463418Z", - "iopub.status.idle": "2022-08-01T02:45:49.469154Z", - "shell.execute_reply": "2022-08-01T02:45:49.468389Z" - }, "tags": [] }, "outputs": [], @@ -99,12 +85,6 @@ "execution_count": null, "id": "8f137a00-2f29-4ef2-ba2e-a4f5b1aa3d84", "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:49.472373Z", - "iopub.status.busy": "2022-08-01T02:45:49.472097Z", - "iopub.status.idle": "2022-08-01T02:45:49.476781Z", - "shell.execute_reply": "2022-08-01T02:45:49.476153Z" - }, "tags": [] }, "outputs": [], @@ -123,7 +103,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/docs/source/home/portfolio.html b/docs/source/home/portfolio.html index 203087899..1f66a6971 100644 --- a/docs/source/home/portfolio.html +++ b/docs/source/home/portfolio.html @@ -124,7 +124,7 @@

Dynamic: - DF + DF

@@ -184,20 +184,20 @@ U-NSGA-III, MOEA/D, AGE-MOEA, - AGE-MOEA2, - RVEA, - SMS-EMOA + AGE-MOEA2, + RVEA, + SMS-EMOA
Dynamic: - D-NSGA-II - + D-NSGA-II, + KGB

Related: Reference Directions, - Constraints, + Constraints, Convergence, Hyperparameters diff --git a/docs/source/index.rst b/docs/source/index.rst index e8eaef252..acb54ed8e 100755 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -38,20 +38,6 @@ pymoo: Multi-objective Optimization in Python ------------------------------------------------------------------------------ -.. admonition:: Overview - :class: myOwnStyle - - The things to check out in **pymoo 0.6.0**. - - - The new version is available pre-compiled for Python 3.7-3.10 for Linux, Mac, and Windows. - - The module *pymoo.factory* has been deprecated. Please instantiate the objects directly. - - The number of constraints is now defined by n_ieq_constr and n_eq_constr to distinguish between equality and inequality constraints (also the correct amount of objectives and constraints is checked now) - - Do not forget to look at the features flagged with *new* for further changes: Mixed Variable Optimization, Hyperparameter Optimization, Updated Constrained Handling Methods, and more. - - Enjoy our new release! - - - Our framework offers state of the art single- and multi-objective optimization algorithms and many more features related to multi-objective optimization such as visualization and decision making. **pymoo** is available on PyPi and can be installed by: diff --git a/docs/source/installation.ipynb b/docs/source/installation.ipynb index 7e74776bd..4c0a4876e 100644 --- a/docs/source/installation.ipynb +++ b/docs/source/installation.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _installation:" ] @@ -55,9 +53,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. code:: bash\n", "\n", @@ -80,9 +76,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. code:: bash\n", "\n", @@ -105,9 +99,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. code:: bash\n", "\n", @@ -130,9 +122,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "\n", ".. code:: bash\n", @@ -164,9 +154,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. code:: bash\n", "\n", @@ -182,9 +170,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. code:: bash\n", "\n", @@ -200,9 +186,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. code:: bash\n", "\n", @@ -239,9 +223,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. code:: bash\n", "\n", @@ -260,9 +242,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. code:: bash\n", "\n", @@ -280,7 +260,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/interface/algorithm.ipynb b/docs/source/interface/algorithm.ipynb index 13da8ac8e..687261494 100644 --- a/docs/source/interface/algorithm.ipynb +++ b/docs/source/interface/algorithm.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_interface_algorithm:" ] @@ -33,14 +31,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:37.687564Z", - "iopub.status.busy": "2022-08-01T02:34:37.687148Z", - "iopub.status.idle": "2022-08-01T02:34:37.734206Z", - "shell.execute_reply": "2022-08-01T02:34:37.733460Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -56,7 +47,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/interface/callback.ipynb b/docs/source/interface/callback.ipynb index 768da24c3..0c2cce632 100644 --- a/docs/source/interface/callback.ipynb +++ b/docs/source/interface/callback.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_callback:" ] @@ -29,9 +27,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Tip\n", " :class: myOwnStyle\n", @@ -43,12 +39,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:02.807951Z", - "iopub.status.busy": "2022-08-01T02:34:02.807560Z", - "iopub.status.idle": "2022-08-01T02:34:03.270379Z", - "shell.execute_reply": "2022-08-01T02:34:03.269590Z" - }, "tags": [] }, "outputs": [], @@ -106,14 +96,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:03.273916Z", - "iopub.status.busy": "2022-08-01T02:34:03.273601Z", - "iopub.status.idle": "2022-08-01T02:34:03.671794Z", - "shell.execute_reply": "2022-08-01T02:34:03.670953Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "res = minimize(problem,\n", @@ -128,7 +111,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/interface/display.ipynb b/docs/source/interface/display.ipynb index 6a6b46042..fd379aa4f 100644 --- a/docs/source/interface/display.ipynb +++ b/docs/source/interface/display.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_custom_output:" ] @@ -25,9 +23,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. csv-table:: Types of Output\n", " :header: \"Name\", \"Description\"\n", @@ -55,12 +51,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:26.247011Z", - "iopub.status.busy": "2022-08-01T02:34:26.246394Z", - "iopub.status.idle": "2022-08-01T02:34:26.648587Z", - "shell.execute_reply": "2022-08-01T02:34:26.647562Z" - }, "tags": [] }, "outputs": [], @@ -109,7 +99,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/interface/index.ipynb b/docs/source/interface/index.ipynb index 85bbda8af..64681b93a 100644 --- a/docs/source/interface/index.ipynb +++ b/docs/source/interface/index.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_interface:" ] @@ -18,9 +16,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "\n", ".. toctree::\n", @@ -46,9 +42,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -70,7 +64,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/interface/minimize.ipynb b/docs/source/interface/minimize.ipynb index 4374d0c1d..715e6773e 100644 --- a/docs/source/interface/minimize.ipynb +++ b/docs/source/interface/minimize.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_interface_minimize:" ] @@ -73,15 +71,25 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autofunction:: pymoo.optimize.minimize" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/interface/problem.ipynb b/docs/source/interface/problem.ipynb index 1d195787c..8f8366fe4 100644 --- a/docs/source/interface/problem.ipynb +++ b/docs/source/interface/problem.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_interface_problem:" ] @@ -26,9 +24,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -48,14 +44,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:34.170659Z", - "iopub.status.busy": "2022-08-01T02:34:34.170232Z", - "iopub.status.idle": "2022-08-01T02:34:34.201840Z", - "shell.execute_reply": "2022-08-01T02:34:34.200838Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -86,14 +75,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:34.205358Z", - "iopub.status.busy": "2022-08-01T02:34:34.205070Z", - "iopub.status.idle": "2022-08-01T02:34:34.211174Z", - "shell.execute_reply": "2022-08-01T02:34:34.210509Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -124,9 +106,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Tip\n", " :class: myOwnStyle\n", @@ -135,7 +115,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/interface/result.ipynb b/docs/source/interface/result.ipynb index 744481479..a01c88a0f 100644 --- a/docs/source/interface/result.ipynb +++ b/docs/source/interface/result.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_interface_results:" ] @@ -26,15 +24,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.146063Z", - "iopub.status.busy": "2022-08-01T02:34:30.145684Z", - "iopub.status.idle": "2022-08-01T02:34:30.319559Z", - "shell.execute_reply": "2022-08-01T02:34:30.318726Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -73,15 +63,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.323355Z", - "iopub.status.busy": "2022-08-01T02:34:30.323002Z", - "iopub.status.idle": "2022-08-01T02:34:30.329571Z", - "shell.execute_reply": "2022-08-01T02:34:30.328930Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res.X" @@ -90,15 +72,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.332904Z", - "iopub.status.busy": "2022-08-01T02:34:30.332583Z", - "iopub.status.idle": "2022-08-01T02:34:30.337550Z", - "shell.execute_reply": "2022-08-01T02:34:30.336859Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res.F" @@ -107,15 +81,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.340733Z", - "iopub.status.busy": "2022-08-01T02:34:30.340450Z", - "iopub.status.idle": "2022-08-01T02:34:30.344994Z", - "shell.execute_reply": "2022-08-01T02:34:30.344404Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res.G" @@ -124,15 +90,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.347736Z", - "iopub.status.busy": "2022-08-01T02:34:30.347487Z", - "iopub.status.idle": "2022-08-01T02:34:30.351727Z", - "shell.execute_reply": "2022-08-01T02:34:30.351130Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res.CV" @@ -141,15 +99,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.354463Z", - "iopub.status.busy": "2022-08-01T02:34:30.354222Z", - "iopub.status.idle": "2022-08-01T02:34:30.358315Z", - "shell.execute_reply": "2022-08-01T02:34:30.357795Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res.algorithm" @@ -158,15 +108,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.361184Z", - "iopub.status.busy": "2022-08-01T02:34:30.360912Z", - "iopub.status.idle": "2022-08-01T02:34:30.363970Z", - "shell.execute_reply": "2022-08-01T02:34:30.363464Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "pop = res.pop" @@ -182,15 +124,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.366814Z", - "iopub.status.busy": "2022-08-01T02:34:30.366567Z", - "iopub.status.idle": "2022-08-01T02:34:30.371132Z", - "shell.execute_reply": "2022-08-01T02:34:30.370426Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "pop.get(\"X\")" @@ -199,15 +133,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.374098Z", - "iopub.status.busy": "2022-08-01T02:34:30.373833Z", - "iopub.status.idle": "2022-08-01T02:34:30.378087Z", - "shell.execute_reply": "2022-08-01T02:34:30.377516Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "pop.get(\"F\")" @@ -231,15 +157,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.380828Z", - "iopub.status.busy": "2022-08-01T02:34:30.380591Z", - "iopub.status.idle": "2022-08-01T02:34:30.394022Z", - "shell.execute_reply": "2022-08-01T02:34:30.393448Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"g1\")\n", @@ -254,15 +172,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.397032Z", - "iopub.status.busy": "2022-08-01T02:34:30.396659Z", - "iopub.status.idle": "2022-08-01T02:34:30.401423Z", - "shell.execute_reply": "2022-08-01T02:34:30.400840Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res.X, res.F, res.G, res.CV" @@ -278,15 +188,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.404241Z", - "iopub.status.busy": "2022-08-01T02:34:30.404003Z", - "iopub.status.idle": "2022-08-01T02:34:30.417444Z", - "shell.execute_reply": "2022-08-01T02:34:30.416846Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"g1\")\n", @@ -302,15 +204,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.420261Z", - "iopub.status.busy": "2022-08-01T02:34:30.419997Z", - "iopub.status.idle": "2022-08-01T02:34:30.425027Z", - "shell.execute_reply": "2022-08-01T02:34:30.424414Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res.X, res.F, res.G, res.CV" @@ -335,15 +229,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.427971Z", - "iopub.status.busy": "2022-08-01T02:34:30.427720Z", - "iopub.status.idle": "2022-08-01T02:34:30.696333Z", - "shell.execute_reply": "2022-08-01T02:34:30.695465Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -359,22 +245,26 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:30.700304Z", - "iopub.status.busy": "2022-08-01T02:34:30.699982Z", - "iopub.status.idle": "2022-08-01T02:34:30.705618Z", - "shell.execute_reply": "2022-08-01T02:34:30.704781Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "res.F" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/interface/termination.ipynb b/docs/source/interface/termination.ipynb index bc3d9bb49..64ecaa665 100644 --- a/docs/source/interface/termination.ipynb +++ b/docs/source/interface/termination.ipynb @@ -2,34 +2,21 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_interface_termination:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## Termination Criterion" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Whenever an algorithm is executed, it needs to be decided in each iteration whether the optimization run shall be continued or not.\n", "Many different ways exist of how to determine when a run of an algorithm should be terminated. Next, termination criteria specifically developed for single or multi-objective optimization as well as more generalized, for instance, limiting the number of iterations of an algorithm, are described " @@ -37,12 +24,7 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Tip\n", " :class: myOwnStyle\n", @@ -52,22 +34,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Default Termination ('default')" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "We have added recently developed a termination criterion set if no termination is supplied to the `minimize()` method:" ] @@ -75,17 +49,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:07.238034Z", - "iopub.status.busy": "2022-08-01T02:34:07.237647Z", - "iopub.status.idle": "2022-08-01T02:34:15.225269Z", - "shell.execute_reply": "2022-08-01T02:34:15.224463Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -104,12 +68,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "This allows you to terminated based on a couple of criteria also explained later on this page. \n", "Commonly used are the movement in the design space `f_tol` and the convergence in the constraint `cv_tol` and objective space `f_tol`.\n", @@ -120,12 +79,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "By default for multi-objective problems, the termination will be set to" ] @@ -133,17 +87,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:15.228748Z", - "iopub.status.busy": "2022-08-01T02:34:15.228486Z", - "iopub.status.idle": "2022-08-01T02:34:15.232528Z", - "shell.execute_reply": "2022-08-01T02:34:15.231872Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.termination.default import DefaultMultiObjectiveTermination\n", @@ -160,12 +104,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "And for single-optimization to" ] @@ -173,17 +112,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:15.235759Z", - "iopub.status.busy": "2022-08-01T02:34:15.235472Z", - "iopub.status.idle": "2022-08-01T02:34:15.239249Z", - "shell.execute_reply": "2022-08-01T02:34:15.238584Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.termination.default import DefaultSingleObjectiveTermination\n", @@ -200,36 +129,21 @@ }, { "cell_type": "raw", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% raw\n" - } - }, + "metadata": {}, "source": [ ".. _nb_n_eval:" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Number of Evaluations ('n_eval')" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "The termination can simply be reached by providing an upper bound for the number of function evaluations. Whenever in an iteration, the number of function evaluations is greater than this upper bound the algorithm terminates." ] @@ -237,17 +151,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:15.242548Z", - "iopub.status.busy": "2022-08-01T02:34:15.242274Z", - "iopub.status.idle": "2022-08-01T02:34:15.307871Z", - "shell.execute_reply": "2022-08-01T02:34:15.306978Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -269,36 +173,21 @@ }, { "cell_type": "raw", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% raw\n" - } - }, + "metadata": {}, "source": [ ".. _nb_n_gen:" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Number of Generations ('n_gen')" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Moreover, the number of generations / iterations can be limited as well. " ] @@ -306,17 +195,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:15.311630Z", - "iopub.status.busy": "2022-08-01T02:34:15.311287Z", - "iopub.status.idle": "2022-08-01T02:34:15.537314Z", - "shell.execute_reply": "2022-08-01T02:34:15.536523Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -338,36 +217,21 @@ }, { "cell_type": "raw", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% raw\n" - } - }, + "metadata": {}, "source": [ ".. _nb_time:" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Based on Time ('time')" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "The termination can also be based on the time of the algorithm to be executed. For instance, to run an algorithm for 3 seconds the termination can be defined by `get_termination(\"time\", \"00:00:03\")` or for 1 hour and 30 minutes by `get_termination(\"time\", \"01:30:00\")`." ] @@ -375,17 +239,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:15.540915Z", - "iopub.status.busy": "2022-08-01T02:34:15.540616Z", - "iopub.status.idle": "2022-08-01T02:34:18.550589Z", - "shell.execute_reply": "2022-08-01T02:34:18.549640Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -409,36 +263,21 @@ }, { "cell_type": "raw", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% raw\n" - } - }, + "metadata": {}, "source": [ ".. _nb_xtol:" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Design Space Tolerance ('xtol')\n" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Also, we can track the change in the design space. For a parameter explanation, please have a look at 'ftol'." ] @@ -446,17 +285,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:18.554937Z", - "iopub.status.busy": "2022-08-01T02:34:18.554489Z", - "iopub.status.idle": "2022-08-01T02:34:20.603612Z", - "shell.execute_reply": "2022-08-01T02:34:20.602975Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -481,24 +310,14 @@ }, { "cell_type": "raw", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% raw\n" - } - }, + "metadata": {}, "source": [ ".. _nb_ftol:" ] }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Objective Space Tolerance ('ftol')\n", "\n", @@ -518,17 +337,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:34:20.606988Z", - "iopub.status.busy": "2022-08-01T02:34:20.606733Z", - "iopub.status.idle": "2022-08-01T02:34:22.772449Z", - "shell.execute_reply": "2022-08-01T02:34:22.771637Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -562,7 +371,15 @@ ], "metadata": { "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" } }, "nbformat": 4, diff --git a/docs/source/mcdm/index.ipynb b/docs/source/mcdm/index.ipynb index 6da61c63b..654569bfa 100644 --- a/docs/source/mcdm/index.ipynb +++ b/docs/source/mcdm/index.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_decision_making:" ] @@ -41,9 +39,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_compromise:" ] @@ -65,15 +61,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:44.290703Z", - "iopub.status.busy": "2022-08-01T02:45:44.289922Z", - "iopub.status.idle": "2022-08-01T02:45:44.384493Z", - "shell.execute_reply": "2022-08-01T02:45:44.383843Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -91,15 +79,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:44.388082Z", - "iopub.status.busy": "2022-08-01T02:45:44.387814Z", - "iopub.status.idle": "2022-08-01T02:45:44.393866Z", - "shell.execute_reply": "2022-08-01T02:45:44.393231Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -120,15 +100,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:44.397072Z", - "iopub.status.busy": "2022-08-01T02:45:44.396828Z", - "iopub.status.idle": "2022-08-01T02:45:44.401440Z", - "shell.execute_reply": "2022-08-01T02:45:44.400793Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "I = decomp(F, weights).argmin()\n", @@ -145,15 +117,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:44.404889Z", - "iopub.status.busy": "2022-08-01T02:45:44.404629Z", - "iopub.status.idle": "2022-08-01T02:45:44.776015Z", - "shell.execute_reply": "2022-08-01T02:45:44.775146Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.visualization.scatter import Scatter\n", @@ -169,9 +133,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_pseudo_weights:" ] @@ -199,15 +161,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:44.779523Z", - "iopub.status.busy": "2022-08-01T02:45:44.779249Z", - "iopub.status.idle": "2022-08-01T02:45:45.131420Z", - "shell.execute_reply": "2022-08-01T02:45:45.130546Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.mcdm.pseudo_weights import PseudoWeights\n", @@ -230,9 +184,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_high_tradeoff:" ] @@ -254,17 +206,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "decision_making/usage_high_tradeoff.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:45.135224Z", - "iopub.status.busy": "2022-08-01T02:45:45.134792Z", - "iopub.status.idle": "2022-08-01T02:45:45.394870Z", - "shell.execute_reply": "2022-08-01T02:45:45.393991Z" - }, - "section": "high_tradeoff_2d", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import os\n", @@ -287,17 +229,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "decision_making/usage_high_tradeoff.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:45.398560Z", - "iopub.status.busy": "2022-08-01T02:45:45.398279Z", - "iopub.status.idle": "2022-08-01T02:45:45.740946Z", - "shell.execute_reply": "2022-08-01T02:45:45.740188Z" - }, - "section": "high_tradeoff_3d", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "pf = np.loadtxt(\"knee-3d.out\")\n", @@ -311,7 +243,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/misc/checkpoint.ipynb b/docs/source/misc/checkpoint.ipynb index fa5c9564f..64b951325 100644 --- a/docs/source/misc/checkpoint.ipynb +++ b/docs/source/misc/checkpoint.ipynb @@ -2,34 +2,21 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_checkpoint:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# Checkpoints" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Sometimes, it might be useful to store some checkpoints while executing an algorithm. In particular, if a run is very time-consuming. \n", "**pymoo** offers to resume a run by serializing the algorithm object and loading it. Resuming runs from checkpoints is possible \n", @@ -41,11 +28,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## Functional" ] @@ -53,17 +36,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:43.777919Z", - "iopub.status.busy": "2022-08-01T02:33:43.777460Z", - "iopub.status.idle": "2022-08-01T02:33:44.484736Z", - "shell.execute_reply": "2022-08-01T02:33:44.483911Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "import dill\n", @@ -103,12 +76,7 @@ }, { "cell_type": "markdown", - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## Object Oriented" ] @@ -116,17 +84,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:44.488928Z", - "iopub.status.busy": "2022-08-01T02:33:44.488565Z", - "iopub.status.idle": "2022-08-01T02:33:45.120678Z", - "shell.execute_reply": "2022-08-01T02:33:45.119808Z" - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "import dill\n", @@ -159,22 +117,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## From a Text File" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "First, load the data from a file. Usually, this will include the variables `X`, the objective values `F` (and the constraints `G`). Here, they are created randomly. Always make sure the `Problem` you are solving would return the same values for the given `X` values. Otherwise the data might be misleading for the algorithm.\n", "\n", @@ -185,15 +135,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:45.124410Z", - "iopub.status.busy": "2022-08-01T02:33:45.124055Z", - "iopub.status.idle": "2022-08-01T02:33:45.129004Z", - "shell.execute_reply": "2022-08-01T02:33:45.128460Z" - }, - "pycharm": { - "name": "#%%\n" - }, "tags": [] }, "outputs": [], @@ -213,11 +154,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Then, create a population object using your data:" ] @@ -226,15 +163,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:45.132235Z", - "iopub.status.busy": "2022-08-01T02:33:45.131943Z", - "iopub.status.idle": "2022-08-01T02:33:45.147786Z", - "shell.execute_reply": "2022-08-01T02:33:45.146617Z" - }, - "pycharm": { - "name": "#%%\n" - }, "tags": [] }, "outputs": [], @@ -250,11 +178,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "And finally run it with a non-random initial population `sampling=pop`:" ] @@ -263,15 +187,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:45.151532Z", - "iopub.status.busy": "2022-08-01T02:33:45.151224Z", - "iopub.status.idle": "2022-08-01T02:33:45.270443Z", - "shell.execute_reply": "2022-08-01T02:33:45.269568Z" - }, - "pycharm": { - "name": "#%%\n" - }, "tags": [] }, "outputs": [], @@ -290,7 +205,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/misc/convergence.ipynb b/docs/source/misc/convergence.ipynb index bedb8747a..1d3246cd2 100644 --- a/docs/source/misc/convergence.ipynb +++ b/docs/source/misc/convergence.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_convergence:" ] @@ -41,12 +39,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:13.324699Z", - "iopub.status.busy": "2022-08-01T02:33:13.324332Z", - "iopub.status.idle": "2022-08-01T02:33:13.769751Z", - "shell.execute_reply": "2022-08-01T02:33:13.768325Z" - }, "tags": [] }, "outputs": [], @@ -76,12 +68,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:13.774193Z", - "iopub.status.busy": "2022-08-01T02:33:13.773768Z", - "iopub.status.idle": "2022-08-01T02:33:13.780601Z", - "shell.execute_reply": "2022-08-01T02:33:13.779965Z" - }, "tags": [] }, "outputs": [], @@ -100,12 +86,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:13.783621Z", - "iopub.status.busy": "2022-08-01T02:33:13.783362Z", - "iopub.status.idle": "2022-08-01T02:33:14.311385Z", - "shell.execute_reply": "2022-08-01T02:33:14.310422Z" - }, "tags": [] }, "outputs": [], @@ -141,12 +121,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:14.315333Z", - "iopub.status.busy": "2022-08-01T02:33:14.314969Z", - "iopub.status.idle": "2022-08-01T02:33:14.433523Z", - "shell.execute_reply": "2022-08-01T02:33:14.432614Z" - }, "tags": [] }, "outputs": [], @@ -190,12 +164,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:14.437195Z", - "iopub.status.busy": "2022-08-01T02:33:14.436899Z", - "iopub.status.idle": "2022-08-01T02:33:14.898482Z", - "shell.execute_reply": "2022-08-01T02:33:14.897698Z" - }, "tags": [] }, "outputs": [], @@ -207,7 +175,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/misc/decomposition.ipynb b/docs/source/misc/decomposition.ipynb index ba62cd3b7..13ee73fc2 100644 --- a/docs/source/misc/decomposition.ipynb +++ b/docs/source/misc/decomposition.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_decomposition:" ] @@ -29,15 +27,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:08.651604Z", - "iopub.status.busy": "2022-08-01T02:33:08.651098Z", - "iopub.status.idle": "2022-08-01T02:33:08.667516Z", - "shell.execute_reply": "2022-08-01T02:33:08.666018Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -64,15 +54,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:08.671442Z", - "iopub.status.busy": "2022-08-01T02:33:08.671126Z", - "iopub.status.idle": "2022-08-01T02:33:08.676203Z", - "shell.execute_reply": "2022-08-01T02:33:08.675469Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "def plot_contour(X, F):\n", @@ -96,15 +78,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:08.679520Z", - "iopub.status.busy": "2022-08-01T02:33:08.679236Z", - "iopub.status.idle": "2022-08-01T02:33:08.682491Z", - "shell.execute_reply": "2022-08-01T02:33:08.681852Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "weights = [0.5, 0.5]" @@ -112,9 +86,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_weighted_sum:" ] @@ -129,15 +101,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:08.685563Z", - "iopub.status.busy": "2022-08-01T02:33:08.685307Z", - "iopub.status.idle": "2022-08-01T02:33:08.836827Z", - "shell.execute_reply": "2022-08-01T02:33:08.836002Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.decomposition.weighted_sum import WeightedSum\n", @@ -148,9 +112,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_tchebyshev:" ] @@ -165,15 +127,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:08.840645Z", - "iopub.status.busy": "2022-08-01T02:33:08.840058Z", - "iopub.status.idle": "2022-08-01T02:33:08.973157Z", - "shell.execute_reply": "2022-08-01T02:33:08.971983Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.decomposition.tchebicheff import Tchebicheff\n", @@ -184,9 +138,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_asf:" ] @@ -208,15 +160,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:08.978997Z", - "iopub.status.busy": "2022-08-01T02:33:08.977720Z", - "iopub.status.idle": "2022-08-01T02:33:09.114734Z", - "shell.execute_reply": "2022-08-01T02:33:09.113826Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.decomposition.asf import ASF\n", @@ -228,9 +172,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_aasf:" ] @@ -252,15 +194,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:09.118494Z", - "iopub.status.busy": "2022-08-01T02:33:09.118107Z", - "iopub.status.idle": "2022-08-01T02:33:09.255106Z", - "shell.execute_reply": "2022-08-01T02:33:09.254290Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.decomposition.aasf import AASF\n", @@ -273,15 +207,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:09.259031Z", - "iopub.status.busy": "2022-08-01T02:33:09.258769Z", - "iopub.status.idle": "2022-08-01T02:33:09.443220Z", - "shell.execute_reply": "2022-08-01T02:33:09.442256Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "dm = AASF(eps=0.0, beta=25)\n", @@ -291,9 +217,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_pbi:" ] @@ -308,15 +232,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:09.446829Z", - "iopub.status.busy": "2022-08-01T02:33:09.446521Z", - "iopub.status.idle": "2022-08-01T02:33:09.586560Z", - "shell.execute_reply": "2022-08-01T02:33:09.585592Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.decomposition.pbi import PBI\n", @@ -329,15 +245,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:09.590278Z", - "iopub.status.busy": "2022-08-01T02:33:09.590014Z", - "iopub.status.idle": "2022-08-01T02:33:09.714613Z", - "shell.execute_reply": "2022-08-01T02:33:09.713682Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "dm = PBI(eps=0.0, theta=1.0)\n", @@ -347,15 +255,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:09.718653Z", - "iopub.status.busy": "2022-08-01T02:33:09.718164Z", - "iopub.status.idle": "2022-08-01T02:33:09.848017Z", - "shell.execute_reply": "2022-08-01T02:33:09.847343Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "dm = PBI(eps=0.0, theta=5.0)\n", @@ -363,7 +263,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/misc/index.ipynb b/docs/source/misc/index.ipynb index 698eee45b..822ea411d 100644 --- a/docs/source/misc/index.ipynb +++ b/docs/source/misc/index.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_misc:" ] @@ -25,9 +23,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ "\n", ".. toctree::\n", @@ -43,7 +39,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/misc/indicators.ipynb b/docs/source/misc/indicators.ipynb index 5543beb95..b29a9fb7d 100644 --- a/docs/source/misc/indicators.ipynb +++ b/docs/source/misc/indicators.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_performance_indicator:" ] @@ -28,15 +26,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:55.355107Z", - "iopub.status.busy": "2022-08-01T02:33:55.354389Z", - "iopub.status.idle": "2022-08-01T02:33:55.815673Z", - "shell.execute_reply": "2022-08-01T02:33:55.814772Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -55,9 +45,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_gd:" ] @@ -82,15 +70,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:55.819667Z", - "iopub.status.busy": "2022-08-01T02:33:55.819359Z", - "iopub.status.idle": "2022-08-01T02:33:55.825210Z", - "shell.execute_reply": "2022-08-01T02:33:55.824596Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.indicators.gd import GD\n", @@ -101,9 +81,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_gd_plus:" ] @@ -128,15 +106,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:55.828223Z", - "iopub.status.busy": "2022-08-01T02:33:55.827960Z", - "iopub.status.idle": "2022-08-01T02:33:55.839326Z", - "shell.execute_reply": "2022-08-01T02:33:55.838511Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.indicators.gd_plus import GDPlus\n", @@ -147,9 +117,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_igd:" ] @@ -174,15 +142,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:55.843164Z", - "iopub.status.busy": "2022-08-01T02:33:55.842857Z", - "iopub.status.idle": "2022-08-01T02:33:55.847889Z", - "shell.execute_reply": "2022-08-01T02:33:55.847156Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.indicators.igd import IGD\n", @@ -193,9 +153,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_igd_plus:" ] @@ -220,15 +178,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:55.850937Z", - "iopub.status.busy": "2022-08-01T02:33:55.850668Z", - "iopub.status.idle": "2022-08-01T02:33:55.855939Z", - "shell.execute_reply": "2022-08-01T02:33:55.855248Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.indicators.igd_plus import IGDPlus\n", @@ -239,9 +189,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_hv:" ] @@ -280,15 +228,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:55.858871Z", - "iopub.status.busy": "2022-08-01T02:33:55.858605Z", - "iopub.status.idle": "2022-08-01T02:33:55.866157Z", - "shell.execute_reply": "2022-08-01T02:33:55.865390Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.indicators.hv import HV\n", @@ -300,7 +240,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/misc/kktpm.ipynb b/docs/source/misc/kktpm.ipynb index e88d6fc2e..0cc9ce73b 100644 --- a/docs/source/misc/kktpm.ipynb +++ b/docs/source/misc/kktpm.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_kktpm:" ] @@ -48,12 +46,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:44.791772Z", - "iopub.status.busy": "2022-08-01T02:32:44.791106Z", - "iopub.status.idle": "2022-08-01T02:32:44.896796Z", - "shell.execute_reply": "2022-08-01T02:32:44.896123Z" - }, "tags": [] }, "outputs": [], @@ -76,12 +68,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:44.900311Z", - "iopub.status.busy": "2022-08-01T02:32:44.899950Z", - "iopub.status.idle": "2022-08-01T02:32:45.589827Z", - "shell.execute_reply": "2022-08-01T02:32:45.589056Z" - }, "tags": [] }, "outputs": [], @@ -104,12 +90,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:45.593179Z", - "iopub.status.busy": "2022-08-01T02:32:45.592925Z", - "iopub.status.idle": "2022-08-01T02:32:50.855290Z", - "shell.execute_reply": "2022-08-01T02:32:50.854218Z" - }, "tags": [] }, "outputs": [], @@ -139,12 +119,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:50.859517Z", - "iopub.status.busy": "2022-08-01T02:32:50.859056Z", - "iopub.status.idle": "2022-08-01T02:33:04.399471Z", - "shell.execute_reply": "2022-08-01T02:33:04.398809Z" - }, "tags": [] }, "outputs": [], @@ -167,12 +141,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:04.402853Z", - "iopub.status.busy": "2022-08-01T02:33:04.402600Z", - "iopub.status.idle": "2022-08-01T02:33:04.952424Z", - "shell.execute_reply": "2022-08-01T02:33:04.951569Z" - }, "tags": [] }, "outputs": [], @@ -188,7 +156,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/misc/reference_directions.ipynb b/docs/source/misc/reference_directions.ipynb index cc185d419..00775ef4d 100644 --- a/docs/source/misc/reference_directions.ipynb +++ b/docs/source/misc/reference_directions.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_ref_dirs:" ] @@ -151,15 +149,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:18.483142Z", - "iopub.status.busy": "2022-08-01T02:33:18.482698Z", - "iopub.status.idle": "2022-08-01T02:33:20.943009Z", - "shell.execute_reply": "2022-08-01T02:33:20.942196Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.util.ref_dirs import get_reference_directions\n", @@ -173,15 +163,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:20.947445Z", - "iopub.status.busy": "2022-08-01T02:33:20.947163Z", - "iopub.status.idle": "2022-08-01T02:33:25.211126Z", - "shell.execute_reply": "2022-08-01T02:33:25.210152Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "ref_dirs = get_reference_directions(\"energy\", 3, 250, seed=1)\n", @@ -207,15 +189,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:25.216298Z", - "iopub.status.busy": "2022-08-01T02:33:25.215924Z", - "iopub.status.idle": "2022-08-01T02:33:25.422344Z", - "shell.execute_reply": "2022-08-01T02:33:25.421630Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "ref_dirs = get_reference_directions(\"uniform\", 3, n_partitions=12)\n", @@ -232,15 +206,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:25.426544Z", - "iopub.status.busy": "2022-08-01T02:33:25.426077Z", - "iopub.status.idle": "2022-08-01T02:33:26.343411Z", - "shell.execute_reply": "2022-08-01T02:33:26.342606Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -291,15 +257,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:26.347172Z", - "iopub.status.busy": "2022-08-01T02:33:26.346903Z", - "iopub.status.idle": "2022-08-01T02:33:26.560537Z", - "shell.execute_reply": "2022-08-01T02:33:26.559523Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "ref_dirs = get_reference_directions(\n", @@ -321,14 +279,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:26.564430Z", - "iopub.status.busy": "2022-08-01T02:33:26.564130Z", - "iopub.status.idle": "2022-08-01T02:33:27.066421Z", - "shell.execute_reply": "2022-08-01T02:33:27.065542Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.util.ref_dirs import get_reference_directions\n", @@ -353,14 +304,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:27.071555Z", - "iopub.status.busy": "2022-08-01T02:33:27.071185Z", - "iopub.status.idle": "2022-08-01T02:33:33.035071Z", - "shell.execute_reply": "2022-08-01T02:33:33.034360Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "partitions = [3, 2, 1, 1]\n", @@ -379,14 +323,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:33.040947Z", - "iopub.status.busy": "2022-08-01T02:33:33.040638Z", - "iopub.status.idle": "2022-08-01T02:33:38.605440Z", - "shell.execute_reply": "2022-08-01T02:33:38.604553Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.util.ref_dirs.energy_layer import LayerwiseRieszEnergyReferenceDirectionFactory\n", @@ -400,15 +337,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:33:38.609703Z", - "iopub.status.busy": "2022-08-01T02:33:38.609336Z", - "iopub.status.idle": "2022-08-01T02:33:40.192089Z", - "shell.execute_reply": "2022-08-01T02:33:40.191312Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "ref_dirs = get_reference_directions(\"layer-energy\", 3, [9, 5, 2, 1])\n", @@ -416,7 +345,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/operators/crossover.ipynb b/docs/source/operators/crossover.ipynb index 7f1c6cb32..966f19f3c 100644 --- a/docs/source/operators/crossover.ipynb +++ b/docs/source/operators/crossover.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_crossover:" ] @@ -18,9 +16,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_crossover_sbx:" ] @@ -39,15 +35,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:40.911593Z", - "iopub.status.busy": "2022-08-01T02:35:40.910928Z", - "iopub.status.idle": "2022-08-01T02:35:40.927249Z", - "shell.execute_reply": "2022-08-01T02:35:40.926437Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.operators.crossover.sbx import SBX\n", @@ -69,14 +57,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:40.931088Z", - "iopub.status.busy": "2022-08-01T02:35:40.930789Z", - "iopub.status.idle": "2022-08-01T02:35:41.482497Z", - "shell.execute_reply": "2022-08-01T02:35:41.481711Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -107,15 +88,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:41.485752Z", - "iopub.status.busy": "2022-08-01T02:35:41.485490Z", - "iopub.status.idle": "2022-08-01T02:35:41.986787Z", - "shell.execute_reply": "2022-08-01T02:35:41.986154Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "show(30)" @@ -131,15 +104,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:41.990044Z", - "iopub.status.busy": "2022-08-01T02:35:41.989782Z", - "iopub.status.idle": "2022-08-01T02:35:42.294511Z", - "shell.execute_reply": "2022-08-01T02:35:42.293712Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -170,9 +135,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_crossover_point:" ] @@ -187,15 +150,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:42.298515Z", - "iopub.status.busy": "2022-08-01T02:35:42.298135Z", - "iopub.status.idle": "2022-08-01T02:35:42.700091Z", - "shell.execute_reply": "2022-08-01T02:35:42.698830Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -239,9 +194,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_crossover_exponential:" ] @@ -264,15 +217,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:42.704086Z", - "iopub.status.busy": "2022-08-01T02:35:42.703773Z", - "iopub.status.idle": "2022-08-01T02:35:42.821816Z", - "shell.execute_reply": "2022-08-01T02:35:42.821021Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.operators.crossover.expx import ExponentialCrossover\n", @@ -284,9 +229,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_crossover_uniform:" ] @@ -309,15 +252,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:42.825607Z", - "iopub.status.busy": "2022-08-01T02:35:42.825218Z", - "iopub.status.idle": "2022-08-01T02:35:42.945308Z", - "shell.execute_reply": "2022-08-01T02:35:42.944582Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.operators.crossover.ux import UniformCrossover\n", @@ -328,9 +263,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_crossover_half_uniform:" ] @@ -352,14 +285,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:42.948753Z", - "iopub.status.busy": "2022-08-01T02:35:42.948401Z", - "iopub.status.idle": "2022-08-01T02:35:43.085824Z", - "shell.execute_reply": "2022-08-01T02:35:43.085180Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.operators.crossover.hux import HalfUniformCrossover\n", @@ -394,9 +320,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autofunction:: pymoo.factory.get_crossover\n", " :noindex:\n", @@ -406,7 +330,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/operators/index.ipynb b/docs/source/operators/index.ipynb index 5050faa13..2925396c9 100644 --- a/docs/source/operators/index.ipynb +++ b/docs/source/operators/index.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_operators:" ] @@ -18,9 +16,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. toctree::\n", " :maxdepth: 1\n", @@ -121,7 +117,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/operators/mutation.ipynb b/docs/source/operators/mutation.ipynb index 162c1f6dd..857f854b9 100644 --- a/docs/source/operators/mutation.ipynb +++ b/docs/source/operators/mutation.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_mutation:" ] @@ -18,9 +16,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_mutation_pm:" ] @@ -38,12 +34,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:46.580740Z", - "iopub.status.busy": "2022-08-01T02:35:46.580129Z", - "iopub.status.idle": "2022-08-01T02:35:47.081434Z", - "shell.execute_reply": "2022-08-01T02:35:47.080628Z" - }, "tags": [] }, "outputs": [], @@ -79,12 +69,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:47.086268Z", - "iopub.status.busy": "2022-08-01T02:35:47.085999Z", - "iopub.status.idle": "2022-08-01T02:35:47.484583Z", - "shell.execute_reply": "2022-08-01T02:35:47.483852Z" - }, "tags": [] }, "outputs": [], @@ -103,12 +87,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:47.487995Z", - "iopub.status.busy": "2022-08-01T02:35:47.487731Z", - "iopub.status.idle": "2022-08-01T02:35:47.766599Z", - "shell.execute_reply": "2022-08-01T02:35:47.765843Z" - }, "tags": [] }, "outputs": [], @@ -142,9 +120,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_mutation_bitflip:" ] @@ -162,12 +138,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:47.770461Z", - "iopub.status.busy": "2022-08-01T02:35:47.770107Z", - "iopub.status.idle": "2022-08-01T02:35:47.894714Z", - "shell.execute_reply": "2022-08-01T02:35:47.893650Z" - }, "tags": [] }, "outputs": [], @@ -203,9 +173,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autofunction:: pymoo.factory.get_mutation\n", " :noindex:\n", @@ -215,7 +183,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/operators/repair.ipynb b/docs/source/operators/repair.ipynb index a07524319..d9d7da3e4 100644 --- a/docs/source/operators/repair.ipynb +++ b/docs/source/operators/repair.ipynb @@ -2,23 +2,14 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_repair:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# Repair\n", "\n", @@ -27,11 +18,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "In the well-known **Knapsack Problem**. In this problem, a knapsack has to be filled with items without violating the maximum weight constraint. Each item $j$ has a value $b_j \\geq 0$ and a weight $w_j \\geq 0$ where $j \\in \\{1, .., m\\}$. The binary decision vector $z = (z_1, .., z_m)$ defines, if an item is picked or not. The aim is to maximize the profit $g(z)$:\n", "\n", @@ -50,15 +37,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:51.499040Z", - "iopub.status.busy": "2022-08-01T02:35:51.498660Z", - "iopub.status.idle": "2022-08-01T02:35:52.004043Z", - "shell.execute_reply": "2022-08-01T02:35:52.003353Z" - }, - "pycharm": { - "name": "#%%\n" - }, "tags": [] }, "outputs": [], @@ -88,11 +66,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "\n", "Because the constraint $\\sum_{j=1}^m z_j \\, w_j \\leq Q$ is fairly easy to satisfy. Therefore, we can make sure that this constraint is not violated by repairing the individual before evaluating the objective function.\n", @@ -103,15 +77,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:52.007226Z", - "iopub.status.busy": "2022-08-01T02:35:52.006958Z", - "iopub.status.idle": "2022-08-01T02:35:52.012048Z", - "shell.execute_reply": "2022-08-01T02:35:52.011257Z" - }, - "pycharm": { - "name": "#%%\n" - }, "tags": [] }, "outputs": [], @@ -155,15 +120,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:52.014979Z", - "iopub.status.busy": "2022-08-01T02:35:52.014735Z", - "iopub.status.idle": "2022-08-01T02:35:52.356550Z", - "shell.execute_reply": "2022-08-01T02:35:52.355912Z" - }, - "pycharm": { - "name": "#%%\n" - }, "tags": [] }, "outputs": [], @@ -184,17 +140,25 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "As demonstrated, the repair operator makes sure no infeasible solution is evaluated. Even though this example seems to be quite easy, the repair operator makes especially sense for more complex constraints where domain-specific knowledge is known." ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/operators/sampling.ipynb b/docs/source/operators/sampling.ipynb index 960da118a..0f1b44f36 100644 --- a/docs/source/operators/sampling.ipynb +++ b/docs/source/operators/sampling.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_sampling:" ] @@ -25,9 +23,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_sampling_random:" ] @@ -42,15 +38,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:36.859235Z", - "iopub.status.busy": "2022-08-01T02:35:36.858851Z", - "iopub.status.idle": "2022-08-01T02:35:37.056453Z", - "shell.execute_reply": "2022-08-01T02:35:37.055714Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.core.problem import Problem\n", @@ -67,9 +55,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_sampling_lhs:" ] @@ -84,15 +70,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:37.060357Z", - "iopub.status.busy": "2022-08-01T02:35:37.060015Z", - "iopub.status.idle": "2022-08-01T02:35:37.318270Z", - "shell.execute_reply": "2022-08-01T02:35:37.317132Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.operators.sampling.lhs import LHS\n", @@ -112,9 +90,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autofunction:: pymoo.factory.get_sampling\n", " :noindex:\n", @@ -124,7 +100,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/operators/selection.ipynb b/docs/source/operators/selection.ipynb index d3ae0e60e..81eb4fd3a 100644 --- a/docs/source/operators/selection.ipynb +++ b/docs/source/operators/selection.ipynb @@ -2,23 +2,14 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_selection:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## Selection\n", "\n", @@ -28,11 +19,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ " \n", " \n", @@ -42,34 +29,21 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_selection_random:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Random Selection" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "Here, we randomly pick solutions from the current population to be used for recombination. The implementation uses a permutation to avoid repetitive individuals. For instance, let us consider the case where only two parents are desired to be selected: The permutation (5,2,3,4,1,0), will lead to the parent selection of (5,2), (3,4), (1,0), where no parent can participate twice for mating." ] @@ -77,18 +51,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:32.498941Z", - "iopub.status.busy": "2022-08-01T02:35:32.498266Z", - "iopub.status.idle": "2022-08-01T02:35:32.514499Z", - "shell.execute_reply": "2022-08-01T02:35:32.513452Z" - }, - "pycharm": { - "name": "#%%\n" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.operators.selection.rnd import RandomSelection\n", @@ -98,45 +61,28 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ " " ] }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_selection_tournament:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Tournament Selection" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "It has been shown that tournament pressure is helpful for faster convergence. This implementation provides the functionality to define a tournament selection very generic. \n", "Below we show a binary tournament selection (two individuals are participating in each competition).\n", @@ -147,18 +93,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:35:32.518336Z", - "iopub.status.busy": "2022-08-01T02:35:32.518028Z", - "iopub.status.idle": "2022-08-01T02:35:33.381014Z", - "shell.execute_reply": "2022-08-01T02:35:33.380196Z" - }, - "pycharm": { - "name": "#%%\n" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -206,23 +141,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autofunction:: pymoo.factory.get_selection\n", " :noindex:\n", @@ -232,7 +158,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/operators/survival.ipynb b/docs/source/operators/survival.ipynb index e966d4b3c..17c171a11 100644 --- a/docs/source/operators/survival.ipynb +++ b/docs/source/operators/survival.ipynb @@ -1,7 +1,6 @@ { "cells": [ { - "attachments": {}, "cell_type": "raw", "metadata": {}, "source": [ @@ -9,7 +8,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -17,7 +15,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -25,11 +22,10 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "The original survival strategy proposed in [NSGA-II](../algorithms/moo/nsga2.ipynb#nsga-ii-non-dominated-sorting-genetic-algorithm) ranks solutions in fronts by dominance criterion and uses a diversity metric denoted crowding distances to sort individuals in each front. This is used as criterion to compare individuals in elitist parent selection schemes and to truncate the population in the survival selection stage of algorithms.\n", + "The original survival strategy proposed in [NSGA-II](../algorithms/moo/nsga2.ipynb) ranks solutions in fronts by dominance criterion and uses a diversity metric denoted crowding distances to sort individuals in each front. This is used as criterion to compare individuals in elitist parent selection schemes and to truncate the population in the survival selection stage of algorithms.\n", "\n", "Variants of the original algorithm have been proposed in the literature to address different performance aspects. Therefore the class ``RankAndCrowding`` from pymoo is a generalization of NSGA-II's survival in which several crowding metrics can be used. Some are already implemented and can be parsed as strings in the ``crowding_func`` argument, while others might be defined from scratch and parsed as callables. The ones available are:\n", "\n", @@ -47,7 +43,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -56,23 +51,20 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "# Pymoo imports\n", "from pymoo.algorithms.moo.nsga2 import NSGA2\n", "from pymoo.operators.survival.rank_and_crowding import RankAndCrowding\n", "from pymoo.problems import get_problem\n", "from pymoo.optimize import minimize\n", - "\n", - "# External imports\n", "from plots import plot_pairs_2d, plot_pairs_3d" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -102,20 +94,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAHqCAYAAAA+vEZWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAACLb0lEQVR4nOzde1hc5bn38d8wSZiYAImMMJMQjK02IkStgkloyatX2RmrbbWRemhq1aZl74qaaOuhqUGbaGy1rYkV60atWo2HSqlN1TpJrElQQiTRNIJ4aLcRjRyERCAqSVys9w9gysAMDGSYE9/PdXHpWuueNfcM6DzcPM/9WEzTNAUAAAAAAACEWFy4EwAAAAAAAMDYRGEKAAAAAAAAYUFhCgAAAAAAAGFBYQoAAAAAAABhQWEKAAAAAAAAYUFhCgAAAAAAAGFBYQoAAAAAAABhQWEKAAAAAAAAYTEu3AmMVV1dXfrwww+VkJAgi8US7nQAAIAfpmmqo6ND06ZNU1wcf9MLN8ZQAABEvuGMnyhMhcmHH36oGTNmhDsNAAAQoPfff19paWnhTmPMYwwFAED0CGT8RGEqTBISEiR1f5MSExPDnA0AAPCnvb1dM2bM8Hx2I7wYQwEAEPmGM36iMBUmvVPPExMTGVQBABAFWDYWGRhDAQAQPQIZP9EoAQAAAAAAAGFBYQoAAAAAAABhQWEKAAAAAAAAYUGPKQBAyBiGoUOHDoU7DcDL+PHjZbVaw50GAAADMHZCpArm+InCFABg1JmmqcbGRn388cfhTgXwacqUKXI4HDQ4BwBEBMZOiAbBGj9RmAIAjLregVVKSoqOOOIIfvlHxDBNU59++qmam5slSU6nM8wZAQDA2AmRLdjjJwpTAIBRZRiGZ2CVnJwc7nSAASZOnChJam5uVkpKCsv6AABhxdgJ0SCY4yeanwMARlVvX4QjjjgizJkA/vX+fNLHAwAQboydEC2CNX6iMAUACAmmoCOS8fMJAIg0fDYh0gXrZ5TCFAAAAAAAAMKCwhQAAGPcxRdfrFWrVh32fS699FKde+65w3rMzJkztXr16sN+7sHyuPDCC/Wb3/wmqM8BAADGrmCNnYLl9NNP19KlS4N6zzfeeENpaWn65JNPgnpfXyhMxRjD6NKuTbu1+fEa7dq0W4bRFe6UACBqXXrppbJYLPrlL3/pdf7pp58eMHX5vvvu00knnaTJkydrypQp+vKXv6zbbrvNK6a9vV3Lly9XZmamJk6cqOTkZOXk5Oj222/Xvn37Bjz/448/LqvVqqKiooDz7VuQCaRQ9M9//lPPPfecrrrqqoCeYzBr1qzRQw89NKzHVFdXq7Cw8LCfezA33nijbr31VrW1tY3q8yB6mYahlqoq7Vm3Ti1VVTINI9wpAUBUYuwUHuXl5Vq5cmVQ73nCCSdo7ty5+u1vfxvU+/oSUYWpLVu26Jvf/KamTZsmi8Wip59+2uu6aZoqLi6W0+nUxIkTlZ+fr3feeccrZu/evVq0aJESExM1ZcoULV68WPv37/eK2bVrl/Ly8mSz2TRjxgzdfvvtA3J56qmndPzxx8tms2n27Nl67rnnhp1LqFWW12nxzLu07IxHdMd3/6JlZzyixTPvUmV5XVjzAoBgCUfx3Waz6Ve/+pXPwU+vP/zhD1q6dKmuuuoq7dy5Uy+//LKuu+46r8+fvXv3au7cuXrwwQf105/+VNu2bdOrr76qW2+9Va+99poee+yxAfd94IEHdN111+nxxx9XZ2fnqLy+3/3ud/rOd76jyZMnj/gehmGoq6tLSUlJmjJlyrAee9RRR416c9esrCx98Ytf1KOPPjqqzxMujJ8OT4PbrY3z52vrokV69eqrtXXRIm2cP18NbndY8wKAYAhH4Z2xU2CCueHKkUceqYSEhKDdr9dll12m3//+9/r888+Dfu++Iqow9cknn+ikk05SSUmJz+u333677rrrLt17773atm2bJk2aJJfL5fUDt2jRItXW1mrDhg165plntGXLFq+/xLa3t2vBggU6+uijtWPHDt1xxx26+eabVVpa6omprKzURRddpMWLF+u1117Tueeeq3PPPVc1NTXDyiWUKsvrtKqgTC0fdHidb9nToVUFZRSnAES9cBXf8/Pz5XA4BvwFr69169bp/PPP1+LFi3XssccqMzNTF110kW699VZPzLJly1RfX69XXnlFl112mU488UQdffTRWrBggR5//HFdfvnlXvd89913VVlZqRtuuEFf+tKXVF5eHvTXZhiGysrK9M1vftPr/L59+/T9739fU6dO1RFHHKGvf/3rXsWDhx56SFOmTNG6det0wgknKD4+XvX19QP+ytjR0aFFixZp0qRJcjqduvPOOwdMNe+/lM9isej+++/Xt7/9bR1xxBE6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9B8UphA2LS0tMgxDqampXudTU1PV2Njo8zGNjY3Dioe3ULznnZ2duv7663XRRRcpMTExOIlHudF835955hlNnjxZNptNd955pzZs2CC73R7cFxCFRus9/9WvfqVx48bpqquuCn7SUW603vMzzzxTf/zjH/XCCy/oV7/6lTZv3qyvf/3rMgwj+C8CiAKMn0KP8VPoMXYKPcZOocfY6T/GhTsBALHj0KFDOv/882Wapn7/+9+HO50x4YwzztDOnTvV0tKi++67T+eff762bdumlJSUcKcWc3bs2KE1a9bo1VdflcViCXc6Y8aFF17o+ffZs2frxBNP1Be/+EVt2rRJX/va18KYGQAEB+On0GLsFDqMncIjGsdOzJhC2NjtdlmtVjU1NXmdb2pqksPh8PkYh8MxrHh4G833vHdQ9d5772nDhg38ta+P0XzfJ02apGOPPVZz587VAw88oHHjxumBBx4I7guIQqPxnldUVKi5uVnp6ekaN26cxo0bp/fee08/+clPNHPmzFF5HdEkVP9P/8IXviC73a5//etfh580EIUYP4Ue46fQY+wUeoydQo+x039QmELYTJgwQaeeeqpeeOEFz7muri698MILmjdvns/HzJs3zytekjZs2OA3Ht5G6z3vHVS988472rhxo5KTk0fnBUSpUP6sd3V16cCBA4efdJQbjff84osv1q5du7Rz507P17Rp03TttdfK7XaP3ouJEqH6Of/ggw/U2toq5/9v7+5Zo1jDMAA/yrqBuOIHCImIaaKNiB9IIBDQQiwsAoKli1goWNmk0Cp/wC4/QLEKWgVMJ1hJQghko6KVmE4RrDR+FT4WssHogcM5u2fe3eN1wRTLTPG8bzHc3DvMDA93Z3DoM/JT9eSn6slO1ZOdqic7/aT029f5s83OzubAwEDeuXMnnz9/nlevXs1du3blmzdvMjOz2WzmjRs3Nq5//Phx1mq1vHXrVr548SKnp6d/+zzmu3fvcmVlJefn5zMicnZ2NldWVvL169eVr68XdXvPv379mpOTk7l///5stVqbPkv65cuXImvsRd3e9w8fPuTNmzdzYWEh19bWcnl5OS9fvpwDAwP57NmzImvsNf/F/eVXviyzWbf3/P379zk1NZULCwv56tWrfPjwYZ44cSIPHjyYnz9/LrJG6AXyU/Xkp+rJTtWTnaonO/2gmKK4mZmZPHDgQNbr9RwbG8vFxcWNc6dOncpLly5tuv7evXt56NChrNfrefjw4Zyfn990/vbt2xkRvx3T09MVrKY/dHPP25+V/qvj0aNHFa2oP3Rz3z99+pTnz5/Pffv2Zb1ez+Hh4ZycnMylpaWqltMXun1/+ZVw9btu7vnHjx/z7NmzuXfv3ty2bVuOjIzklStXNsIa/Mnkp+rJT9WTnaonO1VPdsrckplZ3fNZAAAAAPCDd0wBAAAAUIRiCgAAAIAiFFMAAAAAFKGYAgAAAKAIxRQAAAAARSimAAAAAChCMQUAAABAEYopAAAAAIpQTAEAAABQhGIKoAtmZmZiZGQkarVaTE1NlR4HAKAvyFDAlszM0kMA9LPV1dU4efJkzM3NxfHjx2Pnzp0xODhYeiwAgJ4mQwEREbXSAwD0uwcPHsTY2FicO3eu9CgAAH1DhgIiPDEF0JHR0dF4+fLlxu9msxl3794tOBEAQO+ToYA2xRRAB96+fRvj4+Nx7dq1uHjxYjQajWg0GqXHAgDoaTIU0Obl5wAdaDQasba2FhMTEzE0NBTNZjN2794dFy5cKD0aAEDPkqGANsUUQAeePHkSERFHjhyJiIjr1697DB0A4G/IUECbYgqgA61WK0ZHR2P79u0REXH69OnYsWNH4akAAHqbDAW0KaYAOtBqteLo0aOlxwAA6CsyFNCmmALoQKvVimPHjpUeAwCgr8hQQJtiCuBf+vbtWzx9+tS/fQAA/4AMBfysVnoAgH61devWWF9fLz0GAEBfkaGAn23JzCw9BMD/xZkzZ2J1dTXW19djz549cf/+/RgfHy89FgBAT5Oh4M+lmAIAAACgCO+YAgAAAKAIxRQAAAAARSimAAAAAChCMQUAAABAEYopAAAAAIpQTAEAAABQhGIKAAAAgCIUUwAAAAAUoZgCAAAAoAjFFAAAAABFKKYAAAAAKEIxBQAAAEAR3wGN20o7aMX08wAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plot_pairs_2d(\n", " (\"NSGA-II (original)\", res_nsga2.F),\n", @@ -124,163 +105,11 @@ " dpi=100,\n", ")" ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Problem definition DTLZ2 - a three-objective problem\n", - "problem = get_problem(\"dtlz2\")\n", - "\n", - "# Algorithms\n", - "nsga2 = NSGA2(130, survival=RankAndCrowding(crowding_func=\"cd\"))\n", - "nsga2_mnn = NSGA2(130, survival=RankAndCrowding(crowding_func=\"mnn\"))\n", - "\n", - "# Minimization results\n", - "res_nsga2 = minimize(\n", - " problem,\n", - " nsga2,\n", - " ('n_gen', 150),\n", - " seed=12,\n", - ")\n", - "\n", - "# Minimization results\n", - "res_nsga2_mnn = minimize(\n", - " problem,\n", - " nsga2_mnn,\n", - " ('n_gen', 150),\n", - " seed=12,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABDQAAAHqCAYAAAD74h6CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9d5wkd3Xujz/VOefJOW3OuzNaZQEChCRMzkkY29jgr8315WLsixM/g8HggHG4JgqwAZNZbLAAWUJhpd2Vdle73ZNzDh1mpnN3hd8fs1Wq7umZ6TzdO+f9egmhnu7+VKc6p57POc9hBEEQQBAEQRAEQRAEQRAEUUUodvsACIIgCIIgCIIgCIIgcoUEDYIgCIIgCIIgCIIgqg4SNAiCIAiCIAiCIAiCqDpI0CAIgiAIgiAIgiAIouogQYMgCIIgCIIgCIIgiKqDBA2CIAiCIAiCIAiCIKoOEjQIgiAIgiAIgiAIgqg6SNAgCIIgCIIgCIIgCKLqIEGDIAiCIAiCIAiCIIiqgwQNgiAIgiAIgiAIgiCqDhI0CIIgCIIgCIIgCIKoOkjQIAiCIAiCIAiCIAii6iBBgyAIgiAIgiAIgiCIqoMEDYIgCIIgCIIgCIIgqg4SNAiCIAiCIAiCIAiCqDpUu30ABEEQ5YbjOCSTyd0+DIJIQa1WQ6lU7vZhEARBEMSOUC5FFIpGo4FCUXh9BQkaBEHsGQRBwOLiIlZXV3f7UAgiIzabDfX19WAYZrcPhSAIgiA2QbkUUSwUCgU6Ojqg0WgKeh5GEAShSMdEEARR0SwsLGB1dRW1tbUwGAx00UhUDIIgIBKJYHl5GTabDQ0NDbt9SARBEASxCcqliGLA8zzm5+ehVqvR2tpa0PeIKjQIgtgTcBwnBWCn07nbh0MQm9Dr9QCA5eVl1NbWUvsJQRAEUVFQLkUUk5qaGszPz4NlWajV6ryfh0xBCYLYE4h9ngaDYZePhCC2Rvx+Ul8yQRAEUWlQLkUUE7HVhOO4gp6HBA2CIPYUVBpJVDL0/SQIgiAqHYpVRDEo1veIBA2CIAiCIAiCIAiCIKoOEjQIgiCIiuBd73oXPvnJTxb8PA899BBe+9rX5vSY9vZ2/P3f/33Ba293HG9961vxN3/zN0VdgyAIgiAIQqRYuVQxOHv2LL7//e+XfB0SNAiCICqchx56CAzD4FOf+lTK7T/60Y82let98YtfxPHjx2EymWCz2XDy5En81V/9Vcp91tfX8Sd/8ic4fPgw9Ho9nE4nent78dd//dcIBAKb1v/Wt74FpVKJD37wg1kfr/xCPhuB4YUXXsBPf/pT/N7v/V5Wa2zH5z73OTz88MM5PebSpUv4rd/6rYLX3o6Pfexj+MQnPoG1tbWSrkMQBEEQRCqUS5Wfj33sY/joRz8KnudLug4JGgRBEFWATqfDpz/96YxBUuQrX/kKPvShD+H3fu/3cPXqVTz99NP4yEc+glAoJN3H7/fj7Nmz+OpXv4oPf/jDuHDhAi5fvoxPfOITuHLlCr75zW9uet4vf/nL+MhHPoJvfetbiMViJXl9n//85/GmN70JJpMp7+fgOA48z8NqtcJms+X02JqampKbnB05cgRdXV34t3/7t5KuQxAEQRDEZiiXKi+vetWrEAwG8bOf/ayk65CgQRAEkQdzwz4897NRzI34yrLevffei/r6+k07BHLOnTuHN7/5zXjf+96H7u5uHD58GG9729vwiU98QrrPH//xH2N6ehoXL17Ee9/7Xhw7dgxtbW14xStegW9961v4wAc+kPKcExMTOH/+PD760Y9i3759+MEPflD018ZxHL73ve/h1a9+dcrtgUAA7373u2G322EwGPCqV70KIyMj0t8ffvhh2Gw2nDt3DocOHYJWq8X09PSmXYxgMIh3vOMdMBqNaGhowN/93d/hnnvuwYc+9CHpPuktJwzD4Etf+hJe97rXwWAwoKenB+fOnUs55ve9733o6OiAXq/H/v378bnPfW7H1/rqV78a3/72t3N/kwiCIAjiJiM0MYGlxx9HaGKiLOvtxVyqvb0df/mXf4l3v/vdMJlMaGtrw7lz57CysoLXvOY1MJlMOHbsGJ577jnpMWJ+9cgjj+DgwYMwmUy47777sLCwIN1HzLU++9nPoqGhAU6nEx/84AdTprQplUrcf//9Jc97SNAgCILIgaA/ij+975t4//5/xp/f/y28f98/40/v+yZCgWhJ11UqlfjkJz+Jz3/+85idnc14n/r6ejz77LOYmprK+Hee5/Ef//EfeOc734nGxsaM90kvu/zqV7+KBx54AFarFe985zvx5S9/ubAXkoFr165hbW0NZ86cSbn9oYcewnPPPYdz587hmWeegSAIuP/++1OCZSQSwac//Wl86UtfgsfjQW1t7abn/4M/+AM8/fTTOHfuHH7xi1/gySefxOXLl3c8rr/4i7/Am9/8Zly7dg33338/3vGOd8Dv9wPYeC+bm5vx3e9+F/39/fjTP/1T/PEf/zG+853vbPucfX19uHjxIuLxeDZvDUEQBEHcdCRWV/HsQw/hsXvvxcX3vQ+P3Xsvnn3oISRK3JK5F3MpAPi7v/s73H777bhy5QoeeOABvOtd78K73/1uvPOd78Tly5fR1dWFd7/73RAEQXpMJBLBZz/7WXzjG9/AE088genpaXz4wx9Oed7HHnsMY2NjeOyxx/C1r30NDz/88KaW376+Pjz55JNFf71ySNAgCILIgc+8/Ye4+svxlNuu/nIcf/22H5Z87de97nU4ceIE/uzP/izj3//sz/4MNpsN7e3t2L9/Px566CF85zvfkXoXV1ZWsLq6iv3796c87vTp0zCZTDCZTHjb294m3c7zPB5++GG8853vBLBhavnUU09hosg7KVNTU1AqlSlixMjICM6dO4cvfelLuPPOO3H8+HH8+7//O+bm5vCjH/1Iul8ymcQ///M/47bbbsP+/fs3tY0Eg0F87Wtfw2c/+1m87GUvw5EjR/DVr341q5nnDz30EN72trehu7sbn/zkJxEKhXDx4kUAgFqtxl/8xV/gzJkz6OjowDve8Q68973v3VHQaGxsRCKRwOLiYg7vEEEQBEHcPFz+0IfgPX8+5Tbv+fO4/Pu/X/K191IuJXL//ffj/e9/P3p6evCnf/qnWF9fR29vL970pjdh3759+MM//EMMDAxgaWlJekwymcT/+3//D2fOnMGpU6fwu7/7u3j00UdTntdut+Mf//EfceDAATz44IN44IEHNt2nsbERMzMzJfXRIEGDIAgiS+aGfbj8yBh4Tki5necEXH5krCztJ5/+9Kfxta99DQMDA5v+1tDQgGeeeQbXr1/H7//+74NlWbznPe/Bfffdt20g+eEPf4irV6/ila98JaLRFytNfvGLXyAcDuP+++8HALhcLrz85S/HV77yFQDAk08+KQVvk8mEf//3f8/rNUWjUWi12pQdjYGBAahUKtxyyy3SbU6nE/v370957RqNBseOHdvyucfHx5FMJtHX1yfdZrVaNyUimZA/r9FohMViwfLysnTbP/3TP+H06dOoqamByWTCF77wBUxPT2/7nHq9HsDGzgdBEARB7DVCExNY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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_pairs_3d(\n", - " (\"NSGA-II (original)\", res_nsga2.F),\n", - " (\"NSGA-II (mnn)\", res_nsga2_mnn.F),\n", - " figsize=[12, 5],\n", - " dpi=100,\n", - ")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### API" - ] - }, - { - "cell_type": "raw", - "metadata": {}, - "source": [ - ".. autoclass:: pymoo.operators.survival.rank_and_crowding.RankAndCrowding\n", - " :noindex:\n", - "\n", - ".. autoclass:: pymoo.operators.survival.rank_and_crowding.ConstrRankAndCrowding\n", - " :noindex:" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Plots" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```python\n", - "import matplotlib.pyplot as plt\n", - "\n", - "\n", - "def plot_pairs_3d(first, second, colors=(\"indigo\", \"firebrick\"), **kwargs):\n", - " \n", - " fig, ax = plt.subplots(1, 2, subplot_kw={'projection':'3d'}, **kwargs)\n", - "\n", - " ax[0].scatter(\n", - " *first[1].T,\n", - " color=colors[0], label=first[0], marker=\"o\",\n", - " )\n", - " ax[0].set_ylabel(\"$f_2$\")\n", - " ax[0].set_xlabel(\"$f_1$\")\n", - " ax[0].set_zlabel(\"$f_3$\")\n", - " ax[0].legend()\n", - "\n", - " ax[1].scatter(\n", - " *second[1].T,\n", - " color=colors[1], label=second[0], marker=\"o\",\n", - " )\n", - " ax[1].set_ylabel(\"$f_2$\")\n", - " ax[1].set_xlabel(\"$f_1$\")\n", - " ax[1].set_zlabel(\"$f_3$\")\n", - " ax[1].legend()\n", - "\n", - " ax[0].view_init(elev=30, azim=30)\n", - " ax[1].view_init(elev=30, azim=30)\n", - "\n", - " fig.tight_layout()\n", - " plt.show()\n", - "\n", - "\n", - "def plot_pairs_2d(first, second, colors=(\"indigo\", \"firebrick\"), **kwargs):\n", - " \n", - " fig, ax = plt.subplots(1, 2, **kwargs)\n", - "\n", - " ax[0].scatter(\n", - " *first[1].T,\n", - " color=colors[0], label=first[0], marker=\"o\",\n", - " )\n", - " ax[0].set_ylabel(\"$f_2$\")\n", - " ax[0].set_xlabel(\"$f_1$\")\n", - " ax[0].legend()\n", - "\n", - " ax[1].scatter(\n", - " *second[1].T,\n", - " color=colors[1], label=second[0], marker=\"o\",\n", - " )\n", - " ax[1].set_ylabel(\"$f_2$\")\n", - " ax[1].set_xlabel(\"$f_1$\")\n", - " ax[1].legend()\n", - "\n", - " fig.tight_layout()\n", - " plt.show()\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "venv", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -293,10 +122,8 @@ "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" + "pygments_lexer": "ipython3" }, - "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "8ec0d6c9b8d50a94217d7ab4804e268ea3c783f3ca99db20a683c9c8ae9602ac" @@ -304,5 +131,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/docs/source/problems/constrained/mw.ipynb b/docs/source/problems/constrained/mw.ipynb index ddd475060..42a15ca4e 100755 --- a/docs/source/problems/constrained/mw.ipynb +++ b/docs/source/problems/constrained/mw.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_mw:" ] @@ -23,14 +21,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:36.220879Z", - "iopub.status.busy": "2022-08-01T02:45:36.220478Z", - "iopub.status.idle": "2022-08-01T02:45:36.315923Z", - "shell.execute_reply": "2022-08-01T02:45:36.315105Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -42,9 +33,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_mw1:" ] @@ -60,14 +49,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:36.319436Z", - "iopub.status.busy": "2022-08-01T02:45:36.319177Z", - "iopub.status.idle": "2022-08-01T02:45:36.475470Z", - "shell.execute_reply": "2022-08-01T02:45:36.474539Z" - }, - "section": "zdt1", "tags": [] }, "outputs": [], @@ -88,14 +69,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:36.479358Z", - "iopub.status.busy": "2022-08-01T02:45:36.478790Z", - "iopub.status.idle": "2022-08-01T02:45:36.609460Z", - "shell.execute_reply": "2022-08-01T02:45:36.608559Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw2\")\n", @@ -112,14 +86,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:36.613362Z", - "iopub.status.busy": "2022-08-01T02:45:36.612941Z", - "iopub.status.idle": "2022-08-01T02:45:36.801508Z", - "shell.execute_reply": "2022-08-01T02:45:36.800668Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw3\")\n", @@ -137,12 +104,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:36.805656Z", - "iopub.status.busy": "2022-08-01T02:45:36.805130Z", - "iopub.status.idle": "2022-08-01T02:45:37.187626Z", - "shell.execute_reply": "2022-08-01T02:45:37.186971Z" - }, "tags": [] }, "outputs": [], @@ -162,14 +123,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:37.191850Z", - "iopub.status.busy": "2022-08-01T02:45:37.191574Z", - "iopub.status.idle": "2022-08-01T02:45:37.540499Z", - "shell.execute_reply": "2022-08-01T02:45:37.539468Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw5\")\n", @@ -186,14 +140,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:37.544266Z", - "iopub.status.busy": "2022-08-01T02:45:37.544000Z", - "iopub.status.idle": "2022-08-01T02:45:37.678602Z", - "shell.execute_reply": "2022-08-01T02:45:37.677791Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw6\")\n", @@ -210,14 +157,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:37.682556Z", - "iopub.status.busy": "2022-08-01T02:45:37.682290Z", - "iopub.status.idle": "2022-08-01T02:45:38.057918Z", - "shell.execute_reply": "2022-08-01T02:45:38.057197Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw7\")\n", @@ -235,12 +175,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:38.061527Z", - "iopub.status.busy": "2022-08-01T02:45:38.061228Z", - "iopub.status.idle": "2022-08-01T02:45:38.277828Z", - "shell.execute_reply": "2022-08-01T02:45:38.276843Z" - }, "tags": [] }, "outputs": [], @@ -260,14 +194,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:38.282093Z", - "iopub.status.busy": "2022-08-01T02:45:38.281792Z", - "iopub.status.idle": "2022-08-01T02:45:38.659469Z", - "shell.execute_reply": "2022-08-01T02:45:38.658813Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw9\")\n", @@ -284,14 +211,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:38.665990Z", - "iopub.status.busy": "2022-08-01T02:45:38.665727Z", - "iopub.status.idle": "2022-08-01T02:45:39.057508Z", - "shell.execute_reply": "2022-08-01T02:45:39.056201Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw10\")\n", @@ -308,14 +228,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:39.062188Z", - "iopub.status.busy": "2022-08-01T02:45:39.061887Z", - "iopub.status.idle": "2022-08-01T02:45:39.485311Z", - "shell.execute_reply": "2022-08-01T02:45:39.484469Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw11\")\n", @@ -332,14 +245,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:39.489281Z", - "iopub.status.busy": "2022-08-01T02:45:39.489015Z", - "iopub.status.idle": "2022-08-01T02:45:39.634832Z", - "shell.execute_reply": "2022-08-01T02:45:39.634026Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw12\")\n", @@ -356,14 +262,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:39.638689Z", - "iopub.status.busy": "2022-08-01T02:45:39.638287Z", - "iopub.status.idle": "2022-08-01T02:45:40.046049Z", - "shell.execute_reply": "2022-08-01T02:45:40.044994Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = get_problem(\"mw13\")\n", @@ -381,12 +280,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:40.050572Z", - "iopub.status.busy": "2022-08-01T02:45:40.050304Z", - "iopub.status.idle": "2022-08-01T02:45:40.588543Z", - "shell.execute_reply": "2022-08-01T02:45:40.587552Z" - }, "tags": [] }, "outputs": [], @@ -404,7 +297,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/definition.ipynb b/docs/source/problems/definition.ipynb index 196818893..865139b02 100755 --- a/docs/source/problems/definition.ipynb +++ b/docs/source/problems/definition.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_problem_definition:" ] @@ -27,9 +25,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. csv-table:: Types of Output\n", " :header: \"Argument\", \"Description\"\n", @@ -52,9 +48,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -66,9 +60,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_problem_definition_vectorized:" ] @@ -90,9 +82,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Tip\n", " :class: myOwnStyle\n", @@ -111,12 +101,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:03.781016Z", - "iopub.status.busy": "2022-08-01T02:44:03.780267Z", - "iopub.status.idle": "2022-08-01T02:44:03.811691Z", - "shell.execute_reply": "2022-08-01T02:44:03.810731Z" - }, "tags": [] }, "outputs": [], @@ -144,9 +128,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_problem_definition_elementwise:" ] @@ -162,12 +144,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:03.815453Z", - "iopub.status.busy": "2022-08-01T02:44:03.815161Z", - "iopub.status.idle": "2022-08-01T02:44:03.820649Z", - "shell.execute_reply": "2022-08-01T02:44:03.819994Z" - }, "tags": [] }, "outputs": [], @@ -202,9 +178,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_problem_definition_functional:" ] @@ -227,14 +201,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:03.823832Z", - "iopub.status.busy": "2022-08-01T02:44:03.823553Z", - "iopub.status.idle": "2022-08-01T02:44:03.832296Z", - "shell.execute_reply": "2022-08-01T02:44:03.831692Z" - }, - "section": "from_function", "tags": [] }, "outputs": [], @@ -285,12 +251,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:03.835388Z", - "iopub.status.busy": "2022-08-01T02:44:03.835120Z", - "iopub.status.idle": "2022-08-01T02:44:03.840392Z", - "shell.execute_reply": "2022-08-01T02:44:03.839751Z" - }, "tags": [] }, "outputs": [], @@ -321,9 +281,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. class:: pymoo.core.problem.Problem\n", "\n", @@ -332,7 +290,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/dynamic/df.ipynb b/docs/source/problems/dynamic/df.ipynb index c9f3631ba..1c9cfd76e 100644 --- a/docs/source/problems/dynamic/df.ipynb +++ b/docs/source/problems/dynamic/df.ipynb @@ -3,9 +3,7 @@ { "cell_type": "raw", "id": "0b19416f-038c-4013-a26f-c996f0a21c99", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df:" ] @@ -29,9 +27,7 @@ { "cell_type": "raw", "id": "1ff63dec-92f8-4627-b398-6afbbb146d61", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df1:" ] @@ -48,14 +44,7 @@ "cell_type": "code", "execution_count": null, "id": "cc2a8e46-9611-4786-9c46-fd53378f16b2", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:10.911632Z", - "iopub.status.busy": "2022-08-01T02:44:10.911235Z", - "iopub.status.idle": "2022-08-01T02:44:11.413239Z", - "shell.execute_reply": "2022-08-01T02:44:11.412253Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -75,9 +64,7 @@ { "cell_type": "raw", "id": "7cdfca4b-e260-4456-866d-4db79a4dae4f", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df2:" ] @@ -94,14 +81,7 @@ "cell_type": "code", "execution_count": null, "id": "ad09fb5c-2a66-46fc-b17f-63ca86ca6ca5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:11.427102Z", - "iopub.status.busy": "2022-08-01T02:44:11.426220Z", - "iopub.status.idle": "2022-08-01T02:44:11.769918Z", - "shell.execute_reply": "2022-08-01T02:44:11.768899Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF2\n", @@ -118,9 +98,7 @@ { "cell_type": "raw", "id": "a496b361-ffe6-45aa-86c9-f607db96acfa", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df3:" ] @@ -137,14 +115,7 @@ "cell_type": "code", "execution_count": null, "id": "2d143d62-3d39-4329-8358-f3b44b937081", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:11.773274Z", - "iopub.status.busy": "2022-08-01T02:44:11.773001Z", - "iopub.status.idle": "2022-08-01T02:44:12.102377Z", - "shell.execute_reply": "2022-08-01T02:44:12.101363Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF3\n", @@ -161,9 +132,7 @@ { "cell_type": "raw", "id": "c9a068fa-e717-4eb7-939c-5d4cec944dc6", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df4:" ] @@ -180,14 +149,7 @@ "cell_type": "code", "execution_count": null, "id": "6ef691c9-cf12-4b22-94b0-b3c576745be2", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:12.108077Z", - "iopub.status.busy": "2022-08-01T02:44:12.107800Z", - "iopub.status.idle": "2022-08-01T02:44:12.408144Z", - "shell.execute_reply": "2022-08-01T02:44:12.407271Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF4\n", @@ -204,9 +166,7 @@ { "cell_type": "raw", "id": "e5f0fef8-b281-4631-82b8-6641d45cacd2", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df5:" ] @@ -223,14 +183,7 @@ "cell_type": "code", "execution_count": null, "id": "562a58b8-b1ec-4994-b912-41720ed97702", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:12.414587Z", - "iopub.status.busy": "2022-08-01T02:44:12.414309Z", - "iopub.status.idle": "2022-08-01T02:44:12.799894Z", - "shell.execute_reply": "2022-08-01T02:44:12.799234Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF5\n", @@ -247,9 +200,7 @@ { "cell_type": "raw", "id": "6ec043e6-eb79-46c4-a1b3-6d3fecaf0511", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df6:" ] @@ -266,14 +217,7 @@ "cell_type": "code", "execution_count": null, "id": "d92b7233-345e-4eaa-a736-e22e1f0006cc", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:12.805778Z", - "iopub.status.busy": "2022-08-01T02:44:12.805505Z", - "iopub.status.idle": "2022-08-01T02:44:13.154175Z", - "shell.execute_reply": "2022-08-01T02:44:13.153164Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF6\n", @@ -290,9 +234,7 @@ { "cell_type": "raw", "id": "64a0e30e-104d-4624-abaa-f750075c2f92", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df7:" ] @@ -309,14 +251,7 @@ "cell_type": "code", "execution_count": null, "id": "4444cf90-d3cd-438f-b8b1-33931e7b85d4", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:13.161733Z", - "iopub.status.busy": "2022-08-01T02:44:13.161413Z", - "iopub.status.idle": "2022-08-01T02:44:13.406301Z", - "shell.execute_reply": "2022-08-01T02:44:13.405642Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF7\n", @@ -333,9 +268,7 @@ { "cell_type": "raw", "id": "fe4a71ab-e9fa-448a-b734-73bb7f7d2506", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df8:" ] @@ -352,14 +285,7 @@ "cell_type": "code", "execution_count": null, "id": "35553c26-8991-4bf5-be70-be3c5e0ef1af", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:13.410596Z", - "iopub.status.busy": "2022-08-01T02:44:13.410295Z", - "iopub.status.idle": "2022-08-01T02:44:13.621224Z", - "shell.execute_reply": "2022-08-01T02:44:13.620605Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF8\n", @@ -376,9 +302,7 @@ { "cell_type": "raw", "id": "ee324a14-d36f-46f1-a169-dc01a917833b", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_df9:" ] @@ -395,14 +319,7 @@ "cell_type": "code", "execution_count": null, "id": "64d62bcd-fd1f-4cd9-ae02-327297d3389d", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:13.624801Z", - "iopub.status.busy": "2022-08-01T02:44:13.624534Z", - "iopub.status.idle": "2022-08-01T02:44:13.925832Z", - "shell.execute_reply": "2022-08-01T02:44:13.924897Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF9\n", @@ -428,14 +345,7 @@ "cell_type": "code", "execution_count": null, "id": "9acd5bd6-5296-4edb-9eba-a9438ab495de", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:13.929371Z", - "iopub.status.busy": "2022-08-01T02:44:13.928940Z", - "iopub.status.idle": "2022-08-01T02:44:14.844710Z", - "shell.execute_reply": "2022-08-01T02:44:14.843898Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF10\n", @@ -464,14 +374,7 @@ "cell_type": "code", "execution_count": null, "id": "c8b384b7-878c-4b5a-b991-a96256ae6847", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:14.850861Z", - "iopub.status.busy": "2022-08-01T02:44:14.850457Z", - "iopub.status.idle": "2022-08-01T02:44:15.760854Z", - "shell.execute_reply": "2022-08-01T02:44:15.759911Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF11\n", @@ -500,14 +403,7 @@ "cell_type": "code", "execution_count": null, "id": "3140e251-eb2a-4f45-8582-50d863aaa3a9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:15.767545Z", - "iopub.status.busy": "2022-08-01T02:44:15.767177Z", - "iopub.status.idle": "2022-08-01T02:44:16.603851Z", - "shell.execute_reply": "2022-08-01T02:44:16.603163Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF12\n", @@ -527,9 +423,7 @@ { "cell_type": "markdown", "id": "8d152672-a9bc-4e47-9fbf-250b6a50e5f0", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "### DF13" ] @@ -538,14 +432,7 @@ "cell_type": "code", "execution_count": null, "id": "4bb1f484-6063-4b69-b286-949a6da67263", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:16.608883Z", - "iopub.status.busy": "2022-08-01T02:44:16.608497Z", - "iopub.status.idle": "2022-08-01T02:44:17.759579Z", - "shell.execute_reply": "2022-08-01T02:44:17.758683Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF13\n", @@ -565,9 +452,7 @@ { "cell_type": "markdown", "id": "f64515d8-5e91-4205-ab11-99d9b65ffb62", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "### DF14" ] @@ -576,14 +461,7 @@ "cell_type": "code", "execution_count": null, "id": "b1625ff5-9094-4e74-bc01-919972180976", - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:17.764663Z", - "iopub.status.busy": "2022-08-01T02:44:17.764312Z", - "iopub.status.idle": "2022-08-01T02:44:18.827322Z", - "shell.execute_reply": "2022-08-01T02:44:18.826568Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.dynamic.df import DF14\n", @@ -601,7 +479,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/docs/source/problems/index.ipynb b/docs/source/problems/index.ipynb index c5feb5c24..83643821e 100755 --- a/docs/source/problems/index.ipynb +++ b/docs/source/problems/index.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_problem:" ] @@ -18,9 +16,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. toctree::\n", " :hidden:\n", @@ -41,9 +37,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -54,7 +48,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/many/dtlz.ipynb b/docs/source/problems/many/dtlz.ipynb index ed9f48725..55476a78c 100644 --- a/docs/source/problems/many/dtlz.ipynb +++ b/docs/source/problems/many/dtlz.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dtlz:" ] @@ -19,9 +17,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dtlz1:" ] @@ -102,14 +98,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:26.452084Z", - "iopub.status.busy": "2022-08-01T02:44:26.451726Z", - "iopub.status.idle": "2022-08-01T02:44:27.003299Z", - "shell.execute_reply": "2022-08-01T02:44:27.002644Z" - }, - "section": "zdt1", "tags": [] }, "outputs": [], @@ -127,9 +115,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dtlz2:" ] @@ -195,14 +181,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:27.008985Z", - "iopub.status.busy": "2022-08-01T02:44:27.008664Z", - "iopub.status.idle": "2022-08-01T02:44:27.220174Z", - "shell.execute_reply": "2022-08-01T02:44:27.219189Z" - }, - "section": "zdt2", "tags": [] }, "outputs": [], @@ -213,9 +191,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dtlz3:" ] @@ -280,14 +256,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:27.224367Z", - "iopub.status.busy": "2022-08-01T02:44:27.224066Z", - "iopub.status.idle": "2022-08-01T02:44:27.429066Z", - "shell.execute_reply": "2022-08-01T02:44:27.428107Z" - }, - "section": "zdt3", "tags": [] }, "outputs": [], @@ -298,9 +266,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dtlz4:" ] @@ -366,14 +332,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:27.433404Z", - "iopub.status.busy": "2022-08-01T02:44:27.433080Z", - "iopub.status.idle": "2022-08-01T02:44:27.651990Z", - "shell.execute_reply": "2022-08-01T02:44:27.651055Z" - }, - "section": "zdt4", "tags": [] }, "outputs": [], @@ -384,9 +342,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dtlz5:" ] @@ -452,12 +408,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:27.656798Z", - "iopub.status.busy": "2022-08-01T02:44:27.656431Z", - "iopub.status.idle": "2022-08-01T02:44:28.660542Z", - "shell.execute_reply": "2022-08-01T02:44:28.659696Z" - }, "tags": [] }, "outputs": [], @@ -468,9 +418,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dtlz6:" ] @@ -529,12 +477,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:28.664703Z", - "iopub.status.busy": "2022-08-01T02:44:28.664189Z", - "iopub.status.idle": "2022-08-01T02:44:29.615650Z", - "shell.execute_reply": "2022-08-01T02:44:29.614925Z" - }, "tags": [] }, "outputs": [], @@ -545,9 +487,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_dtlz7:" ] @@ -612,12 +552,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:29.619501Z", - "iopub.status.busy": "2022-08-01T02:44:29.619120Z", - "iopub.status.idle": "2022-08-01T02:44:30.474157Z", - "shell.execute_reply": "2022-08-01T02:44:30.472224Z" - }, "tags": [] }, "outputs": [], @@ -627,7 +561,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/many/wfg.ipynb b/docs/source/problems/many/wfg.ipynb index a179f8dc1..ff66d282d 100644 --- a/docs/source/problems/many/wfg.ipynb +++ b/docs/source/problems/many/wfg.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_wfg:" ] @@ -21,14 +19,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:22.686061Z", - "iopub.status.busy": "2022-08-01T02:44:22.685291Z", - "iopub.status.idle": "2022-08-01T02:44:22.911445Z", - "shell.execute_reply": "2022-08-01T02:44:22.910896Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.many.wfg import WFG1\n", @@ -36,7 +27,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/multi/bnh.ipynb b/docs/source/problems/multi/bnh.ipynb index cfa5fee01..08bd77919 100755 --- a/docs/source/problems/multi/bnh.ipynb +++ b/docs/source/problems/multi/bnh.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_bnh:" ] @@ -73,16 +71,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:49.828406Z", - "iopub.status.busy": "2022-08-01T02:44:49.827972Z", - "iopub.status.idle": "2022-08-01T02:44:50.076418Z", - "shell.execute_reply": "2022-08-01T02:44:50.075570Z" - }, - "section": "bnh" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -93,7 +82,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/multi/omni_test.ipynb b/docs/source/problems/multi/omni_test.ipynb index 921f0b138..8ef87f299 100644 --- a/docs/source/problems/multi/omni_test.ipynb +++ b/docs/source/problems/multi/omni_test.ipynb @@ -2,11 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# Omni-test\n", "The Omni-test problem is a multi-modal multi-objective optimization problem proposed by Deb in . It has two objective\n", @@ -16,11 +12,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## 2-dimensional case\n", "### Pareto front" @@ -29,20 +21,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:40.872611Z", - "iopub.status.busy": "2022-08-01T02:44:40.872232Z", - "iopub.status.idle": "2022-08-01T02:44:41.343923Z", - "shell.execute_reply": "2022-08-01T02:44:41.343069Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.multi.omnitest import OmniTest\n", @@ -55,11 +34,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Pareto set" ] @@ -67,20 +42,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:41.347997Z", - "iopub.status.busy": "2022-08-01T02:44:41.347632Z", - "iopub.status.idle": "2022-08-01T02:44:41.572105Z", - "shell.execute_reply": "2022-08-01T02:44:41.571276Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "ps = problem.pareto_set(1000)\n", @@ -89,11 +51,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## 3-dimensional case\n", "### Pareto front" @@ -102,20 +60,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:41.576747Z", - "iopub.status.busy": "2022-08-01T02:44:41.576309Z", - "iopub.status.idle": "2022-08-01T02:44:41.787659Z", - "shell.execute_reply": "2022-08-01T02:44:41.787011Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "problem = OmniTest(n_var=3)\n", @@ -133,20 +78,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:41.797397Z", - "iopub.status.busy": "2022-08-01T02:44:41.796900Z", - "iopub.status.idle": "2022-08-01T02:44:41.999558Z", - "shell.execute_reply": "2022-08-01T02:44:41.998639Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -160,7 +92,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/multi/osy.ipynb b/docs/source/problems/multi/osy.ipynb index 08eeaa3ff..66f24471a 100644 --- a/docs/source/problems/multi/osy.ipynb +++ b/docs/source/problems/multi/osy.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_osy:" ] @@ -72,9 +70,7 @@ }, { "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/html" - }, + "metadata": {}, "source": [ "
\n", " \n", @@ -91,16 +87,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:07.799394Z", - "iopub.status.busy": "2022-08-01T02:45:07.799020Z", - "iopub.status.idle": "2022-08-01T02:45:08.275884Z", - "shell.execute_reply": "2022-08-01T02:45:08.274963Z" - }, - "section": "bnh" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -111,7 +98,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/multi/sym_part.ipynb b/docs/source/problems/multi/sym_part.ipynb index 655662899..4613e3efc 100644 --- a/docs/source/problems/multi/sym_part.ipynb +++ b/docs/source/problems/multi/sym_part.ipynb @@ -2,11 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "# SYM-PART\n", "\n", @@ -20,22 +16,14 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "## 1. SYM-PART Simple" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Pareto subsets" ] @@ -43,20 +31,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:58.291949Z", - "iopub.status.busy": "2022-08-01T02:44:58.291257Z", - "iopub.status.idle": "2022-08-01T02:44:58.734151Z", - "shell.execute_reply": "2022-08-01T02:44:58.733475Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems.multi.sympart import SYMPART, SYMPARTRotated\n", @@ -69,11 +44,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Pareto front" ] @@ -81,20 +52,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:58.737804Z", - "iopub.status.busy": "2022-08-01T02:44:58.737537Z", - "iopub.status.idle": "2022-08-01T02:44:58.998541Z", - "shell.execute_reply": "2022-08-01T02:44:58.997633Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "pf = problem.pareto_front()\n", @@ -113,20 +71,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:59.002159Z", - "iopub.status.busy": "2022-08-01T02:44:59.001816Z", - "iopub.status.idle": "2022-08-01T02:44:59.203937Z", - "shell.execute_reply": "2022-08-01T02:44:59.203238Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "from numpy import pi\n", @@ -139,11 +84,7 @@ }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "### Pareto front" ] @@ -151,20 +92,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:44:59.208109Z", - "iopub.status.busy": "2022-08-01T02:44:59.207767Z", - "iopub.status.idle": "2022-08-01T02:44:59.422745Z", - "shell.execute_reply": "2022-08-01T02:44:59.422032Z" - }, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, + "metadata": {}, "outputs": [], "source": [ "pf = problem.pareto_front()\n", @@ -172,7 +100,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/multi/tnk.ipynb b/docs/source/problems/multi/tnk.ipynb index 3b23b8b7c..84e7600a7 100644 --- a/docs/source/problems/multi/tnk.ipynb +++ b/docs/source/problems/multi/tnk.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_tnk:" ] @@ -81,16 +79,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:45.649820Z", - "iopub.status.busy": "2022-08-01T02:44:45.649207Z", - "iopub.status.idle": "2022-08-01T02:44:46.124810Z", - "shell.execute_reply": "2022-08-01T02:44:46.123802Z" - }, - "section": "bnh" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -101,7 +90,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/multi/truss2d.ipynb b/docs/source/problems/multi/truss2d.ipynb index 8fc919764..20dbe991b 100644 --- a/docs/source/problems/multi/truss2d.ipynb +++ b/docs/source/problems/multi/truss2d.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_truss2d:" ] @@ -21,16 +19,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:53.632531Z", - "iopub.status.busy": "2022-08-01T02:44:53.631891Z", - "iopub.status.idle": "2022-08-01T02:44:54.114735Z", - "shell.execute_reply": "2022-08-01T02:44:54.114088Z" - }, - "section": "truss2d" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -47,16 +36,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:54.118226Z", - "iopub.status.busy": "2022-08-01T02:44:54.117942Z", - "iopub.status.idle": "2022-08-01T02:44:54.588148Z", - "shell.execute_reply": "2022-08-01T02:44:54.587314Z" - }, - "section": "truss2d_log" - }, + "metadata": {}, "outputs": [], "source": [ "sc.reset()\n", @@ -67,7 +47,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/multi/welded_beam.ipynb b/docs/source/problems/multi/welded_beam.ipynb index d0db4b1d7..78a49a9af 100644 --- a/docs/source/problems/multi/welded_beam.ipynb +++ b/docs/source/problems/multi/welded_beam.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_welded_beam:" ] @@ -19,16 +17,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:34.144400Z", - "iopub.status.busy": "2022-08-01T02:44:34.144020Z", - "iopub.status.idle": "2022-08-01T02:44:34.654447Z", - "shell.execute_reply": "2022-08-01T02:44:34.653514Z" - }, - "section": "bnh" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -39,7 +28,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/multi/zdt.ipynb b/docs/source/problems/multi/zdt.ipynb index e4e9aa6c9..90744f548 100755 --- a/docs/source/problems/multi/zdt.ipynb +++ b/docs/source/problems/multi/zdt.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_zdt:" ] @@ -29,9 +27,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_zdt1:" ] @@ -92,16 +88,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:03.086373Z", - "iopub.status.busy": "2022-08-01T02:45:03.085955Z", - "iopub.status.idle": "2022-08-01T02:45:03.330909Z", - "shell.execute_reply": "2022-08-01T02:45:03.329827Z" - }, - "section": "zdt1" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -113,9 +100,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_zdt2:" ] @@ -176,16 +161,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:03.338193Z", - "iopub.status.busy": "2022-08-01T02:45:03.337861Z", - "iopub.status.idle": "2022-08-01T02:45:03.469692Z", - "shell.execute_reply": "2022-08-01T02:45:03.468823Z" - }, - "section": "zdt2" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -197,9 +173,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_zdt3:" ] @@ -265,16 +239,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:03.472990Z", - "iopub.status.busy": "2022-08-01T02:45:03.472730Z", - "iopub.status.idle": "2022-08-01T02:45:03.664240Z", - "shell.execute_reply": "2022-08-01T02:45:03.663433Z" - }, - "section": "zdt3" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -286,9 +251,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_zdt4:" ] @@ -350,16 +313,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:03.667928Z", - "iopub.status.busy": "2022-08-01T02:45:03.667570Z", - "iopub.status.idle": "2022-08-01T02:45:03.799211Z", - "shell.execute_reply": "2022-08-01T02:45:03.798309Z" - }, - "section": "zdt4" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -371,9 +325,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_zdt5:" ] @@ -436,16 +388,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:03.803110Z", - "iopub.status.busy": "2022-08-01T02:45:03.802740Z", - "iopub.status.idle": "2022-08-01T02:45:03.934311Z", - "shell.execute_reply": "2022-08-01T02:45:03.933456Z" - }, - "section": "zdt5_no_norm" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -465,16 +408,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:03.938246Z", - "iopub.status.busy": "2022-08-01T02:45:03.937826Z", - "iopub.status.idle": "2022-08-01T02:45:04.068184Z", - "shell.execute_reply": "2022-08-01T02:45:04.067263Z" - }, - "section": "zdt5" - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -486,9 +420,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_zdt6:" ] @@ -549,17 +481,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:04.071607Z", - "iopub.status.busy": "2022-08-01T02:45:04.071306Z", - "iopub.status.idle": "2022-08-01T02:45:04.207922Z", - "shell.execute_reply": "2022-08-01T02:45:04.207205Z" - }, - "section": "zdt6", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -570,7 +492,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/single/ackley.ipynb b/docs/source/problems/single/ackley.ipynb index 25e4333e0..28225df3f 100755 --- a/docs/source/problems/single/ackley.ipynb +++ b/docs/source/problems/single/ackley.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_ackley:" ] @@ -63,14 +61,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:11.859206Z", - "iopub.status.busy": "2022-08-01T02:45:11.858840Z", - "iopub.status.idle": "2022-08-01T02:45:12.794943Z", - "shell.execute_reply": "2022-08-01T02:45:12.794254Z" - }, - "section": "ackley", "tags": [] }, "outputs": [], @@ -88,21 +78,26 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:12.799797Z", - "iopub.status.busy": "2022-08-01T02:45:12.799529Z", - "iopub.status.idle": "2022-08-01T02:45:13.295147Z", - "shell.execute_reply": "2022-08-01T02:45:13.294272Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "FitnessLandscape(problem, _type=\"contour\", colorbar=True).show()" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/single/griewank.ipynb b/docs/source/problems/single/griewank.ipynb index aee265c9b..c132316b4 100755 --- a/docs/source/problems/single/griewank.ipynb +++ b/docs/source/problems/single/griewank.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_griewank:" ] @@ -61,17 +59,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:27.032486Z", - "iopub.status.busy": "2022-08-01T02:45:27.032057Z", - "iopub.status.idle": "2022-08-01T02:45:27.332515Z", - "shell.execute_reply": "2022-08-01T02:45:27.331530Z" - }, - "section": "griewank", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -86,7 +74,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/single/rastrigin.ipynb b/docs/source/problems/single/rastrigin.ipynb index 6b2092b38..3627e4326 100755 --- a/docs/source/problems/single/rastrigin.ipynb +++ b/docs/source/problems/single/rastrigin.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_rastrigin:" ] @@ -61,14 +59,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:21.911753Z", - "iopub.status.busy": "2022-08-01T02:45:21.911382Z", - "iopub.status.idle": "2022-08-01T02:45:22.846413Z", - "shell.execute_reply": "2022-08-01T02:45:22.845492Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -85,14 +76,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:22.851798Z", - "iopub.status.busy": "2022-08-01T02:45:22.851493Z", - "iopub.status.idle": "2022-08-01T02:45:23.354857Z", - "shell.execute_reply": "2022-08-01T02:45:23.353961Z" - }, - "section": "rastrigin", "tags": [] }, "outputs": [], @@ -101,7 +84,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/single/rosenbrock.ipynb b/docs/source/problems/single/rosenbrock.ipynb index c6b1889f8..8b5674363 100755 --- a/docs/source/problems/single/rosenbrock.ipynb +++ b/docs/source/problems/single/rosenbrock.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_rosenbrock:" ] @@ -61,14 +59,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:16.962520Z", - "iopub.status.busy": "2022-08-01T02:45:16.962050Z", - "iopub.status.idle": "2022-08-01T02:45:17.840230Z", - "shell.execute_reply": "2022-08-01T02:45:17.839519Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -84,24 +75,26 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:17.847342Z", - "iopub.status.busy": "2022-08-01T02:45:17.846604Z", - "iopub.status.idle": "2022-08-01T02:45:18.231177Z", - "shell.execute_reply": "2022-08-01T02:45:18.230280Z" - }, - "section": "rosenbrock", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "FitnessLandscape(problem, _type=\"contour\", colorbar=True).show()" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/single/zakharov.ipynb b/docs/source/problems/single/zakharov.ipynb index 929057669..e5fcec5c9 100755 --- a/docs/source/problems/single/zakharov.ipynb +++ b/docs/source/problems/single/zakharov.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_zakharov:" ] @@ -61,14 +59,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:45:31.048006Z", - "iopub.status.busy": "2022-08-01T02:45:31.047229Z", - "iopub.status.idle": "2022-08-01T02:45:31.953614Z", - "shell.execute_reply": "2022-08-01T02:45:31.952948Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -84,24 +75,26 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:45:31.960465Z", - "iopub.status.busy": "2022-08-01T02:45:31.960162Z", - "iopub.status.idle": "2022-08-01T02:45:32.541554Z", - "shell.execute_reply": "2022-08-01T02:45:32.539701Z" - }, - "section": "zakharov", - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "FitnessLandscape(problem, _type=\"contour\", contour_levels = 200, colorbar=True).show()" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/problems/test_problems.ipynb b/docs/source/problems/test_problems.ipynb index b87333732..8ca713580 100644 --- a/docs/source/problems/test_problems.ipynb +++ b/docs/source/problems/test_problems.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_test_problems:" ] @@ -18,9 +16,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. toctree::\n", " :hidden:\n", @@ -71,14 +67,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "code": "usage_problem.py", - "execution": { - "iopub.execute_input": "2022-08-01T02:44:00.166200Z", - "iopub.status.busy": "2022-08-01T02:44:00.165757Z", - "iopub.status.idle": "2022-08-01T02:44:00.250919Z", - "shell.execute_reply": "2022-08-01T02:44:00.250252Z" - }, - "section": "from_string", "tags": [] }, "outputs": [], @@ -440,7 +428,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/versions.ipynb b/docs/source/versions.ipynb index 2697b5793..d6a9c897f 100644 --- a/docs/source/versions.ipynb +++ b/docs/source/versions.ipynb @@ -2,12 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_version:" ] @@ -15,9 +10,6 @@ { "cell_type": "markdown", "metadata": { - "pycharm": { - "name": "#%% md\n" - }, "tags": [] }, "source": [ @@ -26,12 +18,7 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_6_0:" ] @@ -39,9 +26,6 @@ { "cell_type": "markdown", "metadata": { - "pycharm": { - "name": "#%% md\n" - }, "tags": [] }, "source": [ @@ -59,12 +43,7 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_5_0:" ] @@ -72,9 +51,6 @@ { "cell_type": "markdown", "metadata": { - "pycharm": { - "name": "#%% md\n" - }, "tags": [] }, "source": [ @@ -90,23 +66,14 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_4_2:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### 0.4.2 [[Documentation](http://data.pymoo.org/docs/pymoo-0.4.2-doc.zip)]\n", "\n", @@ -122,23 +89,14 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_4_1:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### 0.4.1 [[Documentation](http://data.pymoo.org/docs/pymoo-0.4.1-doc.zip)]\n", "\n", @@ -152,23 +110,14 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_4_0:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### 0.4.0 [[Documentation](http://data.pymoo.org/docs/pymoo-0.4.0-doc.zip)]\n", "\n", @@ -187,23 +136,14 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_3_2:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### 0.3.2 [[Documentation](http://data.pymoo.org/docs/pymoo-0.3.2-doc.zip)]\n", "\n", @@ -217,23 +157,14 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_3_1:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### 0.3.1 [[Documentation](http://data.pymoo.org/docs/pymoo-0.3.1-doc.zip)]\n", "\n", @@ -253,23 +184,14 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_3_0:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### 0.3.0\n", "\n", @@ -281,23 +203,14 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_2_2:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### 0.2.2\n", "\n", @@ -308,23 +221,14 @@ }, { "cell_type": "raw", - "metadata": { - "pycharm": { - "name": "#%% raw\n" - }, - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _version_0_2_1:" ] }, { "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, + "metadata": {}, "source": [ "#### 0.2.1\n", "\n", @@ -332,7 +236,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/visualization/heatmap.ipynb b/docs/source/visualization/heatmap.ipynb index 27a221c91..2ad320d6f 100644 --- a/docs/source/visualization/heatmap.ipynb +++ b/docs/source/visualization/heatmap.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_heat:" ] @@ -28,15 +26,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:39.773175Z", - "iopub.status.busy": "2022-08-01T02:32:39.772760Z", - "iopub.status.idle": "2022-08-01T02:32:39.784209Z", - "shell.execute_reply": "2022-08-01T02:32:39.783358Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -55,15 +45,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:39.789392Z", - "iopub.status.busy": "2022-08-01T02:32:39.788818Z", - "iopub.status.idle": "2022-08-01T02:32:40.192622Z", - "shell.execute_reply": "2022-08-01T02:32:40.191808Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.visualization.heatmap import Heatmap\n", @@ -80,14 +62,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:40.196414Z", - "iopub.status.busy": "2022-08-01T02:32:40.196054Z", - "iopub.status.idle": "2022-08-01T02:32:40.371650Z", - "shell.execute_reply": "2022-08-01T02:32:40.370969Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "Heatmap(bounds=[0,1]).add(np.ones((1, 6))).show() " @@ -103,14 +78,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:40.374769Z", - "iopub.status.busy": "2022-08-01T02:32:40.374513Z", - "iopub.status.idle": "2022-08-01T02:32:40.498010Z", - "shell.execute_reply": "2022-08-01T02:32:40.497196Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "Heatmap(bounds=[0,1],reverse=False).add(np.ones((1, 6))).show() " @@ -126,15 +94,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:40.501286Z", - "iopub.status.busy": "2022-08-01T02:32:40.500973Z", - "iopub.status.idle": "2022-08-01T02:32:40.696905Z", - "shell.execute_reply": "2022-08-01T02:32:40.695854Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "plot = Heatmap(title=(\"Optimization\", {'pad': 15}),\n", @@ -155,15 +115,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:40.700769Z", - "iopub.status.busy": "2022-08-01T02:32:40.700373Z", - "iopub.status.idle": "2022-08-01T02:32:41.305837Z", - "shell.execute_reply": "2022-08-01T02:32:41.304611Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "F = np.random.random((30, 6))\n", @@ -188,16 +140,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.visualization.heatmap.Heatmap\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/visualization/index.ipynb b/docs/source/visualization/index.ipynb index f34474f64..762942ef0 100644 --- a/docs/source/visualization/index.ipynb +++ b/docs/source/visualization/index.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_visualization:" ] @@ -18,9 +16,7 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. toctree::\n", " :maxdepth: 1\n", @@ -73,14 +69,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:35.630705Z", - "iopub.status.busy": "2022-08-01T02:32:35.630308Z", - "iopub.status.idle": "2022-08-01T02:32:35.647491Z", - "shell.execute_reply": "2022-08-01T02:32:35.646283Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "# directly using the class\n", @@ -107,14 +96,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:35.651300Z", - "iopub.status.busy": "2022-08-01T02:32:35.650989Z", - "iopub.status.idle": "2022-08-01T02:32:35.976365Z", - "shell.execute_reply": "2022-08-01T02:32:35.975664Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -145,14 +127,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:35.979958Z", - "iopub.status.busy": "2022-08-01T02:32:35.979697Z", - "iopub.status.idle": "2022-08-01T02:32:36.272251Z", - "shell.execute_reply": "2022-08-01T02:32:36.271565Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.visualization.petal import Petal\n", @@ -207,7 +182,19 @@ ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/visualization/pcp.ipynb b/docs/source/visualization/pcp.ipynb index 2a5cc0f81..dab92ecef 100755 --- a/docs/source/visualization/pcp.ipynb +++ b/docs/source/visualization/pcp.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_pcp:" ] @@ -30,12 +28,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:06.172276Z", - "iopub.status.busy": "2022-08-01T02:32:06.171796Z", - "iopub.status.idle": "2022-08-01T02:32:06.409292Z", - "shell.execute_reply": "2022-08-01T02:32:06.408606Z" - }, "tags": [] }, "outputs": [], @@ -58,12 +50,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:06.412640Z", - "iopub.status.busy": "2022-08-01T02:32:06.412349Z", - "iopub.status.idle": "2022-08-01T02:32:07.221897Z", - "shell.execute_reply": "2022-08-01T02:32:07.221132Z" - }, "tags": [] }, "outputs": [], @@ -84,12 +70,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:07.227757Z", - "iopub.status.busy": "2022-08-01T02:32:07.227436Z", - "iopub.status.idle": "2022-08-01T02:32:07.766018Z", - "shell.execute_reply": "2022-08-01T02:32:07.765199Z" - }, "tags": [] }, "outputs": [], @@ -120,12 +100,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:07.772409Z", - "iopub.status.busy": "2022-08-01T02:32:07.772040Z", - "iopub.status.idle": "2022-08-01T02:32:08.358618Z", - "shell.execute_reply": "2022-08-01T02:32:08.357856Z" - }, "tags": [] }, "outputs": [], @@ -154,12 +128,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:08.363432Z", - "iopub.status.busy": "2022-08-01T02:32:08.363127Z", - "iopub.status.idle": "2022-08-01T02:32:08.858837Z", - "shell.execute_reply": "2022-08-01T02:32:08.857966Z" - }, "tags": [] }, "outputs": [], @@ -179,16 +147,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.visualization.pcp.PCP\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/visualization/petal.ipynb b/docs/source/visualization/petal.ipynb index 647849c52..c2620ee22 100644 --- a/docs/source/visualization/petal.ipynb +++ b/docs/source/visualization/petal.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_petal:" ] @@ -28,15 +26,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:26.796799Z", - "iopub.status.busy": "2022-08-01T02:32:26.796417Z", - "iopub.status.idle": "2022-08-01T02:32:26.809287Z", - "shell.execute_reply": "2022-08-01T02:32:26.808395Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -56,15 +46,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:26.813306Z", - "iopub.status.busy": "2022-08-01T02:32:26.812995Z", - "iopub.status.idle": "2022-08-01T02:32:27.151610Z", - "shell.execute_reply": "2022-08-01T02:32:27.150807Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.visualization.petal import Petal\n", @@ -82,15 +64,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:27.156284Z", - "iopub.status.busy": "2022-08-01T02:32:27.155154Z", - "iopub.status.idle": "2022-08-01T02:32:27.393666Z", - "shell.execute_reply": "2022-08-01T02:32:27.392837Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "Petal(bounds=[0, 1], reverse=True).add(F).show()" @@ -99,15 +73,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:27.397598Z", - "iopub.status.busy": "2022-08-01T02:32:27.397254Z", - "iopub.status.idle": "2022-08-01T02:32:27.555955Z", - "shell.execute_reply": "2022-08-01T02:32:27.555002Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "plot = Petal(bounds=[0, 1],\n", @@ -129,15 +95,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:27.559618Z", - "iopub.status.busy": "2022-08-01T02:32:27.559318Z", - "iopub.status.idle": "2022-08-01T02:32:27.971698Z", - "shell.execute_reply": "2022-08-01T02:32:27.971063Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "F = np.random.random((6, 6))\n", @@ -156,16 +114,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.visualization.petal.Petal\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/visualization/radar.ipynb b/docs/source/visualization/radar.ipynb index aecf97d0f..90630de3e 100755 --- a/docs/source/visualization/radar.ipynb +++ b/docs/source/visualization/radar.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_radar:" ] @@ -28,12 +26,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:22.375094Z", - "iopub.status.busy": "2022-08-01T02:32:22.374693Z", - "iopub.status.idle": "2022-08-01T02:32:22.390211Z", - "shell.execute_reply": "2022-08-01T02:32:22.389289Z" - }, "tags": [] }, "outputs": [], @@ -61,12 +53,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:22.396399Z", - "iopub.status.busy": "2022-08-01T02:32:22.396040Z", - "iopub.status.idle": "2022-08-01T02:32:22.723594Z", - "shell.execute_reply": "2022-08-01T02:32:22.722932Z" - }, "tags": [] }, "outputs": [], @@ -89,12 +75,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:22.727009Z", - "iopub.status.busy": "2022-08-01T02:32:22.726747Z", - "iopub.status.idle": "2022-08-01T02:32:22.947802Z", - "shell.execute_reply": "2022-08-01T02:32:22.946828Z" - }, "tags": [] }, "outputs": [], @@ -108,12 +88,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:22.955722Z", - "iopub.status.busy": "2022-08-01T02:32:22.955053Z", - "iopub.status.idle": "2022-08-01T02:32:23.338904Z", - "shell.execute_reply": "2022-08-01T02:32:23.338266Z" - }, "tags": [] }, "outputs": [], @@ -137,16 +111,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.visualization.radar.Radar\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/visualization/radviz.ipynb b/docs/source/visualization/radviz.ipynb index dfe84e0de..56b485926 100755 --- a/docs/source/visualization/radviz.ipynb +++ b/docs/source/visualization/radviz.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_radviz:" ] @@ -28,12 +26,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:31.465472Z", - "iopub.status.busy": "2022-08-01T02:32:31.464825Z", - "iopub.status.idle": "2022-08-01T02:32:31.558995Z", - "shell.execute_reply": "2022-08-01T02:32:31.558313Z" - }, "tags": [] }, "outputs": [], @@ -57,12 +49,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:31.562468Z", - "iopub.status.busy": "2022-08-01T02:32:31.562206Z", - "iopub.status.idle": "2022-08-01T02:32:31.936892Z", - "shell.execute_reply": "2022-08-01T02:32:31.936213Z" - }, "tags": [] }, "outputs": [], @@ -82,12 +68,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:31.940380Z", - "iopub.status.busy": "2022-08-01T02:32:31.940075Z", - "iopub.status.idle": "2022-08-01T02:32:32.147359Z", - "shell.execute_reply": "2022-08-01T02:32:32.146515Z" - }, "tags": [] }, "outputs": [], @@ -119,16 +99,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.visualization.radviz.Radviz\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/visualization/scatter.ipynb b/docs/source/visualization/scatter.ipynb index 3be43eaac..e000c14ce 100644 --- a/docs/source/visualization/scatter.ipynb +++ b/docs/source/visualization/scatter.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_scatter:" ] @@ -34,12 +32,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:12.384830Z", - "iopub.status.busy": "2022-08-01T02:32:12.384459Z", - "iopub.status.idle": "2022-08-01T02:32:12.851935Z", - "shell.execute_reply": "2022-08-01T02:32:12.851147Z" - }, "tags": [] }, "outputs": [], @@ -62,12 +54,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:12.855388Z", - "iopub.status.busy": "2022-08-01T02:32:12.855092Z", - "iopub.status.idle": "2022-08-01T02:32:13.112665Z", - "shell.execute_reply": "2022-08-01T02:32:13.111840Z" - }, "tags": [] }, "outputs": [], @@ -90,12 +76,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:13.116270Z", - "iopub.status.busy": "2022-08-01T02:32:13.115921Z", - "iopub.status.idle": "2022-08-01T02:32:13.356012Z", - "shell.execute_reply": "2022-08-01T02:32:13.355110Z" - }, "tags": [] }, "outputs": [], @@ -122,12 +102,6 @@ "cell_type": "code", "execution_count": null, "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:13.360921Z", - "iopub.status.busy": "2022-08-01T02:32:13.360510Z", - "iopub.status.idle": "2022-08-01T02:32:14.702697Z", - "shell.execute_reply": "2022-08-01T02:32:14.701992Z" - }, "tags": [] }, "outputs": [], @@ -150,16 +124,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.visualization.scatter.Scatter\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/docs/source/visualization/star.ipynb b/docs/source/visualization/star.ipynb index 052cbc9c2..9117491a9 100644 --- a/docs/source/visualization/star.ipynb +++ b/docs/source/visualization/star.ipynb @@ -2,9 +2,7 @@ "cells": [ { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. _nb_star:" ] @@ -28,15 +26,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:18.261588Z", - "iopub.status.busy": "2022-08-01T02:32:18.261205Z", - "iopub.status.idle": "2022-08-01T02:32:18.354738Z", - "shell.execute_reply": "2022-08-01T02:32:18.354064Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -56,15 +46,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:18.358123Z", - "iopub.status.busy": "2022-08-01T02:32:18.357871Z", - "iopub.status.idle": "2022-08-01T02:32:18.720477Z", - "shell.execute_reply": "2022-08-01T02:32:18.719592Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from pymoo.visualization.star_coordinate import StarCoordinate\n", @@ -82,15 +64,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "execution": { - "iopub.execute_input": "2022-08-01T02:32:18.723659Z", - "iopub.status.busy": "2022-08-01T02:32:18.723394Z", - "iopub.status.idle": "2022-08-01T02:32:18.916858Z", - "shell.execute_reply": "2022-08-01T02:32:18.916125Z" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "plot = StarCoordinate(title=\"Optimization\",\n", @@ -113,16 +87,26 @@ }, { "cell_type": "raw", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, + "metadata": {}, "source": [ ".. autoclass:: pymoo.visualization.star_coordinate.StarCoordinate\n", " :noindex:" ] } ], - "metadata": {}, + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, "nbformat": 4, "nbformat_minor": 4 } diff --git a/examples/algorithms/moo/dynamic_comparison.py b/examples/algorithms/moo/dynamic_comparison.py index ce4e0d82b..0ed52355d 100644 --- a/examples/algorithms/moo/dynamic_comparison.py +++ b/examples/algorithms/moo/dynamic_comparison.py @@ -34,7 +34,7 @@ def get(self): problem = DF1(taut=2, n_var=2) -n_time = 100 +n_time = 10 dnsga2 = DNSGA2(version="A") dnsga2_migd = DynamicIGD() diff --git a/pymoo/version.py b/pymoo/version.py index a5a833a05..43c4ab005 100644 --- a/pymoo/version.py +++ b/pymoo/version.py @@ -1 +1 @@ -__version__ = "0.6.0.1" +__version__ = "0.6.1" diff --git a/tests/test_docs.py b/tests/test_docs.py index 607595510..4b2ee629a 100644 --- a/tests/test_docs.py +++ b/tests/test_docs.py @@ -15,7 +15,7 @@ @pytest.mark.long @pytest.mark.parametrize('ipynb', IPYNBS) def test_docs(ipynb, pytestconfig): - overwrite = pytestconfig.getoption("overwrite", False) + overwrite = pytestconfig.getoption("overwrite", True) KERNEL = start_new_kernel(kernel_name='python3') run_ipynb(KERNEL, ipynb, overwrite=overwrite, remove_trailing_empty_cells=True) assert True From 71c86bf5bba96519ba678f8c9b02efb2e512777f Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sun, 19 Nov 2023 13:14:19 -0800 Subject: [PATCH 08/26] VERSION 0.6.1 --- .pre-commit-config.yaml | 1 + docs/source/algorithms/hyperparameters.ipynb | 8 +- docs/source/algorithms/index.ipynb | 12 +- docs/source/algorithms/initialization.ipynb | 8 +- docs/source/algorithms/list.ipynb | 8 +- docs/source/algorithms/moo/age.ipynb | 16 ++- docs/source/algorithms/moo/age2.ipynb | 12 +- docs/source/algorithms/moo/ctaea.ipynb | 16 ++- docs/source/algorithms/moo/dnsga2.ipynb | 12 +- docs/source/algorithms/moo/kgb.ipynb | 16 ++- docs/source/algorithms/moo/moead.ipynb | 8 +- docs/source/algorithms/moo/nsga2.ipynb | 20 +++- docs/source/algorithms/moo/nsga3.ipynb | 20 +++- docs/source/algorithms/moo/rnsga2.ipynb | 12 +- docs/source/algorithms/moo/rnsga3.ipynb | 12 +- docs/source/algorithms/moo/rvea.ipynb | 16 ++- docs/source/algorithms/moo/sms.ipynb | 16 ++- docs/source/algorithms/moo/unsga3.ipynb | 24 +++- docs/source/algorithms/soo/brkga.ipynb | 20 +++- docs/source/algorithms/soo/cmaes.ipynb | 24 +++- docs/source/algorithms/soo/de.ipynb | 12 +- docs/source/algorithms/soo/es.ipynb | 12 +- docs/source/algorithms/soo/g3pcx.ipynb | 8 +- docs/source/algorithms/soo/ga.ipynb | 12 +- docs/source/algorithms/soo/isres.ipynb | 12 +- docs/source/algorithms/soo/nelder.ipynb | 12 +- docs/source/algorithms/soo/pattern.ipynb | 12 +- docs/source/algorithms/soo/pso.ipynb | 12 +- docs/source/algorithms/soo/sres.ipynb | 12 +- docs/source/algorithms/usage.ipynb | 6 + docs/source/case_studies/index.ipynb | 17 ++- .../case_studies/portfolio_allocation.ipynb | 8 +- .../case_studies/subset_selection.ipynb | 4 +- docs/source/constraints/as_obj.ipynb | 4 +- docs/source/constraints/as_penalty.ipynb | 16 ++- docs/source/constraints/eps.ipynb | 16 ++- docs/source/constraints/feas_first.ipynb | 12 +- docs/source/constraints/index.ipynb | 14 ++- docs/source/constraints/problem.ipynb | 4 +- docs/source/constraints/repair.ipynb | 24 +++- docs/source/customization/binary.ipynb | 8 +- docs/source/customization/custom.ipynb | 4 +- docs/source/customization/discrete.ipynb | 12 +- .../source/customization/initialization.ipynb | 12 +- docs/source/customization/mixed.ipynb | 12 +- docs/source/customization/permutation.ipynb | 36 ++++-- docs/source/customization/subset.ipynb | 4 +- docs/source/getting_started/index.ipynb | 12 +- docs/source/getting_started/part_1.ipynb | 16 ++- docs/source/getting_started/part_2.ipynb | 24 +++- docs/source/getting_started/part_3.ipynb | 16 ++- docs/source/getting_started/part_4.ipynb | 64 +++++++--- docs/source/getting_started/part_5.ipynb | 12 +- docs/source/getting_started/preface.ipynb | 8 +- docs/source/getting_started/source_code.ipynb | 4 +- docs/source/gradients/index.ipynb | 4 +- docs/source/installation.ipynb | 40 +++++-- docs/source/interface/algorithm.ipynb | 4 +- docs/source/interface/callback.ipynb | 8 +- docs/source/interface/display.ipynb | 8 +- docs/source/interface/index.ipynb | 12 +- docs/source/interface/minimize.ipynb | 8 +- docs/source/interface/problem.ipynb | 12 +- docs/source/interface/result.ipynb | 64 +++++++--- docs/source/interface/termination.ipynb | 8 +- docs/source/mcdm/index.ipynb | 44 +++++-- docs/source/misc/checkpoint.ipynb | 4 +- docs/source/misc/convergence.ipynb | 4 +- docs/source/misc/decomposition.ipynb | 68 ++++++++--- docs/source/misc/index.ipynb | 8 +- docs/source/misc/indicators.ipynb | 48 ++++++-- docs/source/misc/kktpm.ipynb | 4 +- docs/source/misc/reference_directions.ipynb | 28 +++-- docs/source/operators/crossover.ipynb | 52 ++++++-- docs/source/operators/index.ipynb | 8 +- docs/source/operators/mutation.ipynb | 16 ++- docs/source/operators/repair.ipynb | 4 +- docs/source/operators/sampling.ipynb | 24 +++- docs/source/operators/selection.ipynb | 24 +++- docs/source/problems/constrained/mw.ipynb | 8 +- docs/source/problems/definition.ipynb | 32 +++-- docs/source/problems/dynamic/df.ipynb | 48 ++++++-- docs/source/problems/index.ipynb | 12 +- docs/source/problems/many/dtlz.ipynb | 32 +++-- docs/source/problems/many/wfg.ipynb | 4 +- docs/source/problems/multi/bnh.ipynb | 4 +- docs/source/problems/multi/osy.ipynb | 8 +- docs/source/problems/multi/tnk.ipynb | 4 +- docs/source/problems/multi/truss2d.ipynb | 4 +- docs/source/problems/multi/welded_beam.ipynb | 4 +- docs/source/problems/multi/zdt.ipynb | 32 +++-- docs/source/problems/single/ackley.ipynb | 4 +- docs/source/problems/single/griewank.ipynb | 8 +- docs/source/problems/single/rastrigin.ipynb | 4 +- docs/source/problems/single/rosenbrock.ipynb | 8 +- docs/source/problems/single/zakharov.ipynb | 8 +- docs/source/problems/test_problems.ipynb | 8 +- docs/source/versions.ipynb | 111 +++++++++++++++--- docs/source/visualization/heatmap.ipynb | 24 +++- docs/source/visualization/index.ipynb | 8 +- docs/source/visualization/pcp.ipynb | 8 +- docs/source/visualization/petal.ipynb | 28 +++-- docs/source/visualization/radar.ipynb | 8 +- docs/source/visualization/radviz.ipynb | 8 +- docs/source/visualization/scatter.ipynb | 8 +- docs/source/visualization/star.ipynb | 20 +++- 106 files changed, 1297 insertions(+), 416 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ad2b8da62..3186356dd 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,4 +8,5 @@ repos: - --preserve-cell-metadata - tags - format + - raw_mimetype - -- diff --git a/docs/source/algorithms/hyperparameters.ipynb b/docs/source/algorithms/hyperparameters.ipynb index dd442204a..72960b8c8 100644 --- a/docs/source/algorithms/hyperparameters.ipynb +++ b/docs/source/algorithms/hyperparameters.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_algorithms_hyperparameters:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", diff --git a/docs/source/algorithms/index.ipynb b/docs/source/algorithms/index.ipynb index 84f0ab9f2..23e3b0732 100644 --- a/docs/source/algorithms/index.ipynb +++ b/docs/source/algorithms/index.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_algorithms:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. toctree::\n", " :hidden:\n", @@ -61,7 +65,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", diff --git a/docs/source/algorithms/initialization.ipynb b/docs/source/algorithms/initialization.ipynb index ba8006b13..b72b02c3a 100644 --- a/docs/source/algorithms/initialization.ipynb +++ b/docs/source/algorithms/initialization.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_algorithms_init:" ] @@ -31,7 +33,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", diff --git a/docs/source/algorithms/list.ipynb b/docs/source/algorithms/list.ipynb index 4d5ce3f25..2866767e0 100644 --- a/docs/source/algorithms/list.ipynb +++ b/docs/source/algorithms/list.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_algorithms_list:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. csv-table:: Algorithms available in pymoo\n", " :header: \"Algorithm\", \"Class\", \"Objective(s)\", \"Constraints\", \"Description\"\n", diff --git a/docs/source/algorithms/moo/age.ipynb b/docs/source/algorithms/moo/age.ipynb index 79c6c8b81..6269bb4d8 100644 --- a/docs/source/algorithms/moo/age.ipynb +++ b/docs/source/algorithms/moo/age.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_agemoea:" ] @@ -55,7 +57,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.age import AGEMOEA\n", @@ -90,7 +94,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.age import AGEMOEA\n", @@ -134,7 +140,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.age.AGEMOEA\n", " :noindex:" diff --git a/docs/source/algorithms/moo/age2.ipynb b/docs/source/algorithms/moo/age2.ipynb index 1c8144f47..72ec68bea 100644 --- a/docs/source/algorithms/moo/age2.ipynb +++ b/docs/source/algorithms/moo/age2.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_agemoea2:" ] @@ -32,7 +34,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.age2 import AGEMOEA2\n", @@ -65,7 +69,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.age2.AGEMOEA2\n", " :noindex:" diff --git a/docs/source/algorithms/moo/ctaea.ipynb b/docs/source/algorithms/moo/ctaea.ipynb index 69f002fca..b4b4f359c 100644 --- a/docs/source/algorithms/moo/ctaea.ipynb +++ b/docs/source/algorithms/moo/ctaea.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_ctaea:" ] @@ -22,7 +24,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.ctaea import CTAEA\n", @@ -55,7 +59,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "problem = get_problem(\"carside\")\n", @@ -80,7 +86,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.ctaea.CTAEA\n", " :noindex:" diff --git a/docs/source/algorithms/moo/dnsga2.ipynb b/docs/source/algorithms/moo/dnsga2.ipynb index 102617b9b..21c3371fa 100644 --- a/docs/source/algorithms/moo/dnsga2.ipynb +++ b/docs/source/algorithms/moo/dnsga2.ipynb @@ -3,7 +3,9 @@ { "cell_type": "raw", "id": "1c4f9d85-e64f-4680-a937-1079d69d5c33", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dnsga2:" ] @@ -11,7 +13,9 @@ { "cell_type": "markdown", "id": "f0a1dfd8-a241-4f73-b8db-3ed46ae7fd23", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "# D-NSGA-II: Dynamic Multi-Objective Optimization Using Modified NSGA-II" ] @@ -28,7 +32,9 @@ "cell_type": "code", "execution_count": null, "id": "4a786da2-8c26-406e-ad1e-c6f0159793c1", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.dnsga2 import DNSGA2\n", diff --git a/docs/source/algorithms/moo/kgb.ipynb b/docs/source/algorithms/moo/kgb.ipynb index 5f51a470e..c9e6df600 100644 --- a/docs/source/algorithms/moo/kgb.ipynb +++ b/docs/source/algorithms/moo/kgb.ipynb @@ -2,21 +2,27 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_kgb:" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "# KGB-DMOEA: Knowledge-Guided Bayesian Dynamic Multi-Objective Evolutionary Algorithm" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "KGB-DMOEA is a sophisticated evolutionary algorithm for dynamic multi-objective optimization problems (DMOPs). It employs a knowledge-guided Bayesian classification approach to adeptly navigate and adapt to changing Pareto-optimal solutions in dynamic environments. This algorithm utilizes past search experiences, distinguishing them as beneficial or non-beneficial, to effectively direct the search in new scenarios." ] @@ -61,7 +67,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "### Parameters \n", "\n", diff --git a/docs/source/algorithms/moo/moead.ipynb b/docs/source/algorithms/moo/moead.ipynb index 06132fcd3..4893f1573 100644 --- a/docs/source/algorithms/moo/moead.ipynb +++ b/docs/source/algorithms/moo/moead.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_moead:" ] @@ -59,7 +61,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.moead.MOEAD\n", " :noindex:" diff --git a/docs/source/algorithms/moo/nsga2.ipynb b/docs/source/algorithms/moo/nsga2.ipynb index 9c5322be5..d240d5e56 100644 --- a/docs/source/algorithms/moo/nsga2.ipynb +++ b/docs/source/algorithms/moo/nsga2.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_nsga2:" ] @@ -25,7 +27,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "# NSGA-II: Non-dominated Sorting Genetic Algorithm" ] @@ -82,7 +86,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -116,7 +122,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -153,7 +161,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.nsga2.NSGA2\n", " :noindex:" diff --git a/docs/source/algorithms/moo/nsga3.ipynb b/docs/source/algorithms/moo/nsga3.ipynb index 30bcaefb0..79e59b539 100644 --- a/docs/source/algorithms/moo/nsga3.ipynb +++ b/docs/source/algorithms/moo/nsga3.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_nsga3:" ] @@ -77,7 +79,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga3 import NSGA3\n", @@ -107,7 +111,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res = minimize(get_problem(\"dtlz1^-1\"),\n", @@ -120,14 +126,18 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.nsga3.NSGA3\n", " :noindex:" diff --git a/docs/source/algorithms/moo/rnsga2.ipynb b/docs/source/algorithms/moo/rnsga2.ipynb index 4bca04808..bd855f254 100644 --- a/docs/source/algorithms/moo/rnsga2.ipynb +++ b/docs/source/algorithms/moo/rnsga2.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_rnsga2:" ] @@ -60,7 +62,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -106,7 +110,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.rnsga2.RNSGA2\n", " :noindex:" diff --git a/docs/source/algorithms/moo/rnsga3.ipynb b/docs/source/algorithms/moo/rnsga3.ipynb index f35ed7d3c..c8a070e60 100644 --- a/docs/source/algorithms/moo/rnsga3.ipynb +++ b/docs/source/algorithms/moo/rnsga3.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_rnsga3:" ] @@ -143,14 +145,18 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.rnsga3.RNSGA3\n", " :noindex:" diff --git a/docs/source/algorithms/moo/rvea.ipynb b/docs/source/algorithms/moo/rvea.ipynb index b0b11b1fa..59bd8035a 100644 --- a/docs/source/algorithms/moo/rvea.ipynb +++ b/docs/source/algorithms/moo/rvea.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_rvea:" ] @@ -39,7 +41,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -50,7 +54,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.rvea import RVEA\n", @@ -86,7 +92,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.rvea.RVEA\n", " :noindex:" diff --git a/docs/source/algorithms/moo/sms.ipynb b/docs/source/algorithms/moo/sms.ipynb index 86c7234d2..e0b020d9d 100644 --- a/docs/source/algorithms/moo/sms.ipynb +++ b/docs/source/algorithms/moo/sms.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_sms:" ] @@ -39,7 +41,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -57,7 +61,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.sms import SMSEMOA\n", @@ -90,7 +96,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.sms.SMSEMOA\n", " :noindex:" diff --git a/docs/source/algorithms/moo/unsga3.ipynb b/docs/source/algorithms/moo/unsga3.ipynb index 0a22e2bfe..b427e2337 100644 --- a/docs/source/algorithms/moo/unsga3.ipynb +++ b/docs/source/algorithms/moo/unsga3.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_unsga3:" ] @@ -38,7 +40,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -77,7 +81,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "_res = minimize(problem,\n", @@ -91,7 +97,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -111,14 +119,18 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.moo.unsga3.UNSGA3\n", " :noindex:" diff --git a/docs/source/algorithms/soo/brkga.ipynb b/docs/source/algorithms/soo/brkga.ipynb index dba377716..320516ede 100644 --- a/docs/source/algorithms/soo/brkga.ipynb +++ b/docs/source/algorithms/soo/brkga.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_brkga:" ] @@ -43,7 +45,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -74,7 +78,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.core.duplicate import ElementwiseDuplicateElimination\n", @@ -115,7 +121,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.brkga import BRKGA\n", @@ -148,7 +156,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.brkga.BRKGA\n", " :noindex:" diff --git a/docs/source/algorithms/soo/cmaes.ipynb b/docs/source/algorithms/soo/cmaes.ipynb index 911219cb8..f6f114c56 100644 --- a/docs/source/algorithms/soo/cmaes.ipynb +++ b/docs/source/algorithms/soo/cmaes.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_cmaes:" ] @@ -40,7 +42,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -71,7 +75,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res = minimize(problem,\n", @@ -86,7 +92,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res = minimize(problem,\n", @@ -172,14 +180,18 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "### API" ] }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.cmaes.CMAES\n", " :noindex:" diff --git a/docs/source/algorithms/soo/de.ipynb b/docs/source/algorithms/soo/de.ipynb index bca283539..e6d503de8 100644 --- a/docs/source/algorithms/soo/de.ipynb +++ b/docs/source/algorithms/soo/de.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_de:" ] @@ -76,7 +78,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.de import DE\n", @@ -114,7 +118,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.de.DE\n", " :noindex:" diff --git a/docs/source/algorithms/soo/es.ipynb b/docs/source/algorithms/soo/es.ipynb index 18e50b8ac..7eaeb86c9 100644 --- a/docs/source/algorithms/soo/es.ipynb +++ b/docs/source/algorithms/soo/es.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_es:" ] @@ -42,7 +44,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.es import ES\n", @@ -71,7 +75,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.es.ES\n", " :noindex:" diff --git a/docs/source/algorithms/soo/g3pcx.ipynb b/docs/source/algorithms/soo/g3pcx.ipynb index 9538d99b1..e4ffb1322 100644 --- a/docs/source/algorithms/soo/g3pcx.ipynb +++ b/docs/source/algorithms/soo/g3pcx.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_g3pcx:" ] @@ -55,7 +57,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.g3pcx.G3PCX\n", " :noindex:\n", diff --git a/docs/source/algorithms/soo/ga.ipynb b/docs/source/algorithms/soo/ga.ipynb index 8053bcf90..0a0864493 100644 --- a/docs/source/algorithms/soo/ga.ipynb +++ b/docs/source/algorithms/soo/ga.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_ga:" ] @@ -51,7 +53,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -81,7 +85,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autofunction:: pymoo.algorithms.soo.nonconvex.ga.GA\n", " :noindex:" diff --git a/docs/source/algorithms/soo/isres.ipynb b/docs/source/algorithms/soo/isres.ipynb index ec29db835..f8d36c93d 100644 --- a/docs/source/algorithms/soo/isres.ipynb +++ b/docs/source/algorithms/soo/isres.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_isres:" ] @@ -40,7 +42,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.isres import ISRES\n", @@ -69,7 +73,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.isres.ISRES\n", " :noindex:" diff --git a/docs/source/algorithms/soo/nelder.ipynb b/docs/source/algorithms/soo/nelder.ipynb index 5a287aab6..4c6a74dec 100644 --- a/docs/source/algorithms/soo/nelder.ipynb +++ b/docs/source/algorithms/soo/nelder.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_nelder_mead:" ] @@ -20,7 +22,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.nelder import NelderMead\n", @@ -48,7 +52,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.nelder.NelderMead\n", " :noindex:" diff --git a/docs/source/algorithms/soo/pattern.ipynb b/docs/source/algorithms/soo/pattern.ipynb index 178bfced5..68ff135d0 100644 --- a/docs/source/algorithms/soo/pattern.ipynb +++ b/docs/source/algorithms/soo/pattern.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_pattern_search:" ] @@ -25,7 +27,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.pattern import PatternSearch\n", @@ -54,7 +58,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.pattern.PatternSearch\n", " :noindex:" diff --git a/docs/source/algorithms/soo/pso.ipynb b/docs/source/algorithms/soo/pso.ipynb index 8b06e911e..ab771eb65 100644 --- a/docs/source/algorithms/soo/pso.ipynb +++ b/docs/source/algorithms/soo/pso.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_pso:" ] @@ -86,7 +88,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.pso import PSO\n", @@ -114,7 +118,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.pso.PSO\n", " :noindex:\n", diff --git a/docs/source/algorithms/soo/sres.ipynb b/docs/source/algorithms/soo/sres.ipynb index b148367bc..315dd9e20 100644 --- a/docs/source/algorithms/soo/sres.ipynb +++ b/docs/source/algorithms/soo/sres.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_sres:" ] @@ -59,7 +61,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.sres import SRES\n", @@ -95,7 +99,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.algorithms.soo.nonconvex.sres.SRES\n", " :noindex:" diff --git a/docs/source/algorithms/usage.ipynb b/docs/source/algorithms/usage.ipynb index 94c339750..dcc20da52 100644 --- a/docs/source/algorithms/usage.ipynb +++ b/docs/source/algorithms/usage.ipynb @@ -3,6 +3,7 @@ { "cell_type": "raw", "metadata": { + "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -19,6 +20,7 @@ { "cell_type": "raw", "metadata": { + "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -33,6 +35,7 @@ { "cell_type": "raw", "metadata": { + "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -80,6 +83,7 @@ { "cell_type": "raw", "metadata": { + "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -103,6 +107,7 @@ { "cell_type": "raw", "metadata": { + "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -162,6 +167,7 @@ { "cell_type": "raw", "metadata": { + "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ diff --git a/docs/source/case_studies/index.ipynb b/docs/source/case_studies/index.ipynb index c59db13d8..6d1247aa9 100644 --- a/docs/source/case_studies/index.ipynb +++ b/docs/source/case_studies/index.ipynb @@ -2,21 +2,28 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_case_studies:" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "# Case Studies" ] }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ "\n", ".. toctree::\n", @@ -31,7 +38,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", diff --git a/docs/source/case_studies/portfolio_allocation.ipynb b/docs/source/case_studies/portfolio_allocation.ipynb index c6ca1ef9c..fac670490 100644 --- a/docs/source/case_studies/portfolio_allocation.ipynb +++ b/docs/source/case_studies/portfolio_allocation.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_portfolio_allocation:" ] @@ -52,7 +54,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", diff --git a/docs/source/case_studies/subset_selection.ipynb b/docs/source/case_studies/subset_selection.ipynb index 5dca04be6..500a2abed 100644 --- a/docs/source/case_studies/subset_selection.ipynb +++ b/docs/source/case_studies/subset_selection.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_subset_selection:" ] diff --git a/docs/source/constraints/as_obj.ipynb b/docs/source/constraints/as_obj.ipynb index 353aee16b..b95035122 100644 --- a/docs/source/constraints/as_obj.ipynb +++ b/docs/source/constraints/as_obj.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_feas_first:" ] diff --git a/docs/source/constraints/as_penalty.ipynb b/docs/source/constraints/as_penalty.ipynb index b4dfb36f8..bc2109160 100644 --- a/docs/source/constraints/as_penalty.ipynb +++ b/docs/source/constraints/as_penalty.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_constraints_penalty:" ] @@ -10,7 +12,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "%%capture\n", @@ -34,7 +38,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.de import DE\n", @@ -59,7 +65,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_constraints_no_feas_found:" ] diff --git a/docs/source/constraints/eps.ipynb b/docs/source/constraints/eps.ipynb index 55aaa1036..cfa8ee2f8 100644 --- a/docs/source/constraints/eps.ipynb +++ b/docs/source/constraints/eps.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_constraints_eps:" ] @@ -10,7 +12,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "%%capture\n", @@ -33,7 +37,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -51,7 +57,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.de import DE\n", diff --git a/docs/source/constraints/feas_first.ipynb b/docs/source/constraints/feas_first.ipynb index 1b8d238c3..d8b7fc0d6 100644 --- a/docs/source/constraints/feas_first.ipynb +++ b/docs/source/constraints/feas_first.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_constraints_as_obj:" ] @@ -10,7 +12,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "%%capture\n", @@ -41,7 +45,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", diff --git a/docs/source/constraints/index.ipynb b/docs/source/constraints/index.ipynb index b6bccb724..f6e42ae48 100644 --- a/docs/source/constraints/index.ipynb +++ b/docs/source/constraints/index.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_constraints:" ] @@ -18,7 +20,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Info\n", " :class: myOwnStyle\n", @@ -29,6 +33,7 @@ { "cell_type": "raw", "metadata": { + "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -155,6 +160,7 @@ { "cell_type": "raw", "metadata": { + "raw_mimetype": "text/restructuredtext", "tags": [] }, "source": [ @@ -247,7 +253,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", diff --git a/docs/source/constraints/problem.ipynb b/docs/source/constraints/problem.ipynb index 31aba7f32..dd171f0ab 100644 --- a/docs/source/constraints/problem.ipynb +++ b/docs/source/constraints/problem.ipynb @@ -3,7 +3,9 @@ { "cell_type": "raw", "id": "c23dfa57-d50b-4b8a-bfa3-917993a5a7ad", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_constraints_problem:" ] diff --git a/docs/source/constraints/repair.ipynb b/docs/source/constraints/repair.ipynb index 94c95e0e0..73e0a85c8 100644 --- a/docs/source/constraints/repair.ipynb +++ b/docs/source/constraints/repair.ipynb @@ -3,7 +3,9 @@ { "cell_type": "raw", "id": "d8b54188-9c5d-494d-8435-aea1ccacb125", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_repair:" ] @@ -12,7 +14,9 @@ "cell_type": "code", "execution_count": null, "id": "d2e220b4-b2af-4278-bb4f-e5936312ced3", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "%%capture\n", @@ -22,7 +26,9 @@ { "cell_type": "markdown", "id": "be5e07d8-23af-4361-9f4e-5982a8a1ab40", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "## Repair Operator " ] @@ -47,7 +53,9 @@ "cell_type": "code", "execution_count": null, "id": "c0ef1df3-f2d9-4a20-92a4-5684e5032e23", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.core.repair import Repair\n", @@ -71,7 +79,9 @@ "cell_type": "code", "execution_count": null, "id": "54068131-6224-48b0-9608-01546a096b38", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -100,7 +110,9 @@ "cell_type": "code", "execution_count": null, "id": "18e818b8-73cd-4a48-9567-21f76ac9cf3d", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", diff --git a/docs/source/customization/binary.ipynb b/docs/source/customization/binary.ipynb index 5f8da7815..5e81a8ceb 100644 --- a/docs/source/customization/binary.ipynb +++ b/docs/source/customization/binary.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_binary:" ] @@ -26,7 +28,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", diff --git a/docs/source/customization/custom.ipynb b/docs/source/customization/custom.ipynb index 9c56ae468..afa21a839 100644 --- a/docs/source/customization/custom.ipynb +++ b/docs/source/customization/custom.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_custom:" ] diff --git a/docs/source/customization/discrete.ipynb b/docs/source/customization/discrete.ipynb index 0e341f972..545ebce38 100644 --- a/docs/source/customization/discrete.ipynb +++ b/docs/source/customization/discrete.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_discrete:" ] @@ -26,7 +28,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -74,7 +78,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", diff --git a/docs/source/customization/initialization.ipynb b/docs/source/customization/initialization.ipynb index 0683cf2d7..e767ba1e1 100644 --- a/docs/source/customization/initialization.ipynb +++ b/docs/source/customization/initialization.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_initialization:" ] @@ -35,7 +37,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -67,7 +71,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", diff --git a/docs/source/customization/mixed.ipynb b/docs/source/customization/mixed.ipynb index 7e87f2956..8211cfd62 100644 --- a/docs/source/customization/mixed.ipynb +++ b/docs/source/customization/mixed.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_mixed_variable:" ] @@ -19,7 +21,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.core.problem import ElementwiseProblem\n", @@ -60,7 +64,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.core.mixed import MixedVariableGA\n", diff --git a/docs/source/customization/permutation.ipynb b/docs/source/customization/permutation.ipynb index dce00623a..3058cfc48 100644 --- a/docs/source/customization/permutation.ipynb +++ b/docs/source/customization/permutation.ipynb @@ -2,14 +2,18 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_perm:" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "# Permutations" ] @@ -41,7 +45,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -70,7 +76,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -106,7 +114,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "print(\"Traveling Time:\", np.round(res.F[0], 3))\n", @@ -116,7 +126,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.problems.single.traveling_salesman import visualize\n", @@ -140,7 +152,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.problems.single.flowshop_scheduling import create_random_flowshop_problem\n", @@ -170,7 +184,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "print(\"Maximum Span:\", np.round(res.F[0], 3))\n", @@ -180,7 +196,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.problems.single.flowshop_scheduling import visualize\n", diff --git a/docs/source/customization/subset.ipynb b/docs/source/customization/subset.ipynb index 5dca04be6..500a2abed 100644 --- a/docs/source/customization/subset.ipynb +++ b/docs/source/customization/subset.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_subset_selection:" ] diff --git a/docs/source/getting_started/index.ipynb b/docs/source/getting_started/index.ipynb index 760b84dc7..6693da002 100644 --- a/docs/source/getting_started/index.ipynb +++ b/docs/source/getting_started/index.ipynb @@ -18,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_getting_started:" ] @@ -32,7 +34,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. toctree::\n", " :maxdepth: 1\n", @@ -60,7 +64,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", diff --git a/docs/source/getting_started/part_1.ipynb b/docs/source/getting_started/part_1.ipynb index 0b30a4114..ebad82b16 100644 --- a/docs/source/getting_started/part_1.ipynb +++ b/docs/source/getting_started/part_1.ipynb @@ -18,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_getting_started_part1:" ] @@ -93,7 +95,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. note::\n", " Next, we derive the optimum for the given optimization problem. It is worth pointing out that this is not a requirement for pymoo and is just done for verification purposes here. Moreover, this is a valuable exercise to understand the design and objective space mapping." @@ -117,7 +121,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -224,7 +230,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Hint\n", " :class: myOwnStyle\n", diff --git a/docs/source/getting_started/part_2.ipynb b/docs/source/getting_started/part_2.ipynb index 7d9f212da..c29a9a25b 100644 --- a/docs/source/getting_started/part_2.ipynb +++ b/docs/source/getting_started/part_2.ipynb @@ -18,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_getting_started_part2:" ] @@ -63,7 +65,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Problem Definition\n", " :class: myOwnStyle\n", @@ -151,7 +155,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. tip::\n", " A problem can be defined in a couple of different ways. Above, the implementation of an **element-wise** implementation is demonstrated, which means the `_evaluate` is called for each solution `x` at a time. Other ways of implementing a problem are **vectorized**, where `x` represents a whole set of solutions or a **functional** and probably more pythonic way by providing for each objective and constraint as a function. For more details, please have a look at the Problem tutorial." @@ -233,7 +239,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. tip::\n", " The documentation is designed to make it easy to get started and to copy code for each of the algorithms. However, please be aware that each algorithm comes with all kinds of hyper-parameters to be considered. If an algorithm turns out not to show a good convergence behavior, we encourage you to try different algorithm configurations. For instance, for population-based approaches the population size and number of offsprings, as well as the parameters used for recombination operators are a good starting point." @@ -318,7 +326,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. tip::\n", " An algorithm can be executed by using the **minimize** interface as shown below. In order to have more control over the algorithm execution, pymoo also offers an **object-oriented** execution. For an example and a discussion of each's pros and cons, please consult or algorithm tutorial. " @@ -357,7 +367,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "plt.figure(figsize=(7, 5))\n", diff --git a/docs/source/getting_started/part_3.ipynb b/docs/source/getting_started/part_3.ipynb index 8c45b709b..e9ad6450c 100644 --- a/docs/source/getting_started/part_3.ipynb +++ b/docs/source/getting_started/part_3.ipynb @@ -18,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_getting_started_part3:" ] @@ -96,7 +98,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. warning::\n", " Without normalization, we are comparing **oranges with apples**. The first objective will dominate any distance calculation in the objective space because of its larger scale. Handling different scales of objectives is an inherent part of any multi-objective algorithms, and, thus, we need to do the same for post-processing. " @@ -244,7 +248,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. tip::\n", " One benefit of this approach is that any kind of decomposition function can be used." @@ -284,7 +290,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "print(\"Best regarding Pseudo Weights: Point \\ni = %s\\nF = %s\" % (i, F[i]))\n", diff --git a/docs/source/getting_started/part_4.ipynb b/docs/source/getting_started/part_4.ipynb index f9215f894..37c7cd21a 100644 --- a/docs/source/getting_started/part_4.ipynb +++ b/docs/source/getting_started/part_4.ipynb @@ -18,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_getting_started_part4:" ] @@ -26,7 +28,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "%%capture\n", @@ -64,7 +68,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.util.misc import stack\n", @@ -103,7 +109,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "pf_a, pf_b = problem.pareto_front(use_cache=False, flatten=False)" @@ -112,7 +120,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "pf = problem.pareto_front(use_cache=False, flatten=True)" @@ -121,7 +131,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "plt.figure(figsize=(7, 5))\n", @@ -165,7 +177,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.optimize import minimize\n", @@ -193,7 +207,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "n_evals = [] # corresponding number of function evaluations\\\n", @@ -235,7 +251,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "k = np.where(np.array(hist_cv) <= 0.0)[0].min()\n", @@ -252,7 +270,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "# replace this line by `hist_cv` if you like to analyze the least feasible optimal solution and not the population \n", @@ -311,7 +331,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "approx_ideal = F.min(axis=0)\n", @@ -321,7 +343,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.indicators.hv import Hypervolume\n", @@ -375,7 +399,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.util.running_metric import RunningMetricAnimation\n", @@ -399,7 +425,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.util.running_metric import RunningMetric\n", @@ -444,7 +472,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.indicators.igd import IGD\n", @@ -467,7 +497,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.indicators.igd_plus import IGDPlus\n", diff --git a/docs/source/getting_started/part_5.ipynb b/docs/source/getting_started/part_5.ipynb index e3302a68e..3d6e16ffe 100644 --- a/docs/source/getting_started/part_5.ipynb +++ b/docs/source/getting_started/part_5.ipynb @@ -18,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_getting_started_part5:" ] @@ -39,7 +41,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -70,7 +74,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "If you have used our framework for research purposes, you can cite our publication by:\n", "\n", diff --git a/docs/source/getting_started/preface.ipynb b/docs/source/getting_started/preface.ipynb index 2523ed855..e0eee2d0f 100644 --- a/docs/source/getting_started/preface.ipynb +++ b/docs/source/getting_started/preface.ipynb @@ -18,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_getting_started_preface:" ] @@ -64,7 +66,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. tip::\n", " If you are new to multi-objective optimization and are not familiar with essential concepts, a look into \"Multi-Objective Optimization Using Evolutionary Algorithms \" by Kalyanmoy Deb might be a good starting point." diff --git a/docs/source/getting_started/source_code.ipynb b/docs/source/getting_started/source_code.ipynb index 3e523f195..fb80acf21 100644 --- a/docs/source/getting_started/source_code.ipynb +++ b/docs/source/getting_started/source_code.ipynb @@ -18,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_getting_started_source_code:" ] diff --git a/docs/source/gradients/index.ipynb b/docs/source/gradients/index.ipynb index 53117dc51..075c6a039 100644 --- a/docs/source/gradients/index.ipynb +++ b/docs/source/gradients/index.ipynb @@ -3,7 +3,9 @@ { "cell_type": "raw", "id": "de9db017-6072-448e-9642-765c49c4aac9", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_gradients:" ] diff --git a/docs/source/installation.ipynb b/docs/source/installation.ipynb index 4c0a4876e..821a369e0 100644 --- a/docs/source/installation.ipynb +++ b/docs/source/installation.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _installation:" ] @@ -53,7 +55,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. code:: bash\n", "\n", @@ -76,7 +80,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. code:: bash\n", "\n", @@ -99,7 +105,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. code:: bash\n", "\n", @@ -122,7 +130,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "\n", ".. code:: bash\n", @@ -154,7 +164,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. code:: bash\n", "\n", @@ -170,7 +182,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. code:: bash\n", "\n", @@ -186,7 +200,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. code:: bash\n", "\n", @@ -223,7 +239,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. code:: bash\n", "\n", @@ -242,7 +260,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. code:: bash\n", "\n", diff --git a/docs/source/interface/algorithm.ipynb b/docs/source/interface/algorithm.ipynb index 687261494..6ee234f45 100644 --- a/docs/source/interface/algorithm.ipynb +++ b/docs/source/interface/algorithm.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_interface_algorithm:" ] diff --git a/docs/source/interface/callback.ipynb b/docs/source/interface/callback.ipynb index 0c2cce632..59cc02e21 100644 --- a/docs/source/interface/callback.ipynb +++ b/docs/source/interface/callback.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_callback:" ] @@ -27,7 +29,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Tip\n", " :class: myOwnStyle\n", diff --git a/docs/source/interface/display.ipynb b/docs/source/interface/display.ipynb index fd379aa4f..9808cc158 100644 --- a/docs/source/interface/display.ipynb +++ b/docs/source/interface/display.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_custom_output:" ] @@ -23,7 +25,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. csv-table:: Types of Output\n", " :header: \"Name\", \"Description\"\n", diff --git a/docs/source/interface/index.ipynb b/docs/source/interface/index.ipynb index 64681b93a..e65259cb2 100644 --- a/docs/source/interface/index.ipynb +++ b/docs/source/interface/index.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_interface:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "\n", ".. toctree::\n", @@ -42,7 +46,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", diff --git a/docs/source/interface/minimize.ipynb b/docs/source/interface/minimize.ipynb index 715e6773e..b04699d15 100644 --- a/docs/source/interface/minimize.ipynb +++ b/docs/source/interface/minimize.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_interface_minimize:" ] @@ -71,7 +73,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autofunction:: pymoo.optimize.minimize" ] diff --git a/docs/source/interface/problem.ipynb b/docs/source/interface/problem.ipynb index 8f8366fe4..8bb883ad9 100644 --- a/docs/source/interface/problem.ipynb +++ b/docs/source/interface/problem.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_interface_problem:" ] @@ -24,7 +26,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -106,7 +110,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Tip\n", " :class: myOwnStyle\n", diff --git a/docs/source/interface/result.ipynb b/docs/source/interface/result.ipynb index a01c88a0f..4ed23ceb3 100644 --- a/docs/source/interface/result.ipynb +++ b/docs/source/interface/result.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_interface_results:" ] @@ -24,7 +26,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -63,7 +67,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res.X" @@ -72,7 +78,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res.F" @@ -81,7 +89,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res.G" @@ -90,7 +100,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res.CV" @@ -99,7 +111,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res.algorithm" @@ -108,7 +122,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "pop = res.pop" @@ -124,7 +140,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "pop.get(\"X\")" @@ -133,7 +151,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "pop.get(\"F\")" @@ -157,7 +177,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "problem = get_problem(\"g1\")\n", @@ -172,7 +194,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res.X, res.F, res.G, res.CV" @@ -188,7 +212,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "problem = get_problem(\"g1\")\n", @@ -204,7 +230,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res.X, res.F, res.G, res.CV" @@ -229,7 +257,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.moo.nsga2 import NSGA2\n", @@ -245,7 +275,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "res.F" diff --git a/docs/source/interface/termination.ipynb b/docs/source/interface/termination.ipynb index 64ecaa665..2a5227539 100644 --- a/docs/source/interface/termination.ipynb +++ b/docs/source/interface/termination.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_interface_termination:" ] @@ -24,7 +26,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Tip\n", " :class: myOwnStyle\n", diff --git a/docs/source/mcdm/index.ipynb b/docs/source/mcdm/index.ipynb index 654569bfa..466912e31 100644 --- a/docs/source/mcdm/index.ipynb +++ b/docs/source/mcdm/index.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_decision_making:" ] @@ -39,7 +41,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_compromise:" ] @@ -61,7 +65,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -79,7 +85,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -100,7 +108,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "I = decomp(F, weights).argmin()\n", @@ -117,7 +127,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.visualization.scatter import Scatter\n", @@ -133,7 +145,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_pseudo_weights:" ] @@ -161,7 +175,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.mcdm.pseudo_weights import PseudoWeights\n", @@ -184,7 +200,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_high_tradeoff:" ] @@ -206,7 +224,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import os\n", @@ -229,7 +249,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "pf = np.loadtxt(\"knee-3d.out\")\n", diff --git a/docs/source/misc/checkpoint.ipynb b/docs/source/misc/checkpoint.ipynb index 64b951325..31416e26c 100644 --- a/docs/source/misc/checkpoint.ipynb +++ b/docs/source/misc/checkpoint.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_checkpoint:" ] diff --git a/docs/source/misc/convergence.ipynb b/docs/source/misc/convergence.ipynb index 1d3246cd2..8af9485c3 100644 --- a/docs/source/misc/convergence.ipynb +++ b/docs/source/misc/convergence.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_convergence:" ] diff --git a/docs/source/misc/decomposition.ipynb b/docs/source/misc/decomposition.ipynb index 13ee73fc2..2aa78e1fe 100644 --- a/docs/source/misc/decomposition.ipynb +++ b/docs/source/misc/decomposition.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_decomposition:" ] @@ -27,7 +29,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -54,7 +58,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "def plot_contour(X, F):\n", @@ -78,7 +84,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "weights = [0.5, 0.5]" @@ -86,7 +94,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_weighted_sum:" ] @@ -101,7 +111,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.decomposition.weighted_sum import WeightedSum\n", @@ -112,7 +124,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_tchebyshev:" ] @@ -127,7 +141,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.decomposition.tchebicheff import Tchebicheff\n", @@ -138,7 +154,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_asf:" ] @@ -160,7 +178,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.decomposition.asf import ASF\n", @@ -172,7 +192,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_aasf:" ] @@ -194,7 +216,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.decomposition.aasf import AASF\n", @@ -207,7 +231,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "dm = AASF(eps=0.0, beta=25)\n", @@ -217,7 +243,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_pbi:" ] @@ -232,7 +260,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.decomposition.pbi import PBI\n", @@ -245,7 +275,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "dm = PBI(eps=0.0, theta=1.0)\n", @@ -255,7 +287,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "dm = PBI(eps=0.0, theta=5.0)\n", diff --git a/docs/source/misc/index.ipynb b/docs/source/misc/index.ipynb index 822ea411d..2ab82a9cb 100644 --- a/docs/source/misc/index.ipynb +++ b/docs/source/misc/index.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_misc:" ] @@ -23,7 +25,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ "\n", ".. toctree::\n", diff --git a/docs/source/misc/indicators.ipynb b/docs/source/misc/indicators.ipynb index b29a9fb7d..9c73a165f 100644 --- a/docs/source/misc/indicators.ipynb +++ b/docs/source/misc/indicators.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_performance_indicator:" ] @@ -26,7 +28,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -45,7 +49,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_gd:" ] @@ -70,7 +76,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.indicators.gd import GD\n", @@ -81,7 +89,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_gd_plus:" ] @@ -106,7 +116,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.indicators.gd_plus import GDPlus\n", @@ -117,7 +129,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_igd:" ] @@ -142,7 +156,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.indicators.igd import IGD\n", @@ -153,7 +169,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_igd_plus:" ] @@ -178,7 +196,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.indicators.igd_plus import IGDPlus\n", @@ -189,7 +209,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_hv:" ] @@ -228,7 +250,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.indicators.hv import HV\n", diff --git a/docs/source/misc/kktpm.ipynb b/docs/source/misc/kktpm.ipynb index 0cc9ce73b..9d6f8994f 100644 --- a/docs/source/misc/kktpm.ipynb +++ b/docs/source/misc/kktpm.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_kktpm:" ] diff --git a/docs/source/misc/reference_directions.ipynb b/docs/source/misc/reference_directions.ipynb index 00775ef4d..337a10391 100644 --- a/docs/source/misc/reference_directions.ipynb +++ b/docs/source/misc/reference_directions.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_ref_dirs:" ] @@ -149,7 +151,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.util.ref_dirs import get_reference_directions\n", @@ -163,7 +167,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "ref_dirs = get_reference_directions(\"energy\", 3, 250, seed=1)\n", @@ -189,7 +195,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "ref_dirs = get_reference_directions(\"uniform\", 3, n_partitions=12)\n", @@ -206,7 +214,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -257,7 +267,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "ref_dirs = get_reference_directions(\n", @@ -337,7 +349,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "ref_dirs = get_reference_directions(\"layer-energy\", 3, [9, 5, 2, 1])\n", diff --git a/docs/source/operators/crossover.ipynb b/docs/source/operators/crossover.ipynb index 966f19f3c..cae430cca 100644 --- a/docs/source/operators/crossover.ipynb +++ b/docs/source/operators/crossover.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_crossover:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_crossover_sbx:" ] @@ -35,7 +39,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.operators.crossover.sbx import SBX\n", @@ -88,7 +94,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "show(30)" @@ -104,7 +112,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -135,7 +145,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_crossover_point:" ] @@ -150,7 +162,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -194,7 +208,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_crossover_exponential:" ] @@ -217,7 +233,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.operators.crossover.expx import ExponentialCrossover\n", @@ -229,7 +247,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_crossover_uniform:" ] @@ -252,7 +272,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.operators.crossover.ux import UniformCrossover\n", @@ -263,7 +285,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_crossover_half_uniform:" ] @@ -320,7 +344,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autofunction:: pymoo.factory.get_crossover\n", " :noindex:\n", diff --git a/docs/source/operators/index.ipynb b/docs/source/operators/index.ipynb index 2925396c9..e1dcfb159 100644 --- a/docs/source/operators/index.ipynb +++ b/docs/source/operators/index.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_operators:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. toctree::\n", " :maxdepth: 1\n", diff --git a/docs/source/operators/mutation.ipynb b/docs/source/operators/mutation.ipynb index 857f854b9..0bf44ef26 100644 --- a/docs/source/operators/mutation.ipynb +++ b/docs/source/operators/mutation.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_mutation:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_mutation_pm:" ] @@ -120,7 +124,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_mutation_bitflip:" ] @@ -173,7 +179,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autofunction:: pymoo.factory.get_mutation\n", " :noindex:\n", diff --git a/docs/source/operators/repair.ipynb b/docs/source/operators/repair.ipynb index d9d7da3e4..d4be450f8 100644 --- a/docs/source/operators/repair.ipynb +++ b/docs/source/operators/repair.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_repair:" ] diff --git a/docs/source/operators/sampling.ipynb b/docs/source/operators/sampling.ipynb index 0f1b44f36..cfaf276fb 100644 --- a/docs/source/operators/sampling.ipynb +++ b/docs/source/operators/sampling.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_sampling:" ] @@ -23,7 +25,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_sampling_random:" ] @@ -38,7 +42,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.core.problem import Problem\n", @@ -55,7 +61,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_sampling_lhs:" ] @@ -70,7 +78,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.operators.sampling.lhs import LHS\n", @@ -90,7 +100,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autofunction:: pymoo.factory.get_sampling\n", " :noindex:\n", diff --git a/docs/source/operators/selection.ipynb b/docs/source/operators/selection.ipynb index 81eb4fd3a..84e7c4486 100644 --- a/docs/source/operators/selection.ipynb +++ b/docs/source/operators/selection.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_selection:" ] @@ -29,7 +31,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_selection_random:" ] @@ -51,7 +55,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.operators.selection.rnd import RandomSelection\n", @@ -68,7 +74,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_selection_tournament:" ] @@ -93,7 +101,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.algorithms.soo.nonconvex.ga import GA\n", @@ -148,7 +158,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autofunction:: pymoo.factory.get_selection\n", " :noindex:\n", diff --git a/docs/source/problems/constrained/mw.ipynb b/docs/source/problems/constrained/mw.ipynb index 42a15ca4e..b6d04ec44 100755 --- a/docs/source/problems/constrained/mw.ipynb +++ b/docs/source/problems/constrained/mw.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_mw:" ] @@ -33,7 +35,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_mw1:" ] diff --git a/docs/source/problems/definition.ipynb b/docs/source/problems/definition.ipynb index 865139b02..9e5a476b7 100755 --- a/docs/source/problems/definition.ipynb +++ b/docs/source/problems/definition.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_problem_definition:" ] @@ -25,7 +27,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. csv-table:: Types of Output\n", " :header: \"Argument\", \"Description\"\n", @@ -48,7 +52,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", @@ -60,7 +66,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_problem_definition_vectorized:" ] @@ -82,7 +90,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Tip\n", " :class: myOwnStyle\n", @@ -128,7 +138,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_problem_definition_elementwise:" ] @@ -178,7 +190,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_problem_definition_functional:" ] @@ -281,7 +295,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. class:: pymoo.core.problem.Problem\n", "\n", diff --git a/docs/source/problems/dynamic/df.ipynb b/docs/source/problems/dynamic/df.ipynb index 1c9cfd76e..e4dfae3de 100644 --- a/docs/source/problems/dynamic/df.ipynb +++ b/docs/source/problems/dynamic/df.ipynb @@ -3,7 +3,9 @@ { "cell_type": "raw", "id": "0b19416f-038c-4013-a26f-c996f0a21c99", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df:" ] @@ -27,7 +29,9 @@ { "cell_type": "raw", "id": "1ff63dec-92f8-4627-b398-6afbbb146d61", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df1:" ] @@ -64,7 +68,9 @@ { "cell_type": "raw", "id": "7cdfca4b-e260-4456-866d-4db79a4dae4f", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df2:" ] @@ -98,7 +104,9 @@ { "cell_type": "raw", "id": "a496b361-ffe6-45aa-86c9-f607db96acfa", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df3:" ] @@ -132,7 +140,9 @@ { "cell_type": "raw", "id": "c9a068fa-e717-4eb7-939c-5d4cec944dc6", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df4:" ] @@ -166,7 +176,9 @@ { "cell_type": "raw", "id": "e5f0fef8-b281-4631-82b8-6641d45cacd2", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df5:" ] @@ -200,7 +212,9 @@ { "cell_type": "raw", "id": "6ec043e6-eb79-46c4-a1b3-6d3fecaf0511", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df6:" ] @@ -234,7 +248,9 @@ { "cell_type": "raw", "id": "64a0e30e-104d-4624-abaa-f750075c2f92", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df7:" ] @@ -268,7 +284,9 @@ { "cell_type": "raw", "id": "fe4a71ab-e9fa-448a-b734-73bb7f7d2506", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df8:" ] @@ -302,7 +320,9 @@ { "cell_type": "raw", "id": "ee324a14-d36f-46f1-a169-dc01a917833b", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_df9:" ] @@ -423,7 +443,9 @@ { "cell_type": "markdown", "id": "8d152672-a9bc-4e47-9fbf-250b6a50e5f0", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "### DF13" ] @@ -452,7 +474,9 @@ { "cell_type": "markdown", "id": "f64515d8-5e91-4205-ab11-99d9b65ffb62", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "### DF14" ] diff --git a/docs/source/problems/index.ipynb b/docs/source/problems/index.ipynb index 83643821e..f663681fa 100755 --- a/docs/source/problems/index.ipynb +++ b/docs/source/problems/index.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_problem:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. toctree::\n", " :hidden:\n", @@ -37,7 +41,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. admonition:: Overview\n", " :class: myOwnStyle\n", diff --git a/docs/source/problems/many/dtlz.ipynb b/docs/source/problems/many/dtlz.ipynb index 55476a78c..5a068bfa9 100644 --- a/docs/source/problems/many/dtlz.ipynb +++ b/docs/source/problems/many/dtlz.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dtlz:" ] @@ -17,7 +19,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dtlz1:" ] @@ -115,7 +119,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dtlz2:" ] @@ -191,7 +197,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dtlz3:" ] @@ -266,7 +274,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dtlz4:" ] @@ -342,7 +352,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dtlz5:" ] @@ -418,7 +430,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dtlz6:" ] @@ -487,7 +501,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_dtlz7:" ] diff --git a/docs/source/problems/many/wfg.ipynb b/docs/source/problems/many/wfg.ipynb index ff66d282d..e94c6cc36 100644 --- a/docs/source/problems/many/wfg.ipynb +++ b/docs/source/problems/many/wfg.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_wfg:" ] diff --git a/docs/source/problems/multi/bnh.ipynb b/docs/source/problems/multi/bnh.ipynb index 08bd77919..d0568249c 100755 --- a/docs/source/problems/multi/bnh.ipynb +++ b/docs/source/problems/multi/bnh.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_bnh:" ] diff --git a/docs/source/problems/multi/osy.ipynb b/docs/source/problems/multi/osy.ipynb index 66f24471a..e1adbdf71 100644 --- a/docs/source/problems/multi/osy.ipynb +++ b/docs/source/problems/multi/osy.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_osy:" ] @@ -70,7 +72,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/html" + }, "source": [ "
\n", " \n", diff --git a/docs/source/problems/multi/tnk.ipynb b/docs/source/problems/multi/tnk.ipynb index 84e7600a7..e8b6c9a1e 100644 --- a/docs/source/problems/multi/tnk.ipynb +++ b/docs/source/problems/multi/tnk.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_tnk:" ] diff --git a/docs/source/problems/multi/truss2d.ipynb b/docs/source/problems/multi/truss2d.ipynb index 20dbe991b..d557ee4fb 100644 --- a/docs/source/problems/multi/truss2d.ipynb +++ b/docs/source/problems/multi/truss2d.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_truss2d:" ] diff --git a/docs/source/problems/multi/welded_beam.ipynb b/docs/source/problems/multi/welded_beam.ipynb index 78a49a9af..f2a1c56d4 100644 --- a/docs/source/problems/multi/welded_beam.ipynb +++ b/docs/source/problems/multi/welded_beam.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_welded_beam:" ] diff --git a/docs/source/problems/multi/zdt.ipynb b/docs/source/problems/multi/zdt.ipynb index 90744f548..c952f8333 100755 --- a/docs/source/problems/multi/zdt.ipynb +++ b/docs/source/problems/multi/zdt.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_zdt:" ] @@ -27,7 +29,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_zdt1:" ] @@ -100,7 +104,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_zdt2:" ] @@ -173,7 +179,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_zdt3:" ] @@ -251,7 +259,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_zdt4:" ] @@ -325,7 +335,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_zdt5:" ] @@ -420,7 +432,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_zdt6:" ] @@ -481,7 +495,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", diff --git a/docs/source/problems/single/ackley.ipynb b/docs/source/problems/single/ackley.ipynb index 28225df3f..42a88241d 100755 --- a/docs/source/problems/single/ackley.ipynb +++ b/docs/source/problems/single/ackley.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_ackley:" ] diff --git a/docs/source/problems/single/griewank.ipynb b/docs/source/problems/single/griewank.ipynb index c132316b4..3dfe4279a 100755 --- a/docs/source/problems/single/griewank.ipynb +++ b/docs/source/problems/single/griewank.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_griewank:" ] @@ -59,7 +61,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", diff --git a/docs/source/problems/single/rastrigin.ipynb b/docs/source/problems/single/rastrigin.ipynb index 3627e4326..89a62279b 100755 --- a/docs/source/problems/single/rastrigin.ipynb +++ b/docs/source/problems/single/rastrigin.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_rastrigin:" ] diff --git a/docs/source/problems/single/rosenbrock.ipynb b/docs/source/problems/single/rosenbrock.ipynb index 8b5674363..2756910d7 100755 --- a/docs/source/problems/single/rosenbrock.ipynb +++ b/docs/source/problems/single/rosenbrock.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_rosenbrock:" ] @@ -75,7 +77,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "FitnessLandscape(problem, _type=\"contour\", colorbar=True).show()" diff --git a/docs/source/problems/single/zakharov.ipynb b/docs/source/problems/single/zakharov.ipynb index e5fcec5c9..4c141867f 100755 --- a/docs/source/problems/single/zakharov.ipynb +++ b/docs/source/problems/single/zakharov.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_zakharov:" ] @@ -75,7 +77,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "FitnessLandscape(problem, _type=\"contour\", contour_levels = 200, colorbar=True).show()" diff --git a/docs/source/problems/test_problems.ipynb b/docs/source/problems/test_problems.ipynb index 8ca713580..2b274520f 100644 --- a/docs/source/problems/test_problems.ipynb +++ b/docs/source/problems/test_problems.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_test_problems:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. toctree::\n", " :hidden:\n", diff --git a/docs/source/versions.ipynb b/docs/source/versions.ipynb index d6a9c897f..7a0947719 100644 --- a/docs/source/versions.ipynb +++ b/docs/source/versions.ipynb @@ -2,7 +2,10 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _nb_version:" ] @@ -18,7 +21,47 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, + "source": [ + ".. tip::\n", + " To access deprecated documentations, please use the following credentials:\n", + "\n", + " Username: pymoo, Password: pymoo\n", + "\n", + " (The access is protected to avoid search engines directing to deprecated documentations)" + ] + }, + { + "cell_type": "raw", + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, + "source": [ + ".. _version_0_6_1:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "#### 0.6.1 [[Documentation](http://archive.pymoo.org/0.6.1/)]\n", + "\n", + "- Minor changes and bigfixes that have been reported\n", + "- Added KGB for dynamic optimization" + ] + }, + { + "cell_type": "raw", + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_6_0:" ] @@ -29,7 +72,7 @@ "tags": [] }, "source": [ - "#### 0.6.0\n", + "#### 0.6.0 [[Documentation](http://archive.pymoo.org/0.6.0/)]\n", "\n", "- Breaking changes: Factory methods have been deprecated or deactivated (because of maintenance overhead and hiding of constructor parameters)\n", "- New Problems: DF (for dynamic optimization)\n", @@ -43,7 +86,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_5_0:" ] @@ -54,7 +100,7 @@ "tags": [] }, "source": [ - "#### 0.5.0 [[Documentation](http://data.pymoo.org/docs/pymoo-0.5.0-doc.zip)]\n", + "#### 0.5.0 [[Documentation](http://archive.pymoo.org/0.5.0/)]\n", "\n", "- New Theme: As you might have noticed, *pymoo* got a new HTML theme, responsive, and has a better navigation bar.\n", "- New Project Structure: This includes some breaking changes. Now, the algorithms are grouped into different categories. For instance, `NSGA2` is now available at `pymoo.algorithms.moo.NSGA2`. \n", @@ -66,7 +112,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_4_2:" ] @@ -75,7 +124,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### 0.4.2 [[Documentation](http://data.pymoo.org/docs/pymoo-0.4.2-doc.zip)]\n", + "#### 0.4.2 [[Documentation](http://archive.pymoo.org/0.4.2/)]\n", "\n", "- Improved Getting Started Guide with a new interface of providing functions instead of implementing the problem class\n", "- New Algorithm: PSO for single-objective problems\n", @@ -89,7 +138,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_4_1:" ] @@ -98,7 +150,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### 0.4.1 [[Documentation](http://data.pymoo.org/docs/pymoo-0.4.1-doc.zip)]\n", + "#### 0.4.1 [[Documentation](http://archive.pymoo.org/0.4.1/)]\n", "\n", "- New Feature: Riesz s-Energy Method to generate a well-spaced point-set on the unit simplex (reference directions) of arbitrary size.\n", "- New Algorithm: An implementation of Hooke and Jeeves Pattern Search (well-known single-objective algorithm)\n", @@ -110,7 +162,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_4_0:" ] @@ -119,7 +174,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### 0.4.0 [[Documentation](http://data.pymoo.org/docs/pymoo-0.4.0-doc.zip)]\n", + "#### 0.4.0 [[Documentation](http://archive.pymoo.org/0.4.0/)]\n", "\n", " - New Algorithm: CMA-ES (Implementation published by the Author)\n", " - New Algorithm: Biased-Random Key Genetic Algorithm (BRKGA)\n", @@ -136,7 +191,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_3_2:" ] @@ -145,7 +203,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### 0.3.2 [[Documentation](http://data.pymoo.org/docs/pymoo-0.3.2-doc.zip)]\n", + "#### 0.3.2 [[Documentation](http://archive.pymoo.org/0.3.2/)]\n", "\n", " - New Algorithm: Nelder Mead with box constraint handling in the design space\n", " - New Performance indicator: Karush Kuhn Tucker Proximity Measure (KKTPM)\n", @@ -157,7 +215,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_3_1:" ] @@ -166,7 +227,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### 0.3.1 [[Documentation](http://data.pymoo.org/docs/pymoo-0.3.1-doc.zip)]\n", + "#### 0.3.1 [[Documentation](http://archive.pymoo.org/0.3.1/)]\n", "\n", " - Merging pymop into pymoo - all test problems are included\n", " - Improved Getting Started Guide\n", @@ -184,7 +245,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_3_0:" ] @@ -203,7 +267,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_2_2:" ] @@ -221,7 +288,10 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext", + "tags": [] + }, "source": [ ".. _version_0_2_1:" ] @@ -237,6 +307,11 @@ } ], "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, "language_info": { "codemirror_mode": { "name": "ipython", diff --git a/docs/source/visualization/heatmap.ipynb b/docs/source/visualization/heatmap.ipynb index 2ad320d6f..47f8f9b2c 100644 --- a/docs/source/visualization/heatmap.ipynb +++ b/docs/source/visualization/heatmap.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_heat:" ] @@ -26,7 +28,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -45,7 +49,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.visualization.heatmap import Heatmap\n", @@ -94,7 +100,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "plot = Heatmap(title=(\"Optimization\", {'pad': 15}),\n", @@ -115,7 +123,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "F = np.random.random((30, 6))\n", @@ -140,7 +150,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.visualization.heatmap.Heatmap\n", " :noindex:" diff --git a/docs/source/visualization/index.ipynb b/docs/source/visualization/index.ipynb index 762942ef0..99a218489 100644 --- a/docs/source/visualization/index.ipynb +++ b/docs/source/visualization/index.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_visualization:" ] @@ -16,7 +18,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. toctree::\n", " :maxdepth: 1\n", diff --git a/docs/source/visualization/pcp.ipynb b/docs/source/visualization/pcp.ipynb index dab92ecef..67c6da2d8 100755 --- a/docs/source/visualization/pcp.ipynb +++ b/docs/source/visualization/pcp.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_pcp:" ] @@ -147,7 +149,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.visualization.pcp.PCP\n", " :noindex:" diff --git a/docs/source/visualization/petal.ipynb b/docs/source/visualization/petal.ipynb index c2620ee22..e46e2c49c 100644 --- a/docs/source/visualization/petal.ipynb +++ b/docs/source/visualization/petal.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_petal:" ] @@ -26,7 +28,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -46,7 +50,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.visualization.petal import Petal\n", @@ -64,7 +70,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "Petal(bounds=[0, 1], reverse=True).add(F).show()" @@ -73,7 +81,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "plot = Petal(bounds=[0, 1],\n", @@ -95,7 +105,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "F = np.random.random((6, 6))\n", @@ -114,7 +126,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.visualization.petal.Petal\n", " :noindex:" diff --git a/docs/source/visualization/radar.ipynb b/docs/source/visualization/radar.ipynb index 90630de3e..588e5ba3c 100755 --- a/docs/source/visualization/radar.ipynb +++ b/docs/source/visualization/radar.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_radar:" ] @@ -111,7 +113,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.visualization.radar.Radar\n", " :noindex:" diff --git a/docs/source/visualization/radviz.ipynb b/docs/source/visualization/radviz.ipynb index 56b485926..9c89ab23b 100755 --- a/docs/source/visualization/radviz.ipynb +++ b/docs/source/visualization/radviz.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_radviz:" ] @@ -99,7 +101,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.visualization.radviz.Radviz\n", " :noindex:" diff --git a/docs/source/visualization/scatter.ipynb b/docs/source/visualization/scatter.ipynb index e000c14ce..8cca2a89a 100644 --- a/docs/source/visualization/scatter.ipynb +++ b/docs/source/visualization/scatter.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_scatter:" ] @@ -124,7 +126,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.visualization.scatter.Scatter\n", " :noindex:" diff --git a/docs/source/visualization/star.ipynb b/docs/source/visualization/star.ipynb index 9117491a9..b71bfc513 100644 --- a/docs/source/visualization/star.ipynb +++ b/docs/source/visualization/star.ipynb @@ -2,7 +2,9 @@ "cells": [ { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. _nb_star:" ] @@ -26,7 +28,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.problems import get_problem\n", @@ -46,7 +50,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from pymoo.visualization.star_coordinate import StarCoordinate\n", @@ -64,7 +70,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "plot = StarCoordinate(title=\"Optimization\",\n", @@ -87,7 +95,9 @@ }, { "cell_type": "raw", - "metadata": {}, + "metadata": { + "raw_mimetype": "text/restructuredtext" + }, "source": [ ".. autoclass:: pymoo.visualization.star_coordinate.StarCoordinate\n", " :noindex:" From 61d3fb0e4f35d6b11a004a9ca559dcb6f22c981f Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sun, 19 Nov 2023 13:41:01 -0800 Subject: [PATCH 09/26] Adding deployment for Mac OSX 10.15 --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a91cfe180..367edca40 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -33,6 +33,7 @@ jobs: os: - windows-latest - macos-latest + - macos-10.15 python-version: - "3.7" - "3.8" From 5e7bc4544a6aafdf8dc2b3ee422842832cb2cd6b Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sun, 19 Nov 2023 13:48:43 -0800 Subject: [PATCH 10/26] Change to MacOSX 10 --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 367edca40..cca751ea7 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -33,7 +33,7 @@ jobs: os: - windows-latest - macos-latest - - macos-10.15 + - macos-10 python-version: - "3.7" - "3.8" From 67cdeb569bc914344aee3626f7da260c9bd523f3 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sun, 19 Nov 2023 13:56:00 -0800 Subject: [PATCH 11/26] New Mac versions for deployment --- .github/workflows/deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index cca751ea7..9fb08a827 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -32,8 +32,8 @@ jobs: matrix: os: - windows-latest - - macos-latest - - macos-10 + - macos-12 + - macos-13 python-version: - "3.7" - "3.8" From b14584f563ac7116899a692b085c36a219ff0c3c Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Tue, 21 Nov 2023 18:26:00 -0800 Subject: [PATCH 12/26] AttributeError: 'Result' object has no attribute 'time' #507 --- docs/source/interface/result.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/interface/result.ipynb b/docs/source/interface/result.ipynb index 4ed23ceb3..ca70cc17b 100644 --- a/docs/source/interface/result.ipynb +++ b/docs/source/interface/result.ipynb @@ -61,7 +61,7 @@ "- `res.opt`: The solutions as a `Population` object.\n", "- `res.pop`: The final Population\n", "- `res.history`: The history of the algorithm. (only if `save_history` has been enabled during the algorithm initialization)\n", - "- `res.time`: The time required to run the algorithm\n" + "- `res.exec_time`: The time required to run the algorithm\n" ] }, { From b08fd615f7d38634db9b5bc6cce041dc0c701e06 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sat, 25 Nov 2023 16:50:29 -0800 Subject: [PATCH 13/26] SBX: Setting prob_exch by default to 1.0 I have noticed some performance issues by being more greedy and setting this to 0.5. Thus, I have decided to change the default back to 1.0 as it is implemented in the original NSGA2. (this leads to more exploration now) --- pymoo/operators/crossover/sbx.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymoo/operators/crossover/sbx.py b/pymoo/operators/crossover/sbx.py index 41a1c025a..7be256113 100644 --- a/pymoo/operators/crossover/sbx.py +++ b/pymoo/operators/crossover/sbx.py @@ -89,7 +89,7 @@ class SimulatedBinaryCrossover(Crossover): def __init__(self, prob_var=0.5, eta=15, - prob_exch=0.5, + prob_exch=1.0, prob_bin=0.5, n_offsprings=2, **kwargs): From 91077765623415f34a32a055c271c9b27833a178 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sat, 25 Nov 2023 16:52:33 -0800 Subject: [PATCH 14/26] SMS: Change the default SBX exchange rate also to 1.0 --- pymoo/algorithms/moo/sms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymoo/algorithms/moo/sms.py b/pymoo/algorithms/moo/sms.py index f9ae526cb..03e7d9c15 100644 --- a/pymoo/algorithms/moo/sms.py +++ b/pymoo/algorithms/moo/sms.py @@ -137,7 +137,7 @@ def __init__(self, pop_size=100, sampling=FloatRandomSampling(), selection=TournamentSelection(func_comp=cv_and_dom_tournament), - crossover=SBX(prob_exch=0.5), + crossover=SBX(), mutation=PM(), survival=LeastHypervolumeContributionSurvival(), eliminate_duplicates=True, From 26e7e5c396c4356bb9f319f4da0d4dbfd9c7c860 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sat, 25 Nov 2023 17:36:51 -0800 Subject: [PATCH 15/26] Fixing f_gap issue in SingleObjectiveOutput --- examples/algorithms/moo/nsga2/nsga2_pcx.py | 2 +- pymoo/util/display/single.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/algorithms/moo/nsga2/nsga2_pcx.py b/examples/algorithms/moo/nsga2/nsga2_pcx.py index 10d0dd258..b5fa37f14 100644 --- a/examples/algorithms/moo/nsga2/nsga2_pcx.py +++ b/examples/algorithms/moo/nsga2/nsga2_pcx.py @@ -14,7 +14,7 @@ algorithm, ('n_gen', 200), seed=1, - verbose=False) + verbose=True) plot = Scatter() plot.add(problem.pareto_front(), plot_type="line", color="black", alpha=0.7) diff --git a/pymoo/util/display/single.py b/pymoo/util/display/single.py index 06bb31d17..e178af672 100644 --- a/pymoo/util/display/single.py +++ b/pymoo/util/display/single.py @@ -60,9 +60,8 @@ def update(self, algorithm): if opt.feas: self.f_min.set(opt.f) - if self.best: + if self.best is not None: self.f_gap.set(opt.f - self.best) - else: self.f_min.set(None) self.f_gap.set(None) From 82a5189704436b1d1296e3615075bf6115f5dabf Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sat, 25 Nov 2023 18:40:20 -0800 Subject: [PATCH 16/26] VERSION 0.6.1.1 --- .github/workflows/deploy.yml | 3 +-- pymoo/version.py | 2 +- tests/test_docs.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 9fb08a827..a91cfe180 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -32,8 +32,7 @@ jobs: matrix: os: - windows-latest - - macos-12 - - macos-13 + - macos-latest python-version: - "3.7" - "3.8" diff --git a/pymoo/version.py b/pymoo/version.py index 43c4ab005..1cbd38e3b 100644 --- a/pymoo/version.py +++ b/pymoo/version.py @@ -1 +1 @@ -__version__ = "0.6.1" +__version__ = "0.6.1.1" diff --git a/tests/test_docs.py b/tests/test_docs.py index 4b2ee629a..607595510 100644 --- a/tests/test_docs.py +++ b/tests/test_docs.py @@ -15,7 +15,7 @@ @pytest.mark.long @pytest.mark.parametrize('ipynb', IPYNBS) def test_docs(ipynb, pytestconfig): - overwrite = pytestconfig.getoption("overwrite", True) + overwrite = pytestconfig.getoption("overwrite", False) KERNEL = start_new_kernel(kernel_name='python3') run_ipynb(KERNEL, ipynb, overwrite=overwrite, remove_trailing_empty_cells=True) assert True From 25abf169fdb33a1163ecdaf5511691defbcf0960 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Mon, 11 Dec 2023 19:06:57 -0800 Subject: [PATCH 17/26] Bugfix: Argument order in NSGA3 normalization of "worst_of_population" and "worst_of_front" --- pymoo/algorithms/moo/nsga3.py | 3 +-- pymoo/algorithms/soo/nonconvex/pattern.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pymoo/algorithms/moo/nsga3.py b/pymoo/algorithms/moo/nsga3.py index f2d714895..b17ce8df0 100644 --- a/pymoo/algorithms/moo/nsga3.py +++ b/pymoo/algorithms/moo/nsga3.py @@ -278,7 +278,6 @@ def __init__(self, n_dim) -> None: self.extreme_points = None def update(self, F, nds=None): - # find or usually update the new ideal point - from feasible solutions self.ideal_point = np.min(np.vstack((self.ideal_point, F)), axis=0) self.worst_point = np.max(np.vstack((self.worst_point, F)), axis=0) @@ -296,7 +295,7 @@ def update(self, F, nds=None): worst_of_front = np.max(F[nds, :], axis=0) self.nadir_point = get_nadir_point(self.extreme_points, self.ideal_point, self.worst_point, - worst_of_population, worst_of_front) + worst_of_front, worst_of_population) def get_extreme_points_c(F, ideal_point, extreme_points=None): diff --git a/pymoo/algorithms/soo/nonconvex/pattern.py b/pymoo/algorithms/soo/nonconvex/pattern.py index 370caff92..61edc4ad5 100644 --- a/pymoo/algorithms/soo/nonconvex/pattern.py +++ b/pymoo/algorithms/soo/nonconvex/pattern.py @@ -80,7 +80,7 @@ def _initialize_advance(self, infills=None, **kwargs): def _next(self): # whether the last iteration has resulted in a new optimum or not - has_improved = is_better(self._explr, self._center, eps=0.0) + has_improved = is_better(self._explr, self._center) # that means that the exploration did not find any new point and was thus unsuccessful if not has_improved: From 03f7da35f76e98565b221a623894901b17face25 Mon Sep 17 00:00:00 2001 From: gresavage Date: Mon, 11 Dec 2023 22:19:09 -0500 Subject: [PATCH 18/26] Add Dominance Degree Approach Algorithm for Non-Dominating Sort (#520) * feat: add DDA methods for NDS * feat: implement testing for DDA algorithms * perf: improved scanning order for removing dominators in DDA * perf: significant speedup for DDA in python * refactor: code clean up and docstrings --------- Co-authored-by: tgresavage --- pymoo/cython/non_dominated_sorting.pyx | 142 +++++++++++++++- pymoo/util/function_loader.py | 48 +++--- .../dominance_degree_non_dominated_sort.py | 159 ++++++++++++++++++ tests/misc/test_non_dominated_sorting.py | 102 ++++++++--- 4 files changed, 402 insertions(+), 49 deletions(-) create mode 100644 pymoo/util/nds/dominance_degree_non_dominated_sort.py diff --git a/pymoo/cython/non_dominated_sorting.pyx b/pymoo/cython/non_dominated_sorting.pyx index 27891a300..785dba834 100644 --- a/pymoo/cython/non_dominated_sorting.pyx +++ b/pymoo/cython/non_dominated_sorting.pyx @@ -14,8 +14,6 @@ cdef extern from "limits.h": int INT_MAX - - # --------------------------------------------------------------------------------------------------------- # Interface # --------------------------------------------------------------------------------------------------------- @@ -38,6 +36,10 @@ def efficient_non_dominated_sort(double[:,:] F, strategy="sequential"): assert (strategy in ["sequential", 'binary']), "Invalid search strategy" return c_efficient_non_dominated_sort(F, strategy) +def dominance_degree_non_dominated_sort(double[:, :] F, strategy="efficient"): + if strategy not in ["fast", "efficient"]: + raise ValueError("Invalid search strategy") + return c_dominance_degree_non_dominated_sort(F, strategy) @@ -337,6 +339,22 @@ cdef vector[vector[int]] c_fast_best_order_sort(double[:,:] F): + +# --------------------------------------------------------------------------------------------------------- +# Dominance Degree Approach Non-dominated Sort +# --------------------------------------------------------------------------------------------------------- + +cdef vector[vector[int]] c_dominance_degree_non_dominated_sort(double[:, :] F, str strategy): + if strategy == "efficient": + # return c_dda_ens_get_fronts(c_construct_domination_matrix(F), F.shape[0], np.lexsort(F)) + return c_dda_ens_get_fronts(c_construct_domination_matrix(F), F.shape[1], np.lexsort(F.T)) + elif strategy == "fast": + # return c_dda_ns_get_fronts(c_construct_domination_matrix(F), F.shape[1], F.shape[0]) + return c_dda_ns_get_fronts(c_construct_domination_matrix(F), F.shape[0], F.shape[1]) + + + + # --------------------------------------------------------------------------------------------------------- # Efficient Non-dominated Sort # --------------------------------------------------------------------------------------------------------- @@ -344,7 +362,7 @@ cdef vector[vector[int]] c_fast_best_order_sort(double[:,:] F): cdef vector[vector[int]] c_efficient_non_dominated_sort(double[:,:] F, str strategy): cdef: - int i, j, k, n, val + long unsigned int i, j, k, n, val vector[int] empty, e vector[vector[int]] fronts, ret @@ -500,10 +518,8 @@ cdef int c_get_relation(double[:,:] F, int a, int b, double epsilon = 0.0): return val - - cdef bool c_is_dominating_or_equal(double[:,:] F, int a, int b, vector[vector[int]]& C, int k): - cdef int i, j + cdef unsigned int i, j for i in range(k, C[0].size()): j = C[b][i] if F[b, j] < F[a, j]: @@ -511,9 +527,119 @@ cdef bool c_is_dominating_or_equal(double[:,:] F, int a, int b, vector[vector[in return True cdef bool c_is_equal(double[:,:] F, int a, int b): - cdef int i - cdef int n_obj = F.shape[1] + cdef int i, n_obj = F.shape[1] for i in range(n_obj): if F[a, i] != F[b, i]: return False return True + +cdef vector[vector[int]] c_construct_domination_matrix(double[:, :]& F): + cdef: + long i + int n = F.shape[0] + int m = F.shape[1] + long [:, ::1] b = np.apply_over_axes(np.argsort, F.T, axes=1) + + vector[vector[int]] C = vector[vector[int]](n, vector[int](n, 0)) + vector[vector[int]] D = vector[vector[int]](n, vector[int](n, 0)) + + for i in range(m): + c_construct_comparison_matrix(F[:, i], b[i], C, D, n) + + c_remove_dominators(D, n, m) + return D + +cdef void c_construct_comparison_matrix(double[:]& v, long[:]& b, vector[vector[int]] &C, vector[vector[int]]& D, int n): + cdef: + int i, j + + for i in range(n): + C[b[0]][i] = 1 + for i in range(1, n): + if v[b[i]] == v[b[i - 1]]: + for j in range(n): + C[b[i]][j] = C[b[i - 1]][j] + else: + for j in range(i, n): + C[b[i]][b[j]] = 1 + + # increment the DD matrix while also resetting the comparison matrix + for i in range(n): + for j in range(n): + D[i][j] += C[i][j] + C[i][j] = 0 + +cdef void c_remove_dominators(vector[vector[int]] &D, int n, int m): + cdef int i, j + for i in range(n): + for j in range(i, n): + if D[i][j] == m: + # only perform the row-wise check if the column-wise check fails (C=row major) + if D[j][i] == m: + D[j][i] = 0 + D[i][j] = 0 + +cdef void c_remove_front_members(vector[vector[int]] &D, vector[int]& front, int n): + cdef: + int i, j + + for i in front: + for j in range(n): + # set to -1 so not-yet-added members are preferred by max() + D[i][j] = -1 + D[j][i] = -1 + +cdef void c_dda_ns_build_front(vector[int]& max_D, vector[int]& front, int n, int m): + cdef int i = 0, md + for md in max_D: + if 0 <= md < m: + front.push_back(i) + i += 1 + +cdef void c_max(vector[vector[int]]& D, vector[int]& vec_max, int n): + cdef int i, j, m + for i in range(n): + m = -1 + for j in range(n): + m = max(m, D[j][i]) + vec_max[i] = m + +cdef vector[vector[int]] c_dda_ns_get_fronts(vector[vector[int]]& D, int n, int m): + cdef: + vector[vector[int]] fronts = vector[vector[int]]() + vector[int] vec_max = vector[int](n) + long count = 0 + + while count < n: + front = vector[int]() + c_max(D, vec_max, n) + c_dda_ns_build_front(vec_max, front, n, m) + c_remove_front_members(D, front, n) + fronts.push_back(front) + count += front.size() + return fronts + +cdef vector[vector[int]] c_dda_ens_get_fronts(vector[vector[int]]& D, int m, long[::1]& sorted_indices): + cdef: + int k, sd, s, n_fronts = 0 + vector[int] fk + vector[vector[int]] fronts + + for s in range(sorted_indices.shape[0]): + isinserted = False + k = 0 + for fk in fronts: + isdominated = False + for sd in fk: + if D[sd][sorted_indices[s]] == m: + isdominated = True + break + if not isdominated: + fronts[k].push_back(sorted_indices[s]) + isinserted = True + break + k+= 1 + if not isinserted: + n_fronts += 1 + fronts.push_back(vector[int](1, sorted_indices[s])) + return fronts diff --git a/pymoo/util/function_loader.py b/pymoo/util/function_loader.py index c68282632..c8644df62 100644 --- a/pymoo/util/function_loader.py +++ b/pymoo/util/function_loader.py @@ -4,10 +4,14 @@ def get_functions(): - from pymoo.util.nds.fast_non_dominated_sort import fast_non_dominated_sort from pymoo.util.nds.efficient_non_dominated_sort import efficient_non_dominated_sort - from pymoo.util.nds.tree_based_non_dominated_sort import tree_based_non_dominated_sort + from pymoo.util.nds.tree_based_non_dominated_sort import ( + tree_based_non_dominated_sort, + ) + from pymoo.util.nds.dominance_degree_non_dominated_sort import ( + dominance_degree_non_dominated_sort, + ) from pymoo.decomposition.util import calc_distance_to_weights from pymoo.util.misc import calc_perpendicular_distance from pymoo.util.hv import hv @@ -17,36 +21,37 @@ def get_functions(): FUNCTIONS = { "fast_non_dominated_sort": { - "python": fast_non_dominated_sort, "cython": "pymoo.cython.non_dominated_sorting" + "python": fast_non_dominated_sort, + "cython": "pymoo.cython.non_dominated_sorting", }, "efficient_non_dominated_sort": { - "python": efficient_non_dominated_sort, "cython": "pymoo.cython.non_dominated_sorting" + "python": efficient_non_dominated_sort, + "cython": "pymoo.cython.non_dominated_sorting", }, "tree_based_non_dominated_sort": { - "python": tree_based_non_dominated_sort, "cython": "pymoo.cython.non_dominated_sorting" + "python": tree_based_non_dominated_sort, + "cython": "pymoo.cython.non_dominated_sorting", + }, + "dominance_degree_non_dominated_sort": { + "python": dominance_degree_non_dominated_sort, + "cython": "pymoo.cython.non_dominated_sorting", }, "calc_distance_to_weights": { - "python": calc_distance_to_weights, "cython": "pymoo.cython.decomposition" + "python": calc_distance_to_weights, + "cython": "pymoo.cython.decomposition", }, "calc_perpendicular_distance": { - "python": calc_perpendicular_distance, "cython": "pymoo.cython.calc_perpendicular_distance" + "python": calc_perpendicular_distance, + "cython": "pymoo.cython.calc_perpendicular_distance", }, "stochastic_ranking": { - "python": stochastic_ranking, "cython": "pymoo.cython.stochastic_ranking" - }, - "hv": { - "python": hv, "cython": "pymoo.cython.hv" - }, - "calc_mnn": { - "python": calc_mnn, "cython": "pymoo.cython.mnn" - }, - "calc_2nn": { - "python": calc_2nn, "cython": "pymoo.cython.mnn" + "python": stochastic_ranking, + "cython": "pymoo.cython.stochastic_ranking", }, - "calc_pcd": { - "python": calc_pcd, "cython": "pymoo.cython.pruning_cd" - }, - + "hv": {"python": hv, "cython": "pymoo.cython.hv"}, + "calc_mnn": {"python": calc_mnn, "cython": "pymoo.cython.mnn"}, + "calc_2nn": {"python": calc_2nn, "cython": "pymoo.cython.mnn"}, + "calc_pcd": {"python": calc_pcd, "cython": "pymoo.cython.pruning_cd"}, } return FUNCTIONS @@ -111,6 +116,7 @@ def load_function(func_name=None, _type="auto"): def is_compiled(): try: from pymoo.cython.info import info + if info() == "yes": return True else: diff --git a/pymoo/util/nds/dominance_degree_non_dominated_sort.py b/pymoo/util/nds/dominance_degree_non_dominated_sort.py new file mode 100644 index 000000000..f256f4320 --- /dev/null +++ b/pymoo/util/nds/dominance_degree_non_dominated_sort.py @@ -0,0 +1,159 @@ +"""Module which implements Dominance Degree Approaches for Non-dominated Sorting. + +For the original work see: + DDA-NS https://ieeexplore.ieee.org/document/7469397 + DDA-ENS https://ieeexplore.ieee.org/document/9282978 + +Adapted from https://github.com/rsenwar/Non-Dominated-Sorting-Algorithms/tree/master +""" + + +from typing import Literal, List +import numpy as np + + +def construct_comp_matrix(vec: np.ndarray, sorted_idx: np.ndarray) -> np.ndarray: + """ + const_comp_mat construct the comparison matrix from a row-vector vec. + + Parameters + ---------- + vec : np.ndarray + The vector of scores for the population on a single objective + sorted_idx : np.ndarray + The indices which would sort `vec` + + Returns + ------- + np.ndarray + The comparison matrix indicating whether each member in the population dominates the other member for the + objective in `vec` + """ + n = vec.shape[0] + c = np.zeros(shape=(n, n), dtype=np.int32) + + # the elements of the b(0)-th row in C are all set to 1 + c[sorted_idx[0], :] = 1 + + for i in range(1, n): + if vec[sorted_idx[i]] == vec[sorted_idx[i - 1]]: + # the rows in C corresponding to the same elements in w are identical + c[sorted_idx[i]] = c[sorted_idx[i - 1]] + else: + c[sorted_idx[i], sorted_idx[i:]] = 1 + + return c + + +def construct_domination_matrix(f_scores: np.ndarray, **kwargs) -> np.ndarray: + """ + construct_domination_matrix calculates the dominance degree matrix for a set of vectors. + + The dominance degree indicate the degree of dominance of a solution, which is the number of + objectives for which it is the dominating solution. + + Parameters + ---------- + f_scores : np.ndarray + an N x M matrix of N (population size) objective function values for M objectives + """ + d = np.zeros((f_scores.shape[0], f_scores.shape[0]), dtype=np.int32) + b = np.apply_over_axes(np.argsort, f_scores, axes=0) + for vec, srt in zip(f_scores.T, b.T): + d += construct_comp_matrix(vec, srt) + d = np.where( + np.logical_and(d == f_scores.shape[-1], d.T == f_scores.shape[-1]), 0, d + ) + return d + + +def dda_ns(f_scores: np.ndarray, **kwargs) -> List[List[int]]: + """ + dda_ns runs the DDA-NS algorithm. + + Parameters + ---------- + f_scores : np.ndarray + an N x M matrix of N (population size) objective function values for M objectives + + Returns + ------- + List[List[int]] + A list of members of each Pareto front. The index in the outer most list corresponds to the level in the Pareto front + while the value in the inner-most list is the id of the member of the population belonging to that front. + """ + d_mx = construct_domination_matrix(f_scores) + max_d = np.empty((f_scores.shape[0],), dtype=np.int32) + + fronts = [] + count = 0 + while count < f_scores.shape[0]: + # Max(D) is the row vector containing the maximum elements from each column of D + np.max(d_mx, out=max_d, axis=0) + front = [i for i, m_d in enumerate(max_d) if 0 <= m_d < f_scores.shape[-1]] + count += len(front) + d_mx[front] = -1 + d_mx[:, front] = -1 + fronts.append(front) + + return fronts + + +def dda_ens(f_scores: np.ndarray, **kwargs) -> List[List[int]]: + """ + dda_ens runs the DDA-ENS (efficient DDA) algorithm + + Parameters + ---------- + f_scores : np.ndarray + The N x M matrix of N (population size) objective function values for M objectives + + Returns + ------- + List[List[int]] + an N x M matrix of N (population size) objective function values for M objectives + """ + d_mx = construct_domination_matrix(f_scores) + + fronts: List[List[int]] = [] + for s in np.lexsort(f_scores.T): + isinserted = False + for fk in fronts: + if not (d_mx[fk, s] == f_scores.shape[1]).any(): + fk.append(s) + isinserted = True + break + if not isinserted: + fronts.append([s]) + return fronts + + +def dominance_degree_non_dominated_sort( + f_scores: np.ndarray, strategy: Literal["efficient", "fast"] = "efficient" +) -> List[List[int]]: + """ + dominance_degree_non_dominated_sort performs the non-dominating sort with the specified algorithm + + Parameters + ---------- + f_scores : np.ndarray + The N x M matrix of N (population size) objective function values for M objectives + strategy : Literal["efficient", "fast"], optional + The dominance degree algorithm to use, by default "efficient" + + Returns + ------- + List[List[int]] + A list of members of each Pareto front. The index in the outer most list corresponds to the level in the Pareto front + while the value in the inner-most list is the id of the member of the population belonging to that front. + + Raises + ------ + ValueError + If an invalid strategy is specified + """ + if strategy == "efficient": + return dda_ens(f_scores) + if strategy == "fast": + return dda_ns(f_scores) + raise ValueError("Invalid search strategy") diff --git a/tests/misc/test_non_dominated_sorting.py b/tests/misc/test_non_dominated_sorting.py index 7163bc814..8d8435f2b 100644 --- a/tests/misc/test_non_dominated_sorting.py +++ b/tests/misc/test_non_dominated_sorting.py @@ -37,8 +37,12 @@ def test_efficient_non_dominated_sort(): assert_fronts_equal(nds, python_fronts_seq) assert_fronts_equal(nds, cython_fronts_seq) - python_fronts_binary = load_function("efficient_non_dominated_sort", _type="python")(F, strategy="binary") - cython_fronts_binary = load_function("efficient_non_dominated_sort", _type="cython")(F, strategy="binary") + python_fronts_binary = load_function( + "efficient_non_dominated_sort", _type="python" + )(F, strategy="binary") + cython_fronts_binary = load_function( + "efficient_non_dominated_sort", _type="cython" + )(F, strategy="binary") assert_fronts_equal(nds, python_fronts_binary) assert_fronts_equal(nds, cython_fronts_binary) @@ -54,8 +58,35 @@ def test_tree_based_non_dominated_sort(): assert_fronts_equal(_fronts, fronts) -class MyCallback(Callback): +def test_dominance_degree_non_dominated_sort(): + print("Testing DDA-NS/DDA-ENS...") + F = np.ones((1000, 3)) + F[:, 1:] = np.random.random((1000, 2)) + + nds = load_function("fast_non_dominated_sort", _type="python")(F) + python_fronts_fast = load_function( + "dominance_degree_non_dominated_sort", _type="python" + )(F, strategy="fast") + cython_fronts_fast = load_function( + "dominance_degree_non_dominated_sort", _type="cython" + )(F, strategy="fast") + + assert_fronts_equal(nds, python_fronts_fast) + assert_fronts_equal(nds, cython_fronts_fast) + + python_fronts_seq = load_function( + "dominance_degree_non_dominated_sort", _type="python" + )(F, strategy="efficient") + cython_fronts_seq = load_function( + "dominance_degree_non_dominated_sort", _type="cython" + )(F, strategy="efficient") + + assert_fronts_equal(nds, python_fronts_seq) + assert_fronts_equal(nds, cython_fronts_seq) + + +class MyCallback(Callback): def notify(self, algorithm): F = algorithm.pop.get("F") @@ -63,40 +94,71 @@ def notify(self, algorithm): cython_fast_nds = load_function("fast_non_dominated_sort", _type="cython")(F) assert_fronts_equal(python_fast_nds, cython_fast_nds) - python_efficient_fast_nds = load_function("efficient_non_dominated_sort", _type="python")(F, - strategy="binary") + python_efficient_fast_nds = load_function( + "efficient_non_dominated_sort", _type="python" + )(F, strategy="binary") assert_fronts_equal(python_fast_nds, python_efficient_fast_nds) - cython_efficient_fast_nds = load_function("efficient_non_dominated_sort", _type="cython")(F, - strategy="binary") + cython_efficient_fast_nds = load_function( + "efficient_non_dominated_sort", _type="cython" + )(F, strategy="binary") assert_fronts_equal(python_efficient_fast_nds, cython_efficient_fast_nds) - python_efficient_fast_nds_bin = load_function("efficient_non_dominated_sort", _type="python")(F) + python_efficient_fast_nds_bin = load_function( + "efficient_non_dominated_sort", _type="python" + )(F) assert_fronts_equal(python_fast_nds, python_efficient_fast_nds_bin) - cython_efficient_fast_nds_bin = load_function("efficient_non_dominated_sort", _type="cython")(F) - assert_fronts_equal(python_efficient_fast_nds_bin, cython_efficient_fast_nds_bin) + cython_efficient_fast_nds_bin = load_function( + "efficient_non_dominated_sort", _type="cython" + )(F) + assert_fronts_equal( + python_efficient_fast_nds_bin, cython_efficient_fast_nds_bin + ) - python_tree_based_nds = load_function("tree_based_non_dominated_sort", _type="python")(F) + python_tree_based_nds = load_function( + "tree_based_non_dominated_sort", _type="python" + )(F) assert_fronts_equal(python_fast_nds, python_tree_based_nds) + python_dda_fast_nds_ens = load_function( + "dominance_degree_non_dominated_sort", _type="python" + )(F, strategy="efficient") + assert_fronts_equal(python_fast_nds, python_dda_fast_nds_ens) + + cython_dda_fast_nds_ens = load_function( + "dominance_degree_non_dominated_sort", _type="cython" + )(F, strategy="efficient") + assert_fronts_equal(python_fast_nds, cython_dda_fast_nds_ens) + + python_dda_fast_nds_ns = load_function( + "dominance_degree_non_dominated_sort", _type="python" + )(F, strategy="fast") + assert_fronts_equal(python_fast_nds, python_dda_fast_nds_ns) + + cython_dda_fast_nds_ns = load_function( + "dominance_degree_non_dominated_sort", _type="cython" + )(F, strategy="fast") + assert_fronts_equal(python_fast_nds, cython_dda_fast_nds_ns) + @pytest.mark.long -@pytest.mark.parametrize('n_obj', [2, 3, 5, 10]) +@pytest.mark.parametrize("n_obj", [2, 3, 5, 10]) def test_equal_during_run(n_obj): # create the reference directions to be used for the optimization ref_dirs = get_reference_directions("energy", n_obj, n_points=100) # create the algorithm object - algorithm = NSGA3(pop_size=92, - ref_dirs=ref_dirs) + algorithm = NSGA3(pop_size=92, ref_dirs=ref_dirs) print(f"NDS with {n_obj} objectives.") # execute the optimization - minimize(DTLZ2(n_obj=n_obj), - algorithm, - callback=MyCallback(), - seed=1, - termination=('n_gen', 200), - verbose=True) + minimize( + DTLZ2(n_obj=n_obj), + algorithm, + callback=MyCallback(), + seed=1, + termination=("n_gen", 200), + verbose=True, + ) From 67f0c46b25646ee91148126d2c19ce2bbab9c512 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sun, 17 Dec 2023 13:07:27 -0800 Subject: [PATCH 19/26] SMSEMOA: variable 'pop' referenced before assignment in _advance function #513 --- pymoo/algorithms/moo/sms.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pymoo/algorithms/moo/sms.py b/pymoo/algorithms/moo/sms.py index 03e7d9c15..147cd8ccf 100644 --- a/pymoo/algorithms/moo/sms.py +++ b/pymoo/algorithms/moo/sms.py @@ -184,6 +184,9 @@ def _advance(self, infills=None, **kwargs): # merge the offsprings with the current population if infills is not None: pop = Population.merge(self.pop, infills) + else: + pop = self.pop + self.pop = self.survival.do(self.problem, pop, n_survive=self.pop_size, algorithm=self, ideal=ideal, nadir=nadir, **kwargs) From 3675c79098be784364f7710e5701e82db88fc320 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 17 Dec 2023 13:08:40 -0800 Subject: [PATCH 20/26] Bump actions/setup-python from 4 to 5 (#523) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deploy.yml | 4 ++-- .github/workflows/testing.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a91cfe180..55dd1936b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: "Set up Python" - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "${{ matrix.python-version }}" - name: "Install dependencies" @@ -48,7 +48,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.9 - uses: RalfG/python-wheels-manylinux-build@v0.7.1-manylinux2014_x86_64 diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index ad2513570..55fff36c2 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install Python 3 - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.10' - name: Install Dependencies From e446a5334b514bece0cdc687155ae31c659b3210 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Wed, 20 Dec 2023 19:38:47 -0800 Subject: [PATCH 21/26] Not all optuna imports are guarded #530 --- pymoo/algorithms/soo/nonconvex/optuna.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pymoo/algorithms/soo/nonconvex/optuna.py b/pymoo/algorithms/soo/nonconvex/optuna.py index 23bfb51b1..d463da4ea 100644 --- a/pymoo/algorithms/soo/nonconvex/optuna.py +++ b/pymoo/algorithms/soo/nonconvex/optuna.py @@ -1,12 +1,9 @@ -import logging - -from optuna.logging import get_logger - from pymoo.util.optimum import filter_optimum try: import optuna from optuna.samplers import TPESampler + from optuna.logging import get_logger except: raise Exception("Please install optuna: pip install optuna") From 4c24d32c07277c572a5c7a441e383b0b1a0af261 Mon Sep 17 00:00:00 2001 From: stonebig Date: Wed, 10 Jan 2024 04:43:43 +0100 Subject: [PATCH 22/26] generate Python-3.12 wheels (#539) --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 55dd1936b..fcad4e46b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -39,6 +39,7 @@ jobs: - "3.9" - "3.10" - "3.11" + - "3.12" include: - os: ubuntu-latest python-version: "3.11" From f49596f739d16703af2f4026692d054d5f8f7af2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 20:09:55 -0800 Subject: [PATCH 23/26] Bump actions/upload-artifact from 3 to 4 (#532) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index fcad4e46b..7b49e7f27 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,7 +24,7 @@ jobs: linux: "python setup.py sdist" macos: "python setup.py bdist_wheel" windows: "python setup.py bdist_wheel" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: dist path: dist @@ -59,7 +59,7 @@ jobs: python-versions: "cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311" - name: "Remove non-compatible packages" run: "sudo rm dist/*linux_x86_64.whl\n" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: dist path: dist From 28fa1f93ec893f7609d110f51646b797e7298c0e Mon Sep 17 00:00:00 2001 From: "tomtkg, Ph.D" <39430259+tomtkg@users.noreply.github.com> Date: Fri, 19 Jan 2024 13:04:23 +0900 Subject: [PATCH 24/26] Add Incremental method (#536) * Add reference for incremental method. * Add Incremental method to reference_directions.ipynb * Create incremental.py * Add IncrementalReferenceDirectionFactory * Update test_reference_directions.py * Update test_reference_directions.py --- docs/source/misc/reference_directions.ipynb | 26 ++++++++ docs/source/references.bib | 17 ++++++ pymoo/util/ref_dirs/__init__.py | 2 + pymoo/util/ref_dirs/incremental.py | 68 +++++++++++++++++++++ tests/misc/test_reference_directions.py | 30 +++++++++ 5 files changed, 143 insertions(+) create mode 100644 pymoo/util/ref_dirs/incremental.py diff --git a/docs/source/misc/reference_directions.ipynb b/docs/source/misc/reference_directions.ipynb index 337a10391..049d5f184 100644 --- a/docs/source/misc/reference_directions.ipynb +++ b/docs/source/misc/reference_directions.ipynb @@ -357,6 +357,32 @@ "ref_dirs = get_reference_directions(\"layer-energy\", 3, [9, 5, 2, 1])\n", "Scatter().add(ref_dirs).show()" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Incremental method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Incremental method can be used to create reference directions in increments. \n", + "However, the method relies on a partition number `n_partitions` which determines how many points will be sampled.\n", + "Points can be uniformly create on the unit hyperplane using the Incremental method proposed in ." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ref_dirs = get_reference_directions(\"incremental\", 3, n_partitions=8)\n", + "Scatter().add(ref_dirs).show()" + ] } ], "metadata": { diff --git a/docs/source/references.bib b/docs/source/references.bib index 88d76ed3b..30fd7d888 100644 --- a/docs/source/references.bib +++ b/docs/source/references.bib @@ -252,6 +252,23 @@ @article{das_dennis keywords = {Pareto set, multicriteria optimization, multiobjective optimization, trade-off curve}, } +@inproceedings{incremental_lattice, + author = {Takagi, Tomoaki and Takadama, Keiki and Sato, Hiroyuki}, + title = {Incremental Lattice Design of Weight Vector Set}, + booktitle = {Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion}, + series = {GECCO '20}, + year = {2020}, + isbn = {9781450371278}, + location = {Canc\'{u}n, Mexico}, + pages = {1486--1494}, + numpages = {9}, + url = {https://doi.org/10.1145/3377929.3398082}, + doi = {10.1145/3377929.3398082}, + publisher = {Association for Computing Machinery}, + address = {New York, NY, USA}, + keywords = {uniform mixture design, weight vector set, evolutionary algorithm, multi-objective optimization, many-objective optimization}, +} + @book{multi_objective_book, author = {Kalyanmoy, Deb}, title = {Multi-Objective Optimization Using Evolutionary Algorithms}, diff --git a/pymoo/util/ref_dirs/__init__.py b/pymoo/util/ref_dirs/__init__.py index 5ef7b2d52..37cf6a425 100644 --- a/pymoo/util/ref_dirs/__init__.py +++ b/pymoo/util/ref_dirs/__init__.py @@ -1,6 +1,7 @@ from pymoo.util.ref_dirs.energy import RieszEnergyReferenceDirectionFactory from pymoo.util.ref_dirs.energy_layer import LayerwiseRieszEnergyReferenceDirectionFactory from pymoo.util.ref_dirs.reduction import ReductionBasedReferenceDirectionFactory +from pymoo.util.ref_dirs.incremental import IncrementalReferenceDirectionFactory from pymoo.util.reference_direction import MultiLayerReferenceDirectionFactory @@ -14,6 +15,7 @@ def get_reference_directions(name, *args, **kwargs): "multi-layer": MultiLayerReferenceDirectionFactory, "layer-energy": LayerwiseRieszEnergyReferenceDirectionFactory, "reduction": ReductionBasedReferenceDirectionFactory, + "incremental": IncrementalReferenceDirectionFactory, } if name not in REF: diff --git a/pymoo/util/ref_dirs/incremental.py b/pymoo/util/ref_dirs/incremental.py new file mode 100644 index 000000000..322ebe08c --- /dev/null +++ b/pymoo/util/ref_dirs/incremental.py @@ -0,0 +1,68 @@ +import numpy as np + +from pymoo.util.reference_direction import ReferenceDirectionFactory + +def check_n_points(n_points, n_dim): + """ + Returns n_partitions or a numeric value associated with the exception message. + """ + + if n_dim == 1: + return [0] + + I = n_dim * np.eye(n_dim) + W = np.zeros((1, n_dim)) + edgeW = W + i = 0 + + while len(W) < n_points: + edgeW = np.tile(edgeW, (n_dim, 1)) + np.repeat(I, edgeW.shape[0], axis=0) + edgeW = np.unique(edgeW, axis=0) + edgeW = edgeW [np.any(edgeW == 0, axis=1)] + W = np.vstack((W + 1, edgeW)) + i += 1 + + if len(W) == n_points: + return [i] + + return [len(W) - len(edgeW), i - 1, len(W), i] + + +def incremental_lattice(n_partitions, n_dim): + I = n_dim * np.eye(n_dim) + W = np.zeros((1, n_dim)) + edgeW = W + + for _ in range(n_partitions): + edgeW = np.tile(edgeW, (n_dim, 1)) + np.repeat(I, edgeW.shape[0], axis=0) + edgeW = np.unique(edgeW, axis=0) + edgeW = edgeW [np.any(edgeW == 0, axis=1)] + W = np.vstack((W + 1, edgeW)) + + return W / (n_dim * n_partitions) + +class IncrementalReferenceDirectionFactory(ReferenceDirectionFactory): + + def __init__(self, n_dim, scaling=None, n_points=None, n_partitions=None, **kwargs) -> None: + super().__init__(n_dim, scaling=scaling, **kwargs) + + if n_points is not None: + results = check_n_points(n_points, n_dim) + + # the number of points are not matching to any partition number + if len(results) > 1: + raise Exception("The number of points (n_points = %s) can not be created uniformly.\n" + "Either choose n_points = %s (n_partitions = %s) or " + "n_points = %s (n_partitions = %s)." % + (n_points, results[0], results[1], results[2], results[3])) + + self.n_partitions = results[0] + + elif n_partitions is not None: + self.n_partitions = n_partitions + + else: + raise Exception("Either provide number of partitions or number of points.") + + def _do(self): + return incremental_lattice(self.n_partitions, self.n_dim) diff --git a/tests/misc/test_reference_directions.py b/tests/misc/test_reference_directions.py index ef7064d90..01cf16f2c 100644 --- a/tests/misc/test_reference_directions.py +++ b/tests/misc/test_reference_directions.py @@ -24,6 +24,36 @@ def test_das_dennis_not_achievable_points(): get_reference_directions("das-dennis", 3, n_points=92) +def test_incremental(): + ref_dirs = get_reference_directions("incremental", 3, n_partitions=8) + assert len(ref_dirs) == 109 + +def test_incremental_achievable_points(): + ref_dirs = get_reference_directions("incremental", 3, n_points=109) + assert len(ref_dirs) == 109 + +def test_incremental2(): + N = [[], [], + [1, 3, 5, 7, 9, 11, 13, 15, 17, 19], + [1, 4, 10, 19, 31, 46, 64, 85, 109, 136], + [1, 5, 15, 35, 69, 121, 195, 295, 425, 589], + [1, 6, 21, 56, 126, 251, 456, 771, 1231, 1876], + [1, 7, 28, 84, 210, 462, 923, 1709, 2975, 4921], + [1, 8, 36, 120, 330, 792, 1716, 3431, 6427, 11404], + [1, 9, 45, 165, 495, 1287, 3003, 6435, 12869, 24301]] + for i, list in enumerate(N): + for j, x in enumerate(list): + ref_dirs = get_reference_directions("incremental", i, n_partitions=j) + assert len(ref_dirs) == x + ref_dirs = get_reference_directions("incremental", i, n_points=x) + assert len(ref_dirs) == x + + +@pytest.mark.xfail(raises=Exception) +def test_incremental_not_achievable_points(): + get_reference_directions("incremental", 3, n_points=110) + + def test_unit_simplex_sampling(): n_points = 1000 n_dim = 3 From 3ead3fe82a33c64bfba33016c7fdd19783ef3642 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Feb 2024 20:26:41 -0800 Subject: [PATCH 25/26] Bump jinja2 from 3 to 3.1.3 in /docs (#544) Bumps [jinja2](https://github.com/pallets/jinja) from 3 to 3.1.3. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.0.0...3.1.3) --- updated-dependencies: - dependency-name: jinja2 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 3c7ae63c4..a0e00907b 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -16,4 +16,4 @@ pygments bs4 pandoc ipykernel -jinja2==3 +jinja2==3.1.3 From af8d260a5ba34c5e427b671586c32351765419a9 Mon Sep 17 00:00:00 2001 From: Julian Blank Date: Sun, 18 Feb 2024 20:10:42 -0800 Subject: [PATCH 26/26] Is fast_best_order_sort intended to be usable by NonDominatedSorting? #563 --- pymoo/util/function_loader.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pymoo/util/function_loader.py b/pymoo/util/function_loader.py index c8644df62..861a59915 100644 --- a/pymoo/util/function_loader.py +++ b/pymoo/util/function_loader.py @@ -28,6 +28,10 @@ def get_functions(): "python": efficient_non_dominated_sort, "cython": "pymoo.cython.non_dominated_sorting", }, + "fast_best_order_sort": { + "python": None, + "cython": "pymoo.cython.non_dominated_sorting", + }, "tree_based_non_dominated_sort": { "python": tree_based_non_dominated_sort, "cython": "pymoo.cython.non_dominated_sorting",