Skip to content

Commit 000231a

Browse files
committed
possible fix to DC calibration - values are already in code
1 parent cfba1fa commit 000231a

2 files changed

Lines changed: 22 additions & 31 deletions

File tree

src/main/java/de/tum/bgu/msm/modules/tripDistribution/DestinationUtilityCalculatorImplGermany.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,31 @@
44

55
public class DestinationUtilityCalculatorImplGermany implements DestinationUtilityCalculator {
66

7-
private final static double TRAVEL_DISTANCE_PARAM_HBW = -0.01;
8-
private final static double IMPEDANCE_PARAM_HBW = 9;
7+
private final static double TRAVEL_DISTANCE_PARAM_HBW = -0.01 * 0.545653257377378;
8+
private final static double IMPEDANCE_PARAM_HBW = 20;
99

10-
private final static double TRAVEL_DISTANCE_PARAM_HBE = -0.01;
11-
private final static double IMPEDANCE_PARAM_HBE = 28.3;
10+
private final static double TRAVEL_DISTANCE_PARAM_HBE = -0.01 * 1.09211334287783;
11+
private final static double IMPEDANCE_PARAM_HBE = 20;
1212

13-
private final static double TRAVEL_DISTANCE_PARAM_HBS = -0.01 * 0.821986423320566;
14-
private final static double IMPEDANCE_PARAM_HBS = 14.5;
13+
private final static double TRAVEL_DISTANCE_PARAM_HBS = -0.01 * 1.382831732;
14+
private final static double IMPEDANCE_PARAM_HBS = 20;
1515

16-
private final static double TRAVEL_DISTANCE_PARAM_HBO = -0.01 * 0.996421875575011;
17-
private final static double IMPEDANCE_PARAM_HBO = 53;
16+
private final static double TRAVEL_DISTANCE_PARAM_HBO = -0.01 * 1.02679034779653;
17+
private final static double IMPEDANCE_PARAM_HBO = 20;
1818

19-
private final static double TRAVEL_DISTANCE_PARAM_HBR = -0.01 * 0.981771334336317;
20-
private final static double IMPEDANCE_PARAM_HBR = 53;
19+
private final static double TRAVEL_DISTANCE_PARAM_HBR = -0.01 * 0.874195571671594;
20+
private final static double IMPEDANCE_PARAM_HBR = 20;
2121

22-
private final static double travelDistanceParamNhbw = -0.01 * 0.890966779493155;
23-
private final static double impedanceParamNhbw = 15.1;
22+
private final static double travelDistanceParamNhbw = -0.01 * 0.993491317833469;
23+
private final static double impedanceParamNhbw = 20;
2424

25-
private final static double travelDistanceParamNhbo = -0.01 * 0.979440193648168;
26-
private final static double impedanceParamNhbo = 110;
25+
private final static double travelDistanceParamNhbo = -0.01 * 0.853890986777326;
26+
private final static double impedanceParamNhbo = 20;
2727

2828
private double distanceParam;
2929
private double impedanceParam;
3030
private double maxDistance_km;
31+
private double attractionParam = 1.;
3132

3233
DestinationUtilityCalculatorImplGermany(Purpose purpose, double travelDistanceCalibrationK, double impendanceCalibrationK) {
3334
switch (purpose) {
@@ -85,6 +86,6 @@ public double calculateUtility(double attraction, double travelDistance) {
8586
// return 0.;
8687
//}
8788
double impedance = impedanceParam * Math.exp(distanceParam * travelDistance);
88-
return Math.exp(impedance) * attraction;
89+
return Math.exp(impedance) * Math.pow(attraction, attractionParam);
8990
}
9091
}

src/main/java/de/tum/bgu/msm/modules/tripDistribution/destinationChooser/HbeHbwDistribution.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -68,25 +68,15 @@ public Void call() {
6868
}
6969

7070
private void findDestination(MitoHousehold household, MitoTrip trip) {
71-
72-
73-
//todo make this trips intrazonal until school file for Germany is ready
7471
if (isFixedByOccupation(trip)) {
75-
if (trip.getTripPurpose().equals(Purpose.HBE)) {
76-
trip.setTripDestination(trip.getTripOrigin());
77-
} else {
7872
trip.setTripDestination(trip.getPerson().getOccupation());
79-
}
8073
} else {
81-
if (trip.getTripPurpose().equals(Purpose.HBE)) {
82-
trip.setTripDestination(trip.getTripOrigin());
83-
} else {
84-
TripDistribution.randomOccupationDestinationTrips.incrementAndGet();
85-
IndexedDoubleMatrix1D probabilities = baseProbabilities.viewRow(household.getHomeZone().getId());
86-
final int internalIndex = MitoUtil.select(probabilities.toNonIndexedArray(), random, probabilities.zSum());
87-
final MitoZone destination = zonesCopy.get(probabilities.getIdForInternalIndex(internalIndex));
88-
trip.setTripDestination(destination);
89-
}
74+
TripDistribution.randomOccupationDestinationTrips.incrementAndGet();
75+
IndexedDoubleMatrix1D probabilities = baseProbabilities.viewRow(household.getHomeZone().getId());
76+
final int internalIndex = MitoUtil.select(probabilities.toNonIndexedArray(), random, probabilities.zSum());
77+
final MitoZone destination = zonesCopy.get(probabilities.getIdForInternalIndex(internalIndex));
78+
trip.setTripDestination(destination);
79+
9080
}
9181
}
9282

0 commit comments

Comments
 (0)