Note
Go to the end to download the full example code.
Mutli-Objective Black-Box Optimization#
In this tutorial, we will explore how to run black-box multi-objective optimization (MOO). In this setting, the goal is to resolve the following problem:
where \(x\) is the set of optimized variables and \(f_i\) are the different objectives. In DeepHyper, we use scalarization to transform such multi-objective problem into a single-objective problem:
where \(w\) is a set of weights which manages the trade-off between objectives and \(s_w : \mathbb{R}^n \rightarrow \mathbb{R}\). The weight vector \(w\) is randomized and re-sampled for each new batch of suggestion from the optimizer.
We will look at the DTLZ benchmark suite, a classic in multi-objective optimization (MOO) litterature. This benchmark exibit some characteristic cases of MOO. By default, this tutorial is loading the DTLZ-II benchmark which exibit a Pareto-Front with a concave shape.
Installation and imports#
Installing dependencies with the pip installation is recommended. It requires Python >= 3.10.
%%bash
pip install deephyper
pip install -e "git+https://github.com/deephyper/benchmark.git@main#egg=deephyper-benchmark"
Code (Import statements)
import matplotlib.pyplot as plt
from deephyper.hpo import CBO
from deephyper_benchmark.benchmarks.dtlz import DTLZBenchmark
WIDTH_PLOTS = 8
HEIGHT_PLOTS = WIDTH_PLOTS / 1.618
n_objectives = 2
bench = DTLZBenchmark(nobj=n_objectives)
We can display the variable search space of the benchmark we just loaded:
bench.problem
Configuration space object:
Hyperparameters:
x0, Type: UniformFloat, Range: [0.0, 1.0], Default: 0.5
x1, Type: UniformFloat, Range: [0.0, 1.0], Default: 0.5
x2, Type: UniformFloat, Range: [0.0, 1.0], Default: 0.5
x3, Type: UniformFloat, Range: [0.0, 1.0], Default: 0.5
x4, Type: UniformFloat, Range: [0.0, 1.0], Default: 0.5
To define a black-box for multi-objective optimization it is very similar to single-objective optimization at the difference that the objective
can now be a list of values. A first possibility is:
def run(job):
...
return objective_0, objective_1, ..., objective_n
which just returns the objectives to optimize as a tuple. If additionnal metadata are interesting to gather for each evaluation it is also possible to return them by following this format:
def run(job):
...
return {
"objective": [objective_0, objective_1, ..., objective_n],
"metadata": {
"flops": ...,
"memory_footprint": ...,
"duration": ...,
}
}
each of the metadata needs to be JSON serializable and will be returned in the final results with a column name formatted as m:metadata_key
such as m:duration
.
For the search algorithm, we use the centralized Bayesian Optimization search (CBO). Search algorithm
The arguments specific to multi-objective optimization are:
moo_scalarization_strategy
is used to specify the scalarization strategy. Chebyshev scalarizationis capable of generating a diverse set of solutions for non-convex problems.moo_scalarization_weight
argument is used to specify the weight of objectives in the scalarization."random"
is used to generate a random weight vector at each iteration.
WARNING:root:Results file already exists, it will be renamed to /Users/romainegele/Documents/DeepHyper/deephyper/examples/examples_bbo/results_20250326-104325.csv
Launch the search for a given number of evaluations other stopping criteria can be used (e.g. timeout, early-stopping/convergence)
results = search.search(max_evals=500)
0%| | 0/500 [00:00<?, ?it/s]
0%| | 1/500 [00:00<00:00, 2532.79it/s, failures=0, hvi=0]
0%| | 2/500 [00:00<00:05, 89.76it/s, failures=0, hvi=0]
1%| | 3/500 [00:00<00:06, 74.18it/s, failures=0, hvi=0.121]
1%| | 4/500 [00:00<00:07, 69.66it/s, failures=0, hvi=0.167]
1%| | 5/500 [00:00<00:07, 67.26it/s, failures=0, hvi=0.189]
1%| | 6/500 [00:00<00:07, 65.69it/s, failures=0, hvi=0.189]
1%|▏ | 7/500 [00:00<00:07, 64.71it/s, failures=0, hvi=0.189]
1%|▏ | 7/500 [00:00<00:07, 64.71it/s, failures=0, hvi=1.04]
2%|▏ | 8/500 [00:00<00:07, 64.71it/s, failures=0, hvi=1.07]
2%|▏ | 9/500 [00:00<00:07, 64.71it/s, failures=0, hvi=1.07]
2%|▏ | 10/500 [00:00<00:07, 64.71it/s, failures=0, hvi=1.07]
2%|▏ | 11/500 [00:00<00:07, 64.71it/s, failures=0, hvi=1.07]
2%|▏ | 12/500 [00:00<00:07, 64.71it/s, failures=0, hvi=1.07]
3%|▎ | 13/500 [00:00<00:07, 64.71it/s, failures=0, hvi=1.26]
3%|▎ | 14/500 [00:00<00:09, 52.26it/s, failures=0, hvi=1.26]
3%|▎ | 14/500 [00:00<00:09, 52.26it/s, failures=0, hvi=1.26]
3%|▎ | 15/500 [00:00<00:09, 52.26it/s, failures=0, hvi=1.26]
3%|▎ | 16/500 [00:00<00:09, 52.26it/s, failures=0, hvi=1.26]
3%|▎ | 17/500 [00:00<00:09, 52.26it/s, failures=0, hvi=1.26]
4%|▎ | 18/500 [00:00<00:09, 52.26it/s, failures=0, hvi=1.26]
4%|▍ | 19/500 [00:00<00:09, 52.26it/s, failures=0, hvi=1.27]
4%|▍ | 20/500 [00:00<00:13, 34.71it/s, failures=0, hvi=1.27]
4%|▍ | 20/500 [00:00<00:13, 34.71it/s, failures=0, hvi=1.3]
4%|▍ | 21/500 [00:00<00:13, 34.71it/s, failures=0, hvi=1.31]
4%|▍ | 22/500 [00:00<00:13, 34.71it/s, failures=0, hvi=1.31]
5%|▍ | 23/500 [00:00<00:13, 34.71it/s, failures=0, hvi=1.34]
5%|▍ | 24/500 [00:00<00:13, 34.71it/s, failures=0, hvi=1.39]
5%|▌ | 25/500 [00:00<00:13, 35.74it/s, failures=0, hvi=1.39]
5%|▌ | 25/500 [00:00<00:13, 35.74it/s, failures=0, hvi=1.39]
5%|▌ | 26/500 [00:00<00:13, 35.74it/s, failures=0, hvi=1.42]
5%|▌ | 27/500 [00:00<00:13, 35.74it/s, failures=0, hvi=1.42]
6%|▌ | 28/500 [00:00<00:13, 35.74it/s, failures=0, hvi=1.44]
6%|▌ | 29/500 [00:00<00:12, 36.37it/s, failures=0, hvi=1.44]
6%|▌ | 29/500 [00:00<00:12, 36.37it/s, failures=0, hvi=1.44]
6%|▌ | 30/500 [00:00<00:12, 36.37it/s, failures=0, hvi=1.44]
6%|▌ | 31/500 [00:00<00:12, 36.37it/s, failures=0, hvi=1.44]
6%|▋ | 32/500 [00:00<00:12, 36.37it/s, failures=0, hvi=1.47]
7%|▋ | 33/500 [00:00<00:12, 36.64it/s, failures=0, hvi=1.47]
7%|▋ | 33/500 [00:00<00:12, 36.64it/s, failures=0, hvi=1.47]
7%|▋ | 34/500 [00:00<00:12, 36.64it/s, failures=0, hvi=1.47]
7%|▋ | 35/500 [00:00<00:12, 36.64it/s, failures=0, hvi=1.47]
7%|▋ | 36/500 [00:00<00:12, 36.64it/s, failures=0, hvi=1.47]
7%|▋ | 37/500 [00:00<00:12, 36.72it/s, failures=0, hvi=1.47]
7%|▋ | 37/500 [00:00<00:12, 36.72it/s, failures=0, hvi=1.47]
8%|▊ | 38/500 [00:00<00:12, 36.72it/s, failures=0, hvi=1.47]
8%|▊ | 39/500 [00:01<00:12, 36.72it/s, failures=0, hvi=1.47]
8%|▊ | 40/500 [00:01<00:12, 36.72it/s, failures=0, hvi=1.47]
8%|▊ | 41/500 [00:01<00:12, 36.92it/s, failures=0, hvi=1.47]
8%|▊ | 41/500 [00:01<00:12, 36.92it/s, failures=0, hvi=1.47]
8%|▊ | 42/500 [00:01<00:12, 36.92it/s, failures=0, hvi=1.47]
9%|▊ | 43/500 [00:01<00:12, 36.92it/s, failures=0, hvi=1.47]
9%|▉ | 44/500 [00:01<00:12, 36.92it/s, failures=0, hvi=1.47]
9%|▉ | 45/500 [00:01<00:12, 36.66it/s, failures=0, hvi=1.47]
9%|▉ | 45/500 [00:01<00:12, 36.66it/s, failures=0, hvi=1.47]
9%|▉ | 46/500 [00:01<00:12, 36.66it/s, failures=0, hvi=1.48]
9%|▉ | 47/500 [00:01<00:12, 36.66it/s, failures=0, hvi=1.48]
10%|▉ | 48/500 [00:01<00:12, 36.66it/s, failures=0, hvi=1.48]
10%|▉ | 49/500 [00:01<00:12, 36.55it/s, failures=0, hvi=1.48]
10%|▉ | 49/500 [00:01<00:12, 36.55it/s, failures=0, hvi=1.48]
10%|█ | 50/500 [00:01<00:12, 36.55it/s, failures=0, hvi=1.48]
10%|█ | 51/500 [00:01<00:12, 36.55it/s, failures=0, hvi=1.48]
10%|█ | 52/500 [00:01<00:12, 36.55it/s, failures=0, hvi=1.48]
11%|█ | 53/500 [00:01<00:12, 36.58it/s, failures=0, hvi=1.48]
11%|█ | 53/500 [00:01<00:12, 36.58it/s, failures=0, hvi=1.48]
11%|█ | 54/500 [00:01<00:12, 36.58it/s, failures=0, hvi=1.48]
11%|█ | 55/500 [00:01<00:12, 36.58it/s, failures=0, hvi=1.48]
11%|█ | 56/500 [00:01<00:12, 36.58it/s, failures=0, hvi=1.48]
11%|█▏ | 57/500 [00:01<00:12, 36.59it/s, failures=0, hvi=1.48]
11%|█▏ | 57/500 [00:01<00:12, 36.59it/s, failures=0, hvi=1.48]
12%|█▏ | 58/500 [00:01<00:12, 36.59it/s, failures=0, hvi=1.48]
12%|█▏ | 59/500 [00:01<00:12, 36.59it/s, failures=0, hvi=1.48]
12%|█▏ | 60/500 [00:01<00:12, 36.59it/s, failures=0, hvi=1.48]
12%|█▏ | 61/500 [00:01<00:11, 36.74it/s, failures=0, hvi=1.48]
12%|█▏ | 61/500 [00:01<00:11, 36.74it/s, failures=0, hvi=1.48]
12%|█▏ | 62/500 [00:01<00:11, 36.74it/s, failures=0, hvi=1.48]
13%|█▎ | 63/500 [00:01<00:11, 36.74it/s, failures=0, hvi=1.49]
13%|█▎ | 64/500 [00:01<00:11, 36.74it/s, failures=0, hvi=1.49]
13%|█▎ | 65/500 [00:01<00:11, 36.61it/s, failures=0, hvi=1.49]
13%|█▎ | 65/500 [00:01<00:11, 36.61it/s, failures=0, hvi=1.49]
13%|█▎ | 66/500 [00:01<00:11, 36.61it/s, failures=0, hvi=1.49]
13%|█▎ | 67/500 [00:01<00:11, 36.61it/s, failures=0, hvi=1.49]
14%|█▎ | 68/500 [00:01<00:11, 36.61it/s, failures=0, hvi=1.5]
14%|█▍ | 69/500 [00:01<00:11, 36.26it/s, failures=0, hvi=1.5]
14%|█▍ | 69/500 [00:01<00:11, 36.26it/s, failures=0, hvi=1.5]
14%|█▍ | 70/500 [00:01<00:11, 36.26it/s, failures=0, hvi=1.5]
14%|█▍ | 71/500 [00:01<00:11, 36.26it/s, failures=0, hvi=1.5]
14%|█▍ | 72/500 [00:01<00:11, 36.26it/s, failures=0, hvi=1.5]
15%|█▍ | 73/500 [00:01<00:12, 35.33it/s, failures=0, hvi=1.5]
15%|█▍ | 73/500 [00:01<00:12, 35.33it/s, failures=0, hvi=1.5]
15%|█▍ | 74/500 [00:01<00:12, 35.33it/s, failures=0, hvi=1.5]
15%|█▌ | 75/500 [00:02<00:12, 35.33it/s, failures=0, hvi=1.5]
15%|█▌ | 76/500 [00:02<00:12, 35.33it/s, failures=0, hvi=1.5]
15%|█▌ | 77/500 [00:02<00:12, 34.06it/s, failures=0, hvi=1.5]
15%|█▌ | 77/500 [00:02<00:12, 34.06it/s, failures=0, hvi=1.51]
16%|█▌ | 78/500 [00:02<00:12, 34.06it/s, failures=0, hvi=1.51]
16%|█▌ | 79/500 [00:02<00:12, 34.06it/s, failures=0, hvi=1.51]
16%|█▌ | 80/500 [00:02<00:12, 34.06it/s, failures=0, hvi=1.51]
16%|█▌ | 81/500 [00:02<00:12, 33.11it/s, failures=0, hvi=1.51]
16%|█▌ | 81/500 [00:02<00:12, 33.11it/s, failures=0, hvi=1.51]
16%|█▋ | 82/500 [00:02<00:12, 33.11it/s, failures=0, hvi=1.51]
17%|█▋ | 83/500 [00:02<00:12, 33.11it/s, failures=0, hvi=1.51]
17%|█▋ | 84/500 [00:02<00:12, 33.11it/s, failures=0, hvi=1.51]
17%|█▋ | 85/500 [00:02<00:15, 26.81it/s, failures=0, hvi=1.51]
17%|█▋ | 85/500 [00:02<00:15, 26.81it/s, failures=0, hvi=1.51]
17%|█▋ | 86/500 [00:02<00:15, 26.81it/s, failures=0, hvi=1.51]
17%|█▋ | 87/500 [00:02<00:15, 26.81it/s, failures=0, hvi=1.53]
18%|█▊ | 88/500 [00:02<00:15, 26.81it/s, failures=0, hvi=1.54]
18%|█▊ | 89/500 [00:02<00:14, 27.99it/s, failures=0, hvi=1.54]
18%|█▊ | 89/500 [00:02<00:14, 27.99it/s, failures=0, hvi=1.54]
18%|█▊ | 90/500 [00:02<00:14, 27.99it/s, failures=0, hvi=1.54]
18%|█▊ | 91/500 [00:02<00:14, 27.99it/s, failures=0, hvi=1.54]
18%|█▊ | 92/500 [00:02<00:14, 27.99it/s, failures=0, hvi=1.54]
19%|█▊ | 93/500 [00:02<00:14, 28.79it/s, failures=0, hvi=1.54]
19%|█▊ | 93/500 [00:02<00:14, 28.79it/s, failures=0, hvi=1.54]
19%|█▉ | 94/500 [00:02<00:14, 28.79it/s, failures=0, hvi=1.54]
19%|█▉ | 95/500 [00:02<00:14, 28.79it/s, failures=0, hvi=1.6]
19%|█▉ | 96/500 [00:02<00:14, 28.79it/s, failures=0, hvi=1.61]
19%|█▉ | 97/500 [00:02<00:13, 29.28it/s, failures=0, hvi=1.61]
19%|█▉ | 97/500 [00:02<00:13, 29.28it/s, failures=0, hvi=1.61]
20%|█▉ | 98/500 [00:02<00:13, 29.28it/s, failures=0, hvi=1.61]
20%|█▉ | 99/500 [00:02<00:13, 29.28it/s, failures=0, hvi=1.62]
20%|██ | 100/500 [00:02<00:13, 29.28it/s, failures=0, hvi=1.62]
20%|██ | 101/500 [00:02<00:13, 29.19it/s, failures=0, hvi=1.62]
20%|██ | 101/500 [00:02<00:13, 29.19it/s, failures=0, hvi=1.64]
20%|██ | 102/500 [00:02<00:13, 29.19it/s, failures=0, hvi=1.64]
21%|██ | 103/500 [00:03<00:13, 29.19it/s, failures=0, hvi=1.64]
21%|██ | 104/500 [00:03<00:13, 29.24it/s, failures=0, hvi=1.64]
21%|██ | 104/500 [00:03<00:13, 29.24it/s, failures=0, hvi=1.64]
21%|██ | 105/500 [00:03<00:13, 29.24it/s, failures=0, hvi=1.64]
21%|██ | 106/500 [00:03<00:13, 29.24it/s, failures=0, hvi=1.64]
21%|██▏ | 107/500 [00:03<00:13, 29.31it/s, failures=0, hvi=1.64]
21%|██▏ | 107/500 [00:03<00:13, 29.31it/s, failures=0, hvi=1.64]
22%|██▏ | 108/500 [00:03<00:13, 29.31it/s, failures=0, hvi=1.64]
22%|██▏ | 109/500 [00:03<00:13, 29.31it/s, failures=0, hvi=1.65]
22%|██▏ | 110/500 [00:03<00:13, 29.29it/s, failures=0, hvi=1.65]
22%|██▏ | 110/500 [00:03<00:13, 29.29it/s, failures=0, hvi=1.65]
22%|██▏ | 111/500 [00:03<00:13, 29.29it/s, failures=0, hvi=1.65]
22%|██▏ | 112/500 [00:03<00:13, 29.29it/s, failures=0, hvi=1.65]
23%|██▎ | 113/500 [00:03<00:13, 29.30it/s, failures=0, hvi=1.65]
23%|██▎ | 113/500 [00:03<00:13, 29.30it/s, failures=0, hvi=1.65]
23%|██▎ | 114/500 [00:03<00:13, 29.30it/s, failures=0, hvi=1.65]
23%|██▎ | 115/500 [00:03<00:13, 29.30it/s, failures=0, hvi=1.83]
23%|██▎ | 116/500 [00:03<00:13, 29.28it/s, failures=0, hvi=1.83]
23%|██▎ | 116/500 [00:03<00:13, 29.28it/s, failures=0, hvi=1.83]
23%|██▎ | 117/500 [00:03<00:13, 29.28it/s, failures=0, hvi=1.83]
24%|██▎ | 118/500 [00:03<00:13, 29.28it/s, failures=0, hvi=1.83]
24%|██▍ | 119/500 [00:03<00:13, 29.14it/s, failures=0, hvi=1.83]
24%|██▍ | 119/500 [00:03<00:13, 29.14it/s, failures=0, hvi=1.83]
24%|██▍ | 120/500 [00:03<00:13, 29.14it/s, failures=0, hvi=1.83]
24%|██▍ | 121/500 [00:03<00:13, 29.14it/s, failures=0, hvi=1.83]
24%|██▍ | 122/500 [00:03<00:13, 28.98it/s, failures=0, hvi=1.83]
24%|██▍ | 122/500 [00:03<00:13, 28.98it/s, failures=0, hvi=1.83]
25%|██▍ | 123/500 [00:03<00:13, 28.98it/s, failures=0, hvi=1.83]
25%|██▍ | 124/500 [00:03<00:12, 28.98it/s, failures=0, hvi=1.83]
25%|██▌ | 125/500 [00:03<00:13, 28.74it/s, failures=0, hvi=1.83]
25%|██▌ | 125/500 [00:03<00:13, 28.74it/s, failures=0, hvi=1.83]
25%|██▌ | 126/500 [00:03<00:13, 28.74it/s, failures=0, hvi=1.83]
25%|██▌ | 127/500 [00:03<00:12, 28.74it/s, failures=0, hvi=1.83]
26%|██▌ | 128/500 [00:03<00:13, 28.48it/s, failures=0, hvi=1.83]
26%|██▌ | 128/500 [00:03<00:13, 28.48it/s, failures=0, hvi=1.84]
26%|██▌ | 129/500 [00:03<00:13, 28.48it/s, failures=0, hvi=1.84]
26%|██▌ | 130/500 [00:03<00:12, 28.48it/s, failures=0, hvi=1.84]
26%|██▌ | 131/500 [00:04<00:13, 28.28it/s, failures=0, hvi=1.84]
26%|██▌ | 131/500 [00:04<00:13, 28.28it/s, failures=0, hvi=1.84]
26%|██▋ | 132/500 [00:04<00:13, 28.28it/s, failures=0, hvi=1.85]
27%|██▋ | 133/500 [00:04<00:12, 28.28it/s, failures=0, hvi=1.85]
27%|██▋ | 134/500 [00:04<00:12, 28.23it/s, failures=0, hvi=1.85]
27%|██▋ | 134/500 [00:04<00:12, 28.23it/s, failures=0, hvi=1.85]
27%|██▋ | 135/500 [00:04<00:12, 28.23it/s, failures=0, hvi=1.85]
27%|██▋ | 136/500 [00:04<00:12, 28.23it/s, failures=0, hvi=1.85]
27%|██▋ | 137/500 [00:04<00:12, 28.20it/s, failures=0, hvi=1.85]
27%|██▋ | 137/500 [00:04<00:12, 28.20it/s, failures=0, hvi=1.85]
28%|██▊ | 138/500 [00:04<00:12, 28.20it/s, failures=0, hvi=1.85]
28%|██▊ | 139/500 [00:04<00:12, 28.20it/s, failures=0, hvi=1.86]
28%|██▊ | 140/500 [00:04<00:12, 28.17it/s, failures=0, hvi=1.86]
28%|██▊ | 140/500 [00:04<00:12, 28.17it/s, failures=0, hvi=1.86]
28%|██▊ | 141/500 [00:04<00:12, 28.17it/s, failures=0, hvi=1.86]
28%|██▊ | 142/500 [00:04<00:12, 28.17it/s, failures=0, hvi=1.86]
29%|██▊ | 143/500 [00:04<00:12, 28.00it/s, failures=0, hvi=1.86]
29%|██▊ | 143/500 [00:04<00:12, 28.00it/s, failures=0, hvi=1.86]
29%|██▉ | 144/500 [00:04<00:12, 28.00it/s, failures=0, hvi=1.86]
29%|██▉ | 145/500 [00:04<00:12, 28.00it/s, failures=0, hvi=1.86]
29%|██▉ | 146/500 [00:04<00:12, 27.95it/s, failures=0, hvi=1.86]
29%|██▉ | 146/500 [00:04<00:12, 27.95it/s, failures=0, hvi=1.86]
29%|██▉ | 147/500 [00:04<00:12, 27.95it/s, failures=0, hvi=1.86]
30%|██▉ | 148/500 [00:04<00:12, 27.95it/s, failures=0, hvi=1.86]
30%|██▉ | 149/500 [00:04<00:12, 27.88it/s, failures=0, hvi=1.86]
30%|██▉ | 149/500 [00:04<00:12, 27.88it/s, failures=0, hvi=1.86]
30%|███ | 150/500 [00:04<00:12, 27.88it/s, failures=0, hvi=1.87]
30%|███ | 151/500 [00:04<00:12, 27.88it/s, failures=0, hvi=1.87]
30%|███ | 152/500 [00:04<00:12, 27.67it/s, failures=0, hvi=1.87]
30%|███ | 152/500 [00:04<00:12, 27.67it/s, failures=0, hvi=1.87]
31%|███ | 153/500 [00:04<00:12, 27.67it/s, failures=0, hvi=1.87]
31%|███ | 154/500 [00:04<00:12, 27.67it/s, failures=0, hvi=1.87]
31%|███ | 155/500 [00:04<00:12, 27.61it/s, failures=0, hvi=1.87]
31%|███ | 155/500 [00:04<00:12, 27.61it/s, failures=0, hvi=1.87]
31%|███ | 156/500 [00:04<00:12, 27.61it/s, failures=0, hvi=1.87]
31%|███▏ | 157/500 [00:04<00:12, 27.61it/s, failures=0, hvi=1.87]
32%|███▏ | 158/500 [00:04<00:13, 26.05it/s, failures=0, hvi=1.87]
32%|███▏ | 158/500 [00:04<00:13, 26.05it/s, failures=0, hvi=1.87]
32%|███▏ | 159/500 [00:05<00:13, 26.05it/s, failures=0, hvi=1.87]
32%|███▏ | 160/500 [00:05<00:13, 26.05it/s, failures=0, hvi=1.87]
32%|███▏ | 161/500 [00:05<00:12, 26.16it/s, failures=0, hvi=1.87]
32%|███▏ | 161/500 [00:05<00:12, 26.16it/s, failures=0, hvi=1.87]
32%|███▏ | 162/500 [00:05<00:12, 26.16it/s, failures=0, hvi=1.87]
33%|███▎ | 163/500 [00:05<00:12, 26.16it/s, failures=0, hvi=1.87]
33%|███▎ | 164/500 [00:05<00:12, 26.44it/s, failures=0, hvi=1.87]
33%|███▎ | 164/500 [00:05<00:12, 26.44it/s, failures=0, hvi=1.87]
33%|███▎ | 165/500 [00:05<00:12, 26.44it/s, failures=0, hvi=1.87]
33%|███▎ | 166/500 [00:05<00:12, 26.44it/s, failures=0, hvi=1.87]
33%|███▎ | 167/500 [00:05<00:15, 21.68it/s, failures=0, hvi=1.87]
33%|███▎ | 167/500 [00:05<00:15, 21.68it/s, failures=0, hvi=1.87]
34%|███▎ | 168/500 [00:05<00:15, 21.68it/s, failures=0, hvi=1.87]
34%|███▍ | 169/500 [00:05<00:15, 21.68it/s, failures=0, hvi=1.87]
34%|███▍ | 170/500 [00:05<00:14, 23.03it/s, failures=0, hvi=1.87]
34%|███▍ | 170/500 [00:05<00:14, 23.03it/s, failures=0, hvi=1.87]
34%|███▍ | 171/500 [00:05<00:14, 23.03it/s, failures=0, hvi=1.87]
34%|███▍ | 172/500 [00:05<00:14, 23.03it/s, failures=0, hvi=1.89]
35%|███▍ | 173/500 [00:05<00:13, 24.08it/s, failures=0, hvi=1.89]
35%|███▍ | 173/500 [00:05<00:13, 24.08it/s, failures=0, hvi=1.89]
35%|███▍ | 174/500 [00:05<00:13, 24.08it/s, failures=0, hvi=1.89]
35%|███▌ | 175/500 [00:05<00:13, 24.08it/s, failures=0, hvi=1.89]
35%|███▌ | 176/500 [00:05<00:13, 24.83it/s, failures=0, hvi=1.89]
35%|███▌ | 176/500 [00:05<00:13, 24.83it/s, failures=0, hvi=1.89]
35%|███▌ | 177/500 [00:05<00:13, 24.83it/s, failures=0, hvi=1.89]
36%|███▌ | 178/500 [00:05<00:12, 24.83it/s, failures=0, hvi=1.89]
36%|███▌ | 179/500 [00:05<00:12, 25.37it/s, failures=0, hvi=1.89]
36%|███▌ | 179/500 [00:05<00:12, 25.37it/s, failures=0, hvi=1.89]
36%|███▌ | 180/500 [00:05<00:12, 25.37it/s, failures=0, hvi=1.89]
36%|███▌ | 181/500 [00:05<00:12, 25.37it/s, failures=0, hvi=1.89]
36%|███▋ | 182/500 [00:05<00:12, 25.72it/s, failures=0, hvi=1.89]
36%|███▋ | 182/500 [00:05<00:12, 25.72it/s, failures=0, hvi=1.89]
37%|███▋ | 183/500 [00:06<00:12, 25.72it/s, failures=0, hvi=1.89]
37%|███▋ | 184/500 [00:06<00:12, 25.72it/s, failures=0, hvi=1.89]
37%|███▋ | 185/500 [00:06<00:12, 26.01it/s, failures=0, hvi=1.89]
37%|███▋ | 185/500 [00:06<00:12, 26.01it/s, failures=0, hvi=1.89]
37%|███▋ | 186/500 [00:06<00:12, 26.01it/s, failures=0, hvi=1.89]
37%|███▋ | 187/500 [00:06<00:12, 26.01it/s, failures=0, hvi=1.89]
38%|███▊ | 188/500 [00:06<00:11, 26.16it/s, failures=0, hvi=1.89]
38%|███▊ | 188/500 [00:06<00:11, 26.16it/s, failures=0, hvi=1.89]
38%|███▊ | 189/500 [00:06<00:11, 26.16it/s, failures=0, hvi=1.89]
38%|███▊ | 190/500 [00:06<00:11, 26.16it/s, failures=0, hvi=1.89]
38%|███▊ | 191/500 [00:06<00:11, 26.23it/s, failures=0, hvi=1.89]
38%|███▊ | 191/500 [00:06<00:11, 26.23it/s, failures=0, hvi=1.89]
38%|███▊ | 192/500 [00:06<00:11, 26.23it/s, failures=0, hvi=1.89]
39%|███▊ | 193/500 [00:06<00:11, 26.23it/s, failures=0, hvi=1.89]
39%|███▉ | 194/500 [00:06<00:11, 26.29it/s, failures=0, hvi=1.89]
39%|███▉ | 194/500 [00:06<00:11, 26.29it/s, failures=0, hvi=1.89]
39%|███▉ | 195/500 [00:06<00:11, 26.29it/s, failures=0, hvi=1.89]
39%|███▉ | 196/500 [00:06<00:11, 26.29it/s, failures=0, hvi=1.89]
39%|███▉ | 197/500 [00:06<00:11, 26.35it/s, failures=0, hvi=1.89]
39%|███▉ | 197/500 [00:06<00:11, 26.35it/s, failures=0, hvi=1.89]
40%|███▉ | 198/500 [00:06<00:11, 26.35it/s, failures=0, hvi=1.89]
40%|███▉ | 199/500 [00:06<00:11, 26.35it/s, failures=0, hvi=1.89]
40%|████ | 200/500 [00:06<00:11, 26.41it/s, failures=0, hvi=1.89]
40%|████ | 200/500 [00:06<00:11, 26.41it/s, failures=0, hvi=1.89]
40%|████ | 201/500 [00:06<00:11, 26.41it/s, failures=0, hvi=1.89]
40%|████ | 202/500 [00:06<00:11, 26.41it/s, failures=0, hvi=1.89]
41%|████ | 203/500 [00:06<00:11, 26.39it/s, failures=0, hvi=1.89]
41%|████ | 203/500 [00:06<00:11, 26.39it/s, failures=0, hvi=1.89]
41%|████ | 204/500 [00:06<00:11, 26.39it/s, failures=0, hvi=1.89]
41%|████ | 205/500 [00:06<00:11, 26.39it/s, failures=0, hvi=1.89]
41%|████ | 206/500 [00:06<00:11, 26.34it/s, failures=0, hvi=1.89]
41%|████ | 206/500 [00:06<00:11, 26.34it/s, failures=0, hvi=1.89]
41%|████▏ | 207/500 [00:06<00:11, 26.34it/s, failures=0, hvi=1.89]
42%|████▏ | 208/500 [00:06<00:11, 26.34it/s, failures=0, hvi=1.89]
42%|████▏ | 209/500 [00:07<00:11, 26.29it/s, failures=0, hvi=1.89]
42%|████▏ | 209/500 [00:07<00:11, 26.29it/s, failures=0, hvi=1.89]
42%|████▏ | 210/500 [00:07<00:11, 26.29it/s, failures=0, hvi=1.89]
42%|████▏ | 211/500 [00:07<00:10, 26.29it/s, failures=0, hvi=1.89]
42%|████▏ | 212/500 [00:07<00:10, 26.28it/s, failures=0, hvi=1.89]
42%|████▏ | 212/500 [00:07<00:10, 26.28it/s, failures=0, hvi=1.89]
43%|████▎ | 213/500 [00:07<00:10, 26.28it/s, failures=0, hvi=1.89]
43%|████▎ | 214/500 [00:07<00:10, 26.28it/s, failures=0, hvi=1.89]
43%|████▎ | 215/500 [00:07<00:10, 25.97it/s, failures=0, hvi=1.89]
43%|████▎ | 215/500 [00:07<00:10, 25.97it/s, failures=0, hvi=1.89]
43%|████▎ | 216/500 [00:07<00:10, 25.97it/s, failures=0, hvi=1.89]
43%|████▎ | 217/500 [00:07<00:10, 25.97it/s, failures=0, hvi=1.89]
44%|████▎ | 218/500 [00:07<00:10, 25.87it/s, failures=0, hvi=1.89]
44%|████▎ | 218/500 [00:07<00:10, 25.87it/s, failures=0, hvi=1.89]
44%|████▍ | 219/500 [00:07<00:10, 25.87it/s, failures=0, hvi=1.89]
44%|████▍ | 220/500 [00:07<00:10, 25.87it/s, failures=0, hvi=1.89]
44%|████▍ | 221/500 [00:07<00:10, 25.87it/s, failures=0, hvi=1.89]
44%|████▍ | 221/500 [00:07<00:10, 25.87it/s, failures=0, hvi=1.89]
44%|████▍ | 222/500 [00:07<00:10, 25.87it/s, failures=0, hvi=1.89]
45%|████▍ | 223/500 [00:07<00:10, 25.87it/s, failures=0, hvi=1.89]
45%|████▍ | 224/500 [00:07<00:10, 25.94it/s, failures=0, hvi=1.89]
45%|████▍ | 224/500 [00:07<00:10, 25.94it/s, failures=0, hvi=1.89]
45%|████▌ | 225/500 [00:07<00:10, 25.94it/s, failures=0, hvi=1.89]
45%|████▌ | 226/500 [00:07<00:10, 25.94it/s, failures=0, hvi=1.89]
45%|████▌ | 227/500 [00:07<00:10, 25.91it/s, failures=0, hvi=1.89]
45%|████▌ | 227/500 [00:07<00:10, 25.91it/s, failures=0, hvi=1.89]
46%|████▌ | 228/500 [00:07<00:10, 25.91it/s, failures=0, hvi=1.89]
46%|████▌ | 229/500 [00:07<00:10, 25.91it/s, failures=0, hvi=1.89]
46%|████▌ | 230/500 [00:07<00:10, 25.85it/s, failures=0, hvi=1.89]
46%|████▌ | 230/500 [00:07<00:10, 25.85it/s, failures=0, hvi=1.89]
46%|████▌ | 231/500 [00:07<00:10, 25.85it/s, failures=0, hvi=1.89]
46%|████▋ | 232/500 [00:07<00:10, 25.85it/s, failures=0, hvi=1.89]
47%|████▋ | 233/500 [00:08<00:12, 21.06it/s, failures=0, hvi=1.89]
47%|████▋ | 233/500 [00:08<00:12, 21.06it/s, failures=0, hvi=1.89]
47%|████▋ | 234/500 [00:08<00:12, 21.06it/s, failures=0, hvi=1.9]
47%|████▋ | 235/500 [00:08<00:12, 21.06it/s, failures=0, hvi=1.9]
47%|████▋ | 236/500 [00:08<00:11, 22.28it/s, failures=0, hvi=1.9]
47%|████▋ | 236/500 [00:08<00:11, 22.28it/s, failures=0, hvi=1.9]
47%|████▋ | 237/500 [00:08<00:11, 22.28it/s, failures=0, hvi=1.9]
48%|████▊ | 238/500 [00:08<00:11, 22.28it/s, failures=0, hvi=1.9]
48%|████▊ | 239/500 [00:08<00:11, 23.20it/s, failures=0, hvi=1.9]
48%|████▊ | 239/500 [00:08<00:11, 23.20it/s, failures=0, hvi=1.9]
48%|████▊ | 240/500 [00:08<00:11, 23.20it/s, failures=0, hvi=1.9]
48%|████▊ | 241/500 [00:08<00:11, 23.20it/s, failures=0, hvi=1.9]
48%|████▊ | 242/500 [00:08<00:10, 23.91it/s, failures=0, hvi=1.9]
48%|████▊ | 242/500 [00:08<00:10, 23.91it/s, failures=0, hvi=1.9]
49%|████▊ | 243/500 [00:08<00:10, 23.91it/s, failures=0, hvi=1.9]
49%|████▉ | 244/500 [00:08<00:10, 23.91it/s, failures=0, hvi=1.9]
49%|████▉ | 245/500 [00:08<00:10, 24.31it/s, failures=0, hvi=1.9]
49%|████▉ | 245/500 [00:08<00:10, 24.31it/s, failures=0, hvi=1.9]
49%|████▉ | 246/500 [00:08<00:10, 24.31it/s, failures=0, hvi=1.9]
49%|████▉ | 247/500 [00:08<00:10, 24.31it/s, failures=0, hvi=1.9]
50%|████▉ | 248/500 [00:08<00:10, 24.69it/s, failures=0, hvi=1.9]
50%|████▉ | 248/500 [00:08<00:10, 24.69it/s, failures=0, hvi=1.9]
50%|████▉ | 249/500 [00:08<00:10, 24.69it/s, failures=0, hvi=1.9]
50%|█████ | 250/500 [00:08<00:10, 24.69it/s, failures=0, hvi=1.9]
50%|█████ | 251/500 [00:08<00:10, 24.90it/s, failures=0, hvi=1.9]
50%|█████ | 251/500 [00:08<00:10, 24.90it/s, failures=0, hvi=1.9]
50%|█████ | 252/500 [00:08<00:09, 24.90it/s, failures=0, hvi=1.9]
51%|█████ | 253/500 [00:08<00:09, 24.90it/s, failures=0, hvi=1.9]
51%|█████ | 254/500 [00:08<00:09, 25.01it/s, failures=0, hvi=1.9]
51%|█████ | 254/500 [00:08<00:09, 25.01it/s, failures=0, hvi=1.9]
51%|█████ | 255/500 [00:08<00:09, 25.01it/s, failures=0, hvi=1.9]
51%|█████ | 256/500 [00:08<00:09, 25.01it/s, failures=0, hvi=1.9]
51%|█████▏ | 257/500 [00:08<00:09, 25.09it/s, failures=0, hvi=1.9]
51%|█████▏ | 257/500 [00:08<00:09, 25.09it/s, failures=0, hvi=1.9]
52%|█████▏ | 258/500 [00:08<00:09, 25.09it/s, failures=0, hvi=1.9]
52%|█████▏ | 259/500 [00:09<00:09, 25.09it/s, failures=0, hvi=1.9]
52%|█████▏ | 260/500 [00:09<00:09, 25.18it/s, failures=0, hvi=1.9]
52%|█████▏ | 260/500 [00:09<00:09, 25.18it/s, failures=0, hvi=1.9]
52%|█████▏ | 261/500 [00:09<00:09, 25.18it/s, failures=0, hvi=1.9]
52%|█████▏ | 262/500 [00:09<00:09, 25.18it/s, failures=0, hvi=1.9]
53%|█████▎ | 263/500 [00:09<00:09, 25.17it/s, failures=0, hvi=1.9]
53%|█████▎ | 263/500 [00:09<00:09, 25.17it/s, failures=0, hvi=1.9]
53%|█████▎ | 264/500 [00:09<00:09, 25.17it/s, failures=0, hvi=1.9]
53%|█████▎ | 265/500 [00:09<00:09, 25.17it/s, failures=0, hvi=1.9]
53%|█████▎ | 266/500 [00:09<00:09, 25.05it/s, failures=0, hvi=1.9]
53%|█████▎ | 266/500 [00:09<00:09, 25.05it/s, failures=0, hvi=1.9]
53%|█████▎ | 267/500 [00:09<00:09, 25.05it/s, failures=0, hvi=1.9]
54%|█████▎ | 268/500 [00:09<00:09, 25.05it/s, failures=0, hvi=1.9]
54%|█████▍ | 269/500 [00:09<00:09, 24.87it/s, failures=0, hvi=1.9]
54%|█████▍ | 269/500 [00:09<00:09, 24.87it/s, failures=0, hvi=1.9]
54%|█████▍ | 270/500 [00:09<00:09, 24.87it/s, failures=0, hvi=1.9]
54%|█████▍ | 271/500 [00:09<00:09, 24.87it/s, failures=0, hvi=1.91]
54%|█████▍ | 272/500 [00:09<00:09, 24.99it/s, failures=0, hvi=1.91]
54%|█████▍ | 272/500 [00:09<00:09, 24.99it/s, failures=0, hvi=1.91]
55%|█████▍ | 273/500 [00:09<00:09, 24.99it/s, failures=0, hvi=1.91]
55%|█████▍ | 274/500 [00:09<00:09, 24.99it/s, failures=0, hvi=1.91]
55%|█████▌ | 275/500 [00:09<00:08, 25.00it/s, failures=0, hvi=1.91]
55%|█████▌ | 275/500 [00:09<00:08, 25.00it/s, failures=0, hvi=1.91]
55%|█████▌ | 276/500 [00:09<00:08, 25.00it/s, failures=0, hvi=1.91]
55%|█████▌ | 277/500 [00:09<00:08, 25.00it/s, failures=0, hvi=1.91]
56%|█████▌ | 278/500 [00:09<00:08, 25.02it/s, failures=0, hvi=1.91]
56%|█████▌ | 278/500 [00:09<00:08, 25.02it/s, failures=0, hvi=1.91]
56%|█████▌ | 279/500 [00:09<00:08, 25.02it/s, failures=0, hvi=1.91]
56%|█████▌ | 280/500 [00:09<00:08, 25.02it/s, failures=0, hvi=1.91]
56%|█████▌ | 281/500 [00:09<00:08, 25.01it/s, failures=0, hvi=1.91]
56%|█████▌ | 281/500 [00:09<00:08, 25.01it/s, failures=0, hvi=1.91]
56%|█████▋ | 282/500 [00:09<00:08, 25.01it/s, failures=0, hvi=1.91]
57%|█████▋ | 283/500 [00:09<00:08, 25.01it/s, failures=0, hvi=1.91]
57%|█████▋ | 284/500 [00:10<00:08, 25.05it/s, failures=0, hvi=1.91]
57%|█████▋ | 284/500 [00:10<00:08, 25.05it/s, failures=0, hvi=1.91]
57%|█████▋ | 285/500 [00:10<00:08, 25.05it/s, failures=0, hvi=1.91]
57%|█████▋ | 286/500 [00:10<00:08, 25.05it/s, failures=0, hvi=1.91]
57%|█████▋ | 287/500 [00:10<00:08, 25.00it/s, failures=0, hvi=1.91]
57%|█████▋ | 287/500 [00:10<00:08, 25.00it/s, failures=0, hvi=1.91]
58%|█████▊ | 288/500 [00:10<00:08, 25.00it/s, failures=0, hvi=1.91]
58%|█████▊ | 289/500 [00:10<00:08, 25.00it/s, failures=0, hvi=1.91]
58%|█████▊ | 290/500 [00:10<00:08, 24.90it/s, failures=0, hvi=1.91]
58%|█████▊ | 290/500 [00:10<00:08, 24.90it/s, failures=0, hvi=1.91]
58%|█████▊ | 291/500 [00:10<00:08, 24.90it/s, failures=0, hvi=1.91]
58%|█████▊ | 292/500 [00:10<00:08, 24.90it/s, failures=0, hvi=1.91]
59%|█████▊ | 293/500 [00:10<00:08, 24.85it/s, failures=0, hvi=1.91]
59%|█████▊ | 293/500 [00:10<00:08, 24.85it/s, failures=0, hvi=1.91]
59%|█████▉ | 294/500 [00:10<00:08, 24.85it/s, failures=0, hvi=1.91]
59%|█████▉ | 295/500 [00:10<00:08, 24.85it/s, failures=0, hvi=1.91]
59%|█████▉ | 296/500 [00:10<00:08, 24.83it/s, failures=0, hvi=1.91]
59%|█████▉ | 296/500 [00:10<00:08, 24.83it/s, failures=0, hvi=1.91]
59%|█████▉ | 297/500 [00:10<00:08, 24.83it/s, failures=0, hvi=1.91]
60%|█████▉ | 298/500 [00:10<00:08, 24.83it/s, failures=0, hvi=1.91]
60%|█████▉ | 299/500 [00:10<00:08, 24.82it/s, failures=0, hvi=1.91]
60%|█████▉ | 299/500 [00:10<00:08, 24.82it/s, failures=0, hvi=1.91]
60%|██████ | 300/500 [00:10<00:08, 24.82it/s, failures=0, hvi=1.91]
60%|██████ | 301/500 [00:10<00:08, 24.82it/s, failures=0, hvi=1.91]
60%|██████ | 302/500 [00:10<00:08, 24.74it/s, failures=0, hvi=1.91]
60%|██████ | 302/500 [00:10<00:08, 24.74it/s, failures=0, hvi=1.91]
61%|██████ | 303/500 [00:10<00:07, 24.74it/s, failures=0, hvi=1.91]
61%|██████ | 304/500 [00:10<00:07, 24.74it/s, failures=0, hvi=1.91]
61%|██████ | 305/500 [00:10<00:07, 24.70it/s, failures=0, hvi=1.91]
61%|██████ | 305/500 [00:10<00:07, 24.70it/s, failures=0, hvi=1.91]
61%|██████ | 306/500 [00:10<00:07, 24.70it/s, failures=0, hvi=1.91]
61%|██████▏ | 307/500 [00:10<00:07, 24.70it/s, failures=0, hvi=1.91]
62%|██████▏ | 308/500 [00:11<00:07, 24.69it/s, failures=0, hvi=1.91]
62%|██████▏ | 308/500 [00:11<00:07, 24.69it/s, failures=0, hvi=1.91]
62%|██████▏ | 309/500 [00:11<00:07, 24.69it/s, failures=0, hvi=1.91]
62%|██████▏ | 310/500 [00:11<00:07, 24.69it/s, failures=0, hvi=1.91]
62%|██████▏ | 311/500 [00:11<00:07, 24.70it/s, failures=0, hvi=1.91]
62%|██████▏ | 311/500 [00:11<00:07, 24.70it/s, failures=0, hvi=1.91]
62%|██████▏ | 312/500 [00:11<00:07, 24.70it/s, failures=0, hvi=1.91]
63%|██████▎ | 313/500 [00:11<00:07, 24.70it/s, failures=0, hvi=1.92]
63%|██████▎ | 314/500 [00:11<00:07, 24.66it/s, failures=0, hvi=1.92]
63%|██████▎ | 314/500 [00:11<00:07, 24.66it/s, failures=0, hvi=1.92]
63%|██████▎ | 315/500 [00:11<00:07, 24.66it/s, failures=0, hvi=1.92]
63%|██████▎ | 316/500 [00:11<00:07, 24.66it/s, failures=0, hvi=1.92]
63%|██████▎ | 317/500 [00:11<00:09, 20.04it/s, failures=0, hvi=1.92]
63%|██████▎ | 317/500 [00:11<00:09, 20.04it/s, failures=0, hvi=1.92]
64%|██████▎ | 318/500 [00:11<00:09, 20.04it/s, failures=0, hvi=1.92]
64%|██████▍ | 319/500 [00:11<00:09, 20.04it/s, failures=0, hvi=1.92]
64%|██████▍ | 320/500 [00:11<00:08, 21.14it/s, failures=0, hvi=1.92]
64%|██████▍ | 320/500 [00:11<00:08, 21.14it/s, failures=0, hvi=1.92]
64%|██████▍ | 321/500 [00:11<00:08, 21.14it/s, failures=0, hvi=1.92]
64%|██████▍ | 322/500 [00:11<00:08, 21.14it/s, failures=0, hvi=1.92]
65%|██████▍ | 323/500 [00:11<00:08, 21.97it/s, failures=0, hvi=1.92]
65%|██████▍ | 323/500 [00:11<00:08, 21.97it/s, failures=0, hvi=1.92]
65%|██████▍ | 324/500 [00:11<00:08, 21.97it/s, failures=0, hvi=1.92]
65%|██████▌ | 325/500 [00:11<00:07, 21.97it/s, failures=0, hvi=1.92]
65%|██████▌ | 326/500 [00:11<00:07, 22.64it/s, failures=0, hvi=1.92]
65%|██████▌ | 326/500 [00:11<00:07, 22.64it/s, failures=0, hvi=1.92]
65%|██████▌ | 327/500 [00:11<00:07, 22.64it/s, failures=0, hvi=1.92]
66%|██████▌ | 328/500 [00:11<00:07, 22.64it/s, failures=0, hvi=1.92]
66%|██████▌ | 329/500 [00:11<00:07, 23.06it/s, failures=0, hvi=1.92]
66%|██████▌ | 329/500 [00:11<00:07, 23.06it/s, failures=0, hvi=1.92]
66%|██████▌ | 330/500 [00:12<00:07, 23.06it/s, failures=0, hvi=1.92]
66%|██████▌ | 331/500 [00:12<00:07, 23.06it/s, failures=0, hvi=1.92]
66%|██████▋ | 332/500 [00:12<00:07, 23.43it/s, failures=0, hvi=1.92]
66%|██████▋ | 332/500 [00:12<00:07, 23.43it/s, failures=0, hvi=1.92]
67%|██████▋ | 333/500 [00:12<00:07, 23.43it/s, failures=0, hvi=1.92]
67%|██████▋ | 334/500 [00:12<00:07, 23.43it/s, failures=0, hvi=1.92]
67%|██████▋ | 335/500 [00:12<00:06, 23.65it/s, failures=0, hvi=1.92]
67%|██████▋ | 335/500 [00:12<00:06, 23.65it/s, failures=0, hvi=1.92]
67%|██████▋ | 336/500 [00:12<00:06, 23.65it/s, failures=0, hvi=1.92]
67%|██████▋ | 337/500 [00:12<00:06, 23.65it/s, failures=0, hvi=1.92]
68%|██████▊ | 338/500 [00:12<00:06, 23.77it/s, failures=0, hvi=1.92]
68%|██████▊ | 338/500 [00:12<00:06, 23.77it/s, failures=0, hvi=1.92]
68%|██████▊ | 339/500 [00:12<00:06, 23.77it/s, failures=0, hvi=1.92]
68%|██████▊ | 340/500 [00:12<00:06, 23.77it/s, failures=0, hvi=1.92]
68%|██████▊ | 341/500 [00:12<00:06, 23.79it/s, failures=0, hvi=1.92]
68%|██████▊ | 341/500 [00:12<00:06, 23.79it/s, failures=0, hvi=1.93]
68%|██████▊ | 342/500 [00:12<00:06, 23.79it/s, failures=0, hvi=1.93]
69%|██████▊ | 343/500 [00:12<00:06, 23.79it/s, failures=0, hvi=1.93]
69%|██████▉ | 344/500 [00:12<00:06, 23.91it/s, failures=0, hvi=1.93]
69%|██████▉ | 344/500 [00:12<00:06, 23.91it/s, failures=0, hvi=1.93]
69%|██████▉ | 345/500 [00:12<00:06, 23.91it/s, failures=0, hvi=1.93]
69%|██████▉ | 346/500 [00:12<00:06, 23.91it/s, failures=0, hvi=1.93]
69%|██████▉ | 347/500 [00:12<00:06, 23.92it/s, failures=0, hvi=1.93]
69%|██████▉ | 347/500 [00:12<00:06, 23.92it/s, failures=0, hvi=1.93]
70%|██████▉ | 348/500 [00:12<00:06, 23.92it/s, failures=0, hvi=1.93]
70%|██████▉ | 349/500 [00:12<00:06, 23.92it/s, failures=0, hvi=1.93]
70%|███████ | 350/500 [00:12<00:06, 23.87it/s, failures=0, hvi=1.93]
70%|███████ | 350/500 [00:12<00:06, 23.87it/s, failures=0, hvi=1.93]
70%|███████ | 351/500 [00:12<00:06, 23.87it/s, failures=0, hvi=1.93]
70%|███████ | 352/500 [00:12<00:06, 23.87it/s, failures=0, hvi=1.93]
71%|███████ | 353/500 [00:12<00:06, 23.81it/s, failures=0, hvi=1.93]
71%|███████ | 353/500 [00:12<00:06, 23.81it/s, failures=0, hvi=1.93]
71%|███████ | 354/500 [00:13<00:06, 23.81it/s, failures=0, hvi=1.93]
71%|███████ | 355/500 [00:13<00:06, 23.81it/s, failures=0, hvi=1.93]
71%|███████ | 356/500 [00:13<00:06, 23.85it/s, failures=0, hvi=1.93]
71%|███████ | 356/500 [00:13<00:06, 23.85it/s, failures=0, hvi=1.93]
71%|███████▏ | 357/500 [00:13<00:05, 23.85it/s, failures=0, hvi=1.93]
72%|███████▏ | 358/500 [00:13<00:05, 23.85it/s, failures=0, hvi=1.93]
72%|███████▏ | 359/500 [00:13<00:05, 23.67it/s, failures=0, hvi=1.93]
72%|███████▏ | 359/500 [00:13<00:05, 23.67it/s, failures=0, hvi=1.93]
72%|███████▏ | 360/500 [00:13<00:05, 23.67it/s, failures=0, hvi=1.93]
72%|███████▏ | 361/500 [00:13<00:05, 23.67it/s, failures=0, hvi=1.93]
72%|███████▏ | 362/500 [00:13<00:06, 22.81it/s, failures=0, hvi=1.93]
72%|███████▏ | 362/500 [00:13<00:06, 22.81it/s, failures=0, hvi=1.93]
73%|███████▎ | 363/500 [00:13<00:06, 22.81it/s, failures=0, hvi=1.93]
73%|███████▎ | 364/500 [00:13<00:05, 22.81it/s, failures=0, hvi=1.93]
73%|███████▎ | 365/500 [00:13<00:05, 22.91it/s, failures=0, hvi=1.93]
73%|███████▎ | 365/500 [00:13<00:05, 22.91it/s, failures=0, hvi=1.93]
73%|███████▎ | 366/500 [00:13<00:05, 22.91it/s, failures=0, hvi=1.93]
73%|███████▎ | 367/500 [00:13<00:05, 22.91it/s, failures=0, hvi=1.93]
74%|███████▎ | 368/500 [00:13<00:05, 22.91it/s, failures=0, hvi=1.93]
74%|███████▎ | 368/500 [00:13<00:05, 22.91it/s, failures=0, hvi=1.93]
74%|███████▍ | 369/500 [00:13<00:05, 22.91it/s, failures=0, hvi=1.93]
74%|███████▍ | 370/500 [00:13<00:05, 22.91it/s, failures=0, hvi=1.93]
74%|███████▍ | 371/500 [00:13<00:05, 23.03it/s, failures=0, hvi=1.93]
74%|███████▍ | 371/500 [00:13<00:05, 23.03it/s, failures=0, hvi=1.93]
74%|███████▍ | 372/500 [00:13<00:05, 23.03it/s, failures=0, hvi=1.93]
75%|███████▍ | 373/500 [00:13<00:05, 23.03it/s, failures=0, hvi=1.93]
75%|███████▍ | 374/500 [00:13<00:05, 23.13it/s, failures=0, hvi=1.93]
75%|███████▍ | 374/500 [00:13<00:05, 23.13it/s, failures=0, hvi=1.93]
75%|███████▌ | 375/500 [00:13<00:05, 23.13it/s, failures=0, hvi=1.93]
75%|███████▌ | 376/500 [00:13<00:05, 23.13it/s, failures=0, hvi=1.93]
75%|███████▌ | 377/500 [00:14<00:05, 23.22it/s, failures=0, hvi=1.93]
75%|███████▌ | 377/500 [00:14<00:05, 23.22it/s, failures=0, hvi=1.93]
76%|███████▌ | 378/500 [00:14<00:05, 23.22it/s, failures=0, hvi=1.93]
76%|███████▌ | 379/500 [00:14<00:05, 23.22it/s, failures=0, hvi=1.93]
76%|███████▌ | 380/500 [00:14<00:05, 23.34it/s, failures=0, hvi=1.93]
76%|███████▌ | 380/500 [00:14<00:05, 23.34it/s, failures=0, hvi=1.93]
76%|███████▌ | 381/500 [00:14<00:05, 23.34it/s, failures=0, hvi=1.93]
76%|███████▋ | 382/500 [00:14<00:05, 23.34it/s, failures=0, hvi=1.93]
77%|███████▋ | 383/500 [00:14<00:05, 23.29it/s, failures=0, hvi=1.93]
77%|███████▋ | 383/500 [00:14<00:05, 23.29it/s, failures=0, hvi=1.93]
77%|███████▋ | 384/500 [00:14<00:04, 23.29it/s, failures=0, hvi=1.93]
77%|███████▋ | 385/500 [00:14<00:04, 23.29it/s, failures=0, hvi=1.93]
77%|███████▋ | 386/500 [00:14<00:05, 19.38it/s, failures=0, hvi=1.93]
77%|███████▋ | 386/500 [00:14<00:05, 19.38it/s, failures=0, hvi=1.93]
77%|███████▋ | 387/500 [00:14<00:05, 19.38it/s, failures=0, hvi=1.93]
78%|███████▊ | 388/500 [00:14<00:05, 19.38it/s, failures=0, hvi=1.93]
78%|███████▊ | 389/500 [00:14<00:05, 20.45it/s, failures=0, hvi=1.93]
78%|███████▊ | 389/500 [00:14<00:05, 20.45it/s, failures=0, hvi=1.93]
78%|███████▊ | 390/500 [00:14<00:05, 20.45it/s, failures=0, hvi=1.93]
78%|███████▊ | 391/500 [00:14<00:05, 20.45it/s, failures=0, hvi=1.93]
78%|███████▊ | 392/500 [00:14<00:05, 21.24it/s, failures=0, hvi=1.93]
78%|███████▊ | 392/500 [00:14<00:05, 21.24it/s, failures=0, hvi=1.93]
79%|███████▊ | 393/500 [00:14<00:05, 21.24it/s, failures=0, hvi=1.93]
79%|███████▉ | 394/500 [00:14<00:04, 21.24it/s, failures=0, hvi=1.93]
79%|███████▉ | 395/500 [00:14<00:04, 21.77it/s, failures=0, hvi=1.93]
79%|███████▉ | 395/500 [00:14<00:04, 21.77it/s, failures=0, hvi=1.93]
79%|███████▉ | 396/500 [00:14<00:04, 21.77it/s, failures=0, hvi=1.93]
79%|███████▉ | 397/500 [00:14<00:04, 21.77it/s, failures=0, hvi=1.93]
80%|███████▉ | 398/500 [00:14<00:04, 22.12it/s, failures=0, hvi=1.93]
80%|███████▉ | 398/500 [00:14<00:04, 22.12it/s, failures=0, hvi=1.93]
80%|███████▉ | 399/500 [00:15<00:04, 22.12it/s, failures=0, hvi=1.93]
80%|████████ | 400/500 [00:15<00:04, 22.12it/s, failures=0, hvi=1.93]
80%|████████ | 401/500 [00:15<00:04, 22.46it/s, failures=0, hvi=1.93]
80%|████████ | 401/500 [00:15<00:04, 22.46it/s, failures=0, hvi=1.93]
80%|████████ | 402/500 [00:15<00:04, 22.46it/s, failures=0, hvi=1.93]
81%|████████ | 403/500 [00:15<00:04, 22.46it/s, failures=0, hvi=1.93]
81%|████████ | 404/500 [00:15<00:04, 22.66it/s, failures=0, hvi=1.93]
81%|████████ | 404/500 [00:15<00:04, 22.66it/s, failures=0, hvi=1.93]
81%|████████ | 405/500 [00:15<00:04, 22.66it/s, failures=0, hvi=1.93]
81%|████████ | 406/500 [00:15<00:04, 22.66it/s, failures=0, hvi=1.93]
81%|████████▏ | 407/500 [00:15<00:04, 22.79it/s, failures=0, hvi=1.93]
81%|████████▏ | 407/500 [00:15<00:04, 22.79it/s, failures=0, hvi=1.93]
82%|████████▏ | 408/500 [00:15<00:04, 22.79it/s, failures=0, hvi=1.93]
82%|████████▏ | 409/500 [00:15<00:03, 22.79it/s, failures=0, hvi=1.93]
82%|████████▏ | 410/500 [00:15<00:03, 22.86it/s, failures=0, hvi=1.93]
82%|████████▏ | 410/500 [00:15<00:03, 22.86it/s, failures=0, hvi=1.93]
82%|████████▏ | 411/500 [00:15<00:03, 22.86it/s, failures=0, hvi=1.94]
82%|████████▏ | 412/500 [00:15<00:03, 22.86it/s, failures=0, hvi=1.94]
83%|████████▎ | 413/500 [00:15<00:03, 22.95it/s, failures=0, hvi=1.94]
83%|████████▎ | 413/500 [00:15<00:03, 22.95it/s, failures=0, hvi=1.94]
83%|████████▎ | 414/500 [00:15<00:03, 22.95it/s, failures=0, hvi=1.94]
83%|████████▎ | 415/500 [00:15<00:03, 22.95it/s, failures=0, hvi=1.94]
83%|████████▎ | 416/500 [00:15<00:03, 22.81it/s, failures=0, hvi=1.94]
83%|████████▎ | 416/500 [00:15<00:03, 22.81it/s, failures=0, hvi=1.94]
83%|████████▎ | 417/500 [00:15<00:03, 22.81it/s, failures=0, hvi=1.94]
84%|████████▎ | 418/500 [00:15<00:03, 22.81it/s, failures=0, hvi=1.94]
84%|████████▍ | 419/500 [00:15<00:03, 22.80it/s, failures=0, hvi=1.94]
84%|████████▍ | 419/500 [00:15<00:03, 22.80it/s, failures=0, hvi=1.94]
84%|████████▍ | 420/500 [00:15<00:03, 22.80it/s, failures=0, hvi=1.94]
84%|████████▍ | 421/500 [00:15<00:03, 22.80it/s, failures=0, hvi=1.94]
84%|████████▍ | 422/500 [00:16<00:03, 22.80it/s, failures=0, hvi=1.94]
84%|████████▍ | 422/500 [00:16<00:03, 22.80it/s, failures=0, hvi=1.94]
85%|████████▍ | 423/500 [00:16<00:03, 22.80it/s, failures=0, hvi=1.94]
85%|████████▍ | 424/500 [00:16<00:03, 22.80it/s, failures=0, hvi=2.07]
85%|████████▌ | 425/500 [00:16<00:03, 22.83it/s, failures=0, hvi=2.07]
85%|████████▌ | 425/500 [00:16<00:03, 22.83it/s, failures=0, hvi=2.07]
85%|████████▌ | 426/500 [00:16<00:03, 22.83it/s, failures=0, hvi=2.07]
85%|████████▌ | 427/500 [00:16<00:03, 22.83it/s, failures=0, hvi=2.07]
86%|████████▌ | 428/500 [00:16<00:03, 22.72it/s, failures=0, hvi=2.07]
86%|████████▌ | 428/500 [00:16<00:03, 22.72it/s, failures=0, hvi=2.07]
86%|████████▌ | 429/500 [00:16<00:03, 22.72it/s, failures=0, hvi=2.07]
86%|████████▌ | 430/500 [00:16<00:03, 22.72it/s, failures=0, hvi=2.07]
86%|████████▌ | 431/500 [00:16<00:03, 22.73it/s, failures=0, hvi=2.07]
86%|████████▌ | 431/500 [00:16<00:03, 22.73it/s, failures=0, hvi=2.07]
86%|████████▋ | 432/500 [00:16<00:02, 22.73it/s, failures=0, hvi=2.07]
87%|████████▋ | 433/500 [00:16<00:02, 22.73it/s, failures=0, hvi=2.07]
87%|████████▋ | 434/500 [00:16<00:02, 22.76it/s, failures=0, hvi=2.07]
87%|████████▋ | 434/500 [00:16<00:02, 22.76it/s, failures=0, hvi=2.07]
87%|████████▋ | 435/500 [00:16<00:02, 22.76it/s, failures=0, hvi=2.07]
87%|████████▋ | 436/500 [00:16<00:02, 22.76it/s, failures=0, hvi=2.07]
87%|████████▋ | 437/500 [00:16<00:02, 22.73it/s, failures=0, hvi=2.07]
87%|████████▋ | 437/500 [00:16<00:02, 22.73it/s, failures=0, hvi=2.07]
88%|████████▊ | 438/500 [00:16<00:02, 22.73it/s, failures=0, hvi=2.07]
88%|████████▊ | 439/500 [00:16<00:02, 22.73it/s, failures=0, hvi=2.07]
88%|████████▊ | 440/500 [00:16<00:02, 22.67it/s, failures=0, hvi=2.07]
88%|████████▊ | 440/500 [00:16<00:02, 22.67it/s, failures=0, hvi=2.07]
88%|████████▊ | 441/500 [00:16<00:02, 22.67it/s, failures=0, hvi=2.07]
88%|████████▊ | 442/500 [00:16<00:02, 22.67it/s, failures=0, hvi=2.07]
89%|████████▊ | 443/500 [00:16<00:02, 22.61it/s, failures=0, hvi=2.07]
89%|████████▊ | 443/500 [00:16<00:02, 22.61it/s, failures=0, hvi=2.07]
89%|████████▉ | 444/500 [00:17<00:02, 22.61it/s, failures=0, hvi=2.07]
89%|████████▉ | 445/500 [00:17<00:02, 22.61it/s, failures=0, hvi=2.07]
89%|████████▉ | 446/500 [00:17<00:02, 22.62it/s, failures=0, hvi=2.07]
89%|████████▉ | 446/500 [00:17<00:02, 22.62it/s, failures=0, hvi=2.07]
89%|████████▉ | 447/500 [00:17<00:02, 22.62it/s, failures=0, hvi=2.07]
90%|████████▉ | 448/500 [00:17<00:02, 22.62it/s, failures=0, hvi=2.07]
90%|████████▉ | 449/500 [00:17<00:02, 22.59it/s, failures=0, hvi=2.07]
90%|████████▉ | 449/500 [00:17<00:02, 22.59it/s, failures=0, hvi=2.07]
90%|█████████ | 450/500 [00:17<00:02, 22.59it/s, failures=0, hvi=2.07]
90%|█████████ | 451/500 [00:17<00:02, 22.59it/s, failures=0, hvi=2.07]
90%|█████████ | 452/500 [00:17<00:02, 22.50it/s, failures=0, hvi=2.07]
90%|█████████ | 452/500 [00:17<00:02, 22.50it/s, failures=0, hvi=2.07]
91%|█████████ | 453/500 [00:17<00:02, 22.50it/s, failures=0, hvi=2.07]
91%|█████████ | 454/500 [00:17<00:02, 22.50it/s, failures=0, hvi=2.07]
91%|█████████ | 455/500 [00:17<00:02, 22.45it/s, failures=0, hvi=2.07]
91%|█████████ | 455/500 [00:17<00:02, 22.45it/s, failures=0, hvi=2.07]
91%|█████████ | 456/500 [00:17<00:01, 22.45it/s, failures=0, hvi=2.07]
91%|█████████▏| 457/500 [00:17<00:01, 22.45it/s, failures=0, hvi=2.07]
92%|█████████▏| 458/500 [00:17<00:01, 22.35it/s, failures=0, hvi=2.07]
92%|█████████▏| 458/500 [00:17<00:01, 22.35it/s, failures=0, hvi=2.07]
92%|█████████▏| 459/500 [00:17<00:01, 22.35it/s, failures=0, hvi=2.07]
92%|█████████▏| 460/500 [00:17<00:01, 22.35it/s, failures=0, hvi=2.07]
92%|█████████▏| 461/500 [00:17<00:01, 22.14it/s, failures=0, hvi=2.07]
92%|█████████▏| 461/500 [00:17<00:01, 22.14it/s, failures=0, hvi=2.07]
92%|█████████▏| 462/500 [00:17<00:01, 22.14it/s, failures=0, hvi=2.07]
93%|█████████▎| 463/500 [00:17<00:01, 22.14it/s, failures=0, hvi=2.07]
93%|█████████▎| 464/500 [00:17<00:01, 22.00it/s, failures=0, hvi=2.07]
93%|█████████▎| 464/500 [00:17<00:01, 22.00it/s, failures=0, hvi=2.07]
93%|█████████▎| 465/500 [00:17<00:01, 22.00it/s, failures=0, hvi=2.07]
93%|█████████▎| 466/500 [00:18<00:01, 22.00it/s, failures=0, hvi=2.07]
93%|█████████▎| 467/500 [00:18<00:01, 21.79it/s, failures=0, hvi=2.07]
93%|█████████▎| 467/500 [00:18<00:01, 21.79it/s, failures=0, hvi=2.08]
94%|█████████▎| 468/500 [00:18<00:01, 21.79it/s, failures=0, hvi=2.08]
94%|█████████▍| 469/500 [00:18<00:01, 21.79it/s, failures=0, hvi=2.08]
94%|█████████▍| 470/500 [00:18<00:01, 18.35it/s, failures=0, hvi=2.08]
94%|█████████▍| 470/500 [00:18<00:01, 18.35it/s, failures=0, hvi=2.08]
94%|█████████▍| 471/500 [00:18<00:01, 18.35it/s, failures=0, hvi=2.08]
94%|█████████▍| 472/500 [00:18<00:01, 18.35it/s, failures=0, hvi=2.08]
95%|█████████▍| 473/500 [00:18<00:01, 19.37it/s, failures=0, hvi=2.08]
95%|█████████▍| 473/500 [00:18<00:01, 19.37it/s, failures=0, hvi=2.08]
95%|█████████▍| 474/500 [00:18<00:01, 19.37it/s, failures=0, hvi=2.08]
95%|█████████▌| 475/500 [00:18<00:01, 19.37it/s, failures=0, hvi=2.08]
95%|█████████▌| 476/500 [00:18<00:01, 20.15it/s, failures=0, hvi=2.08]
95%|█████████▌| 476/500 [00:18<00:01, 20.15it/s, failures=0, hvi=2.08]
95%|█████████▌| 477/500 [00:18<00:01, 20.15it/s, failures=0, hvi=2.08]
96%|█████████▌| 478/500 [00:18<00:01, 20.15it/s, failures=0, hvi=2.08]
96%|█████████▌| 479/500 [00:18<00:01, 20.73it/s, failures=0, hvi=2.08]
96%|█████████▌| 479/500 [00:18<00:01, 20.73it/s, failures=0, hvi=2.08]
96%|█████████▌| 480/500 [00:18<00:00, 20.73it/s, failures=0, hvi=2.08]
96%|█████████▌| 481/500 [00:18<00:00, 20.73it/s, failures=0, hvi=2.08]
96%|█████████▋| 482/500 [00:18<00:00, 21.15it/s, failures=0, hvi=2.08]
96%|█████████▋| 482/500 [00:18<00:00, 21.15it/s, failures=0, hvi=2.08]
97%|█████████▋| 483/500 [00:18<00:00, 21.15it/s, failures=0, hvi=2.08]
97%|█████████▋| 484/500 [00:18<00:00, 21.15it/s, failures=0, hvi=2.08]
97%|█████████▋| 485/500 [00:18<00:00, 21.37it/s, failures=0, hvi=2.08]
97%|█████████▋| 485/500 [00:18<00:00, 21.37it/s, failures=0, hvi=2.08]
97%|█████████▋| 486/500 [00:19<00:00, 21.37it/s, failures=0, hvi=2.08]
97%|█████████▋| 487/500 [00:19<00:00, 21.37it/s, failures=0, hvi=2.08]
98%|█████████▊| 488/500 [00:19<00:00, 21.58it/s, failures=0, hvi=2.08]
98%|█████████▊| 488/500 [00:19<00:00, 21.58it/s, failures=0, hvi=2.08]
98%|█████████▊| 489/500 [00:19<00:00, 21.58it/s, failures=0, hvi=2.08]
98%|█████████▊| 490/500 [00:19<00:00, 21.58it/s, failures=0, hvi=2.08]
98%|█████████▊| 491/500 [00:19<00:00, 21.39it/s, failures=0, hvi=2.08]
98%|█████████▊| 491/500 [00:19<00:00, 21.39it/s, failures=0, hvi=2.08]
98%|█████████▊| 492/500 [00:19<00:00, 21.39it/s, failures=0, hvi=2.08]
99%|█████████▊| 493/500 [00:19<00:00, 21.39it/s, failures=0, hvi=2.08]
99%|█████████▉| 494/500 [00:19<00:00, 21.52it/s, failures=0, hvi=2.08]
99%|█████████▉| 494/500 [00:19<00:00, 21.52it/s, failures=0, hvi=2.08]
99%|█████████▉| 495/500 [00:19<00:00, 21.52it/s, failures=0, hvi=2.08]
99%|█████████▉| 496/500 [00:19<00:00, 21.52it/s, failures=0, hvi=2.08]
99%|█████████▉| 497/500 [00:19<00:00, 21.57it/s, failures=0, hvi=2.08]
99%|█████████▉| 497/500 [00:19<00:00, 21.57it/s, failures=0, hvi=2.08]
100%|█████████▉| 498/500 [00:19<00:00, 21.57it/s, failures=0, hvi=2.08]
100%|█████████▉| 499/500 [00:19<00:00, 21.57it/s, failures=0, hvi=2.08]
100%|██████████| 500/500 [00:19<00:00, 21.69it/s, failures=0, hvi=2.08]
100%|██████████| 500/500 [00:19<00:00, 21.69it/s, failures=0, hvi=2.08]
100%|██████████| 500/500 [00:19<00:00, 25.45it/s, failures=0, hvi=2.08]
A Pandas table of results is returned by the search and also saved at ./results.csv
. An other location can be specified by using CBO(..., log_dir=...)
.
In this table we retrieve:
columns starting by
p:
which are the optimized variables.the
objective_{i}
are the objectives returned by the black-box function.the
job_id
is the identifier of the executed evaluations.columns starting by
m:
are metadata returned by the black-box function.pareto_efficient
is a column only returned for MOO which specify if the evaluation is part of the set of optimal solutions.
Let us use this table to visualize evaluated objectives. The estimated optimal solutions will be colored in red.
Code (Plot evaluated objectives)
fig, ax = plt.subplots(figsize=(WIDTH_PLOTS, HEIGHT_PLOTS), tight_layout=True)
_ = ax.plot(
-results[~results["pareto_efficient"]]["objective_0"],
-results[~results["pareto_efficient"]]["objective_1"],
"o",
color="blue",
alpha=0.7,
label="Non Pareto-Efficient",
)
_ = ax.plot(
-results[results["pareto_efficient"]]["objective_0"],
-results[results["pareto_efficient"]]["objective_1"],
"o",
color="red",
alpha=0.7,
label="Pareto-Efficient",
)
_ = ax.grid()
_ = ax.legend()
_ = ax.set_xlabel("Objective 0")
_ = ax.set_ylabel("Objective 1")

Let us look the evolution of the hypervolume indicator. This metric should increase over time.
Code (Plot hypervolume)
scorer = bench.scorer
hvi = scorer.hypervolume(results[["objective_0", "objective_1"]].values)
x = list(range(1, len(hvi)+1))
fig, ax = plt.subplots(figsize=(WIDTH_PLOTS, HEIGHT_PLOTS), tight_layout=True)
_ = ax.plot(x, hvi)
_ = ax.grid()
_ = ax.set_xlabel("Evaluations")
_ = ax.set_ylabel("Hypervolume Indicator")

Total running time of the script: (0 minutes 21.313 seconds)