From b21eebdc26847fda7e0bc0ffafde385e21932a67 Mon Sep 17 00:00:00 2001 From: Stefan Schroeder <4sschroeder@gmail.com> Date: Mon, 16 Dec 2013 15:46:09 +0100 Subject: [PATCH] use AbstractForwardVehicleRoutingTransportCosts --- .../java/jsprit/core/util/CrowFlyCosts.java | 14 ++------------ .../java/jsprit/core/util/ManhattanCosts.java | 16 ++-------------- .../VehicleRoutingTransportCostsMatrix.java | 18 ++---------------- 3 files changed, 6 insertions(+), 42 deletions(-) diff --git a/jsprit-core/src/main/java/jsprit/core/util/CrowFlyCosts.java b/jsprit-core/src/main/java/jsprit/core/util/CrowFlyCosts.java index 6bc21c72..2c75ff9c 100644 --- a/jsprit-core/src/main/java/jsprit/core/util/CrowFlyCosts.java +++ b/jsprit-core/src/main/java/jsprit/core/util/CrowFlyCosts.java @@ -19,7 +19,7 @@ */ package jsprit.core.util; -import jsprit.core.problem.cost.VehicleRoutingTransportCosts; +import jsprit.core.problem.cost.AbstractForwardVehicleRoutingTransportCosts; import jsprit.core.problem.driver.Driver; import jsprit.core.problem.vehicle.Vehicle; @@ -31,7 +31,7 @@ import org.apache.log4j.Logger; * @author stefan schroeder * */ -public class CrowFlyCosts implements VehicleRoutingTransportCosts { +public class CrowFlyCosts extends AbstractForwardVehicleRoutingTransportCosts { private static Logger logger = Logger.getLogger(CrowFlyCosts.class); @@ -80,14 +80,4 @@ public class CrowFlyCosts implements VehicleRoutingTransportCosts { return transportTime; } - @Override - public double getBackwardTransportCost(String fromId, String toId, double arrivalTime, Driver driver, Vehicle vehicle) { - return getTransportCost(fromId, toId, arrivalTime, null, null); - } - - @Override - public double getBackwardTransportTime(String fromId, String toId, double arrivalTime, Driver driver, Vehicle vehicle) { - return getTransportTime(fromId, toId, arrivalTime, null, null); - } - } diff --git a/jsprit-core/src/main/java/jsprit/core/util/ManhattanCosts.java b/jsprit-core/src/main/java/jsprit/core/util/ManhattanCosts.java index df40a2b8..2229b61a 100644 --- a/jsprit-core/src/main/java/jsprit/core/util/ManhattanCosts.java +++ b/jsprit-core/src/main/java/jsprit/core/util/ManhattanCosts.java @@ -18,7 +18,7 @@ package jsprit.core.util; -import jsprit.core.problem.cost.VehicleRoutingTransportCosts; +import jsprit.core.problem.cost.AbstractForwardVehicleRoutingTransportCosts; import jsprit.core.problem.driver.Driver; import jsprit.core.problem.vehicle.Vehicle; @@ -28,7 +28,7 @@ import jsprit.core.problem.vehicle.Vehicle; * */ -public class ManhattanCosts implements VehicleRoutingTransportCosts { +public class ManhattanCosts extends AbstractForwardVehicleRoutingTransportCosts { public double speed = 1; @@ -58,16 +58,4 @@ public class ManhattanCosts implements VehicleRoutingTransportCosts { return distance; } - @Override - public double getBackwardTransportCost(String fromId, String toId, - double arrivalTime, Driver driver, Vehicle vehicle) { - return getTransportCost(fromId, toId, arrivalTime, null, null); - } - - @Override - public double getBackwardTransportTime(String fromId, String toId, - double arrivalTime, Driver driver, Vehicle vehicle) { - return getTransportTime(fromId, toId, arrivalTime, null, null); - } - } diff --git a/jsprit-core/src/main/java/jsprit/core/util/VehicleRoutingTransportCostsMatrix.java b/jsprit-core/src/main/java/jsprit/core/util/VehicleRoutingTransportCostsMatrix.java index ae12bbb6..a9a5392a 100644 --- a/jsprit-core/src/main/java/jsprit/core/util/VehicleRoutingTransportCostsMatrix.java +++ b/jsprit-core/src/main/java/jsprit/core/util/VehicleRoutingTransportCostsMatrix.java @@ -20,7 +20,7 @@ import java.util.HashMap; import java.util.Map; import jsprit.core.problem.VehicleRoutingProblem; -import jsprit.core.problem.cost.VehicleRoutingTransportCosts; +import jsprit.core.problem.cost.AbstractForwardVehicleRoutingTransportCosts; import jsprit.core.problem.driver.Driver; import jsprit.core.problem.vehicle.Vehicle; import jsprit.core.problem.vehicle.VehicleTypeImpl.VehicleCostParams; @@ -38,7 +38,7 @@ import org.apache.log4j.Logger; * @author schroeder * */ -public class VehicleRoutingTransportCostsMatrix implements VehicleRoutingTransportCosts { +public class VehicleRoutingTransportCostsMatrix extends AbstractForwardVehicleRoutingTransportCosts { static class RelationKey { @@ -238,25 +238,11 @@ public class VehicleRoutingTransportCostsMatrix implements VehicleRoutingTranspo } } - @Override - public double getBackwardTransportTime(String fromId, String toId, double arrivalTime, Driver driver, Vehicle vehicle) { - return getTransportTime(fromId, toId, arrivalTime, driver, vehicle); - } - - @Override public double getTransportCost(String fromId, String toId, double departureTime, Driver driver, Vehicle vehicle) { if(vehicle == null) return getDistance(fromId, toId); VehicleCostParams costParams = vehicle.getType().getVehicleCostParams(); return costParams.perDistanceUnit*getDistance(fromId, toId) + costParams.perTimeUnit*getTime(fromId, toId); } - - - @Override - public double getBackwardTransportCost(String fromId, String toId, double arrivalTime, Driver driver, Vehicle vehicle) { - return getTransportCost(fromId, toId, arrivalTime, driver, vehicle); - } - - }