This paper studies the long-term preventive maintenance order scheduling problem (LTPMOSP). The problem consists of deciding which maintenance should be scheduled, assigning each maintenance simultaneously to a team and a machine over the planning horizon, and determining when each maintenance should be performed. The goal of the problem is to minimize the number of teams activated and the sum of penalties for maintenance not scheduled. This paper presents two new formulations for the problem, where the first formulation is based on time-indexed variables, and the second formulation combines time-indexed variables with precedence variables. Furthermore, to solve large-size instances, an algorithm based on the GRASP metaheuristic is proposed. The results of the computational experiments show that the new formulations significantly outperform the literature formulation by finding new optimal solutions for some instances with up to 600 maintenance orders. The second formulation stands out by finding a more significant number of optimal solutions. The results also show a superiority of the GRASP algorithm over heuristic methods in the literature, generating better upper bounds in expressively less time, resulting in a schedule with a greater percentage of maintenance planned to be performed.