In oil supply chains, crude oil needs to be transported from oil fields to refineries, and refined products need to be transported from refineries to regional depots. On land, pipelines are the preferred mode for long-distance oil transportation, because they are safe, efficient, silent, and cheap compared to other modes of transport. Pipelines are often part of large networks, in which they connect multiple supply and demand locations. Multi-product pipelines transport batches of different products, such as gasoline, diesel, and jet fuel. Pipeline networks should be operated such that temporal and spatial differences between supply and demand are balanced, operational limitations are satisfied, and costs are minimized. This is a rather complicated task, due to the size and complexity of pipeline networks, limited capacities of tanks and pipelines, and the existence of transportation times of several days. Because batches are pushed through pipelines, transportation times of current batches depend on injections of future batches, which is a distinctive feature of the pipeline scheduling problem. The minimization of operational cost is mainly related to transmix volumes, i.e. contaminated volumes that emerge between consecutive batches, and pumping energy. In this thesis, we propose a novel pipeline scheduling method for solving the pipeline scheduling problem. It consists of a planning and a scheduling phase that are coupled in a hierarchical decomposition scheme. In the planning phase, global day-to-day transportation volumes are determined for each pipeline. In the scheduling phase, we use the planning output to generate complete schedules. Both phases contain a discrete-time Mixed Integer Linear Programming (MILP) problem. The MILP planning problem is solved with truncated branch and bound. The MILP scheduling problem is further decomposed using a rolling-horizon approach; the resulting subproblems are solved with branch and bound. The pipeline scheduling method has been successfully tested on two case studies involving up to 4 products, 8 pipelines, 8 tank farms, 2 supply locations, and 5 demand locations. The proposed method is flexible in terms of network configurations, intermediate supply and demand requirements, and cost structures. Complete schedules for 30-day horizons are obtained within 3 to 4 minutes of computation time. With respect to current industry practice, the novel pipeline scheduling method can greatly reduce the time required to generate schedules. Compared to current spreadsheet approaches, the proposed method is generic and less error-prone. Moreover, the obtained schedules are significantly better in terms of transmix and pumping costs.