util
Class VehicleRoutingTransportCostsMatrix

java.lang.Object
  extended by util.VehicleRoutingTransportCostsMatrix
All Implemented Interfaces:
BackwardTransportCost, BackwardTransportTime, ForwardTransportCost, ForwardTransportTime, TransportCost, TransportTime, VehicleRoutingTransportCosts

public class VehicleRoutingTransportCostsMatrix
extends java.lang.Object
implements VehicleRoutingTransportCosts

CostMatrix that allows pre-compiled time and distance-matrices to be considered as VehicleRoutingRoutingCosts in the VehicleRoutingProblem.

Note that you can also use it with distance matrix only (or time matrix). But ones you set a particular distance, this expects distance-entries for all relations. This counts also for a particular time. If the method getTransportCosts(...) is then invoked for a relation, where no distance can be found, an IllegalStateException will be thrown. Thus if you want to only use distances only, do not use addTransportTime(...).

Author:
schroeder

Nested Class Summary
static class VehicleRoutingTransportCostsMatrix.Builder
          Builder that builds the matrix.
 
Method Summary
 double getBackwardTransportCost(java.lang.String fromId, java.lang.String toId, double arrivalTime, Driver driver, Vehicle vehicle)
           
 double getBackwardTransportTime(java.lang.String fromId, java.lang.String toId, double arrivalTime, Driver driver, Vehicle vehicle)
           
 double getTransportCost(java.lang.String fromId, java.lang.String toId, double departureTime, Driver driver, Vehicle vehicle)
           
 double getTransportTime(java.lang.String fromId, java.lang.String toId, double departureTime, Driver driver, Vehicle vehicle)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getTransportTime

public double getTransportTime(java.lang.String fromId,
                               java.lang.String toId,
                               double departureTime,
                               Driver driver,
                               Vehicle vehicle)
Specified by:
getTransportTime in interface ForwardTransportTime

getBackwardTransportTime

public double getBackwardTransportTime(java.lang.String fromId,
                                       java.lang.String toId,
                                       double arrivalTime,
                                       Driver driver,
                                       Vehicle vehicle)
Specified by:
getBackwardTransportTime in interface BackwardTransportTime

getTransportCost

public double getTransportCost(java.lang.String fromId,
                               java.lang.String toId,
                               double departureTime,
                               Driver driver,
                               Vehicle vehicle)
Specified by:
getTransportCost in interface ForwardTransportCost

getBackwardTransportCost

public double getBackwardTransportCost(java.lang.String fromId,
                                       java.lang.String toId,
                                       double arrivalTime,
                                       Driver driver,
                                       Vehicle vehicle)
Specified by:
getBackwardTransportCost in interface BackwardTransportCost