Advection-Diffusion Model with FEniCs Backend#

Assimilation (Bayesian Inversion)#

[2]:
# Create the simulation model (AD with FE discretization)
from pyoed.models.simulation_models import fenics_models
model_timestep = 0.2
model = fenics_models.create_AdvectionDiffusion2D_model(dt=model_timestep)

# Ground truth of the inversion parameter (initial condition here)
true_model_state = model.create_initial_condition()
Set up the mesh and finite element spaces
Number of dofs: STATE=2023, PARAMETER=2023, ADJOINT=2023
No Jacobian form specified for nonlinear variational problem.
Differentiating residual form F to obtain Jacobian J = F'.
Solving nonlinear variational problem.
  Newton iteration 0: r (abs) = 2.095e+01 (tol = 1.000e-10) r (rel) = 1.000e+00 (tol = 1.000e-15)
  Newton iteration 1: r (abs) = 5.946e-02 (tol = 1.000e-10) r (rel) = 2.838e-03 (tol = 1.000e-15)
  Newton iteration 2: r (abs) = 1.836e-05 (tol = 1.000e-10) r (rel) = 8.761e-07 (tol = 1.000e-15)
  Newton iteration 3: r (abs) = 6.442e-12 (tol = 1.000e-10) r (rel) = 3.075e-13 (tol = 1.000e-15)
  Newton solver finished in 3 iterations and 3 linear solver iterations.
[3]:
# Plot the domain
model.plot_domain()
model.plot_velocity_field()
No Jacobian form specified for nonlinear variational problem.
Differentiating residual form F to obtain Jacobian J = F'.
Solving nonlinear variational problem.
  Newton iteration 0: r (abs) = 2.095e+01 (tol = 1.000e-10) r (rel) = 1.000e+00 (tol = 1.000e-15)
  Newton iteration 1: r (abs) = 5.946e-02 (tol = 1.000e-10) r (rel) = 2.838e-03 (tol = 1.000e-15)
  Newton iteration 2: r (abs) = 1.836e-05 (tol = 1.000e-10) r (rel) = 8.761e-07 (tol = 1.000e-15)
  Newton iteration 3: r (abs) = 6.442e-12 (tol = 1.000e-10) r (rel) = 3.075e-13 (tol = 1.000e-15)
  Newton solver finished in 3 iterations and 3 linear solver iterations.
Object cannot be plotted directly, projecting to piecewise linears.
[3]:
<Axes: >
../_images/tutorials_OED_AD_FE_3_2.png
../_images/tutorials_OED_AD_FE_3_3.png
[4]:
from pyoed.models.error_models import Laplacian
configs = dict(Vh=model.parameter_dof,
               mean=model.parameter_vector(init_val=0.5),
               gamma=1.0,
               delta=16,
               random_seed=123,
               )
prior = Laplacian.DolfinBiLaplacianErrorModel(configs)
/opt/homebrew/Caskroom/miniconda/base/envs/pyoed-dev/lib/python3.12/site-packages/ffc/jitcompiler.py:234: QuadratureRepresentationDeprecationWarning:
*** ===================================================== ***
*** FFC: quadrature representation is deprecated! It will ***
*** likely be removed in 2018.2.0 release. Use uflacs     ***
*** representation instead.                               ***
*** ===================================================== ***
  issue_deprecation_warning()
/opt/homebrew/Caskroom/miniconda/base/envs/pyoed-dev/lib/python3.12/site-packages/ffc/jitcompiler.py:234: QuadratureRepresentationDeprecationWarning:
*** ===================================================== ***
*** FFC: quadrature representation is deprecated! It will ***
*** likely be removed in 2018.2.0 release. Use uflacs     ***
*** representation instead.                               ***
*** ===================================================== ***
  issue_deprecation_warning()
[5]:
# Create observation operator (5 candidate sensor points)
num_candidate_sensors = 10
from pyoed.models.observation_operators.fenics_observation_operators import(
    create_pointwise_observation_operator,
)
obs_oper = create_pointwise_observation_operator(model=model,
                                                 num_obs_points=num_candidate_sensors, )

# Display the observtion grid
_ = model.plot_domain(sensors_coordinates=obs_oper.get_observation_grid())
../_images/tutorials_OED_AD_FE_5_0.png
[6]:
# Create prior and observation error model
from pyoed.models.error_models.Gaussian import GaussianErrorModel
obs_noise = GaussianErrorModel(configs={'size':obs_oper.shape[0],
                                        'variance':0.1,
                                        'random_seed':123}, )
[7]:
# Create inversion/assimilation object (4DVar smoother here)
num_obs_time_points = 6
import numpy as np
from pyoed.assimilation.smoothing import fourDVar
checkpoints  = [0, 1, 1.2, 1.4, 2.0, 2.4]
DA_configs   = dict(assimilation_window=(checkpoints[0], checkpoints[-1]),
                    model=model,
                    prior_model=prior,
                    observation_operator=obs_oper,
                    observation_error_model=obs_noise, )
inverse_problem = fourDVar.VanillaFourDVar(configs=DA_configs)
[8]:
# Create and register observations (perturb observation from true model trajectory)
obs_times, true_obs = model.integrate_state(true_model_state,
                                            tspan=(checkpoints[0], checkpoints[-1]),
                                            checkpoints=checkpoints[1: ], )

# perturb with noise and register with the inverse problem
for t, y in zip(obs_times, true_obs):
    y    = obs_oper.apply(y)
    yobs = obs_noise.add_noise(y)
    inverse_problem.register_observation(t=t, observation=yobs)

Optimal Experimental Design (OED)#

Stochastic Binary OED#

[9]:
from pyoed.oed.sensor_placement.binary_oed import SensorPlacementBinaryOED
stochastic_oed_problem = SensorPlacementBinaryOED(
    configs=dict(
        inverse_problem=inverse_problem,
        criterion="A-opt",
        use_FIM=True,
        evaluation_method="randomized",
        optimization_settings={
            "def_stepsize":1e-6,
            "decay_step":True,
            "maxiter": 100,
        }
    )
)
[10]:
if False:
    # Register penalty/regularization term
    penalty_weight = 0  # Negative as the objective (trace of the FIM below)
    penalty_f = lambda design: np.count_nonzero(design)
    stochastic_oed_problem.register_penalty_term(penalty_function=penalty_f,
                                                 penalty_weight=penalty_weight,
                                                )
[12]:
# Solve the OED problem
stochastic_oed_results = stochastic_oed_problem.solve_oed_problem(verbose=True)
Solving the Binary OED problem using Stochastic RL learning approach...
*****************************************************************************
* BinaryReinforceOptimizer: Binary Optimization via Stochastic Learning
*****************************************************************************
Parameters:
====================
Objective                       : maximize
def_stepsize                    : 1e-06
Newton_step                     : False
decay_step                      : True
stochastic gradient sample size : 36
optimal_baseline_batch_size     : 12
optimal_baseline_epochs         : 3
maxiter                         : 100
pgtol                           : 1e-09
baseline                        : optimal
antithetic                      : True
====================

Evaluate Objective Value for design with index: 00569; Not found; calculating    --> Objective Value = 275665756.13501585
Evaluate Objective Value for design with index: 00133; Not found; calculating    --> Objective Value = 275665755.13776094
Evaluate Objective Value for design with index: 00182; Not found; calculating    --> Objective Value = 275665756.4555818
Evaluate Objective Value for design with index: 00921; Not found; calculating    --> Objective Value = 275665756.56744623
Evaluate Objective Value for design with index: 00077; Not found; calculating    --> Objective Value = 275665755.48070234
Evaluate Objective Value for design with index: 00795; Not found; calculating    --> Objective Value = 275665756.5884699
Evaluate Objective Value for design with index: 00034; Not found; calculating    --> Objective Value = 275665755.2281375
Evaluate Objective Value for design with index: 00604; Not found; calculating    --> Objective Value = 275665756.88761574
Evaluate Objective Value for design with index: 00312; Not found; calculating    --> Objective Value = 275665756.9826125
Evaluate Objective Value for design with index: 00722; Not found; calculating    --> Objective Value = 275665756.57224953
Evaluate Objective Value for design with index: 00887; Not found; calculating    --> Objective Value = 275665757.4803
Evaluate Objective Value for design with index: 00447; Not found; calculating    --> Objective Value = 275665757.1688872
Evaluate Objective Value for design with index: 00160; Not found; calculating    --> Objective Value = 275665756.6973712
Evaluate Objective Value for design with index: 00597; Not found; calculating    --> Objective Value = 275665756.23120666
Evaluate Objective Value for design with index: 00367; Not found; calculating    --> Objective Value = 275665756.7297957
Evaluate Objective Value for design with index: 00464; Not found; calculating    --> Objective Value = 275665757.08852947
Evaluate Objective Value for design with index: 00943; Not found; calculating    --> Objective Value = 275665757.23835254
Evaluate Objective Value for design with index: 00485; Not found; calculating    --> Objective Value = 275665756.4144297
Evaluate Objective Value for design with index: 00886; Not found; calculating    --> Objective Value = 275665757.56734395
Evaluate Objective Value for design with index: 00559; Not found; calculating    --> Objective Value = 275665756.4081026
Evaluate Objective Value for design with index: 00020; Not found; calculating    --> Objective Value = 275665755.66327524
Evaluate Objective Value for design with index: 00348; Not found; calculating    --> Objective Value = 275665756.8364666
Evaluate Objective Value for design with index: 00242; Not found; calculating    --> Objective Value = 275665756.41291326
Evaluate Objective Value for design with index: 00649; Not found; calculating    --> Objective Value = 275665755.57374865
Evaluate Objective Value for design with index: 00961; Not found; calculating    --> Objective Value = 275665756.1582554
Evaluate Objective Value for design with index: 00272; Not found; calculating    --> Objective Value = 275665756.39144456
Evaluate Objective Value for design with index: 00739; Not found; calculating    --> Objective Value = 275665756.39533484
Evaluate Objective Value for design with index: 00172; Not found; calculating    --> Objective Value = 275665756.19198954
Evaluate Objective Value for design with index: 00914; Not found; calculating    --> Objective Value = 275665756.70541453
Evaluate Objective Value for design with index: 00996; Not found; calculating    --> Objective Value = 275665757.3336524
Evaluate Objective Value for design with index: 00490; Not found; calculating    --> Objective Value = 275665756.72557193
Evaluate Objective Value for design with index: 00006; Not found; calculating    --> Objective Value = 275665755.2458284
Evaluate Objective Value for design with index: 00602; Not found; calculating    --> Objective Value = 275665756.542349
Evaluate Objective Value for design with index: 00805; Not found; calculating    --> Objective Value = 275665756.2745005
Evaluate Objective Value for design with index: 00203; Not found; calculating    --> Objective Value = 275665755.7347014
Evaluate Objective Value for design with index: 00887; Found in history & Loaded --> Objective Value = 275665757.4803
Evaluating optimal baseline...
Evaluate Objective Value for design with index: 00203; Found in history & Loaded --> Objective Value = 275665755.7347014
Evaluate Objective Value for design with index: 00724; Not found; calculating    --> Objective Value = 275665756.91751635
Evaluate Objective Value for design with index: 00256; Not found; calculating    --> Objective Value = 275665757.4680329
Evaluate Objective Value for design with index: 00037; Not found; calculating    --> Objective Value = 275665755.21133757
Evaluate Objective Value for design with index: 00450; Not found; calculating    --> Objective Value = 275665756.0334101
Evaluate Objective Value for design with index: 00807; Not found; calculating    --> Objective Value = 275665756.6197673
Evaluate Objective Value for design with index: 00515; Not found; calculating    --> Objective Value = 275665755.3004301
Evaluate Objective Value for design with index: 00026; Not found; calculating    --> Objective Value = 275665755.6123508
Evaluate Objective Value for design with index: 00247; Not found; calculating    --> Objective Value = 275665756.74138004
Evaluate Objective Value for design with index: 00972; Not found; calculating    --> Objective Value = 275665757.23017496
Evaluate Objective Value for design with index: 00654; Not found; calculating    --> Objective Value = 275665756.42156976
Evaluate Objective Value for design with index: 00931; Not found; calculating    --> Objective Value = 275665756.52849966
Evaluate Objective Value for design with index: 00888; Not found; calculating    --> Objective Value = 275665757.91261053
Evaluate Objective Value for design with index: 00391; Not found; calculating    --> Objective Value = 275665755.9890346
Evaluate Objective Value for design with index: 00553; Not found; calculating    --> Objective Value = 275665755.6473253
Evaluate Objective Value for design with index: 00812; Not found; calculating    --> Objective Value = 275665756.9309095
Evaluate Objective Value for design with index: 00053; Not found; calculating    --> Objective Value = 275665755.69902825
Evaluate Objective Value for design with index: 00202; Not found; calculating    --> Objective Value = 275665755.82174516
Evaluate Objective Value for design with index: 00711; Not found; calculating    --> Objective Value = 275665756.4130256
Evaluate Objective Value for design with index: 00953; Not found; calculating    --> Objective Value = 275665756.965266
Evaluate Objective Value for design with index: 00874; Not found; calculating    --> Objective Value = 275665756.95848507
Evaluate Objective Value for design with index: 00133; Found in history & Loaded --> Objective Value = 275665755.13776094
Evaluate Objective Value for design with index: 00614; Not found; calculating    --> Objective Value = 275665756.57364625
Evaluate Objective Value for design with index: 00904; Not found; calculating    --> Objective Value = 275665756.9785011
Evaluate Objective Value for design with index: 00458; Not found; calculating    --> Objective Value = 275665756.32775235
Evaluate Objective Value for design with index: 00748; Not found; calculating    --> Objective Value = 275665757.1219877
Evaluate Objective Value for design with index: 00979; Not found; calculating    --> Objective Value = 275665756.9912128
Evaluate Objective Value for design with index: 00867; Not found; calculating    --> Objective Value = 275665756.5770988
Evaluate Objective Value for design with index: 00014; Not found; calculating    --> Objective Value = 275665755.54017085
Evaluate Objective Value for design with index: 00844; Not found; calculating    --> Objective Value = 275665756.905932
Evaluate Objective Value for design with index: 00665; Not found; calculating    --> Objective Value = 275665756.0614393
Evaluate Objective Value for design with index: 00228; Not found; calculating    --> Objective Value = 275665756.27048934
Evaluate Objective Value for design with index: 00104; Not found; calculating    --> Objective Value = 275665756.3617569
Evaluate Objective Value for design with index: 00402; Not found; calculating    --> Objective Value = 275665756.14825845
Evaluate Objective Value for design with index: 00864; Not found; calculating    --> Objective Value = 275665757.8091332
Evaluate Objective Value for design with index: 00540; Not found; calculating    --> Objective Value = 275665756.5147736
Optimal baseline estimate: 643220098.7404399
Evaluating the policy stochastic gradient...
Calculating Stochastic Gradient:
  Sample size        : 36
  Apply projection   : False
  Antithetic variates: True
Evaluate Objective Value for design with index: 00569; Found in history & Loaded --> Objective Value = 275665756.13501585
Evaluate Objective Value for design with index: 00133; Found in history & Loaded --> Objective Value = 275665755.13776094
Evaluate Objective Value for design with index: 00182; Found in history & Loaded --> Objective Value = 275665756.4555818
Evaluate Objective Value for design with index: 00921; Found in history & Loaded --> Objective Value = 275665756.56744623
Evaluate Objective Value for design with index: 00077; Found in history & Loaded --> Objective Value = 275665755.48070234
Evaluate Objective Value for design with index: 00795; Found in history & Loaded --> Objective Value = 275665756.5884699
Evaluate Objective Value for design with index: 00034; Found in history & Loaded --> Objective Value = 275665755.2281375
Evaluate Objective Value for design with index: 00604; Found in history & Loaded --> Objective Value = 275665756.88761574
Evaluate Objective Value for design with index: 00312; Found in history & Loaded --> Objective Value = 275665756.9826125
Evaluate Objective Value for design with index: 00722; Found in history & Loaded --> Objective Value = 275665756.57224953
Evaluate Objective Value for design with index: 00887; Found in history & Loaded --> Objective Value = 275665757.4803
Evaluate Objective Value for design with index: 00447; Found in history & Loaded --> Objective Value = 275665757.1688872
Evaluate Objective Value for design with index: 00160; Found in history & Loaded --> Objective Value = 275665756.6973712
Evaluate Objective Value for design with index: 00597; Found in history & Loaded --> Objective Value = 275665756.23120666
Evaluate Objective Value for design with index: 00367; Found in history & Loaded --> Objective Value = 275665756.7297957
Evaluate Objective Value for design with index: 00464; Found in history & Loaded --> Objective Value = 275665757.08852947
Evaluate Objective Value for design with index: 00943; Found in history & Loaded --> Objective Value = 275665757.23835254
Evaluate Objective Value for design with index: 00485; Found in history & Loaded --> Objective Value = 275665756.4144297
Evaluate Objective Value for design with index: 00886; Found in history & Loaded --> Objective Value = 275665757.56734395
Evaluate Objective Value for design with index: 00559; Found in history & Loaded --> Objective Value = 275665756.4081026
Evaluate Objective Value for design with index: 00020; Found in history & Loaded --> Objective Value = 275665755.66327524
Evaluate Objective Value for design with index: 00348; Found in history & Loaded --> Objective Value = 275665756.8364666
Evaluate Objective Value for design with index: 00242; Found in history & Loaded --> Objective Value = 275665756.41291326
Evaluate Objective Value for design with index: 00649; Found in history & Loaded --> Objective Value = 275665755.57374865
Evaluate Objective Value for design with index: 00961; Found in history & Loaded --> Objective Value = 275665756.1582554
Evaluate Objective Value for design with index: 00272; Found in history & Loaded --> Objective Value = 275665756.39144456
Evaluate Objective Value for design with index: 00739; Found in history & Loaded --> Objective Value = 275665756.39533484
Evaluate Objective Value for design with index: 00172; Found in history & Loaded --> Objective Value = 275665756.19198954
Evaluate Objective Value for design with index: 00914; Found in history & Loaded --> Objective Value = 275665756.70541453
Evaluate Objective Value for design with index: 00996; Found in history & Loaded --> Objective Value = 275665757.3336524
Evaluate Objective Value for design with index: 00490; Found in history & Loaded --> Objective Value = 275665756.72557193
Evaluate Objective Value for design with index: 00006; Found in history & Loaded --> Objective Value = 275665755.2458284
Evaluate Objective Value for design with index: 00602; Found in history & Loaded --> Objective Value = 275665756.542349
Evaluate Objective Value for design with index: 00805; Found in history & Loaded --> Objective Value = 275665756.2745005
Evaluate Objective Value for design with index: 00203; Found in history & Loaded --> Objective Value = 275665755.7347014
Evaluate Objective Value for design with index: 00887; Found in history & Loaded --> Objective Value = 275665757.4803
Done...
REINFORCE Iteration: 1 ; Step-Update-Norm: 1.3713650424127347e-06
Evaluate Objective Value for design with index: 01003; Not found; calculating    --> Objective Value = 275665757.1956842
Evaluate Objective Value for design with index: 00481; Not found; calculating    --> Objective Value = 275665755.9989191
Evaluate Objective Value for design with index: 00722; Found in history & Loaded --> Objective Value = 275665756.57224953
Evaluate Objective Value for design with index: 00068; Not found; calculating    --> Objective Value = 275665755.5484266
Evaluate Objective Value for design with index: 00428; Not found; calculating    --> Objective Value = 275665756.69799656
Evaluate Objective Value for design with index: 00979; Found in history & Loaded --> Objective Value = 275665756.9912128
Evaluate Objective Value for design with index: 00503; Not found; calculating    --> Objective Value = 275665757.24738705
Evaluate Objective Value for design with index: 00365; Not found; calculating    --> Objective Value = 275665756.38452905
Evaluate Objective Value for design with index: 00520; Not found; calculating    --> Objective Value = 275665756.14825106
Evaluate Objective Value for design with index: 01002; Not found; calculating    --> Objective Value = 275665757.28272796
Evaluate Objective Value for design with index: 00173; Not found; calculating    --> Objective Value = 275665755.82992285
Evaluate Objective Value for design with index: 00585; Not found; calculating    --> Objective Value = 275665755.6223477
Evaluate Objective Value for design with index: 00403; Not found; calculating    --> Objective Value = 275665756.0612147
Evaluate Objective Value for design with index: 00639; Not found; calculating    --> Objective Value = 275665757.2686352
Evaluate Objective Value for design with index: 00052; Not found; calculating    --> Objective Value = 275665756.06109494
Evaluate Objective Value for design with index: 00198; Not found; calculating    --> Objective Value = 275665755.94291365
Evaluate Objective Value for design with index: 00126; Not found; calculating    --> Objective Value = 275665756.7985232
Evaluate Objective Value for design with index: 00363; Not found; calculating    --> Objective Value = 275665756.3142851
Evaluate Objective Value for design with index: 00805; Found in history & Loaded --> Objective Value = 275665756.2745005
Evaluate Objective Value for design with index: 00029; Not found; calculating    --> Objective Value = 275665755.59555095
Evaluate Objective Value for design with index: 00600; Not found; calculating    --> Objective Value = 275665757.00878394
Evaluate Objective Value for design with index: 00407; Not found; calculating    --> Objective Value = 275665756.4767252
Evaluate Objective Value for design with index: 00210; Not found; calculating    --> Objective Value = 275665756.0150936
Evaluate Objective Value for design with index: 00777; Not found; calculating    --> Objective Value = 275665755.7555126
Evaluate Objective Value for design with index: 00996; Found in history & Loaded --> Objective Value = 275665757.3336524
Evaluate Objective Value for design with index: 00536; Not found; calculating    --> Objective Value = 275665756.63594174
Evaluate Objective Value for design with index: 00189; Not found; calculating    --> Objective Value = 275665756.3176136
Evaluate Objective Value for design with index: 00808; Not found; calculating    --> Objective Value = 275665757.0520779
Evaluate Objective Value for design with index: 00112; Not found; calculating    --> Objective Value = 275665756.65609926
Evaluate Objective Value for design with index: 00544; Not found; calculating    --> Objective Value = 275665756.93028414
Evaluate Objective Value for design with index: 00958; Not found; calculating    --> Objective Value = 275665757.813087
Evaluate Objective Value for design with index: 00156; Not found; calculating    --> Objective Value = 275665756.28186053
Evaluate Objective Value for design with index: 00881; Not found; calculating    --> Objective Value = 275665756.7195227
Evaluate Objective Value for design with index: 00129; Not found; calculating    --> Objective Value = 275665754.72225034
Evaluate Objective Value for design with index: 00906; Not found; calculating    --> Objective Value = 275665756.51206625
Evaluate Objective Value for design with index: 00797; Not found; calculating    --> Objective Value = 275665756.65871394
Evaluating optimal baseline...
Evaluate Objective Value for design with index: 00321; Not found; calculating    --> Objective Value = 275665755.27685636
Evaluate Objective Value for design with index: 00216; Not found; calculating    --> Objective Value = 275665756.7758708
Evaluate Objective Value for design with index: 00528; Not found; calculating    --> Objective Value = 275665756.44259334
Evaluate Objective Value for design with index: 00014; Found in history & Loaded --> Objective Value = 275665755.54017085
Evaluate Objective Value for design with index: 00564; Not found; calculating    --> Objective Value = 275665756.6182509
Evaluate Objective Value for design with index: 00978; Not found; calculating    --> Objective Value = 275665757.07825655
Evaluate Objective Value for design with index: 00908; Not found; calculating    --> Objective Value = 275665756.8573328
Evaluate Objective Value for design with index: 00389; Not found; calculating    --> Objective Value = 275665755.64376783
Evaluate Objective Value for design with index: 00126; Found in history & Loaded --> Objective Value = 275665756.7985232
Evaluate Objective Value for design with index: 00187; Not found; calculating    --> Objective Value = 275665756.24736965
Evaluate Objective Value for design with index: 00702; Not found; calculating    --> Objective Value = 275665757.3070801
Evaluate Objective Value for design with index: 00684; Not found; calculating    --> Objective Value = 275665756.74914557
Evaluate Objective Value for design with index: 00366; Not found; calculating    --> Objective Value = 275665756.81683964
Evaluate Objective Value for design with index: 00476; Not found; calculating    --> Objective Value = 275665757.1607096
Evaluate Objective Value for design with index: 00373; Not found; calculating    --> Objective Value = 275665756.5778774
Evaluate Objective Value for design with index: 00384; Not found; calculating    --> Objective Value = 275665757.64979696
Evaluate Objective Value for design with index: 00261; Not found; calculating    --> Objective Value = 275665755.3195248
Evaluate Objective Value for design with index: 00708; Not found; calculating    --> Objective Value = 275665756.4298256
Evaluate Objective Value for design with index: 00224; Not found; calculating    --> Objective Value = 275665757.07021326
Evaluate Objective Value for design with index: 00868; Not found; calculating    --> Objective Value = 275665757.0094094
Evaluate Objective Value for design with index: 00442; Not found; calculating    --> Objective Value = 275665756.84042054
Evaluate Objective Value for design with index: 00929; Not found; calculating    --> Objective Value = 275665756.183233
Evaluate Objective Value for design with index: 00245; Not found; calculating    --> Objective Value = 275665756.39611334
Evaluate Objective Value for design with index: 00520; Found in history & Loaded --> Objective Value = 275665756.14825106
Evaluate Objective Value for design with index: 00964; Not found; calculating    --> Objective Value = 275665756.9358327
Evaluate Objective Value for design with index: 00183; Not found; calculating    --> Objective Value = 275665756.36853784
Evaluate Objective Value for design with index: 00219; Not found; calculating    --> Objective Value = 275665756.22239214
Evaluate Objective Value for design with index: 00259; Not found; calculating    --> Objective Value = 275665755.24928105
Evaluate Objective Value for design with index: 00876; Not found; calculating    --> Objective Value = 275665757.30375165
Evaluate Objective Value for design with index: 00377; Not found; calculating    --> Objective Value = 275665756.4567091
Evaluate Objective Value for design with index: 00629; Not found; calculating    --> Objective Value = 275665756.6290263
Evaluate Objective Value for design with index: 00374; Not found; calculating    --> Objective Value = 275665757.01018804
Evaluate Objective Value for design with index: 00981; Not found; calculating    --> Objective Value = 275665757.0614566
Evaluate Objective Value for design with index: 00417; Not found; calculating    --> Objective Value = 275665755.62607694
Evaluate Objective Value for design with index: 00475; Not found; calculating    --> Objective Value = 275665756.7283991
Evaluate Objective Value for design with index: 00749; Not found; calculating    --> Objective Value = 275665756.75992095
Optimal baseline estimate: 615652897.8820599
Evaluating the policy stochastic gradient...
Calculating Stochastic Gradient:
  Sample size        : 36
  Apply projection   : False
  Antithetic variates: True
Evaluate Objective Value for design with index: 01003; Found in history & Loaded --> Objective Value = 275665757.1956842
Evaluate Objective Value for design with index: 00481; Found in history & Loaded --> Objective Value = 275665755.9989191
Evaluate Objective Value for design with index: 00722; Found in history & Loaded --> Objective Value = 275665756.57224953
Evaluate Objective Value for design with index: 00068; Found in history & Loaded --> Objective Value = 275665755.5484266
Evaluate Objective Value for design with index: 00428; Found in history & Loaded --> Objective Value = 275665756.69799656
Evaluate Objective Value for design with index: 00979; Found in history & Loaded --> Objective Value = 275665756.9912128
Evaluate Objective Value for design with index: 00503; Found in history & Loaded --> Objective Value = 275665757.24738705
Evaluate Objective Value for design with index: 00365; Found in history & Loaded --> Objective Value = 275665756.38452905
Evaluate Objective Value for design with index: 00520; Found in history & Loaded --> Objective Value = 275665756.14825106
Evaluate Objective Value for design with index: 01002; Found in history & Loaded --> Objective Value = 275665757.28272796
Evaluate Objective Value for design with index: 00173; Found in history & Loaded --> Objective Value = 275665755.82992285
Evaluate Objective Value for design with index: 00585; Found in history & Loaded --> Objective Value = 275665755.6223477
Evaluate Objective Value for design with index: 00403; Found in history & Loaded --> Objective Value = 275665756.0612147
Evaluate Objective Value for design with index: 00639; Found in history & Loaded --> Objective Value = 275665757.2686352
Evaluate Objective Value for design with index: 00052; Found in history & Loaded --> Objective Value = 275665756.06109494
Evaluate Objective Value for design with index: 00198; Found in history & Loaded --> Objective Value = 275665755.94291365
Evaluate Objective Value for design with index: 00126; Found in history & Loaded --> Objective Value = 275665756.7985232
Evaluate Objective Value for design with index: 00363; Found in history & Loaded --> Objective Value = 275665756.3142851
Evaluate Objective Value for design with index: 00805; Found in history & Loaded --> Objective Value = 275665756.2745005
Evaluate Objective Value for design with index: 00029; Found in history & Loaded --> Objective Value = 275665755.59555095
Evaluate Objective Value for design with index: 00600; Found in history & Loaded --> Objective Value = 275665757.00878394
Evaluate Objective Value for design with index: 00407; Found in history & Loaded --> Objective Value = 275665756.4767252
Evaluate Objective Value for design with index: 00210; Found in history & Loaded --> Objective Value = 275665756.0150936
Evaluate Objective Value for design with index: 00777; Found in history & Loaded --> Objective Value = 275665755.7555126
Evaluate Objective Value for design with index: 00996; Found in history & Loaded --> Objective Value = 275665757.3336524
Evaluate Objective Value for design with index: 00536; Found in history & Loaded --> Objective Value = 275665756.63594174
Evaluate Objective Value for design with index: 00189; Found in history & Loaded --> Objective Value = 275665756.3176136
Evaluate Objective Value for design with index: 00808; Found in history & Loaded --> Objective Value = 275665757.0520779
Evaluate Objective Value for design with index: 00112; Found in history & Loaded --> Objective Value = 275665756.65609926
Evaluate Objective Value for design with index: 00544; Found in history & Loaded --> Objective Value = 275665756.93028414
Evaluate Objective Value for design with index: 00958; Found in history & Loaded --> Objective Value = 275665757.813087
Evaluate Objective Value for design with index: 00156; Found in history & Loaded --> Objective Value = 275665756.28186053
Evaluate Objective Value for design with index: 00881; Found in history & Loaded --> Objective Value = 275665756.7195227
Evaluate Objective Value for design with index: 00129; Found in history & Loaded --> Objective Value = 275665754.72225034
Evaluate Objective Value for design with index: 00906; Found in history & Loaded --> Objective Value = 275665756.51206625
Evaluate Objective Value for design with index: 00797; Found in history & Loaded --> Objective Value = 275665756.65871394
Done...
REINFORCE Iteration: 2 ; Step-Update-Norm: 0.0009330561558352691
Evaluate Objective Value for design with index: 00872; Not found; calculating    --> Objective Value = 275665757.4249199
Evaluate Objective Value for design with index: 00599; Not found; calculating    --> Objective Value = 275665756.5764734
Evaluate Objective Value for design with index: 00297; Not found; calculating    --> Objective Value = 275665755.5961763
Evaluate Objective Value for design with index: 00084; Not found; calculating    --> Objective Value = 275665756.0361173
Evaluate Objective Value for design with index: 00222; Not found; calculating    --> Objective Value = 275665756.7249465
Evaluate Objective Value for design with index: 00024; Not found; calculating    --> Objective Value = 275665756.0787857
Evaluate Objective Value for design with index: 00511; Not found; calculating    --> Objective Value = 275665757.54172933
Evaluate Objective Value for design with index: 00046; Not found; calculating    --> Objective Value = 275665755.9379904
Evaluate Objective Value for design with index: 00869; Not found; calculating    --> Objective Value = 275665756.6473427
Evaluate Objective Value for design with index: 00732; Not found; calculating    --> Objective Value = 275665757.2118586
Evaluate Objective Value for design with index: 00247; Found in history & Loaded --> Objective Value = 275665756.74138004
Evaluate Objective Value for design with index: 00420; Not found; calculating    --> Objective Value = 275665756.4036543
Evaluate Objective Value for design with index: 01018; Not found; calculating    --> Objective Value = 275665757.7704185
Evaluate Objective Value for design with index: 00261; Found in history & Loaded --> Objective Value = 275665755.3195248
Evaluate Objective Value for design with index: 00563; Not found; calculating    --> Objective Value = 275665756.18594027
Evaluate Objective Value for design with index: 00968; Not found; calculating    --> Objective Value = 275665757.35134333
Evaluate Objective Value for design with index: 00417; Found in history & Loaded --> Objective Value = 275665755.62607694
Evaluate Objective Value for design with index: 00914; Found in history & Loaded --> Objective Value = 275665756.70541453
Evaluate Objective Value for design with index: 00126; Found in history & Loaded --> Objective Value = 275665756.7985232
Evaluate Objective Value for design with index: 00807; Found in history & Loaded --> Objective Value = 275665756.6197673
Evaluate Objective Value for design with index: 00388; Not found; calculating    --> Objective Value = 275665756.00583464
Evaluate Objective Value for design with index: 00593; Not found; calculating    --> Objective Value = 275665755.81569594
Evaluate Objective Value for design with index: 00909; Not found; calculating    --> Objective Value = 275665756.4952662
Evaluate Objective Value for design with index: 00250; Not found; calculating    --> Objective Value = 275665756.70725566
Evaluate Objective Value for design with index: 00290; Not found; calculating    --> Objective Value = 275665755.73414457
Evaluate Objective Value for design with index: 00891; Not found; calculating    --> Objective Value = 275665757.35913175
Evaluate Objective Value for design with index: 00527; Not found; calculating    --> Objective Value = 275665756.0102829
Evaluate Objective Value for design with index: 00479; Not found; calculating    --> Objective Value = 275665757.1439097
Evaluate Objective Value for design with index: 00770; Not found; calculating    --> Objective Value = 275665755.8934809
Evaluate Objective Value for design with index: 00563; Found in history & Loaded --> Objective Value = 275665756.18594027
Evaluate Objective Value for design with index: 00141; Not found; calculating    --> Objective Value = 275665755.4321031
Evaluate Objective Value for design with index: 00106; Not found; calculating    --> Objective Value = 275665755.89532197
Evaluate Objective Value for design with index: 00650; Not found; calculating    --> Objective Value = 275665756.00605917
Evaluate Objective Value for design with index: 00735; Not found; calculating    --> Objective Value = 275665757.19505864
Evaluate Objective Value for design with index: 00941; Not found; calculating    --> Objective Value = 275665756.89308584
Evaluate Objective Value for design with index: 00220; Not found; calculating    --> Objective Value = 275665756.6547027
Evaluating optimal baseline...
Evaluate Objective Value for design with index: 00066; Not found; calculating    --> Objective Value = 275665755.20316
Evaluate Objective Value for design with index: 00518; Not found; calculating    --> Objective Value = 275665755.8029843
Evaluate Objective Value for design with index: 00680; Not found; calculating    --> Objective Value = 275665756.87031376
Evaluate Objective Value for design with index: 00212; Not found; calculating    --> Objective Value = 275665756.36036026
Evaluate Objective Value for design with index: 00506; Not found; calculating    --> Objective Value = 275665757.21326274
Evaluate Objective Value for design with index: 00295; Not found; calculating    --> Objective Value = 275665756.06261134
Evaluate Objective Value for design with index: 00985; Not found; calculating    --> Objective Value = 275665756.9402884
Evaluate Objective Value for design with index: 00008; Not found; calculating    --> Objective Value = 275665755.59109515
Evaluate Objective Value for design with index: 00440; Not found; calculating    --> Objective Value = 275665757.3068555
Evaluate Objective Value for design with index: 00454; Not found; calculating    --> Objective Value = 275665756.4489206
Evaluate Objective Value for design with index: 00057; Not found; calculating    --> Objective Value = 275665755.57785994
Evaluate Objective Value for design with index: 00834; Not found; calculating    --> Objective Value = 275665756.266323
Evaluate Objective Value for design with index: 00722; Found in history & Loaded --> Objective Value = 275665756.57224953
Evaluate Objective Value for design with index: 01017; Not found; calculating    --> Objective Value = 275665757.33810806
Evaluate Objective Value for design with index: 00109; Not found; calculating    --> Objective Value = 275665755.87852186
Evaluate Objective Value for design with index: 00931; Found in history & Loaded --> Objective Value = 275665756.52849966
Evaluate Objective Value for design with index: 00819; Not found; calculating    --> Objective Value = 275665756.6919472
Evaluate Objective Value for design with index: 00707; Not found; calculating    --> Objective Value = 275665755.9975151
Evaluate Objective Value for design with index: 00699; Not found; calculating    --> Objective Value = 275665756.8045256
Evaluate Objective Value for design with index: 00510; Not found; calculating    --> Objective Value = 275665757.6287732
Evaluate Objective Value for design with index: 00904; Found in history & Loaded --> Objective Value = 275665756.9785011
Evaluate Objective Value for design with index: 00444; Not found; calculating    --> Objective Value = 275665757.18568724
Evaluate Objective Value for design with index: 00267; Not found; calculating    --> Objective Value = 275665755.5436234
Evaluate Objective Value for design with index: 00202; Found in history & Loaded --> Objective Value = 275665755.82174516
Evaluate Objective Value for design with index: 00400; Not found; calculating    --> Objective Value = 275665756.71568745
Evaluate Objective Value for design with index: 00130; Not found; calculating    --> Objective Value = 275665755.154561
Evaluate Objective Value for design with index: 00487; Not found; calculating    --> Objective Value = 275665756.7596965
Evaluate Objective Value for design with index: 00996; Found in history & Loaded --> Objective Value = 275665757.3336524
Evaluate Objective Value for design with index: 00975; Not found; calculating    --> Objective Value = 275665757.213375
Evaluate Objective Value for design with index: 00812; Found in history & Loaded --> Objective Value = 275665756.9309095
Evaluate Objective Value for design with index: 00362; Not found; calculating    --> Objective Value = 275665756.401329
Evaluate Objective Value for design with index: 00213; Not found; calculating    --> Objective Value = 275665755.9982937
Evaluate Objective Value for design with index: 00009; Not found; calculating    --> Objective Value = 275665754.69234955
Evaluate Objective Value for design with index: 00673; Not found; calculating    --> Objective Value = 275665755.67722595
Evaluate Objective Value for design with index: 00286; Not found; calculating    --> Objective Value = 275665756.53386843
Evaluate Objective Value for design with index: 00645; Not found; calculating    --> Objective Value = 275665755.6949169
Optimal baseline estimate: 680529737.9687918
Evaluating the policy stochastic gradient...
Calculating Stochastic Gradient:
  Sample size        : 36
  Apply projection   : False
  Antithetic variates: True
Evaluate Objective Value for design with index: 00872; Found in history & Loaded --> Objective Value = 275665757.4249199
Evaluate Objective Value for design with index: 00599; Found in history & Loaded --> Objective Value = 275665756.5764734
Evaluate Objective Value for design with index: 00297; Found in history & Loaded --> Objective Value = 275665755.5961763
Evaluate Objective Value for design with index: 00084; Found in history & Loaded --> Objective Value = 275665756.0361173
Evaluate Objective Value for design with index: 00222; Found in history & Loaded --> Objective Value = 275665756.7249465
Evaluate Objective Value for design with index: 00024; Found in history & Loaded --> Objective Value = 275665756.0787857
Evaluate Objective Value for design with index: 00511; Found in history & Loaded --> Objective Value = 275665757.54172933
Evaluate Objective Value for design with index: 00046; Found in history & Loaded --> Objective Value = 275665755.9379904
Evaluate Objective Value for design with index: 00869; Found in history & Loaded --> Objective Value = 275665756.6473427
Evaluate Objective Value for design with index: 00732; Found in history & Loaded --> Objective Value = 275665757.2118586
Evaluate Objective Value for design with index: 00247; Found in history & Loaded --> Objective Value = 275665756.74138004
Evaluate Objective Value for design with index: 00420; Found in history & Loaded --> Objective Value = 275665756.4036543
Evaluate Objective Value for design with index: 01018; Found in history & Loaded --> Objective Value = 275665757.7704185
Evaluate Objective Value for design with index: 00261; Found in history & Loaded --> Objective Value = 275665755.3195248
Evaluate Objective Value for design with index: 00563; Found in history & Loaded --> Objective Value = 275665756.18594027
Evaluate Objective Value for design with index: 00968; Found in history & Loaded --> Objective Value = 275665757.35134333
Evaluate Objective Value for design with index: 00417; Found in history & Loaded --> Objective Value = 275665755.62607694
Evaluate Objective Value for design with index: 00914; Found in history & Loaded --> Objective Value = 275665756.70541453
Evaluate Objective Value for design with index: 00126; Found in history & Loaded --> Objective Value = 275665756.7985232
Evaluate Objective Value for design with index: 00807; Found in history & Loaded --> Objective Value = 275665756.6197673
Evaluate Objective Value for design with index: 00388; Found in history & Loaded --> Objective Value = 275665756.00583464
Evaluate Objective Value for design with index: 00593; Found in history & Loaded --> Objective Value = 275665755.81569594
Evaluate Objective Value for design with index: 00909; Found in history & Loaded --> Objective Value = 275665756.4952662
Evaluate Objective Value for design with index: 00250; Found in history & Loaded --> Objective Value = 275665756.70725566
Evaluate Objective Value for design with index: 00290; Found in history & Loaded --> Objective Value = 275665755.73414457
Evaluate Objective Value for design with index: 00891; Found in history & Loaded --> Objective Value = 275665757.35913175
Evaluate Objective Value for design with index: 00527; Found in history & Loaded --> Objective Value = 275665756.0102829
Evaluate Objective Value for design with index: 00479; Found in history & Loaded --> Objective Value = 275665757.1439097
Evaluate Objective Value for design with index: 00770; Found in history & Loaded --> Objective Value = 275665755.8934809
Evaluate Objective Value for design with index: 00563; Found in history & Loaded --> Objective Value = 275665756.18594027
Evaluate Objective Value for design with index: 00141; Found in history & Loaded --> Objective Value = 275665755.4321031
Evaluate Objective Value for design with index: 00106; Found in history & Loaded --> Objective Value = 275665755.89532197
Evaluate Objective Value for design with index: 00650; Found in history & Loaded --> Objective Value = 275665756.00605917
Evaluate Objective Value for design with index: 00735; Found in history & Loaded --> Objective Value = 275665757.19505864
Evaluate Objective Value for design with index: 00941; Found in history & Loaded --> Objective Value = 275665756.89308584
Evaluate Objective Value for design with index: 00220; Found in history & Loaded --> Objective Value = 275665756.6547027
Done...
REINFORCE Iteration: 3 ; Step-Update-Norm: 0.5044221131511492
Evaluate Objective Value for design with index: 00796; Not found; calculating    --> Objective Value = 275665757.02078056
Evaluate Objective Value for design with index: 00984; Not found; calculating    --> Objective Value = 275665757.8390339
Evaluate Objective Value for design with index: 00320; Not found; calculating    --> Objective Value = 275665757.2769548
Evaluate Objective Value for design with index: 00475; Found in history & Loaded --> Objective Value = 275665756.7283991
Evaluate Objective Value for design with index: 00344; Not found; calculating    --> Objective Value = 275665756.95763487
Evaluate Objective Value for design with index: 00689; Not found; calculating    --> Objective Value = 275665756.1649167
Evaluate Objective Value for design with index: 00380; Not found; calculating    --> Objective Value = 275665757.2342863
Evaluate Objective Value for design with index: 00247; Found in history & Loaded --> Objective Value = 275665756.74138004
Evaluate Objective Value for design with index: 00503; Found in history & Loaded --> Objective Value = 275665757.24738705
Evaluate Objective Value for design with index: 00768; Not found; calculating    --> Objective Value = 275665758.0251888
Evaluate Objective Value for design with index: 00381; Not found; calculating    --> Objective Value = 275665756.87221956
Evaluate Objective Value for design with index: 00868; Found in history & Loaded --> Objective Value = 275665757.0094094
Evaluate Objective Value for design with index: 00842; Not found; calculating    --> Objective Value = 275665756.5606653
Evaluate Objective Value for design with index: 00879; Not found; calculating    --> Objective Value = 275665757.28695166
Evaluate Objective Value for design with index: 01016; Not found; calculating    --> Objective Value = 275665758.23685354
Evaluate Objective Value for design with index: 00507; Not found; calculating    --> Objective Value = 275665757.12621886
Evaluate Objective Value for design with index: 00615; Not found; calculating    --> Objective Value = 275665756.48660225
Evaluate Objective Value for design with index: 00312; Found in history & Loaded --> Objective Value = 275665756.9826125
Evaluate Objective Value for design with index: 00994; Not found; calculating    --> Objective Value = 275665756.98838556
Evaluate Objective Value for design with index: 00807; Found in history & Loaded --> Objective Value = 275665756.6197673
Evaluate Objective Value for design with index: 00752; Not found; calculating    --> Objective Value = 275665757.5374983
Evaluate Objective Value for design with index: 00423; Not found; calculating    --> Objective Value = 275665756.3868543
Evaluate Objective Value for design with index: 00863; Not found; calculating    --> Objective Value = 275665757.37682265
Evaluate Objective Value for design with index: 00891; Found in history & Loaded --> Objective Value = 275665757.35913175
Evaluate Objective Value for design with index: 00082; Not found; calculating    --> Objective Value = 275665755.6908506
Evaluate Objective Value for design with index: 01015; Not found; calculating    --> Objective Value = 275665757.804543
Evaluate Objective Value for design with index: 00831; Not found; calculating    --> Objective Value = 275665757.4018002
Evaluate Objective Value for design with index: 00433; Not found; calculating    --> Objective Value = 275665756.1137676
Evaluate Objective Value for design with index: 00456; Not found; calculating    --> Objective Value = 275665756.79418725
Evaluate Objective Value for design with index: 00831; Found in history & Loaded --> Objective Value = 275665757.4018002
Evaluate Objective Value for design with index: 00755; Not found; calculating    --> Objective Value = 275665756.88302535
Evaluate Objective Value for design with index: 00876; Found in history & Loaded --> Objective Value = 275665757.30375165
Evaluate Objective Value for design with index: 00540; Found in history & Loaded --> Objective Value = 275665756.5147736
Evaluate Objective Value for design with index: 00478; Not found; calculating    --> Objective Value = 275665757.2309536
Evaluate Objective Value for design with index: 00488; Not found; calculating    --> Objective Value = 275665757.1920068
Evaluate Objective Value for design with index: 00955; Not found; calculating    --> Objective Value = 275665757.3105326
Evaluating optimal baseline...
Evaluate Objective Value for design with index: 00451; Not found; calculating    --> Objective Value = 275665755.94636613
Evaluate Objective Value for design with index: 00471; Not found; calculating    --> Objective Value = 275665756.84956735
Evaluate Objective Value for design with index: 00363; Found in history & Loaded --> Objective Value = 275665756.3142851
Evaluate Objective Value for design with index: 00813; Not found; calculating    --> Objective Value = 275665756.5688428
Evaluate Objective Value for design with index: 00700; Not found; calculating    --> Objective Value = 275665757.23683625
Evaluate Objective Value for design with index: 00600; Found in history & Loaded --> Objective Value = 275665757.00878394
Evaluate Objective Value for design with index: 00757; Not found; calculating    --> Objective Value = 275665756.9532693
Evaluate Objective Value for design with index: 00567; Not found; calculating    --> Objective Value = 275665756.601451
Evaluate Objective Value for design with index: 00819; Found in history & Loaded --> Objective Value = 275665756.6919472
Evaluate Objective Value for design with index: 00639; Found in history & Loaded --> Objective Value = 275665757.2686352
Evaluate Objective Value for design with index: 00875; Not found; calculating    --> Objective Value = 275665756.87144107
Evaluate Objective Value for design with index: 00896; Not found; calculating    --> Objective Value = 275665758.2069528
Evaluate Objective Value for design with index: 00699; Found in history & Loaded --> Objective Value = 275665756.8045256
Evaluate Objective Value for design with index: 00475; Found in history & Loaded --> Objective Value = 275665756.7283991
Evaluate Objective Value for design with index: 00448; Not found; calculating    --> Objective Value = 275665757.60119784
Evaluate Objective Value for design with index: 00775; Not found; calculating    --> Objective Value = 275665756.2219476
Evaluate Objective Value for design with index: 00466; Not found; calculating    --> Objective Value = 275665756.52110064
Evaluate Objective Value for design with index: 00840; Not found; calculating    --> Objective Value = 275665757.0271003
Evaluate Objective Value for design with index: 00872; Found in history & Loaded --> Objective Value = 275665757.4249199
Evaluate Objective Value for design with index: 00240; Not found; calculating    --> Objective Value = 275665756.98034227
Evaluate Objective Value for design with index: 00371; Not found; calculating    --> Objective Value = 275665756.50763345
Evaluate Objective Value for design with index: 00492; Not found; calculating    --> Objective Value = 275665757.07083863
Evaluate Objective Value for design with index: 00976; Not found; calculating    --> Objective Value = 275665757.64568555
Evaluate Objective Value for design with index: 00859; Not found; calculating    --> Objective Value = 275665756.96131206
Evaluate Objective Value for design with index: 00479; Found in history & Loaded --> Objective Value = 275665757.1439097
Evaluate Objective Value for design with index: 00500; Not found; calculating    --> Objective Value = 275665757.26418704
Evaluate Objective Value for design with index: 00862; Not found; calculating    --> Objective Value = 275665757.46386653
Evaluate Objective Value for design with index: 00379; Not found; calculating    --> Objective Value = 275665756.8019757
Evaluate Objective Value for design with index: 00901; Not found; calculating    --> Objective Value = 275665756.200924
Evaluate Objective Value for design with index: 01024; Not found; calculating    --> Objective Value = 275665758.5311959
Evaluate Objective Value for design with index: 01000; Not found; calculating    --> Objective Value = 275665757.7491629
Evaluate Objective Value for design with index: 00890; Not found; calculating    --> Objective Value = 275665757.44617563
Evaluate Objective Value for design with index: 00480; Not found; calculating    --> Objective Value = 275665757.5762203
Evaluate Objective Value for design with index: 00320; Found in history & Loaded --> Objective Value = 275665757.2769548
Evaluate Objective Value for design with index: 00746; Not found; calculating    --> Objective Value = 275665756.77672106
Evaluate Objective Value for design with index: 00316; Not found; calculating    --> Objective Value = 275665756.8614442
Optimal baseline estimate: 791750847.2924104
Evaluating the policy stochastic gradient...
Calculating Stochastic Gradient:
  Sample size        : 36
  Apply projection   : False
  Antithetic variates: True
Evaluate Objective Value for design with index: 00796; Found in history & Loaded --> Objective Value = 275665757.02078056
Evaluate Objective Value for design with index: 00984; Found in history & Loaded --> Objective Value = 275665757.8390339
Evaluate Objective Value for design with index: 00320; Found in history & Loaded --> Objective Value = 275665757.2769548
Evaluate Objective Value for design with index: 00475; Found in history & Loaded --> Objective Value = 275665756.7283991
Evaluate Objective Value for design with index: 00344; Found in history & Loaded --> Objective Value = 275665756.95763487
Evaluate Objective Value for design with index: 00689; Found in history & Loaded --> Objective Value = 275665756.1649167
Evaluate Objective Value for design with index: 00380; Found in history & Loaded --> Objective Value = 275665757.2342863
Evaluate Objective Value for design with index: 00247; Found in history & Loaded --> Objective Value = 275665756.74138004
Evaluate Objective Value for design with index: 00503; Found in history & Loaded --> Objective Value = 275665757.24738705
Evaluate Objective Value for design with index: 00768; Found in history & Loaded --> Objective Value = 275665758.0251888
Evaluate Objective Value for design with index: 00381; Found in history & Loaded --> Objective Value = 275665756.87221956
Evaluate Objective Value for design with index: 00868; Found in history & Loaded --> Objective Value = 275665757.0094094
Evaluate Objective Value for design with index: 00842; Found in history & Loaded --> Objective Value = 275665756.5606653
Evaluate Objective Value for design with index: 00879; Found in history & Loaded --> Objective Value = 275665757.28695166
Evaluate Objective Value for design with index: 01016; Found in history & Loaded --> Objective Value = 275665758.23685354
Evaluate Objective Value for design with index: 00507; Found in history & Loaded --> Objective Value = 275665757.12621886
Evaluate Objective Value for design with index: 00615; Found in history & Loaded --> Objective Value = 275665756.48660225
Evaluate Objective Value for design with index: 00312; Found in history & Loaded --> Objective Value = 275665756.9826125
Evaluate Objective Value for design with index: 00994; Found in history & Loaded --> Objective Value = 275665756.98838556
Evaluate Objective Value for design with index: 00807; Found in history & Loaded --> Objective Value = 275665756.6197673
Evaluate Objective Value for design with index: 00752; Found in history & Loaded --> Objective Value = 275665757.5374983
Evaluate Objective Value for design with index: 00423; Found in history & Loaded --> Objective Value = 275665756.3868543
Evaluate Objective Value for design with index: 00863; Found in history & Loaded --> Objective Value = 275665757.37682265
Evaluate Objective Value for design with index: 00891; Found in history & Loaded --> Objective Value = 275665757.35913175
Evaluate Objective Value for design with index: 00082; Found in history & Loaded --> Objective Value = 275665755.6908506
Evaluate Objective Value for design with index: 01015; Found in history & Loaded --> Objective Value = 275665757.804543
Evaluate Objective Value for design with index: 00831; Found in history & Loaded --> Objective Value = 275665757.4018002
Evaluate Objective Value for design with index: 00433; Found in history & Loaded --> Objective Value = 275665756.1137676
Evaluate Objective Value for design with index: 00456; Found in history & Loaded --> Objective Value = 275665756.79418725
Evaluate Objective Value for design with index: 00831; Found in history & Loaded --> Objective Value = 275665757.4018002
Evaluate Objective Value for design with index: 00755; Found in history & Loaded --> Objective Value = 275665756.88302535
Evaluate Objective Value for design with index: 00876; Found in history & Loaded --> Objective Value = 275665757.30375165
Evaluate Objective Value for design with index: 00540; Found in history & Loaded --> Objective Value = 275665756.5147736
Evaluate Objective Value for design with index: 00478; Found in history & Loaded --> Objective Value = 275665757.2309536
Evaluate Objective Value for design with index: 00488; Found in history & Loaded --> Objective Value = 275665757.1920068
Evaluate Objective Value for design with index: 00955; Found in history & Loaded --> Objective Value = 275665757.3105326
Done...
REINFORCE Iteration: 4 ; Step-Update-Norm: 1.6875354184880993
Evaluate Objective Value for design with index: 00910; Not found; calculating    --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluating optimal baseline...
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Optimal baseline estimate: 0.0
Evaluating the policy stochastic gradient...
Calculating Stochastic Gradient:
  Sample size        : 36
  Apply projection   : False
  Antithetic variates: True
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Done...
REINFORCE Iteration: 5 ; Step-Update-Norm: 0.0
CONVERGED: PROJECTED GRADIENT NORM <= PGTOL
Number of Iterations: 5
Number of Function Evaluations: 247
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768
Evaluate Objective Value for design with index: 00910; Found in history & Loaded --> Objective Value = 275665756.9275768


*****************************************************************************
* BinaryReinforceOptimizer: Binary Optimization via Stochastic Learning
* DONE; Terminating...
*****************************************************************************
  - Converged? True
  - Info: CONVERGED: PROJECTED GRADIENT NORM <= PGTOL
Number of Iterations: 5
Number of Function Evaluations: 247
*****************************************************************************

[13]:
# Calculate the objective for all candidate solutions (by bruteforce for evaluation)
stochastic_oed_results.update_bruteforce_results()
[14]:
stochastic_oed_results.plot_results(overwrite=True, keep_plots=True, )

***
Plotting Binary/Stochastic OED Results...
***
Saving/Plotting Results to: /Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/Optimization_Iterations.pdf
Saving/Plotting Results to: /Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/BruteForce_ScatterPlot.pdf
Saving/Plotting Results to: /Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/Clustered_BruteForce_ScatterPlot.pdf
Plot saved to: '/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/global_optimum_design.pdf'
Plot saved to: '/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/optimal_design.pdf'
Plot saved to: '/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/optimum_design_sample1.pdf'
Plot saved to: '/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/optimum_design_sample2.pdf'
Plot saved to: '/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/optimum_design_sample3.pdf'
Plot saved to: '/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/optimum_design_sample4.pdf'
Plot saved to: '/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/optimum_design_sample5.pdf'
Saving/Plotting Results to: /Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/Optimization_Iterations_FunctionEvaluations.pdf
../_images/tutorials_OED_AD_FE_15_1.png
../_images/tutorials_OED_AD_FE_15_2.png
../_images/tutorials_OED_AD_FE_15_3.png
../_images/tutorials_OED_AD_FE_15_4.png
../_images/tutorials_OED_AD_FE_15_5.png
../_images/tutorials_OED_AD_FE_15_6.png
../_images/tutorials_OED_AD_FE_15_7.png
../_images/tutorials_OED_AD_FE_15_8.png
../_images/tutorials_OED_AD_FE_15_9.png
../_images/tutorials_OED_AD_FE_15_10.png
../_images/tutorials_OED_AD_FE_15_11.png

Relaxed OED#

[15]:
from pyoed.oed.sensor_placement.relaxed_oed import SensorPlacementRelaxedOED
relaxed_oed_problem = SensorPlacementRelaxedOED(
    configs=dict(
        inverse_problem=inverse_problem,
        criterion='A-opt',
        evaluation_method="randomized",
        use_FIM=True,
    )
)
[16]:
budget = 3
penalty_f_l2 = lambda design: np.power(np.sum(design)-budget, 2)
penalty_f_l2_grad = lambda design: 2 * (np.sum(design)-budget) * np.ones_like(design)
relaxed_oed_problem.register_penalty_term(penalty_weight=-1e+6,
                                          penalty_function=penalty_f_l2,
                                          penalty_function_gradient=penalty_f_l2_grad,
                                         )
[17]:
relaxed_oed_results = relaxed_oed_problem.solve_oed_problem(verbose=True, )
Solving the Relaxed OED
/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/oed/sensor_placement/relaxed_oed.py:945: OptimizeWarning: Unknown solver options: verbose
  res = sp_optimize.minimize(
SCIPY Optimization using (L-BFGS-B):
Success: True
CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH
[18]:
relaxed_oed_results.plot_results(overwrite=True, keep_plots=True, )

***
Plotting Relaxed OED Results...
***
Saving/Plotting Results to: /Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/Optimization_Iterations.pdf
Plot saved to: '/Users/attia/AHMED_HOME/Research/Projects/Software/PyOED/Branches/32-update-oed-interface-to-conform-to-the-unified-configs-arguments/pyoed/pyoed/examples/tutorials/optimal_design.pdf'
../_images/tutorials_OED_AD_FE_20_1.png
../_images/tutorials_OED_AD_FE_20_2.png
[19]:
relaxed_oed_results.optimal_design
[19]:
array([0.14048161, 0.19754815, 0.31885533, 0.        , 0.56386185,
       0.29339233, 0.46126252, 0.23947539, 0.39237066, 0.39275163])