MATSIM
RaptorParameters.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.* *
3  *
4  * *
5  * *********************************************************************** *
6  * *
7  * copyright : (C) 2023 by the members listed in the COPYING, *
8  * LICENSE and WARRANTY file. *
9  * email : info at matsim dot org *
10  * *
11  * *********************************************************************** *
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU General Public License as published by *
15  * the Free Software Foundation; either version 2 of the License, or *
16  * (at your option) any later version. *
17  * See also COPYING, LICENSE and WARRANTY file *
18  * *
19  * *********************************************************************** */
20 
21 package ch.sbb.matsim.routing.pt.raptor;
22 
24 
25 import java.util.HashMap;
26 import java.util.Map;
27 
31 public class RaptorParameters {
32 
37  private double searchRadius = 1000.0;
38 
49  private double extensionRadius = 200.0;
50 
56  private double directWalkFactor = 1.0;
57 
58  private double beelineWalkSpeed; // meter / second
59 
60  private final Map<String, Double> marginalUtilityOfTravelTime_utl_s = new HashMap<>();
61 
63 
64  private double transferPenaltyFixCostPerTransfer = 0.0;
65  private double transferPenaltyPerTravelTimeHour = 0.0;
66  private double transferPenaltyMinimum = Double.NEGATIVE_INFINITY;
67  private double transferPenaltyMaximum = Double.POSITIVE_INFINITY;
68 
69  private boolean useTransportModeUtilities = false;
70 
72 
73  private int maxTransfers = Integer.MAX_VALUE;
74  private boolean exactDeparturesOnly = false;
75 
77  this.config = config;
78  }
79 
81  return config;
82  }
83 
84  public double getSearchRadius() {
85  return this.searchRadius;
86  }
87 
88  public void setSearchRadius(double searchRadius) {
89  this.searchRadius = searchRadius;
90  }
91 
92  public double getExtensionRadius() {
93  return this.extensionRadius;
94  }
95 
96  public void setExtensionRadius(double extensionRadius) {
97  this.extensionRadius = extensionRadius;
98  }
99 
100  public double getDirectWalkFactor() {
101  return this.directWalkFactor;
102  }
103 
104  public void setDirectWalkFactor(double directWalkFactor) {
105  this.directWalkFactor = directWalkFactor;
106  }
107 
108  public double getBeelineWalkSpeed() {
109  return this.beelineWalkSpeed;
110  }
111 
112  public void setBeelineWalkSpeed(double beelineWalkSpeed) {
113  this.beelineWalkSpeed = beelineWalkSpeed;
114  }
115 
116  public double getMarginalUtilityOfTravelTime_utl_s(String mode) {
117  Double marginalUtility = this.marginalUtilityOfTravelTime_utl_s.get(mode);
118  if (marginalUtility == null) {
119  throw new NullPointerException("Marginal utility of travel time is missing for mode: " + mode);
120  }
121  return marginalUtility;
122  }
123 
124  public void setMarginalUtilityOfTravelTime_utl_s(String mode, double marginalUtilityOfTravelTime_utl_s) {
125  this.marginalUtilityOfTravelTime_utl_s.put(mode, marginalUtilityOfTravelTime_utl_s);
126  }
127 
130  }
131 
132  public void setMarginalUtilityOfWaitingPt_utl_s(double marginalUtilityOfWaitingPt_utl_s) {
133  this.marginalUtilityOfWaitingPt_utl_s = marginalUtilityOfWaitingPt_utl_s;
134  }
135 
138  }
139 
140  public void setTransferPenaltyFixCostPerTransfer(double transferPenaltyFixCostPerTransfer) {
141  this.transferPenaltyFixCostPerTransfer = transferPenaltyFixCostPerTransfer;
142  }
143 
146  }
147 
148  public void setTransferPenaltyPerTravelTimeHour(double transferPenaltyPerTravelTimeHour) {
149  this.transferPenaltyPerTravelTimeHour = transferPenaltyPerTravelTimeHour;
150  }
151 
152  public double getTransferPenaltyMinimum() {
153  return this.transferPenaltyMinimum;
154  }
155 
156  public void setTransferPenaltyMinimum(double transferPenaltyMinimum) {
157  this.transferPenaltyMinimum = transferPenaltyMinimum;
158  }
159 
160  public double getTransferPenaltyMaximum() {
161  return this.transferPenaltyMaximum;
162  }
163 
164  public void setTransferPenaltyMaximum(double transferPenaltyMaximum) {
165  this.transferPenaltyMaximum = transferPenaltyMaximum;
166  }
167 
168  public boolean isUseTransportModeUtilities() {
170  }
171 
172  public void setUseTransportModeUtilities(boolean useTransportModeUtilities) {
173  this.useTransportModeUtilities = useTransportModeUtilities;
174  }
175 
176  int getMaxTransfers() {
177  return this.maxTransfers;
178  }
179 
180  public void setMaxTransfers(int maxTransfers) {
181  this.maxTransfers = maxTransfers;
182  }
183 
184  boolean isExactDeparturesOnly() {
185  return this.exactDeparturesOnly;
186  }
187 
188  void setExactDeparturesOnly(boolean exactDeparturesOnly) {
189  this.exactDeparturesOnly = exactDeparturesOnly;
190  }
191 }
void setUseTransportModeUtilities(boolean useTransportModeUtilities)
void setTransferPenaltyFixCostPerTransfer(double transferPenaltyFixCostPerTransfer)
void setTransferPenaltyMinimum(double transferPenaltyMinimum)
void setMarginalUtilityOfTravelTime_utl_s(String mode, double marginalUtilityOfTravelTime_utl_s)
void setTransferPenaltyPerTravelTimeHour(double transferPenaltyPerTravelTimeHour)
void setTransferPenaltyMaximum(double transferPenaltyMaximum)
void setMarginalUtilityOfWaitingPt_utl_s(double marginalUtilityOfWaitingPt_utl_s)
RaptorParameters(SwissRailRaptorConfigGroup config)
final Map< String, Double > marginalUtilityOfTravelTime_utl_s