gemseo_benchmark / problems

Hide inherited members

problems_group module

Grouping of reference problems for benchmarking.

class gemseo_benchmark.problems.problems_group.ProblemsGroup(name, problems, description='')[source]

Bases: object

A group of reference problems for benchmarking.

Note

Reference problems should be grouped based on common characteristics such as functions smoothness and constraint set geometry.

name

The name of the group of problems.

Type:

str

Parameters:
  • name (str) – The name of the group of problems.

  • problems (Iterable[Problem]) – The benchmarking problems of the group.

  • description (str) –

    The description of the group of problems.

    By default it is set to “”.

compute_data_profile(algos_configurations, histories_paths, show=True, plot_path=None, infeasibility_tolerance=0.0, max_eval_number=None)[source]

Generate the data profiles of given algorithms relative to the problems.

Parameters:
  • algos_configurations (AlgorithmsConfigurations) – The algorithms configurations.

  • histories_paths (Results) – The paths to the reference histories for each algorithm.

  • show (bool) –

    If True, show the plot.

    By default it is set to True.

  • plot_path (str | Path | None) – The path where to save the plot. By default the plot is not saved.

  • infeasibility_tolerance (float) –

    The tolerance on the infeasibility measure.

    By default it is set to 0.0.

  • max_eval_number (int | None) – The maximum evaluations number to be displayed. If None, this value is inferred from the longest history.

Return type:

None

compute_targets(targets_number, ref_algos_configurations, only_feasible=True)[source]

Generate targets for all the problems based on given reference algorithms.

Parameters:
  • targets_number (int) – The number of targets to generate.

  • ref_algos_configurations (AlgorithmsConfigurations) – The configurations of the reference algorithms.

  • only_feasible (bool) –

    Whether to generate only feasible targets.

    By default it is set to True.

Return type:

None

is_algorithm_suited(name)[source]

Check whether an algorithm is suited to all the problems in the group.

Parameters:

name (str) – The name of the algorithm.

Returns:

True if the algorithm is suited.

Return type:

bool