Multi-objective Fonseca-Fleming example with the mNBI algorithm#

In this example, the modified Normal Boundary Intersection algorithm (mNBI) is used to solve the FonsecaFleming optimization problem [FF95]:

\[\begin{split}\begin{aligned} \text{minimize the objective function } & f_1(x) = 1 - exp(-\sum_{i=1}^{d}((x_i - 1 / sqrt(d)) ^ 2)) \\ & f_2(x) = 1 + exp(-\sum_{i=1}^{d}((x_i + 1 / sqrt(d)) ^ 2)) \\ \text{with respect to the design variables }&x\\ \text{subject to the bound constraint} & x\in[-4,4]^d \end{aligned}\end{split}\]

We also show how the Pareto front can be refined.

from __future__ import annotations

from gemseo import configure_logger
from gemseo import execute_algo
from gemseo import execute_post
from gemseo.algos.opt.mnbi.settings.mnbi_settings import MNBI_Settings
from gemseo.problems.multiobjective_optimization.fonseca_fleming import FonsecaFleming

configure_logger()
<RootLogger root (INFO)>

Solve the Fonseca-Fleming optimization problem#

The 3 sub-optimization problems of mNBI are solved with SLSQP, a gradient-based optimization algorithm from the NLOPT library, with a maximum of 100 iterations. The analytic gradients are provided.

opt_problem = FonsecaFleming()
mnbi_settings = MNBI_Settings(
    max_iter=1000,
    sub_optim_max_iter=100,
    n_sub_optim=3,
    sub_optim_algo="NLOPT_SLSQP",
)
result = execute_algo(opt_problem, settings_model=mnbi_settings)
INFO - 08:36:10: Optimization problem:
INFO - 08:36:10:    minimize FonsecaFleming
INFO - 08:36:10:    with respect to x
INFO - 08:36:10:    over the design space:
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:       | Name | Lower bound | Value | Upper bound | Type  |
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:       | x[0] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | x[1] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | x[2] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10: Solving optimization problem with algorithm MNBI:
INFO - 08:36:10: Searching for the individual optimum of each objective
INFO - 08:36:10: Optimization problem:
INFO - 08:36:10:    minimize f_0
INFO - 08:36:10:    with respect to x
INFO - 08:36:10:    over the design space:
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:       | Name | Lower bound | Value | Upper bound | Type  |
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:       | x[0] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | x[1] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | x[2] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:      1%|          | 6/1000 [00:00<00:01, 598.18 it/sec, obj=[2.04753293e-04 9.82706845e-01]]
INFO - 08:36:10:      1%|          | 7/1000 [00:00<00:01, 616.41 it/sec, obj=[1.10060811e-06 9.81607360e-01]]
INFO - 08:36:10:      1%|          | 8/1000 [00:00<00:01, 632.08 it/sec, obj=[9.01501096e-14 9.81684376e-01]]
INFO - 08:36:10:      1%|          | 9/1000 [00:00<00:01, 644.00 it/sec, obj=[8.15628010e-10 9.81684362e-01]]
INFO - 08:36:10:      1%|          | 10/1000 [00:00<00:01, 697.11 it/sec, obj=[7.07334191e-12 9.81684374e-01]]
INFO - 08:36:10:      1%|          | 11/1000 [00:00<00:01, 697.71 it/sec, obj=[4.27435864e-14 9.81684376e-01]]
INFO - 08:36:10:      1%|          | 12/1000 [00:00<00:01, 651.05 it/sec, obj=[0.         0.98168436]]
INFO - 08:36:10:      1%|▏         | 13/1000 [00:00<00:01, 660.00 it/sec, obj=[0.         0.98168436]]
INFO - 08:36:10:      1%|▏         | 14/1000 [00:00<00:01, 698.39 it/sec, obj=[0.         0.98168436]]
INFO - 08:36:10: Optimization result:
INFO - 08:36:10:    Optimizer info:
INFO - 08:36:10:       Status: None
INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 17
INFO - 08:36:10:    Solution:
INFO - 08:36:10:       Objective: 0.0
INFO - 08:36:10:       Design space:
INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
INFO - 08:36:10:          | Name | Lower bound |       Value        | Upper bound | Type  |
INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
INFO - 08:36:10:          | x[0] |      -4     | 0.5773502684895009 |      4      | float |
INFO - 08:36:10:          | x[1] |      -4     | 0.5773502684994094 |      4      | float |
INFO - 08:36:10:          | x[2] |      -4     | 0.5773502684993135 |      4      | float |
INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
INFO - 08:36:10: Optimization problem:
INFO - 08:36:10:    minimize f_1
INFO - 08:36:10:    with respect to x
INFO - 08:36:10:    over the design space:
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:       | Name | Lower bound | Value | Upper bound | Type  |
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:       | x[0] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | x[1] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | x[2] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:      2%|▏         | 15/1000 [00:00<00:01, 562.50 it/sec, obj=[1. 1.]]
INFO - 08:36:10:      2%|▏         | 16/1000 [00:00<00:01, 592.01 it/sec, obj=[0.99999998 0.9931056 ]]
INFO - 08:36:10:      2%|▏         | 17/1000 [00:00<00:01, 597.51 it/sec, obj=[0.99688636 0.14955784]]
INFO - 08:36:10:      2%|▏         | 18/1000 [00:00<00:01, 578.55 it/sec, obj=[0.9492493  0.07206897]]
INFO - 08:36:10:      2%|▏         | 19/1000 [00:00<00:01, 586.07 it/sec, obj=[9.82706845e-01 2.04753293e-04]]
INFO - 08:36:10:      2%|▏         | 20/1000 [00:00<00:01, 592.97 it/sec, obj=[9.81607360e-01 1.10060811e-06]]
INFO - 08:36:10:      2%|▏         | 21/1000 [00:00<00:01, 598.88 it/sec, obj=[9.81684376e-01 9.24815780e-14]]
INFO - 08:36:10:      2%|▏         | 22/1000 [00:00<00:01, 605.30 it/sec, obj=[9.81684362e-01 8.52572346e-10]]
INFO - 08:36:10:      2%|▏         | 23/1000 [00:00<00:01, 626.61 it/sec, obj=[9.81684374e-01 7.39219796e-12]]
INFO - 08:36:10:      2%|▏         | 24/1000 [00:00<00:01, 628.74 it/sec, obj=[9.81684376e-01 4.29656311e-14]]
INFO - 08:36:10:      2%|▎         | 25/1000 [00:00<00:01, 612.94 it/sec, obj=[0.98168436 0.        ]]
INFO - 08:36:10:      3%|▎         | 26/1000 [00:00<00:01, 617.70 it/sec, obj=[0.98168436 0.        ]]
INFO - 08:36:10:      3%|▎         | 27/1000 [00:00<00:01, 636.10 it/sec, obj=[0.98168436 0.        ]]
INFO - 08:36:10: Optimization result:
INFO - 08:36:10:    Optimizer info:
INFO - 08:36:10:       Status: None
INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 17
INFO - 08:36:10:    Solution:
INFO - 08:36:10:       Objective: 0.0
INFO - 08:36:10:       Design space:
INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
INFO - 08:36:10:          | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
INFO - 08:36:10:          | x[0] |      -4     | -0.5773502685200489 |      4      | float |
INFO - 08:36:10:          | x[1] |      -4     | -0.5773502685300462 |      4      | float |
INFO - 08:36:10:          | x[2] |      -4     | -0.5773502685281993 |      4      | float |
INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.49084218 0.49084218]
INFO - 08:36:10: Optimization problem:
INFO - 08:36:10:    minimize -t_extraction
INFO - 08:36:10:    with respect to t, x
INFO - 08:36:10:    subject to constraints:
INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
INFO - 08:36:10:    over the design space:
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:       | Name | Lower bound | Value | Upper bound | Type  |
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:       | x[0] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | x[1] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | x[2] |      -4     |   0   |      4      | float |
INFO - 08:36:10:       | t    |     -inf    |   0   |     inf     | float |
INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
INFO - 08:36:10:      3%|▎         | 28/1000 [00:00<00:01, 538.12 it/sec, obj=[0.63212056 0.63212056]]
INFO - 08:36:10: Optimization result:
INFO - 08:36:10:    Optimizer info:
INFO - 08:36:10:       Status: None
INFO - 08:36:10:       Message: Successive iterates of the design variables are closer than xtol_rel or xtol_abs. GEMSEO stopped the driver.
INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 4
INFO - 08:36:10:    Solution:
INFO - 08:36:10:       The solution is feasible.
INFO - 08:36:10:       Objective: 0.14391425994444806
INFO - 08:36:10:       Standardized constraints:
INFO - 08:36:10:          beta_sub_optim_constraint = [ 8.16013923e-15 -4.96824804e-15]
INFO - 08:36:10:       Design space:
INFO - 08:36:10:          +------+-------------+------------------------+-------------+-------+
INFO - 08:36:10:          | Name | Lower bound |         Value          | Upper bound | Type  |
INFO - 08:36:10:          +------+-------------+------------------------+-------------+-------+
INFO - 08:36:10:          | x[0] |      -4     | -9.676703882632864e-13 |      4      | float |
INFO - 08:36:10:          | x[1] |      -4     | -9.676703882632864e-13 |      4      | float |
INFO - 08:36:10:          | x[2] |      -4     | -9.676703882632864e-13 |      4      | float |
INFO - 08:36:10:          | t    |     -inf    |  -0.1439142599444481   |     inf     | float |
INFO - 08:36:10:          +------+-------------+------------------------+-------------+-------+
INFO - 08:36:10:      3%|▎         | 29/1000 [00:00<00:02, 384.41 it/sec, obj=[0.63212056 0.63212056]]
INFO - 08:36:10: Optimization result:
INFO - 08:36:10:    Optimizer info:
INFO - 08:36:10:       Status: None
INFO - 08:36:10:       Message: None
INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 36
INFO - 08:36:10:    Solution:
INFO - 08:36:10:       Objective: 0.8939534673502061
INFO - 08:36:10:    Pareto efficient solutions:
INFO - 08:36:10:       Pareto optimal points : 9 / 29
INFO - 08:36:10:       Utopia point : [0. 0.]
INFO - 08:36:10:       Compromise solution (closest to utopia) : [[0.63212056 0.63212056]]
INFO - 08:36:10:       Distance from utopia : 0.8939534673502061
INFO - 08:36:10:       Objective values:
INFO - 08:36:10:          +------+----------+----------+----------+
INFO - 08:36:10:          | name |        1 |        2 |        3 |
INFO - 08:36:10:          +------+----------+----------+----------+
INFO - 08:36:10:          |    1 |        0 | 0.981684 | 0.632121 |
INFO - 08:36:10:          |    2 | 0.981684 |        0 | 0.632121 |
INFO - 08:36:10:          +------+----------+----------+----------+
INFO - 08:36:10:       Design space:
INFO - 08:36:10:          +-------+-------------+---------+----------+---+-------------+-------+
INFO - 08:36:10:          |  name | lower_bound |       1 |        2 | 3 | upper_bound |  type |
INFO - 08:36:10:          +-------+-------------+---------+----------+---+-------------+-------+
INFO - 08:36:10:          | x (1) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
INFO - 08:36:10:          | x (2) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
INFO - 08:36:10:          | x (3) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
INFO - 08:36:10:          +-------+-------------+---------+----------+---+-------------+-------+

Display the Pareto front#

GEMSEO detects the Pareto optimal points and the dominated ones. The Fonseca-Fleming problem is interesting because its Pareto front is not convex. The mNBI algorithm successfully computes it.

execute_post(opt_problem, post_name="ParetoFront", save=False, show=True)
Pareto front
<gemseo.post.pareto_front.ParetoFront object at 0x7f25228a0cd0>

Solve the Fonseca-Fleming optimization problem more finely#

The Pareto front is then refined with 10 sub-optimizations instead of 3.

opt_problem = FonsecaFleming()
mnbi_settings.n_sub_optim = 10
result = execute_algo(opt_problem, settings_model=mnbi_settings)
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize FonsecaFleming
    INFO - 08:36:10:    with respect to x
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound | Value | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10: Solving optimization problem with algorithm MNBI:
    INFO - 08:36:10: Searching for the individual optimum of each objective
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize f_0
    INFO - 08:36:10:    with respect to x
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound | Value | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:      1%|          | 6/1000 [00:00<00:01, 565.08 it/sec, obj=[2.04753293e-04 9.82706845e-01]]
    INFO - 08:36:10:      1%|          | 7/1000 [00:00<00:01, 585.91 it/sec, obj=[1.10060811e-06 9.81607360e-01]]
    INFO - 08:36:10:      1%|          | 8/1000 [00:00<00:01, 602.56 it/sec, obj=[9.01501096e-14 9.81684376e-01]]
    INFO - 08:36:10:      1%|          | 9/1000 [00:00<00:01, 617.65 it/sec, obj=[8.15628010e-10 9.81684362e-01]]
    INFO - 08:36:10:      1%|          | 10/1000 [00:00<00:01, 670.12 it/sec, obj=[7.07334191e-12 9.81684374e-01]]
    INFO - 08:36:10:      1%|          | 11/1000 [00:00<00:01, 670.60 it/sec, obj=[4.27435864e-14 9.81684376e-01]]
    INFO - 08:36:10:      1%|          | 12/1000 [00:00<00:01, 615.45 it/sec, obj=[0.         0.98168436]]
    INFO - 08:36:10:      1%|▏         | 13/1000 [00:00<00:01, 612.29 it/sec, obj=[0.         0.98168436]]
    INFO - 08:36:10:      1%|▏         | 14/1000 [00:00<00:01, 648.51 it/sec, obj=[0.         0.98168436]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 17
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       Objective: 0.0
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |       Value        | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     | 0.5773502684895009 |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     | 0.5773502684994094 |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     | 0.5773502684993135 |      4      | float |
    INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize f_1
    INFO - 08:36:10:    with respect to x
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound | Value | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:      2%|▏         | 15/1000 [00:00<00:01, 526.33 it/sec, obj=[1. 1.]]
    INFO - 08:36:10:      2%|▏         | 16/1000 [00:00<00:01, 554.44 it/sec, obj=[0.99999998 0.9931056 ]]
    INFO - 08:36:10:      2%|▏         | 17/1000 [00:00<00:01, 561.39 it/sec, obj=[0.99688636 0.14955784]]
    INFO - 08:36:10:      2%|▏         | 18/1000 [00:00<00:01, 541.30 it/sec, obj=[0.9492493  0.07206897]]
    INFO - 08:36:10:      2%|▏         | 19/1000 [00:00<00:01, 546.06 it/sec, obj=[9.82706845e-01 2.04753293e-04]]
    INFO - 08:36:10:      2%|▏         | 20/1000 [00:00<00:01, 553.75 it/sec, obj=[9.81607360e-01 1.10060811e-06]]
    INFO - 08:36:10:      2%|▏         | 21/1000 [00:00<00:01, 560.69 it/sec, obj=[9.81684376e-01 9.24815780e-14]]
    INFO - 08:36:10:      2%|▏         | 22/1000 [00:00<00:01, 568.07 it/sec, obj=[9.81684362e-01 8.52572346e-10]]
    INFO - 08:36:10:      2%|▏         | 23/1000 [00:00<00:01, 588.51 it/sec, obj=[9.81684374e-01 7.39219796e-12]]
    INFO - 08:36:10:      2%|▏         | 24/1000 [00:00<00:01, 591.75 it/sec, obj=[9.81684376e-01 4.29656311e-14]]
    INFO - 08:36:10:      2%|▎         | 25/1000 [00:00<00:01, 579.04 it/sec, obj=[0.98168436 0.        ]]
    INFO - 08:36:10:      3%|▎         | 26/1000 [00:00<00:01, 584.38 it/sec, obj=[0.98168436 0.        ]]
    INFO - 08:36:10:      3%|▎         | 27/1000 [00:00<00:01, 602.09 it/sec, obj=[0.98168436 0.        ]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 17
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       Objective: 0.0
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |        Value        | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     | -0.5773502685200489 |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     | -0.5773502685300462 |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     | -0.5773502685281993 |      4      | float |
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.87260832 0.10907604]
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize -t_extraction
    INFO - 08:36:10:    with respect to t, x
    INFO - 08:36:10:    subject to constraints:
    INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound | Value | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     |   0   |      4      | float |
    INFO - 08:36:10:       | t    |     -inf    |   0   |     inf     | float |
    INFO - 08:36:10:       +------+-------------+-------+-------------+-------+
    INFO - 08:36:10:      3%|▎         | 28/1000 [00:00<00:01, 518.17 it/sec, obj=[0.90043834 0.20664322]]
    INFO - 08:36:10:      3%|▎         | 29/1000 [00:00<00:01, 519.76 it/sec, obj=[0.91873293 0.15869784]]
    INFO - 08:36:10:      3%|▎         | 30/1000 [00:00<00:01, 520.92 it/sec, obj=[0.91966962 0.15614908]]
    INFO - 08:36:10:      3%|▎         | 31/1000 [00:00<00:01, 522.20 it/sec, obj=[0.91967277 0.15614049]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the design variables are closer than xtol_rel or xtol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 7
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       The solution is feasible.
    INFO - 08:36:10:       Objective: 0.047942550573600556
    INFO - 08:36:10:       Standardized constraints:
    INFO - 08:36:10:          beta_sub_optim_constraint = [ 6.93889390e-16 -1.83880688e-15]
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     |  -0.339464261305511  |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     | -0.3394642613042733  |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     | -0.3394642613061056  |      4      | float |
    INFO - 08:36:10:          | t    |     -inf    | -0.04794255057360056 |     inf     | float |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.76353228 0.21815208]
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize -t_extraction
    INFO - 08:36:10:    with respect to t, x
    INFO - 08:36:10:    subject to constraints:
    INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     |  -0.339464261305511  |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     | -0.3394642613042733  |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     | -0.3394642613061056  |      4      | float |
    INFO - 08:36:10:       | t    |     -inf    | -0.04794255057360056 |     inf     | float |
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:      3%|▎         | 32/1000 [00:00<00:02, 473.14 it/sec, obj=[0.91967277 0.15614049]]
    INFO - 08:36:10:      3%|▎         | 33/1000 [00:00<00:02, 476.55 it/sec, obj=[0.84203912 0.33739501]]
    INFO - 08:36:10:      3%|▎         | 34/1000 [00:00<00:02, 479.90 it/sec, obj=[0.85527677 0.31046303]]
    INFO - 08:36:10:      4%|▎         | 35/1000 [00:00<00:02, 481.41 it/sec, obj=[0.85546004 0.31007996]]
    INFO - 08:36:10:      4%|▎         | 36/1000 [00:00<00:01, 483.62 it/sec, obj=[0.85546004 0.31007995]]
    INFO - 08:36:10:      4%|▎         | 37/1000 [00:00<00:01, 485.14 it/sec, obj=[0.85546009 0.31007984]]
    INFO - 08:36:10:      4%|▍         | 38/1000 [00:00<00:01, 486.87 it/sec, obj=[0.8554601  0.31007982]]
    INFO - 08:36:10:      4%|▍         | 39/1000 [00:00<00:01, 497.44 it/sec, obj=[0.8554601  0.31007983]]
    INFO - 08:36:10:      4%|▍         | 40/1000 [00:00<00:01, 499.86 it/sec, obj=[0.8554601  0.31007983]]
    INFO - 08:36:10:      4%|▍         | 41/1000 [00:00<00:01, 501.89 it/sec, obj=[0.85546009 0.31007984]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 12
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       The solution is feasible.
    INFO - 08:36:10:       Objective: 0.09364289795630283
    INFO - 08:36:10:       Standardized constraints:
    INFO - 08:36:10:          beta_sub_optim_constraint = [ 5.50654545e-08 -3.31157324e-08]
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     | -0.2256025551311831  |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     | -0.2256025557747829  |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     | -0.2256025548218257  |      4      | float |
    INFO - 08:36:10:          | t    |     -inf    | -0.09364289795630283 |     inf     | float |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.65445624 0.32722812]
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize -t_extraction
    INFO - 08:36:10:    with respect to t, x
    INFO - 08:36:10:    subject to constraints:
    INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     | -0.2256025551311831  |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     | -0.2256025557747829  |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     | -0.2256025548218257  |      4      | float |
    INFO - 08:36:10:       | t    |     -inf    | -0.09364289795630283 |     inf     | float |
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:      4%|▍         | 42/1000 [00:00<00:02, 459.56 it/sec, obj=[0.77161691 0.45984452]]
    INFO - 08:36:10:      4%|▍         | 43/1000 [00:00<00:02, 461.27 it/sec, obj=[0.77767797 0.45048948]]
    INFO - 08:36:10:      4%|▍         | 44/1000 [00:00<00:02, 463.21 it/sec, obj=[0.77769345 0.45046534]]
    INFO - 08:36:10:      4%|▍         | 45/1000 [00:00<00:02, 464.71 it/sec, obj=[0.77769475 0.45046867]]
    INFO - 08:36:10:      5%|▍         | 46/1000 [00:00<00:02, 473.32 it/sec, obj=[0.77769346 0.45046536]]
    INFO - 08:36:10:      5%|▍         | 47/1000 [00:00<00:02, 475.74 it/sec, obj=[0.77769345 0.45046534]]
    INFO - 08:36:10:      5%|▍         | 48/1000 [00:00<00:02, 468.73 it/sec, obj=[0.77769345 0.45046533]]
   ERROR - 08:36:10: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/gemseo/envs/stable/lib/python3.9/site-packages/gemseo/algos/opt/nlopt/nlopt.py", line 384, in _run
    nlopt_problem.optimize(x_0.real)
  File "/home/docs/checkouts/readthedocs.org/user_builds/gemseo/envs/stable/lib/python3.9/site-packages/nlopt/nlopt.py", line 335, in optimize
    return _nlopt.opt_optimize(self, *args)
nlopt.RoundoffLimited: NLopt roundoff-limited
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 11
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       The solution is feasible.
    INFO - 08:36:10:       Objective: 0.1255363970177465
    INFO - 08:36:10:       Standardized constraints:
    INFO - 08:36:10:          beta_sub_optim_constraint = [1.38732549e-06 3.42942337e-06]
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |        Value        | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     | -0.1302316085444764 |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     | -0.1325189233805686 |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     | -0.1291321707661721 |      4      | float |
    INFO - 08:36:10:          | t    |     -inf    | -0.1255363970177465 |     inf     | float |
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.5453802  0.43630416]
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize -t_extraction
    INFO - 08:36:10:    with respect to t, x
    INFO - 08:36:10:    subject to constraints:
    INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound |        Value        | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     | -0.1302316085444764 |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     | -0.1325189233805686 |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     | -0.1291321707661721 |      4      | float |
    INFO - 08:36:10:       | t    |     -inf    | -0.1255363970177465 |     inf     | float |
    INFO - 08:36:10:       +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:      5%|▍         | 49/1000 [00:00<00:02, 443.17 it/sec, obj=[0.77769345 0.45046533]]
    INFO - 08:36:10:      5%|▌         | 50/1000 [00:00<00:02, 445.59 it/sec, obj=[0.68555698 0.58426668]]
    INFO - 08:36:10:      5%|▌         | 51/1000 [00:00<00:02, 448.16 it/sec, obj=[0.68399938 0.57650637]]
    INFO - 08:36:10:      5%|▌         | 52/1000 [00:00<00:02, 450.74 it/sec, obj=[0.68462482 0.57558952]]
    INFO - 08:36:10:      5%|▌         | 53/1000 [00:00<00:02, 452.11 it/sec, obj=[0.68463858 0.57556374]]
    INFO - 08:36:10:      5%|▌         | 54/1000 [00:00<00:02, 453.95 it/sec, obj=[0.68463912 0.57556308]]
    INFO - 08:36:10:      6%|▌         | 55/1000 [00:00<00:02, 455.43 it/sec, obj=[0.68463912 0.57556308]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 10
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       The solution is feasible.
    INFO - 08:36:10:       Objective: 0.14185306201349607
    INFO - 08:36:10:       Standardized constraints:
    INFO - 08:36:10:          beta_sub_optim_constraint = [3.45183683e-06 4.64490810e-06]
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     | -0.04291047733084286 |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     | -0.04270203738455658 |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     | -0.04301066762956651 |      4      | float |
    INFO - 08:36:10:          | t    |     -inf    | -0.1418530620134961  |     inf     | float |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.43630416 0.5453802 ]
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize -t_extraction
    INFO - 08:36:10:    with respect to t, x
    INFO - 08:36:10:    subject to constraints:
    INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     | -0.04291047733084286 |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     | -0.04270203738455658 |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     | -0.04301066762956651 |      4      | float |
    INFO - 08:36:10:       | t    |     -inf    | -0.1418530620134961  |     inf     | float |
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:      6%|▌         | 56/1000 [00:00<00:02, 433.69 it/sec, obj=[0.68463912 0.57556308]]
    INFO - 08:36:10:      6%|▌         | 57/1000 [00:00<00:02, 435.39 it/sec, obj=[0.57517744 0.68504627]]
    INFO - 08:36:10:      6%|▌         | 58/1000 [00:00<00:02, 436.97 it/sec, obj=[0.64468964 0.73529265]]
    INFO - 08:36:10:      6%|▌         | 59/1000 [00:00<00:02, 443.33 it/sec, obj=[0.57567735 0.68526336]]
    INFO - 08:36:10:      6%|▌         | 60/1000 [00:00<00:02, 438.68 it/sec, obj=[0.57562684 0.68458418]]
    INFO - 08:36:10:      6%|▌         | 61/1000 [00:00<00:02, 440.30 it/sec, obj=[0.57556309 0.68463912]]
    INFO - 08:36:10:      6%|▌         | 62/1000 [00:00<00:02, 441.84 it/sec, obj=[0.57556308 0.68463912]]
    INFO - 08:36:10:      6%|▋         | 63/1000 [00:00<00:02, 443.47 it/sec, obj=[0.57556308 0.68463912]]
    INFO - 08:36:10:      6%|▋         | 64/1000 [00:00<00:02, 445.06 it/sec, obj=[0.57556308 0.68463912]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 13
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       The solution is feasible.
    INFO - 08:36:10:       Objective: 0.141857085596892
    INFO - 08:36:10:       Standardized constraints:
    INFO - 08:36:10:          beta_sub_optim_constraint = [4.92134715e-08 3.53502475e-08]
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |        Value        | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     | 0.04285487868216808 |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     | 0.04297029133272012 |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     | 0.04279940357728407 |      4      | float |
    INFO - 08:36:10:          | t    |     -inf    |  -0.141857085596892 |     inf     | float |
    INFO - 08:36:10:          +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.32722812 0.65445624]
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize -t_extraction
    INFO - 08:36:10:    with respect to t, x
    INFO - 08:36:10:    subject to constraints:
    INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound |        Value        | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     | 0.04285487868216808 |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     | 0.04297029133272012 |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     | 0.04279940357728407 |      4      | float |
    INFO - 08:36:10:       | t    |     -inf    |  -0.141857085596892 |     inf     | float |
    INFO - 08:36:10:       +------+-------------+---------------------+-------------+-------+
    INFO - 08:36:10:      6%|▋         | 65/1000 [00:00<00:02, 423.76 it/sec, obj=[0.57556308 0.68463912]]
    INFO - 08:36:10:      7%|▋         | 66/1000 [00:00<00:02, 425.07 it/sec, obj=[0.45296521 0.77610508]]
    INFO - 08:36:10:      7%|▋         | 67/1000 [00:00<00:02, 426.37 it/sec, obj=[0.4857272  0.79138788]]
    INFO - 08:36:10:      7%|▋         | 68/1000 [00:00<00:02, 431.76 it/sec, obj=[0.45359005 0.77673074]]
    INFO - 08:36:10:      7%|▋         | 69/1000 [00:00<00:02, 428.30 it/sec, obj=[0.45080811 0.77747394]]
    INFO - 08:36:10:      7%|▋         | 70/1000 [00:00<00:02, 429.75 it/sec, obj=[0.45046544 0.77769341]]
    INFO - 08:36:10:      7%|▋         | 71/1000 [00:00<00:02, 431.00 it/sec, obj=[0.45046534 0.77769345]]
    INFO - 08:36:10:      7%|▋         | 72/1000 [00:00<00:02, 432.42 it/sec, obj=[0.45046533 0.77769345]]
    INFO - 08:36:10:      7%|▋         | 73/1000 [00:00<00:02, 433.77 it/sec, obj=[0.45046533 0.77769345]]
    INFO - 08:36:10:      7%|▋         | 74/1000 [00:00<00:02, 435.18 it/sec, obj=[0.45046533 0.77769345]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 14
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       The solution is feasible.
    INFO - 08:36:10:       Objective: 0.12553645235059005
    INFO - 08:36:10:       Standardized constraints:
    INFO - 08:36:10:          beta_sub_optim_constraint = [ 1.49882953e-07 -4.26679669e-09]
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |       Value        | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     | 0.1305933450637484 |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     | 0.130790914197771  |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     | 0.1304983800119963 |      4      | float |
    INFO - 08:36:10:          | t    |     -inf    | -0.12553645235059  |     inf     | float |
    INFO - 08:36:10:          +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.21815208 0.76353228]
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize -t_extraction
    INFO - 08:36:10:    with respect to t, x
    INFO - 08:36:10:    subject to constraints:
    INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound |       Value        | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     | 0.1305933450637484 |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     | 0.130790914197771  |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     | 0.1304983800119963 |      4      | float |
    INFO - 08:36:10:       | t    |     -inf    | -0.12553645235059  |     inf     | float |
    INFO - 08:36:10:       +------+-------------+--------------------+-------------+-------+
    INFO - 08:36:10:      8%|▊         | 75/1000 [00:00<00:02, 420.87 it/sec, obj=[0.45046533 0.77769345]]
    INFO - 08:36:10:      8%|▊         | 76/1000 [00:00<00:02, 422.21 it/sec, obj=[0.31703362 0.85215238]]
    INFO - 08:36:10:      8%|▊         | 77/1000 [00:00<00:02, 423.51 it/sec, obj=[0.40288985 0.87338417]]
    INFO - 08:36:10:      8%|▊         | 78/1000 [00:00<00:02, 428.17 it/sec, obj=[0.31715667 0.85249332]]
    INFO - 08:36:10:      8%|▊         | 79/1000 [00:00<00:02, 426.11 it/sec, obj=[0.31040011 0.85530776]]
    INFO - 08:36:10:      8%|▊         | 80/1000 [00:00<00:02, 426.68 it/sec, obj=[0.31008035 0.85545991]]
    INFO - 08:36:10:      8%|▊         | 81/1000 [00:00<00:02, 427.88 it/sec, obj=[0.3100799  0.85546007]]
    INFO - 08:36:10:      8%|▊         | 82/1000 [00:00<00:02, 429.20 it/sec, obj=[0.31007988 0.85546007]]
    INFO - 08:36:10:      8%|▊         | 83/1000 [00:00<00:02, 430.40 it/sec, obj=[0.31007988 0.85546008]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 13
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       The solution is feasible.
    INFO - 08:36:10:       Objective: 0.09364266739626721
    INFO - 08:36:10:       Standardized constraints:
    INFO - 08:36:10:          beta_sub_optim_constraint = [7.23490535e-07 8.72958074e-08]
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     |  0.2255448712436445  |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     |  0.2258763306714222  |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     |  0.2253855494856154  |      4      | float |
    INFO - 08:36:10:          | t    |     -inf    | -0.09364266739626721 |     inf     | float |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10: Solving mNBI sub-problem for phi_beta = [0.10907604 0.87260832]
    INFO - 08:36:10: Optimization problem:
    INFO - 08:36:10:    minimize -t_extraction
    INFO - 08:36:10:    with respect to t, x
    INFO - 08:36:10:    subject to constraints:
    INFO - 08:36:10:       beta_sub_optim_constraint <= 0.0
    INFO - 08:36:10:    over the design space:
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:       | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:       | x[0] |      -4     |  0.2255448712436445  |      4      | float |
    INFO - 08:36:10:       | x[1] |      -4     |  0.2258763306714222  |      4      | float |
    INFO - 08:36:10:       | x[2] |      -4     |  0.2253855494856154  |      4      | float |
    INFO - 08:36:10:       | t    |     -inf    | -0.09364266739626721 |     inf     | float |
    INFO - 08:36:10:       +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:      8%|▊         | 84/1000 [00:00<00:02, 417.68 it/sec, obj=[0.31007988 0.85546008]]
    INFO - 08:36:10:      8%|▊         | 85/1000 [00:00<00:02, 419.31 it/sec, obj=[0.17162737 0.91400636]]
    INFO - 08:36:10:      9%|▊         | 86/1000 [00:00<00:02, 421.20 it/sec, obj=[0.29857451 0.93068206]]
    INFO - 08:36:10:      9%|▊         | 87/1000 [00:00<00:02, 425.35 it/sec, obj=[0.17152252 0.91447953]]
    INFO - 08:36:10:      9%|▉         | 88/1000 [00:00<00:02, 423.54 it/sec, obj=[0.15696325 0.91937307]]
    INFO - 08:36:10:      9%|▉         | 89/1000 [00:00<00:02, 424.60 it/sec, obj=[0.15614412 0.91967146]]
    INFO - 08:36:10:      9%|▉         | 90/1000 [00:00<00:02, 425.74 it/sec, obj=[0.15614051 0.91967277]]
    INFO - 08:36:10:      9%|▉         | 91/1000 [00:00<00:02, 426.24 it/sec, obj=[0.15614049 0.91967277]]
    INFO - 08:36:10:      9%|▉         | 92/1000 [00:00<00:02, 427.38 it/sec, obj=[0.15614049 0.91967277]]
    INFO - 08:36:10:      9%|▉         | 93/1000 [00:00<00:02, 428.38 it/sec, obj=[0.15614049 0.91967277]]
    INFO - 08:36:10:      9%|▉         | 94/1000 [00:00<00:02, 429.54 it/sec, obj=[0.15614049 0.91967277]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 15
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       The solution is feasible.
    INFO - 08:36:10:       Objective: 0.047941264984527124
    INFO - 08:36:10:       Standardized constraints:
    INFO - 08:36:10:          beta_sub_optim_constraint = [ 4.88540472e-06 -4.82444740e-08]
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | Name | Lower bound |        Value         | Upper bound | Type  |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:          | x[0] |      -4     |  0.3394255200896286  |      4      | float |
    INFO - 08:36:10:          | x[1] |      -4     |  0.3396321336864006  |      4      | float |
    INFO - 08:36:10:          | x[2] |      -4     |  0.3393262076587185  |      4      | float |
    INFO - 08:36:10:          | t    |     -inf    | -0.04794126498452712 |     inf     | float |
    INFO - 08:36:10:          +------+-------------+----------------------+-------------+-------+
    INFO - 08:36:10:     10%|▉         | 95/1000 [00:00<00:02, 386.95 it/sec, obj=[0.15614049 0.91967277]]
    INFO - 08:36:10: Optimization result:
    INFO - 08:36:10:    Optimizer info:
    INFO - 08:36:10:       Status: None
    INFO - 08:36:10:       Message: None
    INFO - 08:36:10:       Number of calls to the objective function by the optimizer: 123
    INFO - 08:36:10:    Solution:
    INFO - 08:36:10:       Objective: 0.8939534673502061
    INFO - 08:36:10:    Pareto efficient solutions:
    INFO - 08:36:10:       Pareto optimal points : 61 / 95
    INFO - 08:36:10:       Utopia point : [0. 0.]
    INFO - 08:36:10:       Compromise solution (closest to utopia) : [[0.63212056 0.63212056]]
    INFO - 08:36:10:       Distance from utopia : 0.8939534673502061
    INFO - 08:36:10:       Objective values:
    INFO - 08:36:10:          +------+----------+----------+----------+
    INFO - 08:36:10:          | name |        1 |        2 |        3 |
    INFO - 08:36:10:          +------+----------+----------+----------+
    INFO - 08:36:10:          |    1 |        0 | 0.981684 | 0.632121 |
    INFO - 08:36:10:          |    2 | 0.981684 |        0 | 0.632121 |
    INFO - 08:36:10:          +------+----------+----------+----------+
    INFO - 08:36:10:       Design space:
    INFO - 08:36:10:          +-------+-------------+---------+----------+---+-------------+-------+
    INFO - 08:36:10:          |  name | lower_bound |       1 |        2 | 3 | upper_bound |  type |
    INFO - 08:36:10:          +-------+-------------+---------+----------+---+-------------+-------+
    INFO - 08:36:10:          | x (1) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
    INFO - 08:36:10:          | x (2) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
    INFO - 08:36:10:          | x (3) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
    INFO - 08:36:10:          +-------+-------------+---------+----------+---+-------------+-------+

Display the Pareto front#

We can clearly see the effect of the refinement.

execute_post(opt_problem, post_name="ParetoFront", save=False, show=True)
Pareto front
<gemseo.post.pareto_front.ParetoFront object at 0x7f2522aaf850>

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

Gallery generated by Sphinx-Gallery