Skip to content
Open
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ private static void loadConfigGroups(Config config) {
DrtOptimizationConstraintsSetImpl defaultConstraintsSet =
drtCfg.addOrGetDrtOptimizationConstraintsParams()
.addOrGetDefaultDrtOptimizationConstraintsSet();
defaultConstraintsSet.setMaxWaitTime(2 * 3600);
defaultConstraintsSet.setMaxWaitTime(15 * 60);
defaultConstraintsSet.setMaxTravelTimeAlpha(5);
defaultConstraintsSet.setMaxTravelTimeBeta(15 * 60);
drtCfg.setStopDuration(60);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ void testRunDrtWithCompanions() {
controler.run();

int[] actualRides = getTotalNumberOfDrtRides();
Assertions.assertThat(actualRides[0]).isEqualTo(378);
Assertions.assertThat(actualRides[1]).isEqualTo(706);
Assertions.assertThat(actualRides[0]).isEqualTo(402);
Assertions.assertThat(actualRides[1]).isEqualTo(752);
}

@Test
Expand Down Expand Up @@ -116,8 +116,8 @@ void testRunDrtWithCompanionsMultiThreaded() {
controler.run();

int[] actualRides = getTotalNumberOfDrtRides();
Assertions.assertThat(actualRides[0]).isEqualTo(375);
Assertions.assertThat(actualRides[1]).isEqualTo(699);
Assertions.assertThat(actualRides[0]).isEqualTo(402);
Assertions.assertThat(actualRides[1]).isEqualTo(752);
}

private int[] getTotalNumberOfDrtRides() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ void testMultiModeDrtDeterminism() {

controller.run();

assertEquals(1909, tracker.passengerPickupEvents);
assertEquals(2087, tracker.passengerPickupEvents);
}


Expand Down Expand Up @@ -157,10 +157,10 @@ void testWithPrebooking() {

controller.run();

assertEquals(106, tracker.immediateScheduled);
assertEquals(181, tracker.prebookedScheduled);
assertEquals(101, tracker.immediateRejected);
assertEquals(24, tracker.prebookedRejected);
assertEquals(135, tracker.immediateScheduled);
assertEquals(178, tracker.prebookedScheduled);
assertEquals(75, tracker.immediateRejected);
assertEquals(27, tracker.prebookedRejected);
}

static private class PassengerPickUpTracker implements PassengerPickedUpEventHandler {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,9 +220,9 @@ void testSkillsConstraint() {
}
}

assertEquals(343, totalRequests);
assertEquals(67, restrictedRequests);
assertEquals(67, validMatchings);
assertEquals(366, totalRequests);
assertEquals(84, restrictedRequests);
assertEquals(84, validMatchings);
assertEquals(0, invalidMatchings);
}

Expand Down Expand Up @@ -290,8 +290,8 @@ void testRangeConstraintWithCustomInstances() {
assertTrue(item.getValue() < 100.0 * 1e3);
}

assertEquals(1470, distanceCalculator.calculatedDistances);
assertEquals(5286, distanceApproximator.calculatedDistances);
assertEquals(1039, distanceCalculator.calculatedDistances);
assertEquals(7089, distanceApproximator.calculatedDistances);
}

@Test
Expand Down Expand Up @@ -326,8 +326,8 @@ protected void configureQSim() {
assertTrue(item.getValue() < 100.0 * 1e3);
}

assertEquals(1470, distanceCalculator.calculatedDistances);
assertEquals(5286, distanceApproximator.calculatedDistances);
assertEquals(1039, distanceCalculator.calculatedDistances);
assertEquals(7089, distanceApproximator.calculatedDistances);
}

static class CustomDistanceCalculator extends CustomCalculator {
Expand Down Expand Up @@ -393,7 +393,7 @@ void testCustomConstraint() {
assertTrue(handler.rejectedRequests.contains(Id.create("drt_" + i, Request.class)));
}

assertEquals(112, handler.rejectedRequests.size());
assertEquals(104, handler.rejectedRequests.size());
}

static public class RejectedRequestsHandler implements PassengerRequestRejectedEventHandler {
Expand Down Expand Up @@ -429,10 +429,10 @@ void testDefaults() {

controller.run();

assertEquals(18, handler.rejectedRequests);
assertEquals(2097060.0, handler.fleetDistance, 1e-3);
assertEquals(700441.0, handler.activeTime(), 1e-3);
assertEquals(278.5162162162162, handler.meanWaitTime(), 1e-3);
assertEquals(6, handler.rejectedRequests);
assertEquals(1966486.0, handler.fleetDistance, 1e-3);
assertEquals(699697.0, handler.activeTime(), 1e-3);
assertEquals(314.8219895287958, handler.meanWaitTime(), 1e-3);
}

@Test
Expand All @@ -450,10 +450,10 @@ void testVehicleActiveTimeObjective() {

controller.run();

assertEquals(18, handler.rejectedRequests);
assertEquals(2097060, handler.fleetDistance, 1e-3);
assertEquals(700441.0, handler.activeTime(), 1e-3);
assertEquals(278.5162162162162, handler.meanWaitTime(), 1e-3);
assertEquals(6, handler.rejectedRequests);
assertEquals(1966486.0, handler.fleetDistance, 1e-3);
assertEquals(699697.0, handler.activeTime(), 1e-3);
assertEquals(314.8219895287958, handler.meanWaitTime(), 1e-3);
}

@Test
Expand All @@ -471,10 +471,10 @@ void testVehicleDistanceObjective() {

controller.run();

assertEquals(22, handler.rejectedRequests);
assertEquals(2070663.0, handler.fleetDistance, 1e-3);
assertEquals(699076.0, handler.activeTime(), 1e-3);
assertEquals(279.37704, handler.meanWaitTime(), 1e-3);
assertEquals(5, handler.rejectedRequests);
assertEquals(2016574.0, handler.fleetDistance, 1e-3);
assertEquals(692726.0, handler.activeTime(), 1e-3);
assertEquals(301.1906005221932, handler.meanWaitTime(), 1e-3);
}

@Test
Expand All @@ -492,10 +492,10 @@ void testPassengerPassengerDelayObjective() {

controller.run();

assertEquals(23, handler.rejectedRequests);
assertEquals(2141019.0, handler.fleetDistance, 1e-3);
assertEquals(704897.0, handler.activeTime(), 1e-3);
assertEquals(241.17808, handler.meanWaitTime(), 1e-3);
assertEquals(6, handler.rejectedRequests);
assertEquals(2138851.0, handler.fleetDistance, 1e-3);
assertEquals(704702.0, handler.activeTime(), 1e-3);
assertEquals(235.72513089005236, handler.meanWaitTime(), 1e-3);
}

static public class ObjectiveHandler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public void handleEvent(PassengerRequestRejectedEvent event) {
assertNotEquals(71, businessRejections.get());

// values with preemptive rejection
assertEquals(46, leisureRejections.get());
assertEquals(108, businessRejections.get());
assertEquals(28, leisureRejections.get());
assertEquals(98, businessRejections.get());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ void testWithoutReconfiguration() {

controller.run();

assertEquals(198, tracker.pickedUpPassengers);
assertEquals(199, tracker.pickedUpPassengers);
assertEquals(0, tracker.pickedUpGoods);
}

Expand Down Expand Up @@ -90,8 +90,8 @@ void testSimpleReconfiguration() {

controller.run();

assertEquals(88, tracker.pickedUpPassengers);
assertEquals(106, tracker.pickedUpGoods);
assertEquals(91, tracker.pickedUpPassengers);
assertEquals(108, tracker.pickedUpGoods);
}

@Test
Expand Down Expand Up @@ -129,8 +129,8 @@ void testDefaultReconfiguration() {

controller.run();

assertEquals(186, tracker.pickedUpPassengers);
assertEquals(167, tracker.pickedUpGoods);
assertEquals(193, tracker.pickedUpPassengers);
assertEquals(178, tracker.pickedUpGoods);
}

@Test
Expand Down
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would make it a warning that waiting time may not always be fully effective only.

Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,11 @@ public class DrtOptimizationConstraintsSetImpl extends DrtOptimizationConstraint
protected void checkConsistency(Config config) {
super.checkConsistency(config);
Verify.verify(getMaxAbsoluteDetour() > getMinimumAllowedDetour(), "The minimum allowed detour must" +
"be lower than the maximum allowed detour.");
" be lower than the maximum allowed detour.");
if (!Double.isNaN(maxTravelTimeBeta) && !Double.isNaN(getMaxWaitTime())) {
Verify.verify(getMaxTravelTimeBeta() >= getMaxWaitTime(), "The maximum travel time beta must" +
" be at least equal or greater than maximum wait time.");
}
}

@DecimalMin("1.0")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ void testMaxWaitTimeOneVehicleForFourAgents() {
*/
@Test
void testBetaNoVehicles() {
PersonEnterDrtVehicleEventHandler handler = setupAndRunScenario(5000, 1.0, 0.);
PersonEnterDrtVehicleEventHandler handler = setupAndRunScenario(60, 1.0, 60);

Assertions.assertEquals(0, handler.getVehRequestCount().size(), "There should only be zero vehicles used");

Expand All @@ -156,7 +156,7 @@ void testBetaNoVehicles() {
*/
@Test
void testBetaTwoVehiclesForTwoAgents() {
PersonEnterDrtVehicleEventHandler handler = setupAndRunScenario(5000, 1.0, 150);
PersonEnterDrtVehicleEventHandler handler = setupAndRunScenario(150, 1.0, 150);

Assertions.assertEquals(2, handler.getVehRequestCount().size(), "There should two vehicle used");
Id<DvrpVehicle> drt_veh_1_1 = Id.create("drt_veh_1_1", DvrpVehicle.class);
Expand All @@ -177,7 +177,7 @@ void testBetaTwoVehiclesForTwoAgents() {
*/
@Test
void testBetaTwoVehiclesForFourAgents() {
PersonEnterDrtVehicleEventHandler handler = setupAndRunScenario(5000, 1.0, 250);
PersonEnterDrtVehicleEventHandler handler = setupAndRunScenario(250, 1.0, 250);

Assertions.assertEquals(2, handler.getVehRequestCount().size(), "There should two vehicle used");
Id<DvrpVehicle> drt_veh_1_1 = Id.create("drt_veh_1_1", DvrpVehicle.class);
Expand All @@ -197,7 +197,7 @@ void testBetaTwoVehiclesForFourAgents() {
*/
@Test
void testBetaOneVehicleForFourAgents() {
PersonEnterDrtVehicleEventHandler handler = setupAndRunScenario(5000, 1.0, 400);
PersonEnterDrtVehicleEventHandler handler = setupAndRunScenario(400, 1.0, 400);

Assertions.assertEquals(1, handler.getVehRequestCount().size(), "There should only be one vehicle used");
Id<DvrpVehicle> drt_veh_1_1 = Id.create("drt_veh_1_1", DvrpVehicle.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -783,7 +783,7 @@ void abortAfterRejection_onActivity() {
.addVehicle("vehicleA", 1, 1) //
.setVehicleCapacity(1) //
.addRequest("requestA", 1, 1, 8, 8, 2000.0, 1800.0)
.configure(10.0, 1.0, 0.0, 5.0)
.configure(10.0, 1.0, 10.0, 5.0)
.endTime(12.0 * 3600.0);

Controler controller = environment.build();
Expand All @@ -806,7 +806,7 @@ void abortAfterRejection_onLeg() {
.addVehicle("vehicleA", 1, 1) //
.setVehicleCapacity(1) //
.addRequest("requestA", 1, 1, 8, 8, 2000.0, 1800.0)
.configure(10.0, 1.0, 0.0, 5.0)
.configure(10.0, 1.0, 10.0, 5.0)
.endTime(12.0 * 3600.0);

Controler controller = environment.build();
Expand Down
Loading