throw new UnsupportedOperationException("Currently the greedyFit implementation only supports " +
"1 planningEntityImplementationClass.");
}
Class<?> planningEntityImplementationClass = planningEntityImplementationClassSet.iterator().next();
PlanningEntityDescriptor planningEntityDescriptor = solutionDescriptor.getPlanningEntityDescriptor(planningEntityImplementationClass);
PlanningVariableWalker planningVariableWalker = new PlanningVariableWalker(planningEntityDescriptor);
List<PlanningValueWalker> planningValueWalkerList = new ArrayList<PlanningValueWalker>();
for (PlanningVariableDescriptor planningVariableDescriptor
: planningEntityDescriptor.getPlanningVariableDescriptors()) {
PlanningValueSelector planningValueSelector = new PlanningValueSelector(planningVariableDescriptor);
planningValueSelector.setSelectionOrder(determinePlanningValueSelectionOrder());
PlanningValueWalker planningValueWalker = new PlanningValueWalker(
planningVariableDescriptor, planningValueSelector);
planningValueWalkerList.add(planningValueWalker);
}
planningVariableWalker.setPlanningValueWalkerList(planningValueWalkerList);
greedyDecider.setPlanningVariableWalker(planningVariableWalker);
greedyDecider.setConstructionHeuristicPickEarlyType(pickEarlyType);
if (environmentMode == EnvironmentMode.TRACE) {
greedyDecider.setAssertMoveScoreIsUncorrupted(true);