} else {
solver.setRandomSeed(DEFAULT_RANDOM_SEED);
}
}
SolutionDescriptor solutionDescriptor = buildSolutionDescriptor();
DefaultSolutionDirector solutionDirector = new DefaultSolutionDirector();
solutionDirector.setSolutionDescriptor(solutionDescriptor);
solutionDirector.setRuleBase(buildRuleBase());
ScoreDefinition scoreDefinition = scoreDefinitionConfig.buildScoreDefinition();
solutionDirector.setScoreDefinition(scoreDefinition);
solver.setSolutionDirector(solutionDirector);
Termination termination = terminationConfig.buildTermination(scoreDefinition, basicPlumbingTermination);
solver.setTermination(termination);
BestSolutionRecaller bestSolutionRecaller = new BestSolutionRecaller();
solver.setBestSolutionRecaller(bestSolutionRecaller);