/** * Test the scoring function in regards to late arrival. */ @Test public void testLateArrival() { Fixture f = new Fixture(); double disutility = -10.0; f.config.planCalcScore().setLateArrival_utils_hr(disutility); ActivityParams wParams = f.config.planCalcScore().getActivityParams("w"); wParams.setLatestStartTime(13 * 3600.0); // agent should start working latest at 13 o'clock // the agent arrived 30mins late assertEquals(disutility * 0.5, calcScore(f), EPSILON); }
group.getModes().get(TransportMode.pt).setConstant((double) 983); group.getModes().get(TransportMode.walk).setConstant((double) 89); group.setLateArrival_utils_hr( 345 ); group.setEarlyDeparture_utils_hr( 5 ); group.setLearningRate( 98 );
Fixture f = new Fixture(); f.config.planCalcScore().setLateArrival_utils_hr(-18.0); final double traveling1 = -6.0; f.config.planCalcScore().getModes().get(TransportMode.car).setMarginalUtilityOfTraveling(traveling1); f.config.planCalcScore().setLateArrival_utils_hr(-3.0); final double traveling = -6.0; f.config.planCalcScore().getModes().get(TransportMode.car).setMarginalUtilityOfTraveling(traveling);
private static void enrichConfig(Config c) { PlanCalcScoreConfigGroup.ActivityParams pre = new PlanCalcScoreConfigGroup.ActivityParams("origin"); pre.setTypicalDuration(49); // needs to be geq 49, otherwise when // running a simulation one gets // "java.lang.RuntimeException: zeroUtilityDuration of type pre-evac must be greater than 0.0. Did you forget to specify the typicalDuration?" // the reason is the double precision. see also comment in // ActivityUtilityParameters.java (gl) pre.setMinimalDuration(49); pre.setClosingTime(49); pre.setEarliestEndTime(49); pre.setLatestStartTime(49); pre.setOpeningTime(49); PlanCalcScoreConfigGroup.ActivityParams post = new PlanCalcScoreConfigGroup.ActivityParams("destination"); post.setTypicalDuration(49); // dito post.setMinimalDuration(49); post.setClosingTime(49); post.setEarliestEndTime(49); post.setLatestStartTime(49); post.setOpeningTime(49); c.planCalcScore().addActivityParams(pre); c.planCalcScore().addActivityParams(post); c.planCalcScore().setLateArrival_utils_hr(0.); c.planCalcScore().setPerforming_utils_hr(0.); }
scoring.setLateArrival_utils_hr(0.0); scoring.setMarginalUtlOfWaiting_utils_hr(0.0); scoring.setPerforming_utils_hr(0.0);