@Test public void testGetStrategies() { // init StrategyManager StrategyManager manager = new StrategyManager(); PlanStrategy str1 = new PlanStrategyImpl(new RandomPlanSelector()); PlanStrategy str2 = new PlanStrategyImpl(new RandomPlanSelector()); PlanStrategy str3 = new PlanStrategyImpl(new RandomPlanSelector()); manager.addStrategyForDefaultSubpopulation(str1, 1.0); manager.addStrategyForDefaultSubpopulation(str2, 2.0); manager.addStrategyForDefaultSubpopulation(str3, 0.5); List<GenericPlanStrategy<Plan, Person>> strategies = manager.getStrategiesOfDefaultSubpopulation(); Assert.assertEquals(3, strategies.size()); Assert.assertEquals(str1, strategies.get(0)); Assert.assertEquals(str2, strategies.get(1)); Assert.assertEquals(str3, strategies.get(2)); }
@Test public void testGetWeights() { // init StrategyManager StrategyManager manager = new StrategyManager(); PlanStrategy str1 = new PlanStrategyImpl(new RandomPlanSelector()); PlanStrategy str2 = new PlanStrategyImpl(new RandomPlanSelector()); PlanStrategy str3 = new PlanStrategyImpl(new RandomPlanSelector()); manager.addStrategyForDefaultSubpopulation(str1, 1.0); manager.addStrategyForDefaultSubpopulation(str2, 2.0); manager.addStrategyForDefaultSubpopulation(str3, 0.5); List<Double> weights = manager.getWeightsOfDefaultSubpopulation(); Assert.assertEquals(3, weights.size()); Assert.assertEquals(1.0, weights.get(0), 1e-8); Assert.assertEquals(2.0, weights.get(1), 1e-8); Assert.assertEquals(0.5, weights.get(2), 1e-8); }
PlanStrategy str3 = new PlanStrategyImpl(new RandomPlanSelector()); manager.addStrategyForDefaultSubpopulation(str1, 1.0); manager.addStrategyForDefaultSubpopulation(str2, 2.0); manager.addStrategyForDefaultSubpopulation(str3, 0.5);
manager.addStrategyForDefaultSubpopulation(new PlanStrategyImpl(new RandomPlanSelector()), 1.0);
manager.addStrategyForDefaultSubpopulation(strategy, 1.0);
strategyManager.addStrategyForDefaultSubpopulation(strategy, 1.0); strategyManager2.addStrategyForDefaultSubpopulation(strategy2, 1.0);
StrategyCounter strategy2 = new StrategyCounter(new RandomPlanSelector()); manager.addStrategyForDefaultSubpopulation(strategy1, 0.10); manager.addStrategyForDefaultSubpopulation(strategy2, 0.20);
StrategyCounter strategy4 = new StrategyCounter(new RandomPlanSelector<Plan, Person>()); manager.addStrategyForDefaultSubpopulation(strategy1, 0.10); manager.addStrategyForDefaultSubpopulation(strategy2, 0.20); manager.addStrategyForDefaultSubpopulation(strategy3, 0.30); manager.addStrategyForDefaultSubpopulation(strategy4, 0.40);
strategyManager.addStrategyForDefaultSubpopulation(strategy, 1.0); strategyManager2.addStrategyForDefaultSubpopulation(strategy2, 1.0);
PlanStrategyImpl strategy = new PlanStrategyImpl(new RandomPlanSelector()); strategy.addStrategyModule(new TimeAllocationMutator(TripRouterFactoryBuilderWithDefaults.createDefaultTripRouterFactoryImpl(controler.getScenario()), config.plans(), config.timeAllocationMutator(), config.global())); strategyManager.addStrategyForDefaultSubpopulation(strategy, 1.0); controler.run(); PlanStrategyImpl strategy = new PlanStrategyImpl(new RandomPlanSelector()); strategy.addStrategyModule(new TimeAllocationMutator(TripRouterFactoryBuilderWithDefaults.createDefaultTripRouterFactoryImpl(controler.getScenario()), config.plans(), config.timeAllocationMutator(), config.global())); strategyManager.addStrategyForDefaultSubpopulation(strategy, 1.0); controler.run();
strategyManager.setMaxPlansPerAgent(5); PlanStrategyImpl strategy = new PlanStrategyImpl(new RandomPlanSelector()); strategyManager.addStrategyForDefaultSubpopulation(strategy, 1.0); strategyManager2.setMaxPlansPerAgent(5); PlanStrategyImpl strategy2 = new PlanStrategyImpl(new RandomPlanSelector()); strategyManager2.addStrategyForDefaultSubpopulation(strategy2, 1.0);