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.problems.multiobjective_optimization.fonseca_fleming import FonsecaFleming
from gemseo.settings.opt import MNBI_Settings

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 - 20:34:35: Optimization problem:
    INFO - 20:34:35:    minimize FonsecaFleming
    INFO - 20:34:35:    with respect to x
    INFO - 20:34:35:    over the design space:
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:       | Name | Lower bound | Value | Upper bound | Type  |
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:       | x[0] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | x[1] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | x[2] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35: Solving optimization problem with algorithm MNBI:
    INFO - 20:34:35: Searching for the individual optimum of each objective
    INFO - 20:34:35: Optimization problem:
    INFO - 20:34:35:    minimize f_0
    INFO - 20:34:35:    with respect to x
    INFO - 20:34:35:    over the design space:
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:       | Name | Lower bound | Value | Upper bound | Type  |
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:       | x[0] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | x[1] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | x[2] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:      1%|          | 6/1000 [00:00<00:00, 1296.41 it/sec, obj=[2.04753293e-04 9.82706845e-01]]
    INFO - 20:34:35:      1%|          | 7/1000 [00:00<00:00, 1333.76 it/sec, obj=[1.10060811e-06 9.81607360e-01]]
    INFO - 20:34:35:      1%|          | 8/1000 [00:00<00:00, 1364.45 it/sec, obj=[2.36699549e-13 9.81684376e-01]]
    INFO - 20:34:35:      1%|          | 9/1000 [00:00<00:00, 1397.79 it/sec, obj=[3.17715032e-09 9.81684363e-01]]
    INFO - 20:34:35:      1%|          | 10/1000 [00:00<00:00, 1506.25 it/sec, obj=[2.74601453e-11 9.81684374e-01]]
    INFO - 20:34:35:      1%|          | 11/1000 [00:00<00:00, 1513.99 it/sec, obj=[5.44009282e-14 9.81684376e-01]]
    INFO - 20:34:35:      1%|          | 12/1000 [00:00<00:00, 1420.83 it/sec, obj=[0.         0.98168436]]
    INFO - 20:34:35:      1%|▏         | 13/1000 [00:00<00:00, 1433.72 it/sec, obj=[0.         0.98168436]]
    INFO - 20:34:35:      1%|▏         | 14/1000 [00:00<00:00, 1514.11 it/sec, obj=[0.         0.98168436]]
    INFO - 20:34:35: Optimization result:
    INFO - 20:34:35:    Optimizer info:
    INFO - 20:34:35:       Status: None
    INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
    INFO - 20:34:35:    Solution:
    INFO - 20:34:35:       Objective: 0.0
    INFO - 20:34:35:       Design space:
    INFO - 20:34:35:          +------+-------------+--------------------+-------------+-------+
    INFO - 20:34:35:          | Name | Lower bound |       Value        | Upper bound | Type  |
    INFO - 20:34:35:          +------+-------------+--------------------+-------------+-------+
    INFO - 20:34:35:          | x[0] |      -4     | 0.5773502690103198 |      4      | float |
    INFO - 20:34:35:          | x[1] |      -4     | 0.5773502690115331 |      4      | float |
    INFO - 20:34:35:          | x[2] |      -4     | 0.5773502690114345 |      4      | float |
    INFO - 20:34:35:          +------+-------------+--------------------+-------------+-------+
    INFO - 20:34:35: Optimization problem:
    INFO - 20:34:35:    minimize f_1
    INFO - 20:34:35:    with respect to x
    INFO - 20:34:35:    over the design space:
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:       | Name | Lower bound | Value | Upper bound | Type  |
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:       | x[0] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | x[1] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | x[2] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:      2%|▏         | 15/1000 [00:00<00:00, 1240.50 it/sec, obj=[1. 1.]]
    INFO - 20:34:35:      2%|▏         | 16/1000 [00:00<00:00, 1301.52 it/sec, obj=[0.99999998 0.9931056 ]]
    INFO - 20:34:35:      2%|▏         | 17/1000 [00:00<00:00, 1309.73 it/sec, obj=[0.99688636 0.14955784]]
    INFO - 20:34:35:      2%|▏         | 18/1000 [00:00<00:00, 1267.86 it/sec, obj=[0.9492493  0.07206897]]
    INFO - 20:34:35:      2%|▏         | 19/1000 [00:00<00:00, 1280.97 it/sec, obj=[9.82706845e-01 2.04753293e-04]]
    INFO - 20:34:35:      2%|▏         | 20/1000 [00:00<00:00, 1295.28 it/sec, obj=[9.81607360e-01 1.10060811e-06]]
    INFO - 20:34:35:      2%|▏         | 21/1000 [00:00<00:00, 1308.34 it/sec, obj=[9.81684376e-01 2.44582132e-13]]
    INFO - 20:34:35:      2%|▏         | 22/1000 [00:00<00:00, 1320.02 it/sec, obj=[9.81684363e-01 3.30383776e-09]]
    INFO - 20:34:35:      2%|▏         | 23/1000 [00:00<00:00, 1365.20 it/sec, obj=[9.81684374e-01 2.85538260e-11]]
    INFO - 20:34:35:      2%|▏         | 24/1000 [00:00<00:00, 1373.21 it/sec, obj=[9.81684376e-01 5.49560397e-14]]
    INFO - 20:34:35:      2%|▎         | 25/1000 [00:00<00:00, 1337.73 it/sec, obj=[0.98168436 0.        ]]
    INFO - 20:34:35:      3%|▎         | 26/1000 [00:00<00:00, 1348.42 it/sec, obj=[0.98168436 0.        ]]
    INFO - 20:34:35:      3%|▎         | 27/1000 [00:00<00:00, 1387.82 it/sec, obj=[0.98168436 0.        ]]
    INFO - 20:34:35: Optimization result:
    INFO - 20:34:35:    Optimizer info:
    INFO - 20:34:35:       Status: None
    INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
    INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
    INFO - 20:34:35:    Solution:
    INFO - 20:34:35:       Objective: 0.0
    INFO - 20:34:35:       Design space:
    INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
    INFO - 20:34:35:          | Name | Lower bound |        Value        | Upper bound | Type  |
    INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
    INFO - 20:34:35:          | x[0] |      -4     | -0.5773502690171886 |      4      | float |
    INFO - 20:34:35:          | x[1] |      -4     | -0.5773502690183139 |      4      | float |
    INFO - 20:34:35:          | x[2] |      -4     | -0.5773502690182495 |      4      | float |
    INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
    INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.49084218 0.49084218]
    INFO - 20:34:35: Optimization problem:
    INFO - 20:34:35:    minimize -t_extraction
    INFO - 20:34:35:    with respect to t, x
    INFO - 20:34:35:    under the inequality constraints
    INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
    INFO - 20:34:35:    over the design space:
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:       | Name | Lower bound | Value | Upper bound | Type  |
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
    INFO - 20:34:35:       | x[0] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | x[1] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | x[2] |      -4     |   0   |      4      | float |
    INFO - 20:34:35:       | t    |     -inf    |   0   |     inf     | float |
    INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
   ERROR - 20:34:35: NLopt run failed: NLopt roundoff-limited, RoundoffLimited
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/gemseo/envs/6.2.0/lib/python3.12/site-packages/gemseo/algos/opt/nlopt/nlopt.py", line 403, in _run
    nlopt_problem.optimize(x_0.real)
  File "/home/docs/checkouts/readthedocs.org/user_builds/gemseo/envs/6.2.0/lib/python3.12/site-packages/nlopt/nlopt.py", line 454, in optimize
    return _nlopt.opt_optimize(self, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
nlopt.RoundoffLimited: NLopt roundoff-limited
    INFO - 20:34:35: Optimization result:
    INFO - 20:34:35:    Optimizer info:
    INFO - 20:34:35:       Status: None
    INFO - 20:34:35:       Message: GEMSEO stopped the driver.
    INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
    INFO - 20:34:35:    Solution:
    INFO - 20:34:35:       The solution is feasible.
    INFO - 20:34:35:       Objective: 0.1439142599025487
    INFO - 20:34:35:       Standardized constraints:
    INFO - 20:34:35:          beta_sub_optim_constraint = [ 4.99600361e-16 -1.33226763e-15]
    INFO - 20:34:35:       Design space:
    INFO - 20:34:35:          +------+-------------+------------------------+-------------+-------+
    INFO - 20:34:35:          | Name | Lower bound |         Value          | Upper bound | Type  |
    INFO - 20:34:35:          +------+-------------+------------------------+-------------+-------+
    INFO - 20:34:35:          | x[0] |      -4     | -2.193800696659309e-13 |      4      | float |
    INFO - 20:34:35:          | x[1] |      -4     | -2.193800696659309e-13 |      4      | float |
    INFO - 20:34:35:          | x[2] |      -4     | -2.193800696659309e-13 |      4      | float |
    INFO - 20:34:35:          | t    |     -inf    |  -0.1439142599025487   |     inf     | float |
    INFO - 20:34:35:          +------+-------------+------------------------+-------------+-------+
    INFO - 20:34:35:      3%|▎         | 28/1000 [00:00<00:01, 798.69 it/sec, obj=[0.63212056 0.63212056]]
    INFO - 20:34:35: Optimization result:
    INFO - 20:34:35:    Optimizer info:
    INFO - 20:34:35:       Status: None
    INFO - 20:34:35:       Message: None
    INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
    INFO - 20:34:35:    Solution:
    INFO - 20:34:35:       Objective: 0.8939534673502063
    INFO - 20:34:35:    Pareto efficient solutions:
    INFO - 20:34:35:       Pareto optimal points : 8 / 28
    INFO - 20:34:35:       Utopia point : [0. 0.]
    INFO - 20:34:35:       Compromise solution (closest to utopia) : [[0.63212056 0.63212056]]
    INFO - 20:34:35:       Distance from utopia : 0.8939534673502063
    INFO - 20:34:35:       Objective values:
    INFO - 20:34:35:          +------+----------+----------+----------+
    INFO - 20:34:35:          | name |        1 |        2 |        3 |
    INFO - 20:34:35:          +------+----------+----------+----------+
    INFO - 20:34:35:          |    1 |        0 | 0.981684 | 0.632121 |
    INFO - 20:34:35:          |    2 | 0.981684 |        0 | 0.632121 |
    INFO - 20:34:35:          +------+----------+----------+----------+
    INFO - 20:34:35:       Design space:
    INFO - 20:34:35:          +-------+-------------+---------+----------+---+-------------+-------+
    INFO - 20:34:35:          |  name | lower_bound |       1 |        2 | 3 | upper_bound |  type |
    INFO - 20:34:35:          +-------+-------------+---------+----------+---+-------------+-------+
    INFO - 20:34:35:          | x (1) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
    INFO - 20:34:35:          | x (2) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
    INFO - 20:34:35:          | x (3) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
    INFO - 20:34:35:          +-------+-------------+---------+----------+---+-------------+-------+

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 0x78592fb2bb90>

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 - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize FonsecaFleming
INFO - 20:34:35:    with respect to x
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound | Value | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35: Solving optimization problem with algorithm MNBI:
INFO - 20:34:35: Searching for the individual optimum of each objective
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize f_0
INFO - 20:34:35:    with respect to x
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound | Value | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:      1%|          | 6/1000 [00:00<00:00, 1153.87 it/sec, obj=[2.04753293e-04 9.82706845e-01]]
INFO - 20:34:35:      1%|          | 7/1000 [00:00<00:00, 1202.05 it/sec, obj=[1.10060811e-06 9.81607360e-01]]
INFO - 20:34:35:      1%|          | 8/1000 [00:00<00:00, 1239.68 it/sec, obj=[2.36699549e-13 9.81684376e-01]]
INFO - 20:34:35:      1%|          | 9/1000 [00:00<00:00, 1274.91 it/sec, obj=[3.17715032e-09 9.81684363e-01]]
INFO - 20:34:35:      1%|          | 10/1000 [00:00<00:00, 1381.48 it/sec, obj=[2.74601453e-11 9.81684374e-01]]
INFO - 20:34:35:      1%|          | 11/1000 [00:00<00:00, 1393.79 it/sec, obj=[5.44009282e-14 9.81684376e-01]]
INFO - 20:34:35:      1%|          | 12/1000 [00:00<00:00, 1320.49 it/sec, obj=[0.         0.98168436]]
INFO - 20:34:35:      1%|▏         | 13/1000 [00:00<00:00, 1343.47 it/sec, obj=[0.         0.98168436]]
INFO - 20:34:35:      1%|▏         | 14/1000 [00:00<00:00, 1417.71 it/sec, obj=[0.         0.98168436]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       Objective: 0.0
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+--------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |       Value        | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+--------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     | 0.5773502690103198 |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     | 0.5773502690115331 |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     | 0.5773502690114345 |      4      | float |
INFO - 20:34:35:          +------+-------------+--------------------+-------------+-------+
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize f_1
INFO - 20:34:35:    with respect to x
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound | Value | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:      2%|▏         | 15/1000 [00:00<00:00, 1153.21 it/sec, obj=[1. 1.]]
INFO - 20:34:35:      2%|▏         | 16/1000 [00:00<00:00, 1211.22 it/sec, obj=[0.99999998 0.9931056 ]]
INFO - 20:34:35:      2%|▏         | 17/1000 [00:00<00:00, 1223.98 it/sec, obj=[0.99688636 0.14955784]]
INFO - 20:34:35:      2%|▏         | 18/1000 [00:00<00:00, 1191.58 it/sec, obj=[0.9492493  0.07206897]]
INFO - 20:34:35:      2%|▏         | 19/1000 [00:00<00:00, 1208.18 it/sec, obj=[9.82706845e-01 2.04753293e-04]]
INFO - 20:34:35:      2%|▏         | 20/1000 [00:00<00:00, 1222.24 it/sec, obj=[9.81607360e-01 1.10060811e-06]]
INFO - 20:34:35:      2%|▏         | 21/1000 [00:00<00:00, 1236.29 it/sec, obj=[9.81684376e-01 2.44582132e-13]]
INFO - 20:34:35:      2%|▏         | 22/1000 [00:00<00:00, 1252.32 it/sec, obj=[9.81684363e-01 3.30383776e-09]]
INFO - 20:34:35:      2%|▏         | 23/1000 [00:00<00:00, 1296.24 it/sec, obj=[9.81684374e-01 2.85538260e-11]]
INFO - 20:34:35:      2%|▏         | 24/1000 [00:00<00:00, 1305.37 it/sec, obj=[9.81684376e-01 5.49560397e-14]]
INFO - 20:34:35:      2%|▎         | 25/1000 [00:00<00:00, 1277.50 it/sec, obj=[0.98168436 0.        ]]
INFO - 20:34:35:      3%|▎         | 26/1000 [00:00<00:00, 1287.36 it/sec, obj=[0.98168436 0.        ]]
INFO - 20:34:35:      3%|▎         | 27/1000 [00:00<00:00, 1325.32 it/sec, obj=[0.98168436 0.        ]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       Objective: 0.0
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     | -0.5773502690171886 |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     | -0.5773502690183139 |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     | -0.5773502690182495 |      4      | float |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.87260832 0.10907604]
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize -t_extraction
INFO - 20:34:35:    with respect to t, x
INFO - 20:34:35:    under the inequality constraints
INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound | Value | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     |   0   |      4      | float |
INFO - 20:34:35:       | t    |     -inf    |   0   |     inf     | float |
INFO - 20:34:35:       +------+-------------+-------+-------------+-------+
INFO - 20:34:35:      3%|▎         | 28/1000 [00:00<00:00, 1120.39 it/sec, obj=[0.90043834 0.20664322]]
INFO - 20:34:35:      3%|▎         | 29/1000 [00:00<00:00, 1121.52 it/sec, obj=[0.91873293 0.15869784]]
INFO - 20:34:35:      3%|▎         | 30/1000 [00:00<00:00, 1123.94 it/sec, obj=[0.91966962 0.15614908]]
INFO - 20:34:35:      3%|▎         | 31/1000 [00:00<00:00, 1126.43 it/sec, obj=[0.91967277 0.15614049]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the design variables are closer than xtol_rel or xtol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       The solution is feasible.
INFO - 20:34:35:       Objective: 0.04794255052718603
INFO - 20:34:35:       Standardized constraints:
INFO - 20:34:35:          beta_sub_optim_constraint = [-3.40005801e-16  1.22124533e-15]
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value         | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     | -0.3394642613203538  |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     | -0.3394642613418939  |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     | -0.3394642613412335  |      4      | float |
INFO - 20:34:35:          | t    |     -inf    | -0.04794255052718603 |     inf     | float |
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.76353228 0.21815208]
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize -t_extraction
INFO - 20:34:35:    with respect to t, x
INFO - 20:34:35:    under the inequality constraints
INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound |        Value         | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     | -0.3394642613203538  |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     | -0.3394642613418939  |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     | -0.3394642613412335  |      4      | float |
INFO - 20:34:35:       | t    |     -inf    | -0.04794255052718603 |     inf     | float |
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:      3%|▎         | 32/1000 [00:00<00:00, 1028.99 it/sec, obj=[0.91967277 0.15614049]]
INFO - 20:34:35:      3%|▎         | 33/1000 [00:00<00:00, 1034.75 it/sec, obj=[0.84203912 0.33739501]]
INFO - 20:34:35:      3%|▎         | 34/1000 [00:00<00:00, 1041.82 it/sec, obj=[0.85527677 0.31046303]]
INFO - 20:34:35:      4%|▎         | 35/1000 [00:00<00:00, 1044.97 it/sec, obj=[0.85546004 0.31007996]]
INFO - 20:34:35:      4%|▎         | 36/1000 [00:00<00:00, 1048.64 it/sec, obj=[0.85546007 0.31007988]]
INFO - 20:34:35:      4%|▎         | 37/1000 [00:00<00:00, 1052.38 it/sec, obj=[0.85546011 0.31007981]]
INFO - 20:34:35:      4%|▍         | 38/1000 [00:00<00:00, 1075.27 it/sec, obj=[0.85546009 0.31007985]]
INFO - 20:34:35:      4%|▍         | 39/1000 [00:00<00:00, 1080.28 it/sec, obj=[0.85546008 0.31007987]]
INFO - 20:34:35:      4%|▍         | 40/1000 [00:00<00:00, 1060.02 it/sec, obj=[0.85546036 0.31008138]]
INFO - 20:34:35:      4%|▍         | 41/1000 [00:00<00:00, 1080.37 it/sec, obj=[0.85546008 0.31007988]]
INFO - 20:34:35:      4%|▍         | 42/1000 [00:00<00:00, 1085.66 it/sec, obj=[0.85546008 0.31007987]]
INFO - 20:34:35:      4%|▍         | 43/1000 [00:00<00:00, 1066.18 it/sec, obj=[0.85546008 0.31007988]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the design variables are closer than xtol_rel or xtol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       The solution is feasible.
INFO - 20:34:35:       Objective: 0.0936428904369956
INFO - 20:34:35:       Standardized constraints:
INFO - 20:34:35:          beta_sub_optim_constraint = [3.23069635e-07 1.54208054e-06]
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     | -0.2267935871306594 |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     | -0.2249791246049364 |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     | -0.2250347509118633 |      4      | float |
INFO - 20:34:35:          | t    |     -inf    | -0.0936428904369956 |     inf     | float |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.65445624 0.32722812]
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize -t_extraction
INFO - 20:34:35:    with respect to t, x
INFO - 20:34:35:    under the inequality constraints
INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     | -0.2267935871306594 |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     | -0.2249791246049364 |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     | -0.2250347509118633 |      4      | float |
INFO - 20:34:35:       | t    |     -inf    | -0.0936428904369956 |     inf     | float |
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:      4%|▍         | 44/1000 [00:00<00:00, 1001.30 it/sec, obj=[0.85546008 0.31007988]]
INFO - 20:34:35:      4%|▍         | 45/1000 [00:00<00:00, 1006.29 it/sec, obj=[0.77244255 0.46197037]]
INFO - 20:34:35:      5%|▍         | 46/1000 [00:00<00:00, 1013.19 it/sec, obj=[0.79066399 0.50014328]]
INFO - 20:34:35:      5%|▍         | 47/1000 [00:00<00:00, 1031.07 it/sec, obj=[0.77247321 0.46039445]]
INFO - 20:34:35:      5%|▍         | 48/1000 [00:00<00:00, 1019.74 it/sec, obj=[0.77732675 0.45120451]]
INFO - 20:34:35:      5%|▍         | 49/1000 [00:00<00:00, 1021.00 it/sec, obj=[0.77767105 0.45050041]]
INFO - 20:34:35:      5%|▌         | 50/1000 [00:00<00:00, 1021.88 it/sec, obj=[0.77769343 0.45046537]]
INFO - 20:34:35:      5%|▌         | 51/1000 [00:00<00:00, 1025.05 it/sec, obj=[0.77769345 0.45046533]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       The solution is feasible.
INFO - 20:34:35:       Objective: 0.1254738422258529
INFO - 20:34:35:       Standardized constraints:
INFO - 20:34:35:          beta_sub_optim_constraint = [3.91048601e-05 9.65823903e-05]
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     | -0.1302778506739593 |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     | -0.1307744591161613 |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     |  -0.130759234500589 |      4      | float |
INFO - 20:34:35:          | t    |     -inf    | -0.1254738422258529 |     inf     | float |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.5453802  0.43630416]
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize -t_extraction
INFO - 20:34:35:    with respect to t, x
INFO - 20:34:35:    under the inequality constraints
INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     | -0.1302778506739593 |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     | -0.1307744591161613 |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     |  -0.130759234500589 |      4      | float |
INFO - 20:34:35:       | t    |     -inf    | -0.1254738422258529 |     inf     | float |
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:      5%|▌         | 52/1000 [00:00<00:00, 976.24 it/sec, obj=[0.77769345 0.45046533]]
INFO - 20:34:35:      5%|▌         | 53/1000 [00:00<00:00, 974.63 it/sec, obj=[0.68180949 0.57909344]]
INFO - 20:34:35:      5%|▌         | 54/1000 [00:00<00:00, 977.03 it/sec, obj=[0.76279322 0.68252822]]
INFO - 20:34:35:      6%|▌         | 55/1000 [00:00<00:00, 991.68 it/sec, obj=[0.68234298 0.5793074 ]]
INFO - 20:34:35:      6%|▌         | 56/1000 [00:00<00:00, 979.85 it/sec, obj=[0.68456816 0.57565254]]
INFO - 20:34:35:      6%|▌         | 57/1000 [00:00<00:00, 982.49 it/sec, obj=[0.68463865 0.57556363]]
INFO - 20:34:35:      6%|▌         | 58/1000 [00:00<00:00, 986.02 it/sec, obj=[0.68463912 0.57556308]]
INFO - 20:34:35:      6%|▌         | 59/1000 [00:00<00:00, 989.03 it/sec, obj=[0.68463912 0.57556308]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       The solution is feasible.
INFO - 20:34:35:       Objective: 0.1418536322151337
INFO - 20:34:35:       Standardized constraints:
INFO - 20:34:35:          beta_sub_optim_constraint = [2.95427000e-06 3.97562998e-06]
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value         | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     | -0.04283469865322287 |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     | -0.04289526887534079 |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     | -0.04289341196294805 |      4      | float |
INFO - 20:34:35:          | t    |     -inf    | -0.1418536322151337  |     inf     | float |
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.43630416 0.5453802 ]
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize -t_extraction
INFO - 20:34:35:    with respect to t, x
INFO - 20:34:35:    under the inequality constraints
INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound |        Value         | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     | -0.04283469865322287 |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     | -0.04289526887534079 |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     | -0.04289341196294805 |      4      | float |
INFO - 20:34:35:       | t    |     -inf    | -0.1418536322151337  |     inf     | float |
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:      6%|▌         | 60/1000 [00:00<00:00, 949.88 it/sec, obj=[0.68463912 0.57556308]]
INFO - 20:34:35:      6%|▌         | 61/1000 [00:00<00:00, 952.33 it/sec, obj=[0.57513327 0.68501309]]
INFO - 20:34:35:      6%|▌         | 62/1000 [00:00<00:00, 955.52 it/sec, obj=[0.57997105 0.68786997]]
INFO - 20:34:35:      6%|▋         | 63/1000 [00:00<00:00, 960.35 it/sec, obj=[0.57615647 0.68412765]]
INFO - 20:34:35:      6%|▋         | 64/1000 [00:00<00:00, 963.39 it/sec, obj=[0.57556315 0.68463907]]
INFO - 20:34:35:      6%|▋         | 65/1000 [00:00<00:00, 966.64 it/sec, obj=[0.57556308 0.68463912]]
INFO - 20:34:35:      7%|▋         | 66/1000 [00:00<00:00, 969.46 it/sec, obj=[0.57556308 0.68463912]]
INFO - 20:34:35:      7%|▋         | 67/1000 [00:00<00:00, 972.22 it/sec, obj=[0.57556308 0.68463912]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       The solution is feasible.
INFO - 20:34:35:       Objective: 0.1418571157886582
INFO - 20:34:35:       Standardized constraints:
INFO - 20:34:35:          beta_sub_optim_constraint = [7.64347430e-09 5.70086756e-09]
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     |  0.0428863643568409 |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     | 0.04286884211382702 |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     | 0.04286937930449231 |      4      | float |
INFO - 20:34:35:          | t    |     -inf    | -0.1418571157886582 |     inf     | float |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.32722812 0.65445624]
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize -t_extraction
INFO - 20:34:35:    with respect to t, x
INFO - 20:34:35:    under the inequality constraints
INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     |  0.0428863643568409 |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     | 0.04286884211382702 |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     | 0.04286937930449231 |      4      | float |
INFO - 20:34:35:       | t    |     -inf    | -0.1418571157886582 |     inf     | float |
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:      7%|▋         | 68/1000 [00:00<00:00, 940.27 it/sec, obj=[0.57556308 0.68463912]]
INFO - 20:34:35:      7%|▋         | 69/1000 [00:00<00:00, 942.54 it/sec, obj=[0.4529475  0.77609793]]
INFO - 20:34:35:      7%|▋         | 70/1000 [00:00<00:00, 945.37 it/sec, obj=[0.45096065 0.77788395]]
INFO - 20:34:35:      7%|▋         | 71/1000 [00:00<00:00, 949.40 it/sec, obj=[0.45063606 0.77758411]]
INFO - 20:34:35:      7%|▋         | 72/1000 [00:00<00:00, 951.99 it/sec, obj=[0.45046539 0.77769342]]
INFO - 20:34:35:      7%|▋         | 73/1000 [00:00<00:00, 954.65 it/sec, obj=[0.45046533 0.77769345]]
INFO - 20:34:35:      7%|▋         | 74/1000 [00:00<00:00, 957.52 it/sec, obj=[0.45046533 0.77769345]]
INFO - 20:34:35:      8%|▊         | 75/1000 [00:00<00:00, 960.40 it/sec, obj=[0.45046533 0.77769345]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       The solution is feasible.
INFO - 20:34:35:       Objective: 0.1255364252374492
INFO - 20:34:35:       Standardized constraints:
INFO - 20:34:35:          beta_sub_optim_constraint = [1.20443868e-07 3.26237204e-08]
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     |  0.130628678262207  |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     |  0.1306269867059493 |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     |  0.1306270385652022 |      4      | float |
INFO - 20:34:35:          | t    |     -inf    | -0.1255364252374492 |     inf     | float |
INFO - 20:34:35:          +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.21815208 0.76353228]
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize -t_extraction
INFO - 20:34:35:    with respect to t, x
INFO - 20:34:35:    under the inequality constraints
INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound |        Value        | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     |  0.130628678262207  |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     |  0.1306269867059493 |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     |  0.1306270385652022 |      4      | float |
INFO - 20:34:35:       | t    |     -inf    | -0.1255364252374492 |     inf     | float |
INFO - 20:34:35:       +------+-------------+---------------------+-------------+-------+
INFO - 20:34:35:      8%|▊         | 76/1000 [00:00<00:00, 931.97 it/sec, obj=[0.45046533 0.77769345]]
INFO - 20:34:35:      8%|▊         | 77/1000 [00:00<00:00, 933.96 it/sec, obj=[0.31697497 0.85214023]]
INFO - 20:34:35:      8%|▊         | 78/1000 [00:00<00:00, 936.49 it/sec, obj=[0.31011071 0.85544839]]
INFO - 20:34:35:      8%|▊         | 79/1000 [00:00<00:00, 939.16 it/sec, obj=[0.31055084 0.85552527]]
INFO - 20:34:35:      8%|▊         | 80/1000 [00:00<00:00, 948.97 it/sec, obj=[0.31010969 0.85544622]]
INFO - 20:34:35:      8%|▊         | 81/1000 [00:00<00:00, 942.36 it/sec, obj=[0.31008018 0.85545993]]
INFO - 20:34:35:      8%|▊         | 82/1000 [00:00<00:00, 945.01 it/sec, obj=[0.31007988 0.85546008]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the design variables are closer than xtol_rel or xtol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       The solution is feasible.
INFO - 20:34:35:       Objective: 0.0936426515727078
INFO - 20:34:35:       Standardized constraints:
INFO - 20:34:35:          beta_sub_optim_constraint = [5.77041547e-07 1.20798910e-07]
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value         | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     |  0.2255934194588862  |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     |  0.2256069512252434  |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     |  0.2256065363721858  |      4      | float |
INFO - 20:34:35:          | t    |     -inf    | -0.09364265157270781 |     inf     | float |
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35: Solving mNBI sub-problem for phi_beta = [0.10907604 0.87260832]
INFO - 20:34:35: Optimization problem:
INFO - 20:34:35:    minimize -t_extraction
INFO - 20:34:35:    with respect to t, x
INFO - 20:34:35:    under the inequality constraints
INFO - 20:34:35:       beta_sub_optim_constraint <= 0.0
INFO - 20:34:35:    over the design space:
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:       | Name | Lower bound |        Value         | Upper bound | Type  |
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:       | x[0] |      -4     |  0.2255934194588862  |      4      | float |
INFO - 20:34:35:       | x[1] |      -4     |  0.2256069512252434  |      4      | float |
INFO - 20:34:35:       | x[2] |      -4     |  0.2256065363721858  |      4      | float |
INFO - 20:34:35:       | t    |     -inf    | -0.09364265157270781 |     inf     | float |
INFO - 20:34:35:       +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:      8%|▊         | 83/1000 [00:00<00:01, 899.75 it/sec, obj=[0.31007987 0.85546008]]
INFO - 20:34:35:      8%|▊         | 84/1000 [00:00<00:01, 902.69 it/sec, obj=[0.17146343 0.91399085]]
INFO - 20:34:35:      8%|▊         | 85/1000 [00:00<00:01, 906.04 it/sec, obj=[0.15665503 0.91958662]]
INFO - 20:34:35:      9%|▊         | 86/1000 [00:00<00:01, 908.32 it/sec, obj=[0.15619301 0.91968459]]
INFO - 20:34:35:      9%|▊         | 87/1000 [00:00<00:01, 910.80 it/sec, obj=[0.156184   0.91965682]]
INFO - 20:34:35:      9%|▉         | 88/1000 [00:00<00:00, 913.31 it/sec, obj=[0.1561405  0.91967277]]
INFO - 20:34:35:      9%|▉         | 89/1000 [00:00<00:00, 915.83 it/sec, obj=[0.15614049 0.91967277]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: Successive iterates of the objective function are closer than ftol_rel or ftol_abs. GEMSEO stopped the driver.
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       The solution is feasible.
INFO - 20:34:35:       Objective: 0.04791993097249924
INFO - 20:34:35:       Standardized constraints:
INFO - 20:34:35:          beta_sub_optim_constraint = [6.57082378e-05 6.24935106e-06]
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:          | Name | Lower bound |        Value         | Upper bound | Type  |
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:          | x[0] |      -4     |  0.3393430625162628  |      4      | float |
INFO - 20:34:35:          | x[1] |      -4     |  0.3394726842127751  |      4      | float |
INFO - 20:34:35:          | x[2] |      -4     |  0.3394687103073935  |      4      | float |
INFO - 20:34:35:          | t    |     -inf    | -0.04791993097249924 |     inf     | float |
INFO - 20:34:35:          +------+-------------+----------------------+-------------+-------+
INFO - 20:34:35:      9%|▉         | 90/1000 [00:00<00:01, 792.50 it/sec, obj=[0.15614049 0.91967277]]
INFO - 20:34:35: Optimization result:
INFO - 20:34:35:    Optimizer info:
INFO - 20:34:35:       Status: None
INFO - 20:34:35:       Message: None
INFO - 20:34:35:       Number of calls to the objective function by the optimizer: 0
INFO - 20:34:35:    Solution:
INFO - 20:34:35:       Objective: 0.8939534673502063
INFO - 20:34:35:    Pareto efficient solutions:
INFO - 20:34:35:       Pareto optimal points : 58 / 90
INFO - 20:34:35:       Utopia point : [0. 0.]
INFO - 20:34:35:       Compromise solution (closest to utopia) : [[0.63212056 0.63212056]]
INFO - 20:34:35:       Distance from utopia : 0.8939534673502063
INFO - 20:34:35:       Objective values:
INFO - 20:34:35:          +------+----------+----------+----------+
INFO - 20:34:35:          | name |        1 |        2 |        3 |
INFO - 20:34:35:          +------+----------+----------+----------+
INFO - 20:34:35:          |    1 |        0 | 0.981684 | 0.632121 |
INFO - 20:34:35:          |    2 | 0.981684 |        0 | 0.632121 |
INFO - 20:34:35:          +------+----------+----------+----------+
INFO - 20:34:35:       Design space:
INFO - 20:34:35:          +-------+-------------+---------+----------+---+-------------+-------+
INFO - 20:34:35:          |  name | lower_bound |       1 |        2 | 3 | upper_bound |  type |
INFO - 20:34:35:          +-------+-------------+---------+----------+---+-------------+-------+
INFO - 20:34:35:          | x (1) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
INFO - 20:34:35:          | x (2) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
INFO - 20:34:35:          | x (3) |          -4 | 0.57735 | -0.57735 | 0 |           4 | float |
INFO - 20:34:35:          +-------+-------------+---------+----------+---+-------------+-------+

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 0x78592f5a1d90>

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

Gallery generated by Sphinx-Gallery