diff --git a/Project.toml b/Project.toml index dc57b6c..f2bc82e 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "DecisionFocusedLearningBenchmarks" uuid = "2fbe496a-299b-4c81-bab5-c44dfc55cf20" authors = ["Members of JuliaDecisionFocusedLearning"] -version = "0.2.0" +version = "0.2.1" [deps] ConstrainedShortestPaths = "b3798467-87dc-4d99-943d-35a1bd39e395" diff --git a/src/StochasticVehicleScheduling/StochasticVehicleScheduling.jl b/src/StochasticVehicleScheduling/StochasticVehicleScheduling.jl index c864225..d6d2558 100644 --- a/src/StochasticVehicleScheduling/StochasticVehicleScheduling.jl +++ b/src/StochasticVehicleScheduling/StochasticVehicleScheduling.jl @@ -110,11 +110,34 @@ function Utils.generate_dataset( ] end +""" +$TYPEDEF + +Deterministic vsp maximizer for the [StochasticVehicleSchedulingBenchmark](@ref). +""" +struct StochasticVechicleSchedulingMaximizer{M} + "mip solver model to use" + model_builder::M +end + +""" +$TYPEDSIGNATURES +""" +function Utils.generate_maximizer( + bench::StochasticVehicleSchedulingBenchmark; model_builder=highs_model +) + return StochasticVechicleSchedulingMaximizer(model_builder) +end + """ $TYPEDSIGNATURES + +Apply the maximizer with the stored model builder. """ -function Utils.generate_maximizer(bench::StochasticVehicleSchedulingBenchmark) - return vsp_maximizer +function (maximizer::StochasticVechicleSchedulingMaximizer)( + θ::AbstractVector; instance::Instance, kwargs... +) + return vsp_maximizer(θ; instance, model_builder=maximizer.model_builder, kwargs...) end """