gemseo.datasets.optimization_dataset module#

A Dataset to store optimization histories.

class OptimizationDataset(data=None, index=None, columns=None, dtype=None, copy=None, *, dataset_name='')[source]#

Bases: Dataset

A Dataset to store optimization histories.

Warning

A Dataset behaves like any multi-index DataFrame but its instantiation using the constructor dataset = Dataset(data, ...) can lead to some inconsistencies (multi-index levels, index values, dtypes, ...). Hence, the construction from the dedicated methods is recommended, e.g. dataset = Dataset(); dataset.add_variable("x", data).

Notes

The columns of a data structure (NumPy array, DataFrame, Dataset, ...) are called features. The features of a Dataset include all the components of all the variables of all the groups.

Initialize self. See help(type(self)) for accurate signature.

Parameters:
  • data (ndarray | Iterable | dict | DataFrame | None) -- See DataFrame.

  • index (Axes | None) -- See DataFrame.

  • columns (Axes | None) -- See DataFrame.

  • dtype (Dtype | None) -- See DataFrame.

  • copy (bool | None) -- See DataFrame.

  • dataset_name (str) --

    The name of the dataset.

    By default it is set to "".

add_constraint_group(data, variable_names='c', variable_names_to_n_components=None)[source]#

Add the data related to the constraint group.

Parameters:
  • data (DataType) -- The data.

  • variable_names (StrColumnType) --

    The names of the variables. If empty, use DEFAULT_VARIABLE_NAME.

    By default it is set to "c".

  • variable_names_to_n_components (dict[str, int] | None) -- The number of components of the variables. If variable_names is empty, this argument is not considered. If None, assume that all the variables have a single component.

Return type:

None

add_constraint_variable(variable_name, data, components=())[source]#

Add data related to a constraint.

Parameters:
  • variable_name (str) -- The name of the variable.

  • data (ndarray | Iterable[Any] | Any) -- The data, either an array shaped as (n_entries, n_features), an array shaped as (n_entries,) that will be reshaped as (n_entries, 1) or a scalar that will be converted into an array shaped as (n_entries, 1).

  • components (int | Iterable[int]) --

    The components considered. If empty, use [0, ..., n_features].

    By default it is set to ().

Return type:

None

add_design_group(data, variable_names='d', variable_names_to_n_components=None)[source]#

Add the data related to the design variable group.

Parameters:
  • data (DataType) -- The data.

  • variable_names (StrColumnType) --

    The names of the variables. If empty, use DEFAULT_VARIABLE_NAME.

    By default it is set to "d".

  • variable_names_to_n_components (dict[str, int] | None) -- The number of components of the variables. If variable_names is empty, this argument is not considered. If None, assume that all the variables have a single component.

Return type:

None

add_design_variable(variable_name, data, components=())[source]#

Add data related to a design variable.

Parameters:
  • variable_name (str) -- The name of the variable.

  • data (ndarray | Iterable[Any] | Any) -- The data, either an array shaped as (n_entries, n_features), an array shaped as (n_entries,) that will be reshaped as (n_entries, 1) or a scalar that will be converted into an array shaped as (n_entries, 1).

  • components (int | Iterable[int]) --

    The components considered. If empty, use [0, ..., n_features].

    By default it is set to ().

Return type:

None

add_objective_group(data, variable_names='f', variable_names_to_n_components=None)[source]#

Add the data related to the objective group.

Parameters:
  • data (DataType) -- The data.

  • variable_names (StrColumnType) --

    The names of the variables. If empty, use DEFAULT_VARIABLE_NAME.

    By default it is set to "f".

  • variable_names_to_n_components (dict[str, int] | None) -- The number of components of the variables. If variable_names is empty, this argument is not considered. If None, assume that all the variables have a single component.

Return type:

None

add_objective_variable(variable_name, data, components=())[source]#

Add data related to an objective.

Parameters:
  • variable_name (str) -- The name of the variable.

  • data (ndarray | Iterable[Any] | Any) -- The data, either an array shaped as (n_entries, n_features), an array shaped as (n_entries,) that will be reshaped as (n_entries, 1) or a scalar that will be converted into an array shaped as (n_entries, 1).

  • components (int | Iterable[int]) --

    The components considered. If empty, use [0, ..., n_features].

    By default it is set to ().

Return type:

None

add_observable_group(data, variable_names='o', variable_names_to_n_components=None)[source]#

Add the data related to the observable group.

Parameters:
  • data (DataType) -- The data.

  • variable_names (StrColumnType) --

    The names of the variables. If empty, use DEFAULT_VARIABLE_NAME.

    By default it is set to "o".

  • variable_names_to_n_components (dict[str, int] | None) -- The number of components of the variables. If variable_names is empty, this argument is not considered. If None, assume that all the variables have a single component.

Return type:

None

add_observable_variable(variable_name, data, components=())[source]#

Add data related to an observable.

Parameters:
  • variable_name (str) -- The name of the variable.

  • data (ndarray | Iterable[Any] | Any) -- The data, either an array shaped as (n_entries, n_features), an array shaped as (n_entries,) that will be reshaped as (n_entries, 1) or a scalar that will be converted into an array shaped as (n_entries, 1).

  • components (int | Iterable[int]) --

    The components considered. If empty, use [0, ..., n_features].

    By default it is set to ().

Return type:

None

CONSTRAINT_GROUP: Final[str] = 'constraints'#

The group name for the constraints of an OptimizationProblem.

DESIGN_GROUP: Final[str] = 'designs'#

The group name for the design variables of an OptimizationProblem.

FUNCTION_GROUP: Final[str] = 'functions'#

The group name for the functions of an OptimizationProblem.

OBJECTIVE_GROUP: Final[str] = 'objectives'#

The group name for the objectives of an OptimizationProblem.

OBSERVABLE_GROUP: Final[str] = 'observables'#

The group name for the observables of an OptimizationProblem.

property constraint_dataset: OptimizationDataset#

The view of the constraint dataset.

property constraint_names: list[str]#

The names of the constraints.

Warning

The names are sorted with the Python function sorted.

property design_dataset: OptimizationDataset#

The view of the design dataset.

property design_variable_names: list[str]#

The names of the design variables.

Warning

The names are sorted with the Python function sorted.

property iterations: list[int]#

The iterations.

property n_iterations: int#

The number of iterations.

property objective_dataset: OptimizationDataset#

The view of the objective dataset.

property objective_names: list[str]#

The names of the objectives.

Warning

The names are sorted with the Python function sorted.

property observable_dataset: OptimizationDataset#

The view of the observable dataset.

property observable_names: list[str]#

The names of the observables.

Warning

The names are sorted with the Python function sorted.