In this paper, we investigate a variant of the unrelated parallel machine scheduling problem with multiple time windows that is widely employed in the scheduling of earth observation satellites. Two mixed-integer linear programming formulations are proposed based on the concept of non-immediate precedence and the deep analysis of the relationship of time windows. To facilitate the problem solving, we develop a bidirectional rolling horizon preprocessing algorithm to reduce the problem size. Based on detailed overlapping analysis, more inequalities are obtained to tighten the formulations. Furthermore, the dominance among derived inequalities is analyzed, and only nondominated inequalities are appended to limit the size of the problem. The proposed formulation and algorithm can optimally solve instances of up to 800 jobs and 20 machines within 20 min. Moreover, to verify the practicality of our method, we also conducted numerous experiments on realistic instances of satellite scheduling. The experimental results prove that our algorithm is effective for obtaining optimal solutions and can be applied in practice.