Interface JobInsertionCostsCalculator
- All Known Implementing Classes:
AbstractInsertionCalculator,ShipmentInsertionCalculatorFlex
public interface JobInsertionCostsCalculator
-
Method Summary
Modifier and TypeMethodDescriptiondefault List<InsertionData> getAllInsertionPositions(VehicleRoute currentRoute, Job newJob) Returns all feasible insertion positions for a job in a route, considering all available vehicles.default List<InsertionData> getAllInsertionPositions(VehicleRoute currentRoute, Job newJob, Vehicle newVehicle, double newVehicleDepartureTime, Driver newDriver) Returns all feasible insertion positions for a job in a route with specific vehicle.getInsertionData(VehicleRoute currentRoute, Job newJob, Vehicle newVehicle, double newVehicleDepartureTime, Driver newDriver, double bestKnownCosts)
-
Method Details
-
getInsertionData
InsertionData getInsertionData(VehicleRoute currentRoute, Job newJob, Vehicle newVehicle, double newVehicleDepartureTime, Driver newDriver, double bestKnownCosts) -
getAllInsertionPositions
Returns all feasible insertion positions for a job in a route, considering all available vehicles.This is the preferred entry point for position-based regret calculation. It iterates over all available vehicles and collects all feasible positions.
- Parameters:
currentRoute- the route to evaluatenewJob- the job to insert- Returns:
- list of all feasible insertion positions across all vehicles, empty if none feasible
-
getAllInsertionPositions
default List<InsertionData> getAllInsertionPositions(VehicleRoute currentRoute, Job newJob, Vehicle newVehicle, double newVehicleDepartureTime, Driver newDriver) Returns all feasible insertion positions for a job in a route with specific vehicle.Unlike
getInsertionData(com.graphhopper.jsprit.core.problem.solution.route.VehicleRoute, com.graphhopper.jsprit.core.problem.job.Job, com.graphhopper.jsprit.core.problem.vehicle.Vehicle, double, com.graphhopper.jsprit.core.problem.driver.Driver, double)which returns only the best position, this returns ALL feasible positions for position-based regret calculation.Position-based regret (ranked #1 in Voigt 2025) compares individual positions across all routes, not just the best position per route.
- Parameters:
currentRoute- the route to evaluatenewJob- the job to insertnewVehicle- the vehicle (or null to iterate available vehicles)newVehicleDepartureTime- departure timenewDriver- the driver- Returns:
- list of all feasible insertion positions, empty if none feasible
-