21 package org.matsim.core.replanning;
23 import org.apache.logging.log4j.LogManager;
24 import org.apache.logging.log4j.Logger;
35 import jakarta.inject.Inject;
36 import jakarta.inject.Singleton;
37 import java.util.List;
70 Map<ReplanningConfigGroup.StrategySettings, PlanStrategy> planStrategies ) {
72 this(strategyChooser);
77 log.info(
"global innovation switch off after iteration: " + globalInnovationDisableAfter);
82 addStrategy(strategy, settings.getSubpopulation(), settings.getWeight());
85 int maxIter = settings.getDisableAfter();
86 if ( maxIter > globalInnovationDisableAfter || maxIter==-1 ) {
88 maxIter = globalInnovationDisableAfter ;
119 delegate.
addStrategy(strategy, subpopulation, weight);
131 return delegate.removeStrategy(strategy, subpopulation) ;
141 return delegate.changeWeightOfStrategy(strategy, subpopulation, newWeight) ;
152 delegate.
run( population.
getPersons().values(), iteration, replanningContext );
162 return delegate.chooseStrategy(person, subpopulation, replanningContext );
176 return delegate.getMaxPlansPerAgent();
187 final String subpopulation,
188 final double newWeight) {
223 public final List<GenericPlanStrategy<Plan, Person>>
getStrategies(
final String subpopulation) {
230 public final List<Double>
getWeights(
final String subpopulation) {
final void setMaxPlansPerAgent(final int maxPlansPerAgent)
final void run(final Population population, final int iteration, final ReplanningContext replanningContext)
final List< GenericPlanStrategy< Plan, Person > > getStrategies(final String subpopulation)
double getFractionOfIterationsToDisableInnovation()
int getMaxAgentPlanMemorySize()
static< P extends BasicPlan, R > boolean isOnlySelector(GenericPlanStrategy< P, R > planStrategy)
Map< Id< Person >,? extends Person > getPersons()
final void addChangeRequest(final int iteration, final GenericPlanStrategy< PL, AG > strategy, final String subpopulation, final double newWeight)
final void addChangeRequest(final int iteration, final PlanStrategy strategy, final String subpopulation, final double newWeight)
final List< Double > getWeights(final String subpopulation)
final List< GenericPlanStrategy< PL, AG > > getStrategies(String subpopulation)
final boolean removeStrategy(final PlanStrategy strategy, final String subpopulation)
final void setMaxPlansPerAgent(final int maxPlansPerAgent)
GenericPlanStrategy< Plan, Person > chooseStrategy(final Person person, final String subpopulation, ReplanningContext replanningContext)
final void setPlanSelectorForRemoval(final PlanSelector< Plan, Person > planSelector)
final void run(final Iterable<? extends HasPlansAndId< PL, AG >> persons, final int iteration, final ReplanningContext replanningContext)
final void addStrategy(final GenericPlanStrategy< PL, AG > strategy, final String subpopulation, final double weight)
final GenericStrategyManagerImpl< Plan, Person > delegate
final List< Double > getWeights(String subpopulation)
final boolean changeWeightOfStrategy(final GenericPlanStrategy< Plan, Person > strategy, final String subpopulation, final double newWeight)
final int getMaxPlansPerAgent()
final void setPlanSelectorForRemoval(final PlanSelector< PL, AG > planSelector)
final void addStrategy(final PlanStrategy strategy, final String subpopulation, final double weight)