Optimizing non-unit repetitive project resource and scheduling by evolutionary algorithms