2012-07-30 6 views
1

je peux définir la minimalAcceptedSelection édition SampleDroolsConfig.xmlDrools Planificateur mis minimalAcceptedSelection à l'exécution

 ... 
     <acceptor> 
      <solutionTabuSize>1000</solutionTabuSize> 
      <planningEntityTabuSize>7</planningEntityTabuSize> 
     </acceptor> 
     <forager> 
      <minimalAcceptedSelection>200</minimalAcceptedSelection> 
     </forager> 
    </localSearch> 
</solver> 

Est-il possibile de régler ce paramètre lors de l'exécution?

Répondre

1

Oui:

XmlSolverFactory solverFactory = new XmlSolverFactory(SOLVER_CONFIG); 
LocalSearchSolverPhaseConfig localSearchSolverPhaseConfig = (LocalSearchSolverPhaseConfig) solverFactory.getSolverConfig().getSolverPhaseConfigList().get(1); 
localSearchSolverPhaseConfig.getForagerConfig().setMinimalAcceptedSelection(200); 

Voir la Drools Planner section du manuel sur la configuration par Java (au lieu de XML).

+0

Merci Geoffrey. Une autre question: est-il possible de changer dynamiquement, au cours du processus d'ordonnancement, la valeur de sélection minimale acceptée? La raison en est que pour les premières minutes je veux avoir une faible valeur pour améliorer plus rapidement la solution actuelle, alors je veux explorer plus de solutions augmentant la valeur de sélection minimum acceptée. –

+0

Je prévois une telle fonctionnalité à l'avenir. En attendant, étendez le Accepted * Forager (voir le manuel sur l'utilisation d'un forager personnalisé) et accrochez-le ici. –

+0

merci de suggérer –