Note
Go to the end to download the full example code.
DesignSpace creation and manipulation#
In this example, we will see how to create and how to manipulate an instance of
DesignSpace
.
from __future__ import annotations
from numpy import array
from gemseo import configure_logger
from gemseo import create_design_space
configure_logger()
<RootLogger root (INFO)>
Create a design space#
The user can create an instance of the DesignSpace
using the high-level function create_design_space()
.
design_space = create_design_space()
Add design variables#
The user can add new design variables using the DesignSpace.add_variable()
. In
the following example, we add the x variable in the design space. We also
define the lower and upper bound of the variable.
It is then possible to plot the DesignSpace
instance either using a
print statement or by using the logger.
design_space.add_variable(
"x", lower_bound=array([-2.0]), upper_bound=array([2.0]), value=array([0.0])
)
design_space
The user can also add design variables with dimension greater than one. To do that, the user can use the size keyword:
design_space.add_variable(
"y",
lower_bound=array([-2.0, -1.0]),
upper_bound=array([2.0, 1.0]),
value=array([0.0, 0.0]),
size=2,
)
design_space
By default, each variable infers its type from the given values. One may also specify it with the type_ keyword
design_space.add_variable(
"z",
lower_bound=array([0, -1]),
upper_bound=array([3, 1]),
value=array([0, 1]),
size=2,
type_="integer",
)
design_space
Note
Some optimization algorithms may not handle integer variables properly. For updated information about the optimization algorithms that handle integer variables, refer to Optimization algorithms.
For additional information on how GEMSEO handles integer variables, refer to How to deal with design spaces.
Remove design variables#
The user can also remove a variable in the design space using the
DesignSpace.remove_variable()
method:
design_space.remove_variable("x")
design_space
Total running time of the script: (0 minutes 0.005 seconds)