Skip to content

Commit b91a7db

Browse files
committed
Update remaining examples to use vocs
1 parent ee2cb13 commit b91a7db

File tree

6 files changed

+70
-73
lines changed

6 files changed

+70
-73
lines changed

examples/astra/run_optimization_serial_ASTRA.py

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,32 @@
99
https://optimas.readthedocs.io/en/latest/index.html
1010
"""
1111

12-
from optimas.core import VaryingParameter, Objective, Parameter
1312
from optimas.generators import AxSingleFidelityGenerator
1413
from optimas.evaluators import TemplateEvaluator
1514
from optimas.explorations import Exploration
15+
from generator_standard.vocs import VOCS
1616
from analysis_script import analyze_simulation
1717

18-
# Create varying parameters and objectives.
18+
# Create VOCS object.
1919
# name of parameter, lower bound of values to be explored,
2020
# upper bound of values to be explored
21-
var_1 = VaryingParameter("RF_phase", -2.5, 2.5)
22-
var_2 = VaryingParameter("B_sol", 0.12, 0.38)
23-
# Objectives that will be minimized:
24-
obj_1 = Objective("bunch_length", minimize=True)
25-
obj_2 = Objective("emittance", minimize=True)
26-
# Additional example parameters that will be analyzed but are not used for the
27-
# optimization:
28-
em_x = Parameter("emittance_x")
29-
em_y = Parameter("emittance_y")
21+
vocs = VOCS(
22+
variables={
23+
"RF_phase": [-2.5, 2.5],
24+
"B_sol": [0.12, 0.38],
25+
},
26+
objectives={
27+
"bunch_length": "MINIMIZE",
28+
"emittance": "MINIMIZE",
29+
},
30+
observables=["emittance_x", "emittance_y"],
31+
)
3032

3133
# Create generator.
3234
# Pick the generator to be used, here Single-fidelity Bayesian optimization.
33-
# The analyzed_parameters are parameters that are calculated for each
34-
# simulation but not used for the optimization.
3535
gen = AxSingleFidelityGenerator(
36-
varying_parameters=[var_1, var_2],
37-
objectives=[obj_1, obj_2],
36+
vocs=vocs,
3837
n_init=8,
39-
analyzed_parameters=[em_x, em_y],
4038
)
4139

4240

examples/hipace/run_example.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,27 @@
1010
the `analysis_script.py` file.
1111
"""
1212

13-
from optimas.core import Parameter, VaryingParameter, Objective
1413
from optimas.generators import AxSingleFidelityGenerator
1514
from optimas.evaluators import TemplateEvaluator
1615
from optimas.explorations import Exploration
16+
from generator_standard.vocs import VOCS
1717

1818
from analysis_script import analyze_simulation
1919

2020

21-
# Create varying parameters and objectives.
22-
var_1 = VaryingParameter("witness_charge", 0.05, 1.0)
23-
obj = Objective("f", minimize=False)
24-
25-
26-
# Define additional parameters to analyze.
27-
energy_med = Parameter("energy_med")
28-
energy_mad = Parameter("energy_mad")
29-
charge = Parameter("charge")
21+
# Create VOCS object.
22+
vocs = VOCS(
23+
variables={
24+
"witness_charge": [0.05, 1.0],
25+
},
26+
objectives={"f": "MAXIMIZE"},
27+
observables=["energy_med", "energy_mad", "charge"],
28+
)
3029

3130

3231
# Create generator.
3332
gen = AxSingleFidelityGenerator(
34-
varying_parameters=[var_1],
35-
objectives=[obj],
36-
analyzed_parameters=[energy_med, energy_mad, charge],
33+
vocs=vocs,
3734
n_init=4,
3835
)
3936

examples/multi_stage/run_example.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,28 @@
1010
the `analysis_script.py` file.
1111
"""
1212

13-
from optimas.core import Parameter, VaryingParameter, Objective
1413
from optimas.generators import AxSingleFidelityGenerator
1514
from optimas.evaluators import TemplateEvaluator
1615
from optimas.explorations import Exploration
16+
from generator_standard.vocs import VOCS
1717

1818
from analysis_script import analyze_simulation
1919

2020

21-
# Create varying parameters and objectives.
22-
var_1 = VaryingParameter("adjust_factor", 0.7, 1.05)
23-
var_2 = VaryingParameter("lens_start", 0.32, 0.347)
24-
obj = Objective("f", minimize=True)
25-
26-
27-
# Define additional parameters to analyze.
28-
energy_std = Parameter("energy_std")
29-
energy_avg = Parameter("energy_avg")
30-
charge = Parameter("charge")
31-
emittance = Parameter("emittance")
21+
# Create VOCS object.
22+
vocs = VOCS(
23+
variables={
24+
"adjust_factor": [0.7, 1.05],
25+
"lens_start": [0.32, 0.347],
26+
},
27+
objectives={"f": "MINIMIZE"},
28+
observables=["energy_std", "energy_avg", "charge", "emittance"],
29+
)
3230

3331

3432
# Create generator.
3533
gen = AxSingleFidelityGenerator(
36-
varying_parameters=[var_1, var_2],
37-
objectives=[obj],
38-
analyzed_parameters=[energy_std, energy_avg, charge, emittance],
34+
vocs=vocs,
3935
n_init=4,
4036
)
4137

examples/multitask_lpa_fbpic_waket/run_opt.py

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,27 @@
22

33
from multiprocessing import set_start_method
44

5-
from optimas.core import VaryingParameter, Objective, Parameter, Task
5+
from optimas.core import Task
66
from optimas.generators import AxMultitaskGenerator
77
from optimas.evaluators import TemplateEvaluator, MultitaskEvaluator
88
from optimas.explorations import Exploration
9+
from generator_standard.vocs import VOCS
910

1011
from analysis_script import analyze_simulation
1112

1213

13-
# Create varying parameters and objectives.
14-
var_1 = VaryingParameter("beam_i_1", 1.0, 10.0) # kA
15-
var_2 = VaryingParameter("beam_i_2", 1.0, 10.0) # kA
16-
var_3 = VaryingParameter("beam_z_i_2", -10.0, 10.0) # µm
17-
var_4 = VaryingParameter("beam_length", 1.0, 20.0) # µm
18-
obj = Objective("f", minimize=True)
19-
20-
21-
# Define other quantities to analyze (which are not the optimization objective)
22-
par_1 = Parameter("energy_med")
23-
par_2 = Parameter("energy_mad")
24-
par_3 = Parameter("charge")
14+
# Create VOCS object.
15+
vocs = VOCS(
16+
variables={
17+
"beam_i_1": [1.0, 10.0], # kA
18+
"beam_i_2": [1.0, 10.0], # kA
19+
"beam_z_i_2": [-10.0, 10.0], # µm
20+
"beam_length": [1.0, 20.0], # µm
21+
"trial_type": {"wake-t", "fbpic"},
22+
},
23+
objectives={"f": "MINIMIZE"},
24+
observables=["energy_med", "energy_mad", "charge"],
25+
)
2526

2627

2728
# Create tasks.
@@ -31,9 +32,7 @@
3132

3233
# Create generator.
3334
gen = AxMultitaskGenerator(
34-
varying_parameters=[var_1, var_2, var_3, var_4],
35-
objectives=[obj],
36-
analyzed_parameters=[par_1, par_2, par_3],
35+
vocs=vocs,
3736
use_cuda=True,
3837
dedicated_resources=True,
3938
hifi_task=hifi_task,

examples/wake_t/run_example.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,25 @@
1111
file.
1212
"""
1313

14-
from optimas.core import VaryingParameter, Objective
1514
from optimas.generators import AxSingleFidelityGenerator
1615
from optimas.evaluators import TemplateEvaluator
1716
from optimas.explorations import Exploration
17+
from generator_standard.vocs import VOCS
1818

1919
from analysis_script import analyze_simulation
2020

2121

22-
# Create varying parameters and objectives.
23-
var_1 = VaryingParameter("g_lens", 100.0, 1000.0)
24-
obj = Objective("f", minimize=True)
22+
# Create VOCS object.
23+
vocs = VOCS(
24+
variables={
25+
"g_lens": [100.0, 1000.0],
26+
},
27+
objectives={"f": "MINIMIZE"},
28+
)
2529

2630

2731
# Create generator.
28-
gen = AxSingleFidelityGenerator(
29-
varying_parameters=[var_1], objectives=[obj], n_init=12
30-
)
32+
gen = AxSingleFidelityGenerator(vocs=vocs, n_init=12)
3133

3234

3335
# Create evaluator.

examples/wake_t_fbpic_mt/run_example.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,23 @@
1212
file.
1313
"""
1414

15-
from optimas.core import VaryingParameter, Objective, Task
15+
from optimas.core import Task
1616
from optimas.generators import AxMultitaskGenerator
1717
from optimas.evaluators import TemplateEvaluator, MultitaskEvaluator
1818
from optimas.explorations import Exploration
19+
from generator_standard.vocs import VOCS
1920

2021
from analysis_script import analyze_simulation
2122

2223

23-
# Create varying parameters and objectives.
24-
var_1 = VaryingParameter("g_lens", 100.0, 1000.0)
25-
obj = Objective("f", minimize=True)
24+
# Create VOCS object.
25+
vocs = VOCS(
26+
variables={
27+
"g_lens": [100.0, 1000.0],
28+
"trial_type": {"wake-t", "fbpic"},
29+
},
30+
objectives={"f": "MINIMIZE"},
31+
)
2632

2733
# Create tasks.
2834
lofi_task = Task("wake-t", n_init=12, n_opt=12)
@@ -31,8 +37,7 @@
3137

3238
# Create generator.
3339
gen = AxMultitaskGenerator(
34-
varying_parameters=[var_1],
35-
objectives=[obj],
40+
vocs=vocs,
3641
lofi_task=lofi_task,
3742
hifi_task=hifi_task,
3843
)

0 commit comments

Comments
 (0)