Skip to content

Commit 7f9d322

Browse files
committed
bugfix
1 parent 149a291 commit 7f9d322

File tree

6 files changed

+37
-9
lines changed

6 files changed

+37
-9
lines changed

src/DecisionFocusedLearningBenchmarks.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,12 @@ using .DynamicVehicleScheduling
6868

6969
# Interface
7070
export AbstractBenchmark, AbstractStochasticBenchmark, AbstractDynamicBenchmark, DataSample
71-
export generate_sample,
72-
generate_dataset, generate_scenario_generator, generate_anticipative_solver
71+
72+
export generate_sample, generate_dataset, generate_environments
73+
export generate_scenario_generator, generate_anticipative_solver
7374
export generate_statistical_model
7475
export generate_maximizer, maximizer_kwargs
76+
7577
export objective_value
7678
export plot_data, plot_instance, plot_solution
7779
export compute_gap

src/DynamicVehicleScheduling/DynamicVehicleScheduling.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ include("static_vsp/plot.jl")
3232
# dynamic environment
3333
include("environment/instance.jl")
3434
include("environment/state.jl")
35-
include("environment/environment.jl")
3635
include("environment/scenario.jl")
36+
include("environment/environment.jl")
3737
include("environment/plot.jl")
3838

3939
include("DynamicVSP/algorithms/prize_collecting_vsp.jl")
@@ -65,7 +65,11 @@ function Utils.generate_anticipative_solver(::DVSPBenchmark; kwargs...)
6565
return AnticipativeVSPPolicy(; kwargs...)
6666
end
6767

68-
export DVSPBenchmark, generate_sample, generate_scenario
68+
function Utils.generate_environment(::DVSPBenchmark, instance::Instance; kwargs...)
69+
return DVSPEnv(instance; kwargs...)
70+
end
71+
72+
export DVSPBenchmark, generate_environment # , generate_sample, generate_anticipative_solver
6973
export run_policy!,
7074
GreedyVSPPolicy, LazyVSPPolicy, KleopatraVSPPolicy, AnticipativeVSPPolicy
7175

src/DynamicVehicleScheduling/environment/environment.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,7 @@ function CommonRLInterface.act!(env::DVSPEnv, routes, scenario=env.scenario)
8484
add_new_customers!(env.state, env.instance; scenario[current_epoch(env)]...)
8585
return reward
8686
end
87+
88+
function generate_scenario(env::DVSPEnv; kwargs...)
89+
return generate_scenario(env.instance; kwargs...)
90+
end

src/DynamicVehicleScheduling/environment/scenario.jl

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,3 @@ end
4949
function generate_scenario(sample::DataSample; kwargs...)
5050
return generate_scenario(sample.instance; kwargs...)
5151
end
52-
53-
function generate_scenario(env::DVSPEnv; kwargs...)
54-
return generate_scenario(env.instance; kwargs...)
55-
end

src/Utils/Utils.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ export generate_dataset,
2525
generate_maximizer,
2626
generate_sample,
2727
generate_scenario_generator,
28-
generate_anticipative_solver
28+
generate_anticipative_solver,
29+
generate_environment,
30+
generate_environments
2931
export plot_data, compute_gap
3032
export maximizer_kwargs
3133
export grid_graph, get_path, path_to_matrix

src/Utils/interface.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,3 +210,23 @@ It follows the same interface as [`AbstractStochasticBenchmark`](@ref), with the
210210
TODO
211211
"""
212212
abstract type AbstractDynamicBenchmark <: AbstractStochasticBenchmark end
213+
214+
"""
215+
generate_environment(::AbstractDynamicBenchmark, instance; kwargs...)
216+
217+
Initialize an environment for the given dynamic benchmark instance.
218+
"""
219+
function generate_environment end
220+
221+
"""
222+
$TYPEDSIGNATURES
223+
224+
Generate a vector of environments for the given dynamic benchmark and dataset.
225+
"""
226+
function generate_environments(
227+
bench::AbstractDynamicBenchmark, dataset::Vector{<:DataSample}, kwargs...
228+
)
229+
return map(dataset) do sample
230+
generate_environment(bench, sample.instance; kwargs...)
231+
end
232+
end

0 commit comments

Comments
 (0)