List<Resource> resourceList = schedule.getResourceList();
resourceCapacityTrackerMap = new HashMap<Resource, ResourceCapacityTracker>(resourceList.size());
for (Resource resource : resourceList) {
resourceCapacityTrackerMap.put(resource, resource.isRenewable()
? new RenewableResourceCapacityTracker(resource)
: new NonrenewableResourceCapacityTracker(resource));
}
List<Project> projectList = schedule.getProjectList();
projectEndDateMap = new HashMap<Project, Integer>(projectList.size());
maximumProjectEndDate = 0;
hardScore = 0;