@Test public void buildSolverEmptyWithKieContainer() throws IOException, ReflectiveOperationException { ReleaseId releaseId = deployTestdataKjar( "buildSolverWithReleaseId", "org/optaplanner/core/api/solver/kieContainerNamedKsessionKmodule.xml", null); KieContainer kieContainer = kieServices.newKieContainer(releaseId); SolverFactory<?> solverFactory = SolverFactory.createEmptyFromKieContainer(kieContainer); SolverConfig solverConfig = solverFactory.getSolverConfig(); solverConfig.setSolutionClass( kieContainer.getClassLoader().loadClass("testdata.kjar.ClassloadedTestdataSolution")); solverConfig.setEntityClassList(Collections.singletonList( kieContainer.getClassLoader().loadClass("testdata.kjar.ClassloadedTestdataEntity"))); ScoreDirectorFactoryConfig scoreDirectorFactoryConfig = new ScoreDirectorFactoryConfig(); scoreDirectorFactoryConfig.setKsessionName("testdataKsession"); solverConfig.setScoreDirectorFactoryConfig(scoreDirectorFactoryConfig); Solver<?> solver = solverFactory.buildSolver(); assertNotNull(solver); assertNewKieSessionSucceeds(solver); }
private ScoreDirectorFactoryConfig create(final ScoreDirectorFactoryConfigModel scoreDirectorFactoryConfig) { if (scoreDirectorFactoryConfig == null) { return new ScoreDirectorFactoryConfig(); } else { ScoreDirectorFactoryConfig config = new ScoreDirectorFactoryConfig(); config.setKsessionName(scoreDirectorFactoryConfig.getKSessionName()); return config; } }
solverFactory.getSolverConfig().getScoreDirectorFactoryConfig().setKsessionName(kieProject.getDefaultKieSession().getName());
private SolverConfig getSolverConfig() { SolverConfig solverConfig = new SolverConfig(); TerminationConfig terminationConfig = new TerminationConfig(); terminationConfig.setMillisecondsSpentLimit(1l); TerminationConfig nestedTerminationConfig = new TerminationConfig(); nestedTerminationConfig.setBestScoreFeasible(true); terminationConfig.setTerminationConfigList(Arrays.asList(nestedTerminationConfig)); solverConfig.setTerminationConfig(terminationConfig); ScoreDirectorFactoryConfig scoreDirectorFactoryConfig = new ScoreDirectorFactoryConfig(); scoreDirectorFactoryConfig.setKsessionName("testKsession"); solverConfig.setScoreDirectorFactoryConfig(scoreDirectorFactoryConfig); ConstructionHeuristicPhaseConfig constructionHeuristicPhaseConfig = new ConstructionHeuristicPhaseConfig(); constructionHeuristicPhaseConfig.setConstructionHeuristicType(ConstructionHeuristicType.FIRST_FIT); LocalSearchPhaseConfig localSearchPhaseConfig = new LocalSearchPhaseConfig(); localSearchPhaseConfig.setLocalSearchType(LocalSearchType.TABU_SEARCH); solverConfig.setPhaseConfigList(Arrays.asList(constructionHeuristicPhaseConfig, localSearchPhaseConfig)); return solverConfig; } }