@Override public PlanStrategy get() { PlanStrategy strategy = new PlanStrategyImpl(new RandomPlanSelector()); return strategy; }
@Override public void setUp() throws Exception { super.setUp(); this.config = loadConfig(null); // required for planCalcScore.beta to be defined }
@Override public PlanStrategy get() { PlanStrategy strategy = new PlanStrategyImpl(new BestPlanSelector()); return strategy; }
/** * Test how a plan selector reacts when a person has no plans at all. The correct behavior would be * to just return null, as stated in * {@link PlanSelector#selectPlan(HasPlansAndId) PlanSelector.selectPlan(Person)} * * @author mrieser */ public void testNoPlans() { Person person = PopulationUtils.getFactory().createPerson(Id.create(1, Person.class)); assertNull(getPlanSelector().selectPlan(person)); }
@Override protected ExpBetaPlanChanger getPlanSelector() { return new ExpBetaPlanChanger(2.0); }
@Override public ExpBetaPlanSelector<Plan, Person> get() { return new ExpBetaPlanSelector<>( - config.getBrainExpBeta()); } }
@Override public PlanStrategy get() { PlanStrategy strategy = new PlanStrategyImpl(new KeepSelected()); return strategy; }
@Override protected PlanSelector<Plan,Person> getPlanSelector() { return new PathSizeLogitSelector(config.planCalcScore(), createNetwork()); }
@Override public PlanStrategy get() { return new PlanStrategyImpl(new PathSizeLogitSelector(config, network)); }
@Override public void setUp() throws Exception { super.setUp(); this.config = loadConfig(null); // required for planCalcScore.beta to be defined config.planCalcScore().setBrainExpBeta(2.0); config.planCalcScore().setPathSizeLogitBeta(2.0); this.network = null; }
@Override protected void tearDown() throws Exception { this.config = null; super.tearDown(); }
/** * @return the probability that this expBetaPlanSelector will select this plan for this person. */ public static <T extends BasicPlan, I> double getSelectionProbability(ExpBetaPlanSelector<T, I> expBetaPlanSelector, HasPlansAndId<T, ?> person, final T plan) { Map<T, Double> weights = expBetaPlanSelector.calcWeights(person); double thisWeight = weights.get(plan); double sumWeights = 0.0; for (Double weight : weights.values()) { sumWeights += weight; } return (thisWeight / sumWeights); }
@Override protected PlanSelector<Plan, Person> getPlanSelector() { return new WorstPlanForRemovalSelector(); }
@Override protected PlanSelector<Plan, Person> getPlanSelector() { return new RandomPlanSelector<Plan, Person>(); }
@Override public ExpBetaPlanChanger<Plan, Person> get() { return new ExpBetaPlanChanger<>( - config.getBrainExpBeta()); } }
@Override protected PlanSelector<Plan, Person> getPlanSelector() { return new BestPlanSelector(); }
@Override protected ExpBetaPlanSelector<Plan, Person> getPlanSelector() { return new ExpBetaPlanSelector<Plan, Person>(this.config.planCalcScore()); }
@Override protected KeepSelected<Plan, Person> getPlanSelector() { return new KeepSelected<Plan, Person>(); }
@Override public PathSizeLogitSelector get() { return new PathSizeLogitSelector(config.getPathSizeLogitBeta(), -config.getBrainExpBeta(), network); } }
@Override protected void tearDown() throws Exception { this.network = null; this.config = null; super.tearDown(); }