Multimode resource-constrained scheduling and leveling for practical-size projects