Dynamic process planning requires not only more flexible capabilities of a CAPP system but also higher utility of the generated process plans. In order to meet the requirements, this paper develops an algorithm that can select machines for the machining operations by calculating the machine loads. The developed algorithm is based on the multi-objective genetic algorithm that gives rise to a set of optimal solutions (in general, known as the Pareto-optimal solutions). The objective is to satisfy both the minimization number of part movements and the maximization of machine utilization. The algorithm is characterized by a new and efficient method for nondominated sorting through K-means algorithm, which can speed up the running time, as well as a method of two stages for genetic operations, which can maintain a diverse set of solutions. The performance of the algorithm is evaluated by comparing with another multiple objective genetic algorithm, called NSGA-II and branch and bound algorithm.