20 package ch.sbb.matsim.routing.pt.raptor;
24 import java.util.ArrayList;
25 import java.util.List;
26 import java.util.Random;
65 if (routes == null || routes.isEmpty()) {
69 List<RaptorRoute> bestRoutes = null;
72 double score = betaDepartureTime * Math.abs(desiredDepartureTime - route.getDepartureTime())
74 + betaTransfer * route.getNumberOfTransfers();
75 if (bestRoute == null || score < bestScore) {
79 }
else if (score == bestScore) {
80 if (bestRoutes == null) {
81 bestRoutes =
new ArrayList<>();
82 bestRoutes.add(bestRoute);
84 bestRoutes.add(route);
87 if (bestRoutes != null) {
89 int index = this.random.nextInt(bestRoutes.size());
90 bestRoute = bestRoutes.get(index);
RaptorRoute selectOne(List< RaptorRoute > routes, double desiredDepartureTime)
static Random getLocalInstance()
void setBetaTravelTime(double betaTravelTime)
void setBetaDepartureTime(double betaDepartureTime)
void setBetaTransfer(double betaTransfer)