This paper attempts to solve the job-shop scheduling problem (JSP), in which machines are shared among multiple tasks. For this purpose, a multi-objective optimization model was established to minimize the total completion time and total cost. To solve the model, a scheduling strategy was proposed based on the NGSA with crowding mechanism. Compared with the GA, the improved NGSA can effectively avoid the local optimum trap and maintain population diversity in the later stage. In addition, the heuristic crossover operator was introduced to enhance the local search ability of the improved NGSA. The effectiveness of the proposed scheduling strategy was proved valid through simulation.