Today, modeling plays a key role in software development. Model Driven Engineering is a revolutionary paradigm in Software Engineering, which reduces the complexity of the development process by increasing the level of abstraction. Model transformation is a soul of MDE, being widely used to map one or more source model(s) into one or more target model(s). Finding an optimal result among a very large search space of possible output transformation models is an important issue in the community. In this research, two unified processes for handling the large search space of model transformation results are presented. These processes combine model transformation techniques with the genetic algorithm or particle swarm optimization algorithm as a search based software engineering (SBSE) technique. The applicability and benefits of the approach are demonstrated using Class Responsibility Assignment (CRA) case study. These processes are able to find the optimal output for Class Responsibility Assignment case study. Increasing the level of abstraction, using a model instead of code and the ability to reuse two presented processes for solving class modularization problem, are achievements of this research. In these processes, various parts of the genetic algorithm and particle swarm optimization algorithm are implemented using the rule-oriented language of ATL. The Java programming language is used to implement computational parts of the algorithms.