usesDeprecatedSyntax = true ; ActivityParams actParams = getActivityTypeByNumber(key.substring("activityEarliestEndTime_".length())); actParams.setEarliestEndTime(Time.parseTime(value)); } else if (key.startsWith("activityClosingTime_")) { log.warn( key + msg );
settings.setActivityType( "activity-type-"+i ); settings.setClosingTime( random.nextInt( 24*3600 ) ); settings.setEarliestEndTime( random.nextInt( 24*3600 ) ); settings.setLatestStartTime( random.nextInt( 24*3600 ) ); settings.setMinimalDuration( random.nextInt( 24*3600 ) );
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.); }
/** * Test the scoring function in regards to early departures. */ @Test public void testEarlyDeparture() { Fixture f = new Fixture(); double disutility = -10.0; f.config.planCalcScore().setEarlyDeparture_utils_hr(disutility); ActivityParams wParams = f.config.planCalcScore().getActivityParams("w"); wParams.setEarliestEndTime(10.75 * 3600.0); // require the agent to work until 16:45 // the agent left 45mins too early assertEquals(disutility * 0.75, calcScore(f), EPSILON); }
@StringSetter("earliestEndTime") private void setEarliestEndTime(final String earliestEndTime) { testForLocked(); setEarliestEndTime(Time.parseTime(earliestEndTime)); }