Computational load balancing plays a prominent role on the success of domain decomposition based finite element computations on parallel computers. Computational load balancing is achieved through mesh partitioning. In this paper, a mesh-partitioning algorithm is proposed for generating sub-meshes with optimal shape using a steady state elite preserving evolutionary algorithm (EA). Numerical experiments have been conducted by solving several practical engineering problems. Comparisons have also been made with its multi-level counter part by solving several benchmark problems. Numerical studies indicate that performance of the proposed mesh-partitioning algorithm is either comparable or superior to the multi-level algorithm.