This paper investigates the problem of selecting and scheduling a set of projects among available projects. Each project consists of several tasks and to perform each one some resource is required. The objective is to maximize total benefit. The paper constructs a mathematical formulation in form of mixed integer linear programming model. Three effective metaheuristics in form of the imperialist competitive algorithm, simulated annealing and genetic algorithm are developed to solve such a hard problem. The proposed algorithms employ advanced operators. The performance of the proposed algorithms is numerically evaluated. The results show the high performance of the imperialist competitive algorithm outperforms the other algorithms.