Applying heuristics in supply chain planning in the process industry

Article history: Received January 4 2020 Received in Revised Format February 2 2020 Accepted April 17 2020 Available online April 17 2020 In this paper a mixed-integer linear programming (MILP) model is developed to be used as a decision support tool for the chemical company Perstorp Oxo AB. The intention with the mathematical model is to maximize the profit and the model can be used in the process of planning the supply chain for the company. Perstorp Oxo is classified as a global company in the process industry and is has production sites in Gent, Castellanza, Stenungsund and Perstorp. The site in Stenungsund is in focus in this paper. The company produces chemicals that later are used for example in textiles, plastic and glass production. Perstorp Oxo also uses inventories in other countries for enabling the selling abroad. It has two larger inventories in Antwerp and in Tees and two smaller in Philadelphia and in Aveiro. The larger facilities store five different products and the smaller take care of one type each. To be able to find feasible and profitable production plans for the company we have developed and implemented rolling horizon techniques for a time horizon of one year and used real sales data. The outcomes from the model show the transportation of products between different production sites, the different production rates, the levels of inventory, setups and purchases from external suppliers. The numerical results are promising and we conclude that a decision support tool based on an optimization model could improve the situation for the planners at Perstorp Oxo AB. © 2020 by the authors; licensee Growing Science, Canada


Introduction
The process industry is often both capital intensive and energy intensive, see for example Taylor, Seward and Bolander (1981) and Thollander and Ottosson (2010). The processing requires expensive investments and that in turn leads to demands for high utilization of the machines considered for production. The products coming from the process industry are categorised by the fact that they can easily be measured in weight or volume, not in numbers. Typical processing actions concerning the production can be mixing, smelting, boiling, separating or other similar actions (Finch & Cox, 1987). In process industries, as well as in other types of industries, the need to involve profit margins in the planning process is crucial to make the supply chain more efficient. According to Shah (2005), the supply chain benchmarks for the process industries do not measure up to other sectors. The author gives examples of such: high inventory levels throughout the whole supply chain, high supply chain cycle times and low material efficiencies, meaning that in some branches, only a small proportion of material entering the supply chain ends up as end products. The companies within the process industry are therefore striving to improve their efficiency and responsiveness in order to be more competitive. The need for optimization and more efficient use of available resources through a supply chain perspective is therefore necessary.
There are many examples of supply chain optimization in the literature. For a broad overview see Grossman (2004). A comprehensive and more recent review regarding supply chain optimization can be found in Garcia and You (2015) where the question of how to design a supply chain also is illuminated. One of the areas of increasing importance pointed out in Garcia and You (2015) is the energy perspective and sustainability issues overall. A reflection of the state-of-the-art regarding sustainable supply chain management can be found in Ansari and Kant (2017). By presenting a structured literature review they find that the qualitative studies dominate the area and linear programming is the most common tool in the area of quantitative models. Further, Ansari and Kant (2017) identify a research gap and suggest therefore further research in the field of developing advance techniques and efficient algorithms for solving quantitative models. Another review regarding sustainable supply chain network design is presented in Eskandarpour, Dejax, Miemczyk and Péton (2015) where the focus is on mathematical models including environmental objectives. Zhao, LiU, Zhang and Huang (2017) present a green supply chain mathematical model taken the big data analytic approach into account. They further use multiobjective optimization to minimize both risks and carbon emissions.
A comprehensive review of supply chain network design under uncertainty is presented by Govindan, Fattahi and Keyvanshokooh (2017). Existing techniques to deal with uncertainty such as different kinds of stochastic programming are explored and some directions for future research are presented based on the gaps identified in the study (Govindan et al., 2017). One category of uncertainties is disruptions of supply chain. Snyder et al. (2016) present a review of operation research and management science models for supply chain disruptions. The authors organized the papers included in the review into six categories; evaluating supply disruptions, strategic decisions, sourcing decisions, contracts and incentives, inventory, and finally, facility locations (Snyder et al., 2016). In the end the readers are also provided with several topics for future research concerning risk aspects (Snyder et al., 2016). An industrial case study regarding supply chain network design under uncertainties can be found in Pham and Yenradee (2017). The context in the study is the toothbrush industry where a deterministic model and a fuzzy model are presented and compared. Focusing on cost effectiveness it can be shown that the fuzzy model is superior to the deterministic model (Pham and Yenradee, 2017).
Supply chain optimization has been used in many industries as a valuable quantitative method to solve problems in different kinds of industries. Examples of industrial cases can be found in Stadtler (2005). An overview of supply chain management in forestry can be found in Carlsson and Rönnqvist (2005). Examples of how optimization can be used for supply chain problems are given, for example, in Bredström, Lundgren, Rönnqvist, Carlsson and Mason (2004), Gunnarsson, Rönnqvist and Lundgren (2004), Gunnarsson, Rönnqvist and Carlsson (2007) and Ouhimmou, D'Amours, Beauregard, Ait-Kadi and Chauhan (2008). Bredström et al. (2004) present a mathematical model for the supply chain of pulp mill using column generation and novel constraint branches to be able to solve the problem within reasonable time limits, and Gunnarsson et al. (2007) developed a supply chain model also including transport issues at the same pulp company and used greedy heuristics to solve the problem. Gunnarsson et al. (2004) developed a mathematical model for the supply chain of forest fuel using rolling horizon as a heuristic for solving the model. Ouhimmou et al. (2008) present a supply chain tactical planning optimization model using a time decomposition approach in order to obtain good solution within time limits. All examples above related to forestry used real data from companies in Sweden and Canada respectively. Optimization has also been used to solve supply chain problems in the food industry. Banasik, Kanellopoulos, Claassen, Bloemhof-Ruwaard and van der Vorst (2017) studied the mushroom supply chain and used multi-objective optimization. Validi, Bhattacharya and Byrne (2014) also used a multi-objective approach in order to get a sustainable food supply chain distribution system focusing on the dairy industry. Another example of how to use optimization models in the food industry can be found in Khadem, Shamsuzzoha and Piya (2017), where the poultry industry is studied. A deterministic linear programming model has been used for the poultry industry in Oman (Khadem et al., 2017). A review of supply chain optimization in the process industry can be found in Barbosa-Póvoa (2012). The scheduling problem of an ethylene plant is described in Tjoa, Ota, Matsuo and Natori (1997). In his doctoral thesis (Persson, 2002), Persson deals with the production scheduling and shipment planning of oil refineries, in co-operation with the Nynas refinery located in Nynäshamn, Sweden. A complex mixed integer nonlinear programming model (MILNP) is developed including scheduling vessel arrivals, storage tank assignments and blending aspects resulting in more than 1000 binary variables. Earlier studies concerning hierarchical scheduling and disturbance management issues in the process industry can be found in Lindholm and Johnsson (2013) and Lindholm and Nytzén (2014).
In this paper a global chemical process industry, Perstorp Oxo AB, and its supply chain planning has been studied. The company produces oxo products such as aldehydes, alcohols, esters and acids mainly for use in the water-based paint and lacquer industries. It is not an easy task to plan the production, inventory levels and transportation of all the products in the supply chain with regard to variation in demand, selling price and the limitations of the production sites. Today, Perstorp Oxo AB does not use any advanced planning tools or optimization algorithms when planning the supply chain. It is believed that by having an optimization tool for the supply chain planning, one could improve the efficiency of the supply chain and be more profitable. This paper is a continuation and extension of a previous study (Quttineh, Lidestam, Ahlstedt & Olsson, 2017). The coarse aggregation in previous work (2017) did not allow for certain production technical details to be captured in the mathematical model. Therefore, in this paper, we use a finer time discretization which allows us to capture more details. A refined time discretization causes the model to become harder to solve to optimality, though, and hence we have developed a heuristic to handle this. The purpose of this paper is to develop heuristics based on a mathematical model for the supply chain planning problem of Perstorp Oxo AB.
The paper is organized as follows. The company Perstorp Oxo AB and their planning problem are presented in more detail in Section 2. In Section 3 we present the mathematical model which the heuristics is based on. In Section 4 we describe the rolling horizon technique and how it is applied to the problem at hand. Computational results are presented in Section 5, and finally conclusions and directions for future work are found in Section 6.

Problem Description
The supply chain planning problem at hand involves several production sites and inventory locations, different modes of transportation, and multiple products that are either sold to contracted customers or sold on the spot market. Perstorp Oxo AB has a number of contracted customers; they constitute the company's customer base. According to planners at Perstorp Oxo AB, the demands from contracted customers are known more or less three weeks in advance. (Orders are fixed one week ahead, but predictable for the upcoming three weeks.) The demand from contracted customers should be met at all times, and the sales price is regulated by the contract. Further, certain products are used as reactants in the production process of other products. Products need to be transported between production sites and inventories, something which requires the planning of trucks and boats. The objective is to find a production plan for the upcoming weeks, stating daily production rates for all products, itineraries for trucks and boats between the production sites, inventory levels at all locations, and sales on the spot market, such that the total net profits are maximized. Before we can give a mathematical model, more information on the company and its supply chain is presented. In total the Perstorp group has 13 production sites located around the world while the majority of the employees live in the EU. In this paper, we focus on the main supply chain of Perstorp group that starts at the site in Stenungsund in Sweden where production of chemical intermediates is carried out. These products are delivered to customers, for industrial use, all over the world, where they are added to other products used in daily life, for example protective glass and windscreens in cars. The supply chain studied here includes eight locations whereof four are sites and four are inventories. Two sites are located in Sweden; Perstorp and Stenungsund, and two sites are located outside Sweden; Gent and Castellanza. One inventory can be found in Philadelpia, another is located in Tees, the third is located in Antwerp and the final inventory can be found in Aveiro. The sites, marked with a triangle, and the inventories marked with a circle are shown in the map in Fig. 1.   Fig. 1. The world-wide Perstorp sites and locations considered in this paper.
Stenungsund is the petrochemical centre of Sweden, and hence Perstorp Oxo AB's site here is close to many of its suppliers. The site is divided into ten areas and produces eleven different products. Each area has the capability of producing one or more products. Fig. 2 shows the area structures and production schemes for the sites in Stenungsund, Perstorp, Gent and Castellanza. The production site in Stenungsund is shaded to indicate it as the hub of the supply chain. The production of P1, P2, and P3 is closely connected by the earlier steps in the production, and these products constitute the basis for other products produced in Stenungsund and at the other sites within the Perstorp group. Product P1 is used in the production of the product P18 at the site in Perstorp, and product P14 at the site in Gent. Product P2 is used at Sten 3, Sten 4 and Sten 5 where products P4, P5 and P6 are produced respectively. The product P2 is also used in the production of product P17 at the site in Perstorp. The chemicals produced in Sten 3 are further processed within the Perstorp group; product P4 is used at Sten 7 to produce product P8, and at the site in Gent for the production of P15. Product P3 is produced at Sten 2, which in turn is used at Sten 6 to produce P7, and also sent to Castellanza to produce P12. Product P7 is transported both to Perstorp and Castellanza for producing products P16 and P13 respectively. There are also three independent areas in Stenungsund, Sten 8, Sten 9 and Sten 10, where products P9, P10, and P11 are produced. Further, products P5, P6, P7, P8 and P9 are transported to the regional inventory facilities in Tees and Antwerp, who only stock the products that are to be delivered to customers on their respective markets. The supply chain is presented in Fig. 3. The planning must also be carried out with respect to transportation costs, especially shipments by boat from Stenungsund to Tees and Antwerp which constraints the planning. The boats are managed by a third party and are normally booked by Perstorp with a 14 days planning horizon, based on actual sales orders and on the forecasts of production and demand. Different boats are used for different routes, all with different capacities ranging from 2,500 to 3,500 tons. To simplify the model, we set boat capacity to the most common size 2,700 tons. Boats on these routes arrive within two and three days, respectively, to their destination.
The product P9 is sent from Stenungsund to Aveiro by a container ship. Any number of containers can be sent on the ship, each with a capacity of 24 tons, but the ship departs only once a week. Furthermore, product P8 is shipped from Antwerp to Philadelphia, using boats with capacities in the range of 800 -1200 tons. Again, to simplify the model, we only consider boats with the most frequently used capacity of 800 tons for this route. These longer routes take 14 days before the boats arrive at their destination. It is obviously desirable to use a boats' full capacity, but one must also regard the cost of tied up capital in inventories on board on the boats and how production of other products is affected. The planning of ground transports does not have an equally great impact on the planning of the production, although also carried out by a third party. The available truck capacities to Castellanza, Gent and Perstorp, respectively, are 26, 26 and 40 tons. The cost of a truck depends on the distance. The transportation costs of products to Castellanza and Gent are approximately 2.1 and 1.7 times greater than the cost of transporting products to Perstorp, respectively. It takes between 1 and 4 days for the trucks to reach their destinations. Some of the products can be bought from external suppliers and sent directly to inventories. This option is only used occasionally to prevent losing orders on products P5 and P6 from contracted customers in Antwerp, or to prevent production stops at Gent and Perstorp due to the lack of product P1 as an input reactant. The different transport modes and transportation possibilities are viewed in Fig. 3.
The demand for the different products varies over time, some due to seasonal fluctuations while there is a worldwide demand that exceeds the global supply for others. The supply does not meet the demand for the latter products and there are several reasons why. One reason is that there are only a handful of producers, and Perstorp Oxo AB and its competitors produce less than demanded in order to keep the prices high and steady. The products are sold on a spot market where the prices generally are higher than the prices to the contract customers. Selling products on the spot market is associated with risks. The contract customers are committed to fixed prices and quantities and are also preferred by suppliers such as Perstorp Oxo AB since this type of customers decrease the risk and make the forecasting and planning easier. Hence the important aspect of the spot market is that margin profits are higher for every sold unit compared to sales to contract customers. Spot market sales are only possible when the committed quantities to contract customers have been fulfilled, and only up to a certain limit. To handle products with seasonal fluctuations and product campaigns, it is sometimes possible to build up inventories. However, small tank sizes limit the possibility of carrying large inventories (which also means high costs of tied up capital in inventories). At the Perstorp group, the direct costs are aggregated to the direct variable cost (DVC), which includes the production costs and the cost of raw material. The DVC is constantly measured and it varies over time. It is also dependent of the production rate, since there are fixed costs included. The main reason for large variations depends on the cost of raw material. However, since the sales price also depends on the cost of raw materials, the marginal profit is unchanged. In this paper, we make use of real sales margins for all products.

Mathematical Model
The supply chain planning problem at Perstorp Oxo AB can be described mathematically by a linear mixed integer programming (MIP) model. All parameters are assumed to be known for the relevant number of time steps, hence we use a deterministic model approach.
The model presented here is an extension of the work in Quttineh et al. (2017), and includes several new modelling aspects. To start with, the supply chain itself has been extended to incorporate more production sites. In the previous model, production sites outside Stenungsund were simply included as a customer with fixed demand on the product needed for their respective production processes. Further, the former model used weeks as the smallest time steps, where data for demands, production capacities and inventory levels had been aggregated. With such coarse time discretization the model was not able to capture accurate transportation flows and several other production restrictions, for example constraints related to production shutdowns (see constraints (11) and (12) described below). Therefore, this model is based on time steps of days. Furthermore, the production at the sites in Gent and Castellanza is performed in so called campaigns, which means that only one product can be produced at a time, and when production is changed there is a setup-time of three days before production quality is satisfactory again. We start the description of the mathematical model by introducing notation, defining necessary sets, parameters and variables to be used. In the following subsections, the constraints and the objective function are described. We will use indices p and q for products, indices k, l and m will all be used for locations in the supply chain (areas and destinations), and index t for time periods. In constraints that couple or extend over more than one time period, index d is also used.

Sets
Time periods Day 1, Day 2, … , Day 366 PU Set of products p that are sold on the unlimited spot market (P5 and P6) PA[k] Set of products p that are produced at area k PQ[p] Set of products q that require products p as input  Transportation flow: triplets (p,l,k) for possible transports of product p from location l to destination k  Purchase from external supplier: tuples (p,k) of product p bought to location k Spot market sales: tuples (p,k) of possible sales for product p at location k Parameters , demand of product p at location k in time period t from contract customers (C) and on the spot market (S) respectively , minimum and maximum inventory levels for product p in area k , minimum and maximum production rate capacities for product p allowed production rate decrease and increase of product p from one time period to the next , minimal and maximal allowed proportions regarding product P1 , sales margins for product p at area k for contract customer (C) and on the spot market (S) respectively sales price from external suppliers of product p to inventory k the amount of product p needed for the production of product q inventory carrying interest transportation time to destination k (number of time periods) , loading capacity of trucks (T) and boats (B), respectively, for each product p sent from location l to destination k cost for transportation by trucks (T) for product p from location l to destination k cost for transportation by boat (B) to destination k start-up time for product p penalty cost for shutdowns (SD) of product p

Continuous variables
production rate (volume/day) of produced product p in time period t volume of sold product p to spot market customer k in time period t inventory level (volume) of product p at location k at the end of time period t volume of transported product p from location l to inventory k in time period t volume of product p purchased from external suppliers and delivered to customer k in time period t

Integer variables
number of trucks needed to deliver product p from location l to destination k in time period t number of boats needed to deliver products to destination k in time period t

Binary variables
1 if production of product p occurs in time period t, 0 otherwise 1 if production of product p is shut down in time period t, 0 otherwise Production rate variables, , are related to the sites in Fig. 2. Variables related to the transportation of the products, , , and , as well as the variables for purchases from external suppliers, , can be seen as the flows on the arcs in Figure 3. Also, inventory variables are related to the boxes.

Constraints
, , , , , , , The inventory balance at each production area, for all production sites, is controlled by constraint (1), and the inventory balance for each product p and transportation destination k, such that ( , , ) ∈ are found in constraint (2). The inflow of products is either by truck, by boat, or bought from external suppliers. Trucks and boats arrive to an inventory k at time period t when being sent from location l at time period − . The outflow constitutes of the amount of products to be transported to other inventories, the demands of contract customers, and the amount sold to spot market customers. Constraint (3) assures that the inventory level for all products are within the capacity limits. Both the lower and upper bounds are related to physical limitations. It is possible though to specify certain safety stock levels. Later on, we will also introduce so called preference intervals for each inventory, which specify desirable inventory levels. The demand from spot market customers is limited in constraints (4) and (5). Some products have an "unlimited" spot market, which means that if the demand from the spot market is not met within one time period, it can instead be fulfilled in the next time period. This is achieved by limiting the accumulated sales by the accumulated demands up to the current time period. The rest of the products have a "limited" spot market. If the demand of products on the limited spot market is not met in period t, it is not possible to compensate in later time periods.
Constraints (6) and (7) are used to calculate the number of trucks and boats needed to transport all products between production sites and offshore inventories. A truck has a capacity of tons and can only transport one type of product at a time, which is regulated in constraint (6). The boats, however, can carry different types of products and the only limitation is the weight of the cargo, which must satisfy the boats' capacity of tons, regulated in constraint (7). Constraint (8) states that the production does not exceed the maximum capacity, nor violates the minimum capacity. Here the binary variables come into use, set equal to 1 if production occurs in time period t and zero otherwise. Large changes in production rate are not desirable and wear down the equipment. To prevent this unwanted effect, constraint (9) specify limits (in percentage) on the allowed production rate increase from one period to the next. Likewise, in constraint (10), parameter is a lower bound on how many percentages the p production rate can decrease from one period to another, assuming that the production is not shut down. If constraints (9) and (10) did not take production shutdowns into account, variables , they would cause infeasibility. Therefore, in order to encourage a continuous production for consecutive days, we introduce auxiliary binary variables used in constraint (11), forced to become 1 if production shuts down in time period t, and further used in the objective function (24) to penalize shutdowns. Variables are also used in constraint (12) to model that when the production is shut down, there is a certain start-up time (in days) before the quality of the product in question is good enough. It is modelled here by forcing the corresponding to be zero during this time. In Area 1, where both product P1 and product P2 are produced, there are limitations on how big the proportion of P1 can constitute of the areas total production. Constraints (13) and (14) limits the production of P1 between the minimum and maximum allowed proportions. The production of P12 and P13 in Castellanza cannot be performed simultaneously, which is enforced by constraint (15). Also, there is a setup-time of three days for the site to change the production between the two products. This is captured by constraints (16) and (17). The same rules apply for the production of P14 and P15 in Gent and are given by constraints (18) -(20). Constraint (21) defines all continuous variables and restricts them to be greater than or equal to zero. Similarly, all integer and binary variables are defined by constraints (22) and (23) respectively.

Objective
The objective function (24) maximizes the difference between earnings from sold products, both to contract customers and on the spot market, and costs for purchasing products from external suppliers, carrying inventory, shipment inventory, transportation (trucks and boats), and finally shutdown penalties.
That concludes the optimization model, which is characterized as a linear MIP-model.

Methodology
The resulted supply chain models often become very large and hard to solve by just applying commercial software. Different heuristics are often used in order to solve the models within reasonable time limits. A heuristic method often used in these circumstances is the rolling horizon technique; see for example Gunnarsson and Rönnqvist (2008) where the heuristic is applied in the pulp mill industry. Other examples applying the rolling horizon approach for the sugar cane industry in Argentina, for the industrial gases, and for the energy can be found in Kostin et al. (2011), Zamarripa et al. (2016, and Silvente, Kopanos, Pistikopoulos and Espuña (2015), respectively. Rolling horizon methods are also commonly used to model real life situations where data for the whole horizon is not known beforehand. This is exactly the case for the supply chain planning problem at Perstorp Oxo AB where the demands from customers are known only a few weeks ahead.

Rolling Horizon
The basic idea of this rolling horizon approach is to temporarily consider only a small part of future time periods, called the planning horizon, and find an optimal solution for this restricted planning problem. All data for the restricted planning horizon is assumed to be known, that is, we consider full demand information for each restricted planning problem to be solved. With the solution from the restricted problem at hand, a specified number of the first time periods are fixed, and then the planning horizon is shifted equally much and a new optimal solution for the new planning horizon can be found. The process continues with new data in order to find solutions for coming time periods. We introduce some useful notation. The full time horizon is denoted T, the subset of subsequent time steps part of the planning horizon (PH) is denoted TPH and the last time step in PH is denoted E, and lastly, the number of days to fix is denoted F. It is neccessary that F ≤ | TPH |, and typically | TPH | ≪ | T |. An illustration of this technique can be found in Figure 4, where the solution for the first five days are fixed (F = 5). The planning horizon is indicated with a dark frame in the illustration, together with the days to be fixed. The second row shows the solution after one iteration, where the fixed days from the previous iteration are shaded. The design of the rolling horizon can be done in different ways. The use of a longer planning horizon will most probably increase the quality of the overall solution since it allows for the model to detect and prevent bottlenecks and inventory shortages in advance. The backside is of course that the optimization problem to be solved for each planning horizon, the restricted planning problem, becomes harder to solve. The number of time periods to be fixed is also possible to adjust, and fixing a higher number allows for the restricted planning problem to be solved less frequent, but on the other hand, by fixing a lower number of time periods each iteration allows for more flexibility as the planning horizon is shifted.

Rolling Horizon Adaptions
It is important to verify that the solutions from the restricted planning problems actually are feasible solutions, and that they stay feasible as the planning horizon moves forward. Since multiple variables are fixed after each time-limited planning horizon, it is not obvious that feasible solutions exist for the forthcoming planning horizons. Let us analyse the mathematical model. The only part of the model that might cause infeasibility is the fact that orders from contracted customers must be satisfied, all other constraints and variables can be adjusted at the price of increased penalties and increased costs for transportation and inventory. To make sure that the rolling horizon scheme does not crash due to such infeasibility, we have added continuous variables ∈ [0, 1] which correspond to the level of deviation from complete fulfilment of each contract customer order. This allows the model to deviate from the contracted orders, and hence feasible solutions always exist, but at the price of a huge penalty cost (which is later added to the objective function, see (26)). Also, constraints (1) and (2) are modified somewhat (the term is replaced with (1 − )) and renamed (1') and (2'). The mathematical model given in Section 3 refers to the problem of optimizing the full time horizon of 366 days. When solving for a much shorter planning horizon, the inventories tend to be depleted since nothing is known about the demand beyond the limited planning horizon. In order to encourage the model to take the uncertain future into consideration, we specify a so-called preference interval for the inventory level of each product and location, and add constraint (25) to our model. Parameters and define a lower and upper bound for the preference interval, and the new variable measures the deviation from this interval. (Suitable parameter values were provided by the planners at Perstorp Oxo AB.) By penalizing variables at the end of each planning horizon (denoted time step E), we are able to prevent the restricted planning problem solutions from depleting the inventories, and instead try to save up for the uncertain future needs. Without this modification, the rolling horizon solutions had great difficulties satisfying all demand from the contracted customers. It might seem easier to simply specify a safety buffer for each inventory, thus increasing the parameter by some certain amount, instead of introducing more variables and constraints. This is possible, but we do not want to add the safety buffer levels as hard constraints, since this would inhibit the model in its purpose to find optimal inventory levels. Penalty parameters and are introduced for the order fulfillment and inventory preference levels, respectively, and the complete objective function for the rolling horizon heuristic scheme, , is given by (26).
We can now define the Rolling Horizon subproblem, , as maximize subject to (1'), (2'), (3)-(23), (25) for a given planning horizon . Note that all the original constraints are defined for ∈ , but now we only consider ∈ PH . The Rolling Horizon heuristic used in the upcoming section is presented in Algorithm 1.

Computational Results
The order quantities from contract customers, as well as the spot market demand, are based on actual sales data for one whole year during the time period July 1st 2011 to June 30th 2012. All orders sold during a single day have been aggregated into a daily demand, for each product and location. In order to create parameters. and , the orders to contract customers were separated from the spot market sales. All other parameters, such as inventory limitations and production capacities, were defined as the result of discussions with Perstorp personnel. Although parameters and are known to us for the whole year in advance, we cannot assume to have perfect information regarding future order demands and spot market demands during the experiments. Hence, in order to mimic the real planning problem situation, we apply the rolling horizon heuristic described in Algorithm 1 with planning horizons of two to four weeks. Demand parameters are assumed to be known within each planning horizon. This is close to the planning situation within the Perstorp group, where contracted orders are fixed one week ahead but predictable approximately three weeks in advance. The heuristic generates solutions for the full time horizon, and in the numerical experiments we explore different parameter settings such as the number of days to fix. The model was implemented using AMPL, see Fourer et al. The heuristic generates solutions for the full time horizon, and in the numerical experiments we explore different parameter settings such as the number of days to fix. The model was implemented using AMPL, see Fourer, Gay and Kernighan (1990), and all problems were solved on a HP DL160 server with two 6-core Intel Xeon CPUs and 72 GB of RAM memory, running Linux. We have used the commercial MIP-solver cplex/12.5 for 64-bit environment, see ILOG (2012).

Full Time Horizon
In order to get a reference value, it is interesting to attempt to solve the supply chain planning problem for the horizon of all 366 days. This gives rise to a problem with 70,253 linear constraints, and contains 38,158 continuous, 12,464 binary, and 3712 integer variables. After AMPL and cplex pre-processing (default settings), the problem consists of 61,864 rows and 45,513 columns, and contains 12,409 binary variables and 3,712 integer variables. Feasible solutions to the MIP-model are found within one minute, but it takes several hours before the solution is within a 10% MIP-gap. After 48 hours, the search was aborted and the best-found integer solution still had a MIP-gap of 2.98%. The best-found objective value for the full problem is 47,651,965. This objective value by itself is not of any real interest, but it is very useful to compare it with the ones we find using the rolling horizon approach. Hence all forthcoming objective values will be stated as a proportion of this objective value, and we will see that the results are very promising. The linear programming relaxation of the full problem is solved within 6 seconds, and provides an optimistic bound of 1.015 for the optimal solution.

Objective function breakdown
The objective function consists of several posts. Profits come from sales to contracted customers and sales on the spot market, and the expenses consist of different transportation modes together with inventory holding costs and purchases from external suppliers. As can be seen in Fig. 5, the majority of all sales are to contracted customers, and transportation costs (trucks and boats) are the main expenses, followed by inventory holding costs. Container transports (boats to Aveiro) are limited and the purchases from external suppliers are marginal.

Fig. 5.
Breakdown of the objective function. The majority of all sales is to contract customers, and the major expenses are related to transportation costs (trucks and boats).

Average transportation and inventory levels
In total, the supply chain contains 36 different inventories (buffer tanks), and some products are stored at several locations. Most of the inventories are tanks, which means they are limited in size. Some of the products are not liquid though, and can therefore be stored in other ways such that the only limitation is space, and in practice this means no limitations. An overview of the average inventory levels, given in percentage of their respective upper limits, is given in Fig. 6. We note that the possibility of purchasing products from an external supplier is never used. All inventories reach their lower limit at some point during the full time period. Further, most inventories never get close to their upper limit, but 13 of them do reach the maximum level at least once. On average, though, all inventories are far away from their upper limit. An analysis of the transports performed over the full time period shows that both trucks and boats have a high average capacity usage. For example, in total 62 trucks are used to transport product P7 from Stenungsund to Castellanza, and on average 97% of the maximum loading capacity is used. The boats sent from Stenungsund to Tees and Antwerp, 24 and 30 boats respectively, have on average 89% and 97% utilization of capacity, respectively.

Production and inventory
In Fig. 7 we present the production rate level and the corresponding inventory level for product P4 at Stenungsund, throughout the full time horizon. The red lines indicate minimum and maximum production rates. For the inventory, the red lines indicate the physical upper and lower bounds, while the green lines indicate the given preference interval. Although we need to remember that more variables are included, it is possible to see the interaction between production level and inventory level throughout the full time horizon.

Average production and sales
In Figure 8 below, we present the average production rate level over all time steps for each product, and the values are scaled using the maximum production capacity for each product, respectively. Most production levels are around 50% of their respective maximum production levels, while some products are produced far less. Product P11 is actually no longer produced and the average production level for P16 is very low (< 1%). The numbers above each bar indicate the number of shutdowns throughout the time horizon. Most of them are very low, considering the time horizon covers a full year, but product P10 clearly deviates from the rest. This can be explained by a limited storage capacity for P10 in combination with its substantial lower bound on the production rate and a fluctuating demand over the time period. Fig. 8. The average production rate levels, in percentage of the maximum production capacity for each product. The total number of shutdowns for each area over the full time period is also given above each bar. In total 79 shutdowns occur Further, Fig. 9 presents information on how the produced amounts of each product are used, categorized as i) inputs to other products, ii) sales to contracted customers, and iii) sales on the spot market. From this picture, it is clear that the main purpose of products P1 -P4 is to be used as intermediate products, that is, as input to further production. We can also see that the majority of all sales is to contracted customers. Products P11 and P16 are not sold at all. Fig. 9. This graph shows how the total produced volumes of each product are distributed over "Input to other production", "Contract customer sales" and "Spot market sales". Whenever the bar does not sum up to 1, it means that some is stored in the final inventory. Likewise, for product P9, where the bar is larger than 1, the initial inventory has been utilized

Restricted Time Horizon
In the numerical tests, Algorithm 1 is applied for different lengths of the planning horizon. We have used two, three and four weeks, that is, |TPH|= 14, 21 and 28 days (time periods) respectively. The number of days to fix (F) is set to three, five and seven days, respectively, reasonable time frames for a real-life planner.
The results for the different settings are found in Table 1, where the objective value is given as a proportion of the best-found solution for the full problem and solution times are given in seconds. Each restricted planning problem (one for each planning horizon) was solved to optimality within a MIP-gap of 0.5%, but a time limit of 5 minutes was used in order to keep the overall solution times within practical

Table 1
Results for the different settings of horizon lengths and number of days to fix. The objective value is given as a proportion of the best-found solution for the full problem, and solution times are given in seconds In order to reach the final time period, t = 366, approximately 115 restricted planning problems need to be solved when fixing three time periods before shifting the planning horizon. When five and seven time periods are fixed, approximately 70 and 50 restricted planning problems, respectively, are solved. The solution times stated in Table 1 are the accumulated solution times for all the restricted planning problems. The differences in objective value between the settings might seem insignificant, but we remind the reader that a difference of 0.01 corresponds to approximately 476,000. As expected, a longer planning horizon results in a better overall solution. It should be mentioned here that all problem instances with a planning horizon of 14 days resulted in solutions where approximately 50 orders were only partially delivered, or not at all ( > 0). This is not very surprising since the longest routes by boat coincide with the length of the planning horizon, 14 days, and hence it is impossible to foresee the need at the inventories in Aveiro and Philadelphia. Towards the end of the numerical tests, we tried to utilize some of the more advanced settings of cplex when solving the restricted planning problems. It is possible to specify whether the branch-and-bound procedure should focus on finding feasible integer solutions or attempt to actually prove optimality (focus on a depth-first or breadth-first strategy, simply put). It turns out that emphasising feasible integer solutions improve the solution times significantly, allowing cplex to prune more quickly and hence reach the specified MIP-gap of 0.5% in shorter time. For some instances, the time reduction was as great as 50%. The new solutions did not always become better though, with respect to the objective value, but these differences were always small.

Production and sales
To illustrate the quality of the rolling horizon solutions, we analyse the results for a planning horizon of 28 days and fixing 7 days. Similar to Figure 8, we present the average production rate level over all time steps for each product, and the values are scaled using the maximum production capacity for each product, respectively. Compared to the solution found when solving the full time horizon, we notice only marginally changes (all within 4%) indicated in Figure 10 by green and red bars. Like before, the numbers above each bar indicate the number of shutdowns throughout the time horizon. Here we notice bigger changes; surprisingly the total number of shutdowns has decreased from 79 to 40, a decrease by 39 shutdowns. Further, we find similar results for the distribution of the produced volumes; again the major part is sold to contracted customers, and the rest is either used for production or sales on the spot market. The rolling horizon solution illustrated in Fig. 11, available when all planning horizons have been solved, differs quite a lot from the full problem solution illustrated in Fig. 7. This is not very surprising considering the huge difference in available information for the two problems. Although, the latter solution seems equally good, or even better, since the production of P4 is only shut down once compared to four times. Once again we need to remember that many other conditions have to be considered, after all, the full problem solution does generate a better overall solution. Fig. 10. The average production rate levels, in percentage of the maximum production capacity for each product. The green parts indicate an increase in production compared to the solution for the full time horizon, and the red part indicates the decrease. The total number of shutdowns for each area is also given above each bar. In total 40 shutdowns occur Production and inventory Fig. 11. Production plan and inventory levels for product P4 at Stenungsund, provided by the solution of the 28 days planning horizon and 7 days fix. We notice that the inventory level for product P4 in Figure 11 is rarely within the stated preference interval. This does not, though, neccessarily reflect the values of variables throughout the rolling horizon iterations. (The value of , , after the first iteration is not fixed, its value will be updated in the following iteration.)

Transports and inventory levels
The number of trucks, boats and containers used by the rolling horizon solution, as well as their average capacity usage, are very similar to the full time horizon solution presented in Figure 6. The average usage capacities are actually even better; the lowest is 95.5%, an increase from 89.1%. This can be explained by the fact that when solving for a shorter time horizon, we are able to optimize the restricted problem, and it is reasonable that we find solutions where the capacity usages are almost perfect. (This specific aspect is not captured when solving the problem for the full time horizon.) We also notice that average inventory levels are similar to the full horizon solution.

Sensitivity Analysis
An essential issue for the Perstorp group planners is to deal with shut downs, either planned or unplanned. Hence, to put the model and the rolling horizon algorithm at test, and to illustrate its use as a decision support tool, we have conducted simulation runs where a production area suddenly needs to shut down. In the following experiment, we introduce (simulate) an unexpected shutdown of the production of P2. We choose P2 since this product is used as input to the production of products P4, P5, P6 in Stenungsund, as well as P17 in Perstorp, and should cause some visible changes in the production plan. In Figure 12 we display the production and inventory levels for the products of interest when no unexpected shutdown occurs. Production rates are given in percentage of the maximum capacity for each product. An empty circle indicates zero level production, a black circle maximum level production, and gray circles anything in between. Inventory levels are given in percentage of their respective maximum inventory levels. The green circles indicate an inventory level within the preference interval. We now simulate a shutdown of P2 at time step 36, and the information is given to the rolling horizon heuristic only 1 day in advance (after fixing time step 35), and the results are presented in Figure 13. We notice how all production drops as P2 is shut down, and how inventory levels drop somewhat in order to compensate for this. Here we can see clearly that a shutdown implies that production is down for several days. Approximately one week after the shutdown, production is back to normal, after a few days of increased production levels compared to the baseline case. If the information of a shutdown is given to the rolling horizon heuristic 5 days in advance (after fixing time step 35), the situation can be handled in a better way as seen in Figure 14. When production of P2 is shut down, in time step 40, only P5 has to shut down. We can see how production of P2 is ramped up the days before the shut down, while the production rates for the other products decrease somewhat. The inventory level for P2 increases before the shut down. Fig. 13. Production rates and inventory levels for products P2, P4, P5, P6 and P17 when an unexpected shutdown occurs just 1 day ahead Further simulations have been performed, with similar results, where the demand of one or more products changes unexpectedly instead of production shutdowns. We conclude that the model and the rolling horizon approach is able to adapt to unexpected situations in a satisfactory manner.

Fig
. 14. Production rates and inventory levels for products P2, P4, P5, P6 and P17 when an unexpected shutdown occurs 5 days ahead

Conclusions and Future Work
In this paper a large-scale model for the supply chain planning problems arising at a chemical company, Perstorp Oxo AB, is developed. We present a deterministic mathematical model, classified as a mixed integer linear model, together with an adapted version used in a rolling horizon framework. The model is detailed and specific for the company in question since it is intended for direct usage at the site in Stenungsund. However, it is general enough to be applicable also for similar large-scale supply chain applications within the chemical process industry. The model is implemented in AMPL, and we make use of the commercial solver cplex. In order to find good solutions within reasonable time, and also to model real life situations where data for the whole horizon are not known beforehand, rolling horizon techniques have been used to solve the developed model. The results presented here are from a single case study, based on actual sales data from July 1st 2011 to June 30th 2012, to motivate the possible gains from an optimization based planning system for the planners at Perstorp Oxo AB. The model allows for easy testing of different scenarios, for example planned and unplanned shutdowns, and can probably produce better solutions compared to manual planning. The current production planning at Perstorp Oxo AB is very time consuming and the suggested decision support tool can therefore make the planning more efficient. Moreover, all data needed for the model is available from company databases. Hence, this makes the model and solver usable as a practical decision support tool in the planning process at the company. As a reference value for the rolling horizon experiments, we solve the supply chain planning problem using a planning horizon of one year (that is 366 time periods). This is a very optimistic situation where we both assume full knowledge of customer orders one year in advance and have the possibility to optimize production, inventories and transportations for the whole planning horizon at once. Still the rolling horizon solutions, that are limited to peek at most four weeks in advance, differ only a few percentages compared to the reference value. Also, we found that solutions produced by the rolling horizon heuristic are in many ways comparable to the ideal full time horizon solution; this supports the use of rolling horizon as an appropriate solution method.
From the computational results, we find that the length of the planning horizon must not be too short. When using a planning horizon of only two weeks the model is not able to accommodate inventory demands in a satisfactory manner; this is not very surprising since the longest transports take two weeks. Hence, in order for the heuristic to operate under reasonable conditions, a planning horizon of at least three weeks is recommended. Preferable four weeks.
At the moment, regarding the input data, no consideration is taken to forecasts. Assuming that Perstorp has historical numbers on demand and sales, one could possibly improve the results from the rolling horizon heuristic by extending the planning horizon beyond four weeks, where the demand for the extra weeks is based on forecasts (derived from demand and sales previous years).
As for the mathematical model itself, there are many possible extensions. At the moment, the demand from contract customers must be fulfilled. This is obviously something that all companies strive for, but is not always possible to achieve due to unplanned shutdowns and issues connected to transportation. Hence we would like to add the possibility of backlog on orders and at the same time introduce a quality of service measure, for example the amount of orders delivered on time, and penalize if this measure gets too low. Idealy, the model should also be expanded to include DVC:s that could vary with the production rate. Finally, more advanced heuristic techniques, like Lagrangian methods, could prove efficient and generate better results in less time.