Human Resource Management is an important area of project management. The concept of Human Resource Allocation is not new and it can also be used for resource allocation to software projects. Software projects are more critical as compared to projects of other disciplines because success of software projects dependents on human resources. In software projects, Project Manager (PM) allocates resources and level resources using Resource Leveling techniques which are already implemented in various project management software. But, Resource Leveling is a resource smoothing technique not an optimization technique neither it ensures optimized resource allocation. Furthermore, Project duration and cost may increase after resource leveling. Therefore, resource leveling is not always a reliable method for resource allocation optimization. Exact solution of resource optimization problem cannot be determined because resource optimization is a NP-Hard problem. To solve resource optimization problems Search Based Software Engineering (SBSE) is used in various studies. However, in existing SBSE algorithms implementation for resource allocation optimization many objectives are not considered. Resource allocation optimization is a multi-objective optimization problem and many important factors like activity criticality, resource skills, activity precedence, skill required to perform activities must be addressed. Our research fills this gap and uses multiple objectives for resource allocation optimization which are 1: increase resource utilization, 2: decrease project duration and 3: decrease project cost. A framework and mathematical model for the implementation of resource allocation optimization is also proposed.