@Override public PlanStrategy get() { PlanStrategy strategy = new PlanStrategyImpl(new RandomPlanSelector()); return strategy; }
@Override public boolean removePlan(final Plan plan) { boolean result = this.getPlans().remove(plan); if ((this.getSelectedPlan() == plan) && result) { this.setSelectedPlan(new RandomPlanSelector<Plan, Person>().selectPlan(this)); } return result; }
@Override protected PlanSelector<Plan, Person> getPlanSelector() { return new RandomPlanSelector<Plan, Person>(); }
private void removePlans(final HasPlansAndId<PL, AG> person, final int maxNumberOfPlans) { while (person.getPlans().size() > maxNumberOfPlans) { PL plan = this.removalPlanSelector.selectPlan(person); person.removePlan(plan); if (plan == person.getSelectedPlan()) { final PL newPlanToSelect = new RandomPlanSelector<PL, AG>().selectPlan(person) ; if ( newPlanToSelect == null ) { throw new IllegalStateException( "could not find a plan to select for person "+person ); } person.setSelectedPlan( newPlanToSelect ); } } }
@Inject public PReRoute(Scenario scenario, Provider<TripRouter> tripRouterProvider) { this.strategy = new PlanStrategyImpl(new RandomPlanSelector()); this.strategy.addStrategyModule(new PReRouteStrategyModule(tripRouterProvider, scenario)) ; }
T otherPlan = new RandomPlanSelector<T, I>().selectPlan(person);
@Override public PlanStrategy get() { PlanStrategyImpl strategy = new PlanStrategyImpl(new RandomPlanSelector()); org.matsim.core.replanning.modules.TimeAllocationMutator tam = new org.matsim.core.replanning.modules.TimeAllocationMutator(this.tripRouterProvider, this.plansConfigGroup, this.timeAllocationMutatorConfigGroup, this.globalConfigGroup, population); strategy.addStrategyModule(tam); return strategy; } }
otherPlan = new RandomPlanSelector<Plan, Person>().selectPlan((person)); } while (otherPlan == currentPlan);
@Override public PlanStrategy get() { PlanStrategyImpl.Builder builder = new PlanStrategyImpl.Builder(new RandomPlanSelector<Plan, Person>()); builder.addStrategyModule(new ExternalModule(exePath, "ext" + externalCounter, controlerIO, scenario)); return builder.build(); } }
plan4.setScore(0.0); RandomPlanSelector<Plan, Person> selector = new RandomPlanSelector<Plan, Person>(); int cnt1 = 0; int cnt2 = 0; Plan plan = selector.selectPlan(person); if (plan == plan1) cnt1++; if (plan == plan2) cnt2++;
@Override public PlanStrategy get() { Builder builder = new PlanStrategyImpl.Builder(new RandomPlanSelector<Plan,Person>()) ; builder.addStrategyModule(new org.matsim.core.replanning.modules.KeepLastExecuted(config, executedPlans) ) ; return builder.build() ; } }
@Override public PlanStrategy get() { Builder builder = new PlanStrategyImpl.Builder(new RandomPlanSelector<Plan,Person>()) ; builder.addStrategyModule(new org.matsim.core.replanning.modules.ReRoute(facilities, tripRouterProvider, globalConfigGroup)); return builder.build() ; }
@Override public PlanStrategy get() { PlanStrategyImpl.Builder builder = new PlanStrategyImpl.Builder(new RandomPlanSelector<Plan, Person>()); builder.addStrategyModule(new AbstractMultithreadedModule(config.global()) { @Override public PlanAlgorithm getPlanAlgoInstance() { return factory.get(); } }); return builder.build(); } }
@Override public PlanStrategy get() { final PlanStrategyImpl strategy = new PlanStrategyImpl(new RandomPlanSelector()); strategy.addStrategyModule(new TimeAllocationMutator(this.tripRouterProvider, this.plansConfigGroup, this.timeAllocationMutatorConfigGroup, this.globalConfigGroup, this.population)); strategy.addStrategyModule(new ReRoute(this.activityFacilities, this.tripRouterProvider, this.globalConfigGroup)); return strategy; } }
@Override public PlanStrategy get() { PlanStrategyImpl strategy = new PlanStrategyImpl(new RandomPlanSelector()); strategy.addStrategyModule(new org.matsim.core.replanning.modules.SubtourModeChoice(tripRouterProvider, globalConfigGroup, subtourModeChoiceConfigGroup)); strategy.addStrategyModule(new ReRoute(facilities, tripRouterProvider, globalConfigGroup)); return strategy; }
@Override public PlanStrategy get() { PlanStrategyImpl.Builder builder = new PlanStrategyImpl.Builder(new RandomPlanSelector<>()); builder.addStrategyModule(new TripsToLegsModule(tripRouterProvider, globalConfigGroup)); builder.addStrategyModule(new ChangeSingleLegMode(globalConfigGroup, changeLegModeConfigGroup)); builder.addStrategyModule(new ReRoute(activityFacilities, tripRouterProvider, globalConfigGroup)); return builder.build(); }
@Override public PlanStrategy get() { PlanStrategyImpl.Builder builder = new PlanStrategyImpl.Builder(new RandomPlanSelector<>()); builder.addStrategyModule(new TripsToLegsModule(tripRouterProvider, globalConfigGroup)); builder.addStrategyModule(new ChangeLegMode(globalConfigGroup, changeLegModeConfigGroup)); builder.addStrategyModule(new ReRoute(activityFacilities, tripRouterProvider, globalConfigGroup)); return builder.build(); }
@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); }
@Test( expected=IllegalStateException.class ) public void testAddTwiceStrategy() { final StrategyManager manager = new StrategyManager(); final PlanStrategy s = new PlanStrategyImpl.Builder( new RandomPlanSelector() ).build(); manager.addStrategy( s , null , 1 ); manager.addStrategy( s , null , 10 ); }