MATSIM
ModeUtilityParameters.java
Go to the documentation of this file.
1 
2 /* *********************************************************************** *
3  * project: org.matsim.*
4  * ModeUtilityParameters.java
5  * *
6  * *********************************************************************** *
7  * *
8  * copyright : (C) 2019 by the members listed in the COPYING, *
9  * LICENSE and WARRANTY file. *
10  * email : info at matsim dot org *
11  * *
12  * *********************************************************************** *
13  * *
14  * This program is free software; you can redistribute it and/or modify *
15  * it under the terms of the GNU General Public License as published by *
16  * the Free Software Foundation; either version 2 of the License, or *
17  * (at your option) any later version. *
18  * See also COPYING, LICENSE and WARRANTY file *
19  * *
20  * *********************************************************************** */
21 
22  package org.matsim.core.scoring.functions;
23 
25 
30 public class ModeUtilityParameters {
31  public static class Builder {
32  private double marginalUtilityOfTraveling_s = 0;
33  private double marginalUtilityOfDistance_m = 0;
34  private double monetaryDistanceRate = 0;
35  private double constant = 0;
36  private double dailyMoneyConstant = 0;
37  private double dailyUtilityConstant = 0;
38 
39  public Builder() {}
40 
42  this.marginalUtilityOfTraveling_s = params.getMarginalUtilityOfTraveling() / 3600.0;
43  this.marginalUtilityOfDistance_m = params.getMarginalUtilityOfDistance();
44  this.monetaryDistanceRate = params.getMonetaryDistanceRate();
45  this.constant = params.getConstant();
46  this.dailyMoneyConstant = params.getDailyMonetaryConstant();
47  this.dailyUtilityConstant = params.getDailyUtilityConstant();
48  }
49 
50  public Builder setMarginalUtilityOfTraveling_s(double marginalUtilityOfTraveling_s) {
51  this.marginalUtilityOfTraveling_s = marginalUtilityOfTraveling_s;
52  return this;
53  }
54 
55  public Builder setMarginalUtilityOfDistance_m(double marginalUtilityOfDistance_m) {
56  this.marginalUtilityOfDistance_m = marginalUtilityOfDistance_m;
57  return this;
58  }
59 
60  public Builder setMonetaryDistanceRate(double monetaryDistanceRate) {
61  this.monetaryDistanceRate = monetaryDistanceRate;
62  return this;
63  }
64 
65  public Builder setConstant(double constant) {
66  this.constant = constant;
67  return this;
68  }
69 
70  public Builder setDailyMoneyConstant(double dailyMoneyConstant) {
71  this.dailyMoneyConstant = dailyMoneyConstant;
72  return this;
73  }
74 
75  public Builder setDailyUtilityConstant(double dailyUtilityConstant) {
76  this.dailyUtilityConstant = dailyUtilityConstant;
77  return this;
78  }
79 
81  return new ModeUtilityParameters(
82  marginalUtilityOfTraveling_s,
83  marginalUtilityOfDistance_m,
84  monetaryDistanceRate,
85  constant,
86  dailyMoneyConstant,
87  dailyUtilityConstant);
88  }
89  }
90 
95  double constant,
96  double dailyMoneyConstant,
97  double dailyUtilityConstant) {
98  this.marginalUtilityOfTraveling_s = marginalUtilityOfTraveling_s;
99  this.marginalUtilityOfDistance_m = marginalUtilityOfDistance_m;
100  this.monetaryDistanceCostRate = monetaryDistanceCostRate;
101  this.constant = constant;
102  this.dailyMoneyConstant = dailyMoneyConstant;
103  this.dailyUtilityConstant = dailyUtilityConstant;
104  }
105 
106  public final double marginalUtilityOfTraveling_s;
107  public final double marginalUtilityOfDistance_m;
108  public final double monetaryDistanceCostRate;
109  public final double constant;
110  public final double dailyMoneyConstant;
111  public final double dailyUtilityConstant;
112 }
ModeUtilityParameters(double marginalUtilityOfTraveling_s, double marginalUtilityOfDistance_m, double monetaryDistanceCostRate, double constant, double dailyMoneyConstant, double dailyUtilityConstant)
Builder setMarginalUtilityOfDistance_m(double marginalUtilityOfDistance_m)
Builder setMarginalUtilityOfTraveling_s(double marginalUtilityOfTraveling_s)