Skip to content

Commit 149a291

Browse files
committed
update
1 parent 48c7a21 commit 149a291

File tree

11 files changed

+46
-35
lines changed

11 files changed

+46
-35
lines changed

src/DecisionFocusedLearningBenchmarks.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ using .DynamicVehicleScheduling
6868

6969
# Interface
7070
export AbstractBenchmark, AbstractStochasticBenchmark, AbstractDynamicBenchmark, DataSample
71-
export generate_sample, generate_dataset, generate_scenario
71+
export generate_sample,
72+
generate_dataset, generate_scenario_generator, generate_anticipative_solver
7273
export generate_statistical_model
7374
export generate_maximizer, maximizer_kwargs
7475
export objective_value

src/DynamicVehicleScheduling/DynamicVehicleScheduling.jl

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ include("static_vsp/plot.jl")
3131

3232
# dynamic environment
3333
include("environment/instance.jl")
34-
include("environment/scenario.jl")
3534
include("environment/state.jl")
3635
include("environment/environment.jl")
36+
include("environment/scenario.jl")
3737
include("environment/plot.jl")
3838

3939
include("DynamicVSP/algorithms/prize_collecting_vsp.jl")
@@ -43,44 +43,30 @@ include("DynamicVSP/learning/features.jl")
4343
include("DynamicVSP/learning/2d_features.jl")
4444
include("DynamicVSP/learning/dataset.jl")
4545

46-
include("DynamicVSP/policy/abstract_vsp_policy.jl")
47-
include("DynamicVSP/policy/greedy_policy.jl")
48-
include("DynamicVSP/policy/lazy_policy.jl")
49-
include("DynamicVSP/policy/anticipative_policy.jl")
50-
include("DynamicVSP/policy/kleopatra_policy.jl")
46+
include("policy/abstract_vsp_policy.jl")
47+
include("policy/greedy_policy.jl")
48+
include("policy/lazy_policy.jl")
49+
include("policy/anticipative_policy.jl")
50+
include("policy/kleopatra_policy.jl")
5151

5252
struct DVSPBenchmark <: AbstractDynamicBenchmark end
5353

5454
function Utils.generate_sample(b::DVSPBenchmark, rng::AbstractRNG)
55-
return Instance(read_vsp_instance(readdir(datadep"dvrptw"; join=true)[1]))
55+
return DataSample(;
56+
instance=Instance(read_vsp_instance(readdir(datadep"dvrptw"; join=true)[1]))
57+
)
58+
end
59+
60+
function Utils.generate_scenario_generator(::DVSPBenchmark)
61+
return generate_scenario
62+
end
63+
64+
function Utils.generate_anticipative_solver(::DVSPBenchmark; kwargs...)
65+
return AnticipativeVSPPolicy(; kwargs...)
5666
end
5767

5868
export DVSPBenchmark, generate_sample, generate_scenario
5969
export run_policy!,
6070
GreedyVSPPolicy, LazyVSPPolicy, KleopatraVSPPolicy, AnticipativeVSPPolicy
6171

62-
# export highs_model, filtered_readdir
63-
64-
# export solve_hindsight_problem
65-
66-
# export AbstractDynamicPolicy, BasicDynamicPolicy
67-
68-
# export GreedyPolicy, LazyPolicy, RandomPolicy, Kleopatra
69-
70-
# export run_policy
71-
72-
# export compute_features,
73-
# compute_2D_features, compute_critic_features, compute_critic_2D_features, load_dataset
74-
75-
# export VSPInstance,
76-
# read_vsp_instance, start_time, env_routes_from_state_routes, state_route_from_env_routes
77-
# export DVSPEnv, prize_collecting_vsp
78-
# export anticipative_solver
79-
# export VSPSolution
80-
# export load_VSP_dataset
81-
# export GreedyVSPPolicy,
82-
# LazyVSPPolicy, AnticipativeVSPPolicy, run_policy!, KleopatraVSPPolicy
83-
# export plot_routes, plot_instance, plot_environment, plot_epoch
84-
# export get_state
85-
# export nb_epochs, get_epoch_indices
8672
end

src/DynamicVehicleScheduling/environment/scenario.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,11 @@ function generate_scenario(
4545
end
4646
return Scenario(new_indices, new_service_time, new_start_time)
4747
end
48+
49+
function generate_scenario(sample::DataSample; kwargs...)
50+
return generate_scenario(sample.instance; kwargs...)
51+
end
52+
53+
function generate_scenario(env::DVSPEnv; kwargs...)
54+
return generate_scenario(env.instance; kwargs...)
55+
end

src/Utils/Utils.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ include("model_builders.jl")
2020
export DataSample
2121

2222
export AbstractBenchmark, AbstractStochasticBenchmark, AbstractDynamicBenchmark
23-
export generate_dataset, generate_statistical_model, generate_maximizer, generate_sample
23+
export generate_dataset,
24+
generate_statistical_model,
25+
generate_maximizer,
26+
generate_sample,
27+
generate_scenario_generator,
28+
generate_anticipative_solver
2429
export plot_data, compute_gap
2530
export maximizer_kwargs
2631
export grid_graph, get_path, path_to_matrix

src/Utils/data_sample.jl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ Data sample data structure.
77
$TYPEDFIELDS
88
"""
99
@kwdef struct DataSample{
10-
I,F<:AbstractArray,S<:Union{AbstractArray,Nothing},C<:Union{AbstractArray,Nothing}
10+
I,
11+
F<:Union{AbstractArray,Nothing},
12+
S<:Union{AbstractArray,Nothing},
13+
C<:Union{AbstractArray,Nothing},
1114
}
1215
"features"
13-
x::F
16+
x::F = nothing
1417
"target cost parameters (optional)"
1518
θ_true::C = nothing
1619
"target solution (optional)"

0 commit comments

Comments
 (0)