Incorporating batching decisions and operational constraints into the scheduling problem of multisite manufacturing environments

Article history: Received May 24 2020 Received in Revised Format July 11 2020 Accepted January 22 2021 Available online January, 22 2021 In multisite production environments, the appropriate management of production resources is an activity of fundamental relevance to optimally respond to market demands. In particular, each production facility can operate with different policies according to its objectives, prioritizing the quality and standardization of the product, customer service, or the overall efficiency of the system; goals which must be taken into account when planning the production of the entire complex. At the operational level, in order to achieve an efficient operation of the production system, the integrated problem of batching and scheduling must be solved over all facilities, instead of doing it for each plant separately, as has been usual so far. Then, this paper proposes a mixed-integer linear programming model for the multisite batching and scheduling problems, where different operational policies are considered for multiple batch plants. Through two examples, the impact of policies on the decision-making process is shown. © 2021 by the authors; licensee Growing Science, Canada

In multisite production environments, the appropriate management of production resources is an activity of fundamental relevance to optimally respond to market demands. In particular, each production facility can operate with different policies according to its objectives, prioritizing the quality and standardization of the product, customer service, or the overall efficiency of the system; goals which must be taken into account when planning the production of the entire complex. At the operational level, in order to achieve an efficient operation of the production system, the integrated problem of batching and scheduling must be solved over all facilities, instead of doing it for each plant separately, as has been usual so far. Then, this paper proposes a mixed-integer linear programming model for the multisite batching and scheduling problems, where different operational policies are considered for multiple batch plants. Through two examples, the impact of policies on the decision-making process is shown.

Introduction
Today, many companies compete through the development of new products and providing new services to their customers. In the process industry, multiproduct batch plants allow the production of many products in small quantities in order to meet the conditions posed by this business context. An advantage of this type of plants is the flexibility to manufacture different products, since the same equipment is shared by these products. However, this flexibility significantly hinders efficient production scheduling, so it is critical to have appropriate tools for this purpose. Production scheduling has been widely studied at Process System Engineering community (Pinto & Grossmann, 1998;Méndez et al., 2006;Maravelias, 2012;Harjunkoski et al., 2014;Castro et al., 2018;Georgiadis et al., 2019). Due to scheduling is a computationally complex problem, different approaches and formulations have been used to deal with this problem, from mathematical programming to heuristic algorithms. Production scheduling becomes even more important in the case of multiproduct batch plants, because, as it has been previously mentioned, the same equipment is shared by batches of distinct sizes and products that require different processing times. In the case of sequential production batch plants, where all processed batches must follow the same sequence through a certain number of stages with several different units operating in parallel and out of phase, there is a very strong relationship between the problems of batching and scheduling. In the batching problem, the number and size of batches to be processed must be determined. For a long time, these two problems have been solved sequentially, where, in the first stage, batching decisions are made and, in the second stage, scheduling is solved with already known batches, previously determined. This procedure generally leads to attain suboptimal solutions, but the formulation is simplified and the computational cost is reduced. However, in order to achieve an optimal solution and superior performance, both problems must be solved simultaneously. Taking into account the large number of works on the subject of scheduling, only a small number of articles have used this approach, although with certain particular characteristics in the plant structure. For example, Lim and Karimi (2003) work with a single-stage multiproduct plant and show that the simultaneous resolution allows attaining better and faster solutions than the two-step approach. Prasad and Maravelias (2008) develop a novel mixed-integer linear programming (MILP) formulation to deal with a problem not previously solved, where the number of batches is variable, considering the batching requirements. Several model particularities are exploited in order to overcome the limitations in computational performance. The proposed formulation is improved in a subsequent work (Sundaramoorthy and Maravelias, 2008b) and new consideration about storage vessels and utilities are additionally introduced (Sundaramoorthy and Maravelias, 2008a;Sundaramoorthy et al., 2009). Marchetti et al. (2012) pose two MILP models to simultaneously solve batch sizing and scheduling, where multiple orders per product with different delivery dates, variable processing time and sequence-dependent changeovers are specially incorporated. Besides, batches of final products can be split to satisfy two or more orders. Later, these problems have been solved for multiproduct batch plants operating in a campaign-mode (Fumero et al., 2014).
Previous works consider only one plant. Nowadays, in order to provide a better service to their customers, firms usually have several plants to facilitate the production and delivery of their products. In order to achieve the optimum operation in a productive installation composed by several multiproduct batch plants, it is required to optimize over the entire complex simultaneously. On this environment, several authors have dealt with planning and scheduling problems. For example, for a somewhat different context focused on manufacturing plants, Moon et al. (2002) and Moon and Seo (2005) formulate models, including specific resolution methods based on genetic and evolutionary algorithms respectively, taking into account the particularities of the problem. Shah and Ierapetritou (2012) argue that the current manufacturing environment in the process industry has changed from a traditional single-site, single-market to a more integrated global production mode where multiple sites are serving a global market. They formulate a planning model, emphasizing performance problems when the number of production sites, markets, and products increases. Also, taking into account the same difficulties, Karimi and Davoudpour (2017) resort to a novel population-based evolutionary algorithm for the problem resolution. Laínez and Puigjaner (2012) and Behnamian and Fatemi Ghomi (2016) highlight the challenge presented by the multisite scheduling problem and that, due to its complexity, there are still very few jobs addressing it. Among the published works, different types of facilities are addressed: Terrazas-Moreno and Grossmann (2011) and Shah and Ierapetritou (2012) consider multisite continuous multiproduct plants; Behnamian and Fatemi Ghomi (2013), plants with different geographical locations and parallel identical machines in each plant; Kopanos and Puigjaner (2009) and Ackermann et al. (2018) have solved the simultaneous batching and scheduling of multisite production environments composed by batch plants, where the plants have one and several stages, respectively, and units operating in parallel. When a multisite installation produces several products ordered by specific customers, different operational or productive policies can be implemented in order to determine which products will be processed at each plant and from which plants each customer will be supplied. In this work, three different policies are introduced: competition, coordination and cooperation. Competition does not impose restrictions on what products to process in each plant or the way of supplying to customers. Therefore, it is focused on seeking the productive efficiency of the installation. Cooperation policy assumes each client is supplied from a single plant, thus improving communication and the level of service offered. Finally, in coordination policy, each product is processed in a single plant looking to improve the quality and obtain uniformity and consistency in its production. The mentioned policies have been introduced by Ryu and Pistikopoulos (2005) in the context of plant design. Delivery of the completed orders to the customers must be taken into account when multiple production plants are considered, since the distances and shipping times can have an important impact on the optimal operation of the complex. Obviously, the impact of this aspect strongly depends on the distance from plants to customers and the relative dimension of operation and shipping times. A complete review of the integration of problems of scheduling and vehicle routing is provided by Moons et al. (2017); where the importance of treating both problems simultaneously is emphasized. Besides, in the context of multisite facilities, to the moment, only single machine plants have been considered.
In this work, a MILP model is presented to simultaneously solve the batching and production scheduling in a multisite environment composed of multiproduct batch plants. The considered objective function minimizes the makespan over the complete installation. Orders to be processed are emitted by a set of customers. The orders have release and due dates. Customers must receive the complete orders before their due date. The plants have multiple stages and non-identical units working in parallel at each stage. Delivery times of the complete orders from plants to customers are considered, greatly simplifying the problem of vehicle routing, but with the objective that the clients receive the products in the shortest time possible while optimizing the operation of the entire installation. Specific constraints are added in order to implement any of the three operating policies presented above (competition, cooperation and coordination). The model must decide simultaneously, while complying with the selected operational policy, in which plant to process each order, in how many batches is divided each order, the sizing of the batches, the allocation of the batches to specific units of the plant where they will be processed, and their initial and final processing times, in such a way that the total time required to complete and send orders to the customers is minimized.

Problem description
A production environment composed by multiple batch plants p  P, that process a set of products i  I, is considered.
Products are delivered from plants to different customers c  C in order to satisfy a set of orders d  D. Each order d consists of a single product and it is generated by a specific customer, so that a set Dci (Dci  D) is defined to represent these relationships. So, each customer c may require several orders of the same or different products. The demand of each order, , is a model parameter and it can be fulfilled with one or more batches. Besides, it is assumed that all batches required to satisfy an order are processed in the same plant. Moreover, as the number and size of these batches are decision variables, a set of potential batches for each order must be proposed according to plant where they will be processed. The processing of all batches associated to order d must begin after of its release time, denoted by RDd, and must finish before its due time DDd. Then, once all the batches required to fulfil order d have been processed, it is considered a delivery time of the complete order from the plant to the customer, indicated by DTcp, which is added to the final processing times of those batches in the last stage of plant p to calculate the total completion time of order d. The plants have several processing stages indicated by j  J, whose number is the same in all of them. In each plant p, there is a set of units k  Kp. Likewise, in each stage j of plant p there is a subset KJpj  Kp of nonidentical units that operate in parallel and out of phase. The size Vkp of unit , KJ k pj  the processing time tikp of a batch of product i in unit k of plant p, the size factor SFij, that indicate the required size in stage j to produce one mass unit of final product i, and the percentage of minimum use in each unit k of plant p to process a batch of product i, indicated by ikp, are known parameters. For each plant, due to that materials cannot be stored, the Zero-Wait (ZW) transfer policy between consecutive stages is adopted. Thus, each batch that has been completely processed at certain stage must be immediately transferred to a unit in the next stage. The time required to transfer a batch from one stage to the next is considered negligible, but sequence dependent changeover times mii'kp are considered between consecutive batches of products i and i' processed in the same unit k of plant p, in order to handle cleaning or maintenance activities of units. A slot-based representation is used to deal with the modelling of the scheduling decisions. Since the batching problem is part of the optimization decisions, the number of batches is not a priori known and consequently the number of proposed slots must be estimated. As this value directly affects the combinatorial complexity of the problem, a good estimation for this parameter is crucial in order to improve the model computational performance. Taking into account that the demand of each order as well as unit sizes for each plant are problem data, upper bounds for the number of batches of each order for every plant can be estimated. The maximum number of batches to be processed in plant p to satisfy order d, denoted by , NBP max dp is calculated assuming that all batches are processed in the smallest units of each stage and used in their minimum capacities. The minimum size of batches of product i in plant p, denoted by min ip B , is given by: Since the previous assumption is an unrealistic scenario and in order to achieve efficient resolution times, it is reasonable to assume that if smaller units are used, they work at full capacity. Under this condition, the following expression is used to represent the minimum size of a batch of product i at plant p: Then, the maximum number of batches required for processing order d of product i at plant p becomes: In order to improve computational performance, as will be seen later, it is also important to determine the minimum number of batches required for each order. In fact, the maximum possible batch size for an order of product i in plant p, denoted by max ip B , is: Then, the minimum number of batches required for each order is given by: Once the upper level for the number of batches of each order is known, an a priori estimation for the number of slots for all units of plant p can be calculated as: However, a tighter expression for this number can be obtained taking into account other parameters associated with orders (release/due times, constant processing times) as well as resorting to heuristic rules, as is illustrated in Ackermann et al. (2018).

Model formulation
The proposed MILP model simultaneously determines: in which plant of the multisite environment will be processed each order; the number and sizes of batches to be processed to fulfil each order, the assignment, sequencing and timing of batches processed in each plant, so that the global makespan over all the facilities is minimized, and the adopted operational policy is satisfied. In the first subsection, constraints for the different operational policies as well as equations for modelling the assignment of each order to a single plant are introduced. In the following subsections, constraints for sizing, assignment, sequencing and timing of batches, and objective function, are defined.

Implementation of operating policies
One of the main decisions that must be taken in the addressed problem is to determine in which plant must be processed each order according to the proposed operation policy. Therefore, the following binary variable is introduced: As each order is satisfied by one plant, the following equation is added: Taking into account that relationships between plants, customers, orders and products must be considered in this approach according to the selected operational policy, the following restrictions should be added: Cooperation policy: all demands of a customer must be satisfied from a single plant. Thus, the next constraint is introduced: Coordination policy: each product must be processed in a single plant, which is expressed as follows: Competition policy: in this case, customers can be satisfied from any plant and all plants are allowed to produce all products. Then, there are no additional restrictions for assigning orders to plants.

Batching constraints
Nevertheless, as the number of units and their sizes can be very different among all the plants, the subset of batches that can be effectively used for fulfil order d at plant p, denoted by PDBdp, satisfies the following: PDBdp  DBd and max dp dp NBP PDB  Taking into account that the number of batches to fulfil each order and the plant where it will be processed are model variables, the binary variable ybdp is introduced: In each plant, only batches corresponding to orders assigned to that plant may be processed: (1) and Eq. (4), the following inequality can be obtained: The number of batches selected to meet order d in plant p is limited by the lower and upper bounds for this value, then: The continuous variable BSbd represents the size of batch b of order D d  . Its value must be limited by the following inequalities: If ybdp = 0 for all plants, that is, if batch b is not selected to satisfy the demand of order d, batch size BSbd is zero. On the contrary, if ybdp = 1 for any plant p, previous constraints limit the batch sizes within admissible minimum and maximum capacities to process them at plant p. For each order, the selection of batches to satisfy its demand is made in ascending numerical order in order to avoid redundant solutions.
Finally, the demand of order d must be satisfied, then

Assignment and sequencing constraints
The assignment of batches to slots on each stage is carried out according to the rule proposed by Fumero et al. (2014). The authors have shown that it allow simplifying the definition of the allocation variables and can be considered a good heuristic strategy for handling scheduling decisions. According to this rule, each batch processed in plant p must be assigned to the same slot on all stages of the plant. So, the following binary variable is appropriate to define this relationship: batches proposed for all orders, the following expression ensures the one-to-one correspondence between sets of batches and slots: However, as selected batches to satisfy each order have associated fixed processing times that not dependent on their sizes, additional symmetry breaking constraints based on this assignment variable can be defined to avoid equivalent solutions. In fact, for each pair of consecutive batches selected for order d, the batch of smallest order is forced to be assigned to the slot of smallest order. That is, given b, b+1  PDBdp and l, l' (l < l') slots used to process batches of order d at plant p, if batch b+1 is assigned to slot l of plant p (zb+1lp = 1), then batch b cannot be assigned to slot l' of plant p (zbl'p = 0). Symbolically: This logical relation is guaranteed by the following constraint: To illustrate the basic idea of this constraint, an example is considered. If batches b1, b2, b3 are selected to fulfil order d on slots l1, l3, l6 of plant p, all permutations of such batches, that is: b1-b2-b3, b1-b3-b2, b2-b1-b3, b2-b3-b1, b3-b1-b2, b3-b2-b1 yields alternative solutions with the same objective function value. Consequently, only one of them must be considered as option for the model formulation. As it can be observed, Eq. (14) only satisfies the sequence b1-b2-b3, removing the others options of the feasible space of the problem. For each plant, a binary variable to represent the units of each stage where some batch is assigned to slot l must be defined: It is assumed that for each stage of plant p, slot l must be only used in at most one unit of that stage to process a batch. Then, the following constraint must be posed: The following equality ensures that, in each stage of plant p, the number of occupied slots coincides with the total number of processed batches: For enhancing the resolution process by reducing the number of alternative solutions, the sequence in the selection of slots in each stage of plant p is guaranteed by the following constraint: To attain the assignment of each batch processed in slot l of plant p to a specific unit at each stage of the plant, a new binary allocation variable Ybklp is defined. This variable takes value 1 if batch b is processed in slot l of unit k of plant p, and 0 otherwise.
In order to enforce its value, the following constraints are added: The recently introduced variable allows to limit the batch sizes to the capacities of the units where they are processed. Then, Eqs. (7) and (8) are correctly expressed as:

Timing constraints
The initial and final processing times of slot l in unit k of plant p, indicated by TIklp and TFklp respectively, are nonnegative continuous variables. These variables must satisfy the equation: where the final processing time is calculated considering de initial processing time, the operation time and the changeover time. l' corresponds to the first slot effectively used after slot l in unit k of stage j at plant p. The third term on the righthand side of eq. (23) is nonlinear. Then, in order to keep the problem linear and guarantee the global optimality of the solution, this equation is reformulated by introducing the binary variable YYblb'l'kp. The set of batches and slots that can be sequenced on a unit of plant p is denoted by 1  and  '  ,  '  ,  '  ,  ,  : ), , , ( ' , for d, d'  D, p  P. Then, variable YYblb'l'kp is fixed to zero for all (b, l, b', l')  BLdd'p, while that for (b, l, b' ,l')  BLdd'p this variable is defined as: The following set of expressions ensures that this variable takes the required values: Eq. (23) is expressed as: The third term on the right-hand side of eq. (27) is used to represent the corresponding changeovers times. Due to these transition times are sequence-dependent, it is necessary identify the pairs of successive slots, l and l' (l < l'), that are used to process batches in each unit. A Big-M representation is suitable to achieve this result. However, to handle simpler timing constraints, nonnegative continuous variable Tmklp is introduced: where l' is the first slot effectively used after slot l in unit k of stage j at plant p. The Big-M representation of eq. (28) leads to the following constraints: where M1 is a sufficiently large number that makes the constrain redundant if l' is not used. An upper bound on the changeover time that must be considered for slot l of unit k at plant p is enforced in constraint (31). Besides, if no batch is assigned to that slot (Xklp = 0), this constraint set to zero the changeover time.
In the case that l is the last slot proposed for each unit of plant p, that is l = Lp, the variable Tmklp is fixed to zero. Finally, Eq. (27) can be expressed by the following linear equality, which allows calculating the final times of all slots defined for each unit of a plant: To avoid overlaps of the slots on each unit, the following inequality is added: Moreover, if a slot is not used, its initial time coincides with the final time of the previous slot. Then: where M2 is a sufficiently large number that make redundant the constraint if Xkl+1p is equal to 1. The ZW transfer policy is adopted for all plants of the multisite environment, that is, each batch processed at a stage must be immediately transferred to the next one. According to Eq. (32), the final time of an occupied slot, includes the changeover time from the actual slot to the next one that is used in the same unit. Therefore, the initial processing time of a slot in stage j+1 must be equal to its final time in stage j minus the changeover time included in that stage, which is given by: The equation above must be only satisfied when a batch processed in slot l of plant p, is assigned to unit k in stage j and k' in stage j+1. This is imposed by the next Big-M representation: where M3 is a number large enough to makes the constraints redundant if Xklp or Xk'lp are equal to zero. Finally, each batch corresponding to order d cannot begin their processing before its release date RDd. This condition is imposed only for the first stage of each plant, since all batches follow the same sequence through all stages.
On the other hand, the final processing time of each batch corresponding to order d plus the delivery time from the plant where order d is processed to its customer cannot exceed the due date DD d of the order. If a batch is not processed in the last occupied slot of a unit, its final time include a changeover time which must be subtracted. The constraint to limit the total delivery time for each order is defined by: where M4 is a sufficiently large parameter that makes the constraints redundant if Ybklp= 0.

Objective function
The goal is to minimize the global makespan, MK, on all facilities, that is, the maximum time required to process all orders and deliver them to customers. The following expression imposes that MK must be greater than or equal to the final processing time of all processed batches on all plants plus their delivery time from plants to customers: Taking into account the minimum processing times of products in each stage, it is possible to propose a tighter lower bound for the makespan, which results in significant savings in computational time. The proposed lower bound is given by:

Illustrative examples
Two examples are developed below. The first of them is of small dimensions but useful to show the model capability to simultaneously solve the problems of batching and scheduling and, on the other hand, to illustrate the differences obtained in the solutions according to the considered operating policies. The second example is a medium-scale problem, where the number of plants, products and orders to be processed has been increased compared to the previous example, which strongly impacts on the computational performance of the model. Both examples were implemented and solved in GAMS (Rosenthal, 2017) version 24.7.3 on an Intel Core i7, 3.6 GHz processor and 8 GB of RAM. The CPLEX 12.6.3 solver was employed for solving the MILP problems, with 0% optimality gap.

Example 1
This example considers two batch plants, which are capable of processing four products. A total of ten orders, required by four different customers, must be processed. The structures of the plants, denoted by P1 and P2, and units capacities are shown in Fig. 1. Demands, release and due dates for each order-customer-product relationship are presented in Table 1. Processing times for products, in hours, are given in Table 2, while Table 3 shows the delivery times of completed orders from plants to customers. A minimum use of 70% in each unit of each plant to process batches of any product is imposed, while size factors are considered equal to 1 for all products and plants. Taking  Then, knowing the demands of each order, the sets of proposed batches for them are {b1, b2, b3}, {b4}, {b5, b6, b7}, {b8, b9, b10}, {b11, b12, b13}, {b14, b15}, {b16, b17}, {b18}, {b19, b20, b21} and {b22, b23}, respectively. Table  4 provides the computational results and the optimal objective value for each generated model according to every operational policy. For each case, the selected plants for processing orders, and the number and size of the batches used to satisfy each order are reported in Table 5, while the optimal schedules are illustrated in the Gantt charts of Fig. 2, Fig. 3 and Fig. 4.   (h)  d1  c1  i1  290  0  35  d2  c1  i3  120  0  40  d3  c1  i4  230  5  40  d4  c2  i2  210  6  40  d5  c2  i3  230  0  40  d6  c2  i4  180  14  45  d7  c3  i1  200  8  45  d8  c3  i4  120  0  40  d9  c4  i2  220  0  35  d10  c4  i3  180  8  45   Table 2 Processing times of orders for Example 1     As it can be noted from Table 4, the optimal solution is different for the three policies. In the case of the cooperation policy, customers c1 and c4 are supplied from plant P1 while customers c2 and c3 from plant P2. This can be observed in Fig. 2, as well as that all products are processed in both plants. For the case of the coordination policy, where each product is linked with a single plant, Fig. 3 shows that products i1 and i3 are processed in plant P1 while i2 and i4 in plant P2. Finally, for a competition policy, the minimum makespan is reached when customers c1, c2 and c3 are supplied from both plants and customer c4 only from plant P2, which is illustrated in the Gantt chart of Fig. 4. The number and size of selected batches to meet each order are different according to the considered operating policy. For example, as it can be observed from Table 5, order d3 is processed in plant P2 using two batches of the same size (BSb5d3 = BSb6d3 = 115 l) for the coordination and competition policies, while for the cooperation policy this order is assigned to plant P1 and processed using batches of sizes BSb5d3 = 132 l and BSb6d3 = 98 l. On the other hand, for order d6, two batches of the same size are processed at plant P2 for satisfying its demand in the case of the cooperation and coordination policies. However, for the competition policy, as this order is assigned to plant P1, a single batch is necessary to fulfil its demand. In the same way, different changes can be appreciated among the solutions in the number and size of batches for the orders d4, d5, d7, d9 and d10. According to Table  4, the number of variables is the same in all policies, and the difference lies in the number of restrictions imposed in each case. As it is expected, in the case of competition policy, which is the least restricted, a better value is obtained for the objective function. The models proposed for the different policies take a few seconds of CPU times to compute the optimal solution with a 0% optimality gap.

Example 2
In this case, a more complex scenario, consisting of three multiproduct batch plants, is proposed. Plants are denoted by P1, P2 and P3, and each of them has two processing stages and two units of different sizes operating in parallel and out-of-phase in each stage. The structures of the plants and units capacities are illustrated in Figure 5. All plants are capable of processing six different products, denoted by i1, i2, i3, i4, i5 and i6. The minimum filled rate required to process a batch of product on all units of each plant is assumed to be 0.70. A total of 13 orders required by four customers c1, c2, c3 and c4 must be fulfilled.

Table 6
Parameters associated for each order at Example 2 i1  190  0  45  d2  c1  i2  150  2  48  d3  c1  i6  90  0  45  d4  c2  i2  130  14  48  d5  c2  i3  160  0  45  d6  c2  i4  60  0  45  d7  c2  i5  70  0  48  d8  c3  i1  150  12  49  d9  c3  i3  140  0  46  d10  c3  i6  150  0  45  d11  c4  i3  80  0  45  d12  c4  i4  180  20  45  d13 c4 i5 150 0 45  k1  k2  k3  k4  k5  k6  k7  k8  k9  k10  k11  k12  i1  10  9  10  9  7  6  7  6  9  9  8  8  i2  5  5  5  6  7  8  7  7  8  8  7  6  i3  5  4  5  5  6  5  5  5  5  6  5  6  i4  5  6  6  7  6  6  6  6  3  3  3  4  i5  8  9  8  9  8  8  9  10  9  9  8  9  i6  7  7  5  6  4  4  3     As it can be observed from Table 9, the optimal solution requires to process a total of 24 batches for the competition policy, while 25 batches are needed to satisfy demands for the others policies. According to the adopted policy, the difference between the total times required to produce all ordered quantities on all plants is more marked than in the previous example, as is shown in Table 10. Cooperation and coordination policies take 28.6% more time than competition policy, which is the most efficient. For competition policy, customer c1 and c3 are supplied from plants P1 and P2, c4 from plants P2 and P3, while demands of customer c2 are provided from all plants. In this case, product i3 is produced in all plants. According to the cooperation policy, customers c2 and c3 are supplied from plants P1 and P3, respectively, while customers c1 and c4 from plant P2. Coordination policy guarantees the batching and scheduling of the all orders before their due dates producing products i4 and i5 in plant P1, i1 and i2 at plant P2, and products i3 and i6 in plant P3. Number and size of the batches to be processed to fulfil orders of each customer, as well as the selected plants, vary among the considered policies. These differences can be noted from Table 9. For orders d2, d3, d5, d8, d12 and d13, the determined number of batches depends on the adopted operating policy. For example, order d5 of customer c2 is satisfy from plant P1 using three batches of sizes 50 l, 60 l, and 50 l for the cooperation policy, while for the coordination and competition policies, this order is assigned to plant P3 in both cases. However, the number and size of the batches to be processed is different for these last two cases: two batches of 80 l for the coordination policy and three batches of 54 l, 53 l and 53 l for the competition policy. On the other hand, for orders d4 and d9, although the number of batches is the same, the difference is in the plant used for its processing and consequently in the batch sizes. In the same way, significant differences can be found among the solutions as shown in Table  9, denoting the impact of considering the operating policy in determining the optimal solution. Finally, the optimal sequence and timing of all batches are illustrated in the Gantt charts of Figs. (6-8), according to the productive policy considered. It is worth mentioning that small changes in the number of plants, products and orders, with respect to the previous example, strongly affect the number of restrictions and variables of the models, while the computational effort has a singular impact in the case of competition policy.

Conclusions
In this paper, a MILP model is presented to simultaneously solve the batching and scheduling of a multisite batch framework, considering multiple orders per product and customer. Also, three scenarios are proposed considering different operational policies. The cases of study show that there are differences in the optimal solution according to the productive policy adopted. From the point of view of operations, the differences are very marked in terms of allocation of products, and number and size of batches to satisfy the customer requirements. As is illustrated in one of the examples, the makespan can achieved a substantive difference according to the adopted different scenarios. The model proposed can be used by the operations manager as a tool for the decision-making in order to evaluate the optimal operation of the multisite environment according to the selected criteria: efficiency, better customer service or product standardization.