Я хочу настроить свою стратегию завершения динамически.Мое намерение состоит в том, что решатель должен завершить работу, когда он попытался выполнить 10 тыс. Шагов или когда результат не улучшился за 4 тыс. Шагов.Для этого я устанавливаю фазы в конфигурации следующим образом:
<constructionHeuristic></constructionHeuristic>
<localSearch></localSearch>
И затем перед запуском решателя я установил
TerminationConfig terminationConfig = new TerminationConfig();
terminationConfig.setTerminationCompositionStyle(TerminationCompositionStyle.OR);
terminationConfig.setUnimprovedStepCountLimit(4000);
terminationConfig.setStepCountLimit(10000);
LocalSearchPhaseConfig localSearchPhaseConfig = (LocalSearchPhaseConfig) solverFactory.getSolverConfig().getPhaseConfigList().get(1);
localSearchPhaseConfig.setTerminationConfig(terminationConfig);
Я пытался сохранить значение unimprovedStepCount
как 1но это все еще не заканчивается через 30-40 минут.Как я могу определить этот конфиг?
Кроме того, нужно ли явно определять constructionHeuristic
и constructionHeuristic
в конфигурации xml или они выводятся по умолчанию?