11"""
22$TYPEDEF
33
4- Abstract type interface for a benchmark problem .
4+ Abstract type interface for benchmark problems .
55
66The following methods are mandatory for benchmarks:
7- - [`generate_dataset`](@ref)
7+ - [`generate_dataset`](@ref) or [`generate_sample`](@ref)
88- [`generate_statistical_model`](@ref)
99- [`generate_maximizer`](@ref)
1010
@@ -17,27 +17,45 @@ abstract type AbstractBenchmark end
1717
1818"""
1919$TYPEDEF
20+
21+ Abstract type interface for stochastic benchmark problems.
22+ This type should be used for benchmarks that involve single stage stochastic optimization problems.
23+
24+ It follows the same interface as [`AbstractBenchmark`](@ref), with the addition of the following methods:
25+ TODO
2026"""
2127abstract type AbstractStochasticBenchmark <: AbstractBenchmark end
2228
2329"""
2430$TYPEDEF
31+
32+ Abstract type interface for dynamic benchmark problems.
33+ This type should be used for benchmarks that involve multi-stage stochastic optimization problems.
34+
35+ It follows the same interface as [`AbstractStochasticBenchmark`](@ref), with the addition of the following methods:
36+ TODO
2537"""
2638abstract type AbstractDynamicBenchmark <: AbstractStochasticBenchmark end
2739
2840"""
29- generate_sample(::AbstractBenchmark, rng::AbstractRNG; kwargs...)
41+ generate_sample(::AbstractBenchmark, rng::AbstractRNG; kwargs...) -> DataSample
3042
31- Do not always exist, interface to make [`generate_dataset`](@ref) work.
32- Either implement this or generate_dataset.
43+ Generate a single [`DataSample`](@ref) for given benchmark.
44+ This is a low-level function that is used by [`generate_dataset`](@ref) to create
45+ a dataset of samples. It is not mandatory to implement this method, but it is
46+ recommended for benchmarks that have a well-defined way to generate individual samples.
47+ An alternative is to directly implement [`generate_dataset`](@ref) to create a dataset
48+ without generating individual samples.
3349"""
3450function generate_sample end
3551
3652"""
3753 generate_dataset(::AbstractBenchmark, dataset_size::Int; kwargs...) -> Vector{<:DataSample}
3854
39- Generate a `Vector` of [`DataSample`](@ref) of length `dataset_size` for given benchmark.
55+ Generate a `Vector` of [`DataSample`](@ref) of length `dataset_size` for given benchmark.
4056Content of the dataset can be visualized using [`plot_data`](@ref), when it applies.
57+
58+ By default, it uses [`generate_sample`](@ref) to create each sample in the dataset, and passes any keyword arguments to it.
4159"""
4260function generate_dataset (
4361 bench:: AbstractBenchmark ,
0 commit comments