Mathematical Models for a Batch Scheduling Problem to Minimize Earliness and Tardiness

Purpose: Today’s manufacturing facilities are challenged by highly customized products and just in time manufacturing and delivery of these products. In this study, a batch scheduling problem has been addressed to enable on-time completion of customer orders in a lean manufacturing environment. The problem is optimizing the partitioning of product components into batches and scheduling of the resulting batches where each customer order is received as a set of products made of various components. Design/methodology/approach: Three different mathematical models for minimization of total earliness and tardiness of customer orders are developed to provide on-time completion of customer orders and also, to avoid excess final product inventory. The first model is a non-linear integer programming model whereas the second is a linearized version of the first. Finally, to solve larger sized instances of the problem, an alternative linear integer model is presented. Findings: Computational study using a suit set of test instances showed that the alternative linear integer model is able to solve all test instances in varying sizes within quite shorter computer times compared to the other two models. It has also been showed that the alternative model is able to solve moderate sized real-world problems. Originality/value: The problem under study differentiates from existing batch scheduling problems in the literature owing to the inclusion of new circumstances that are present in real-world applications. Those are: customer orders consisting of multi-products made of multi-parts, processing of all parts of the same product from different orders in the same batch, and delivering the orders only when all related products are completed. This research also contributes to the literature of batch scheduling problem by presenting new optimization models.


Introduction
A batch-processing machine (BPM) can simultaneously process several jobs in a batch, that is, different jobs in the same batch are processed at the same time.BPM scheduling problem is defined as a combination of sequencing and partitioning problems with an objective function to be optimized (Albers & Brucker, 1993).The aspect of partitioning is to find a partition of all jobs into batches whereas the sequencing aspect is to find a sequence of the batches formed by the partitioning.
BPM scheduling problem addressed in this study mainly stems from scheduling of a cutting machine in furniture manufacturing.The short-term production planning problem considers the following input data: customer orders which consist of a set of products, bill of materials which involves a set of components for each product, due dates of the customer orders, capacity of BPM (cutting machine) in terms of number of components and finally process time of BPM.Decision problem is to cluster the components of products into batches that have limited capacity and also to find a production sequence for these batches.The problem intends to minimize the sum of the weighted sum of early and late completion times of customer orders by determining optimum composition of each batch in terms of both type and number of components as well as optimum production sequence of these batches.To emphasize the importance of on-time completion of customer orders, we have called the problem BPM-On-time scheduling.One of the differentiating aspect of BPM-On-time scheduling problem arises from its policy of order of deliveries.According to this policy, a customer order cannot be delivered unless all products ordered by the same customer are completed.The other aspect is that products are made of several components and all components of a product belonging to the same customer order must be processed simultaneously because of technical requirements.In other words, products of a customer order can be partitioned into different batches but components of a product in the same customer order cannot be partitioned.This constraint is different from the constraint of incompatible job families considered in the literature since it does not allow processing of jobs from different job families simultaneously.Existing literature, which is closely related to the completion of customer orders just in time, focuses on either processing of jobs in batches to minimize due date related objectives or delivering of completed jobs in batches to minimize inventory and delivery costs.The latter is called batch delivery and was first introduced by Cheng and Kahlbacher (1993).Batch delivery problem mainly considers finding optimal partitions of jobs into batches for delivery.In BPM-On-time scheduling problem however, a customer order is a given set of products and it must be delivered once all the products ordered are completed.Therefore, BPM-On-time scheduling problem should not be treated in batch scheduling literature as batch delivery.In this study, we aim to contribute to the literature of batch scheduling by emphasizing the differentiating constraints of BPM-On-time scheduling problem.We also aim to contribute by suggesting optimization models to BPM-On-time scheduling problem since there is room for further research.
In this study, firstly, a nonlinear integer programming formulation to the problem, called Model-NL, is provided.Then, Model-NL is converted into an integer linear programming (ILP) model, named Model-PL, using the piecewise linearizing method.Finally, we suggest an alternative ILP model, Model-A, to deal with difficulties of both Model-NL and Model-PL.The proposed models, Model-A, Model-NL and Model-PL are compared using a suit set of test instances.The experimental studies confirm that Model-A strongly outperforms the other models in terms of both run time and problem size which can be solvable optimally.
Section 2 addresses the related works in the literature.In section 3, BPM-On-time scheduling problem is described and the three mathematical models are explained in detail.Section 4 contains experimental study in which generation of the test instances and results obtained by the models are given.A case study from furniture industry is presented in Section 5 to show the performance of suggested Model-A in real life.Finally, conclusions and future directions are discussed in the last section.

Related Works
BPM scheduling problem has received great attention since it was first proposed by Ikura and Gimple (1986).BPM scheduling may be seen in different types of manufacturing industries: Semiconductor industry, furniture manufacturing industry, iron and steel industry, and chemical processes incorporate several examples of BPM scheduling problem.Applications of BPM scheduling problem to varying real-world environments also resulted in variants of the problem.The literature involves a large quantity of these variants considering single or parallel machines, identical or non-identical jobs, compatible or incompatible job families, unbounded or bounded BPM capacity, processing a job at any time or processing it earliest at release time and so on.Different optimization objectives such as makespan, total completion time, maximum tardiness, total tardiness, and number of tardy jobs also contribute to the variants of BPM scheduling.There are several reviews of batch scheduling problems.Potts and van Wassenhove (1992) and Webster and Baker (1995) review the problem by focusing on the single machine environment.Potts and Kovalyov (2000) review the research related with different machine environments and several types of objectives.Mathirajan andSivakumar (2003, 2006) and Mönch, Fowler, Dauzere-Peres, Mason and Rose (2011) especially focus on BPM scheduling problems which arise in semiconductor manufacturing.Xiao and Shao (2013) review BPM scheduling problem by emphasizing both job sizes and processing time.Yılmaz and Durmusoglu (2017) focus on dual resource constrain batch scheduling problem to minimize production cell response time.Genetic algorithm, simulated annealing and artificial bee colony metaheuristics are proposed ABC was found to deliver superior result compared to others.
In this study, in order to emphasize importance of on-time completion of customer orders, we restricted our survey to the research that aim to minimize early and tardy completion times of jobs in a BPM scheduling problem.There is an increasing trend in adoption of lean manufacturing tools and techniques to improve the efficiency of production systems and to decrease production costs.A lean manufacturing system requires completing customer orders just in time since early completion of orders results in increasing work-in-process costs while late completion causes both customer dissatisfaction and storage cost of finished products.Therefore minimization of both earliness and tardiness of orders is crucial in any manufacturing environment including BPM scheduling.Hall and Posner (1991) showed that the weighted sum of earliness and tardiness of jobs scheduled on a single processor considering a common due date is NP-complete.Brucker, Gladky, Hoogeveen, Kovalyov, Potts, Tautenhahn and van de Velde (1998) also proved that all batch scheduling problems with the optimization function related to due date are NP-hard.Qi and Tu (1999) proposed a dynamic programming algorithm for the scheduling of a single processing machine considering distinct due dates, a common process time and identical job size to minimize sum of earliness and tardiness.Mönch, Unbehaun and Choung (2006) suggested several two-phase heuristics to the same problem applied to scheduling of a burn-in oven in the semiconductor manufacturing industry with an additional content of maximum allowable tardiness.The proposed heuristics are based on genetic algorithms and dominance properties of optimal schedules.Mönch and Unbehaun (2007) also suggested decomposition heuristics in the case of parallel burn-in ovens.The suggested heuristics assign the jobs into early and tardy job sets for each of the parallel burn-in ovens.The early and tardy job sets are then used to form batches and finally, batches are sequenced optimally.Zhao, Hu and Li (2006) investigated properties of an optimal schedule for a batch scheduling problem with the assumptions of a common due window and identical jobs to minimize the total weighted earliness and tardiness.Li, Chen, Xu and Li (2015) proposed a new heuristic algorithm to assign jobs into batches for the scheduling problem under constraints of capacitated batch and non-identical jobs and assuming a common due date.They also hybridized the proposed algorithm with genetic algorithms to effectively solve the scheduling problem under study.Parsa, Karimi and Moattar-Husseini (2017) formulated the same research problem as a mixed integer linear programming model and developed a dynamic programming algorithm for a given set of batches.They developed several heuristics in which the dynamic programming algorithm is utilized.The authors also proposed a branch and bound algorithm which is able to solve instances with up to 20 jobs.Cheng, Leung and Li (2017) concluded that an algorithm exists to solve a minimum cost scheduling problem on a single batch processing machine with jobs having identical size in polynomial time.However, the typical problem with due date related objective same processing time is strongly NP-hard.

Problem Definition
BPM-On-time scheduling problem is mainly motivated by scheduling of a single cutting machine in furniture manufacturing.There exists a set of customer orders, {1, …, m}.Each order i consists of a set of products, {1, …, n}, and each product j is made of a set of components.The problem is bounded since number of batches, b, is less than the number of products in the system, n.It is given that the total number of components of product j for customer i is K ij including the order amounts.A batch may contain any product j of any customer i, however, number of components, K ij , must be cut in the same batch and cannot be partitioned into different batches because of technological requirements.Hence, K ij is considered as size of product j of customer i and this situation results in non-identical job sizes.Capacity of each batch is limited to B in terms of number of components included and process time of the cutting machine, P, is fixed for all batches.The machine can cut out a set of components (K ij ) from a board of raw material simultaneously.Therefore, all components included in the same batch are completed at the same time.Customer order i, only can be completed when all the products in this order are completed.This condition causes the completion time of an order i, C i , to be the latest completion time among the batches which contains at least one product of customer i.There is an agreed due date, D i , for each customer.If the completion time, C i , of customer order i excesses the due date, D i , then tardiness, T i , occurs for customer i.On the other hand, completion time C i , which is less than the due date, results in earliness, E i .Objective of the problem is to minimize the sum of the weighted early and tardy completion of customer orders to provide customer satisfaction by completing their orders just in time and to avoid both work-in-process inventory and product stocks.To achieve this objective, an optimal partitioning of products into batches and sequencing the resulting batches throughout the planning horizon is required.Assumptions for the problem are that all data is deterministic and known a priori and a batch cannot be interrupted once the machine starts the processing on it.As a summary, BPM-On-time scheduling problem can be represented as 1|p-batch, b < n, s i < B, D i , P|∑(α i E i + β i T i ) following the notation introduced by Graham, Lawler, Lenstra and Rinnooy- Kan (1979).Abbreviation p-batch introduced by Brucker (2007) defines a parallel batch which consists of a set of jobs that can be processed on the same machine simultaneously.Notation b < n means that the problem is bounded, s i < B corresponds to non-identical job sizes and limited batch capacity, D i stands for different due dates for each customer i, and P shows fixed process time.The parameters and variables which are related with time (e.i., P, D i , w b , T ijb , C i , l i , e i ) are assumed in the same time unit.
Indices:   1) minimizes the total of weighted tardiness and earliness of the customer orders.Equation (2) implies that product j of order i can be processed in only one batch.Total number of components included in a batch cannot exceed the batch capacity, B, as provided by Equation (3).Equations (4-5) stipulate sequencing of the batches considering the process time, P. Both Equations (6-7) are used to formulize completion time of j th product of i th order in b th batch.Equation ( 8) gives the completion time of order i which is the longest among the completion times of the batches in which at least one product of this order is included.Tardiness time and earliness time of an order i are calculated in Equations (9-10), respectively, in their relation with the due date, D i , and the completion time of order i, C i .Since both the tardiness, L i , and earliness, E i , are defined as positive variables (Equation 11), only one of them can take a positive value according to the Equations (9-10).

The Piecewise-Linear Integer Programming Model
To speed up Model-NL, it is linearized using the upper bound technique (Paschos & Quadri, 2010).For this purpose, the single nonlinear function of Model-NL which is given in Equation ( 8) is replaced with Equations (19-20).Equation ( 19) stipulates that completion time of order i, C i , can be at least equal to completion time of the latest batch (that is, the batch having the longest completion time, T ijb ) which involves a product or products of this order.On the other hand, Equation (20) guarantees that C i cannot exceed the maximum T ijb .By the way, optimization procedure sets C i to the maximum T ijb .The complete model of Model-PL, is given by Equations (12 to 23).] is considered to be included in b th batch.Therefore, this alternative formulation of BPM-On-time scheduling problem, called Model-A, involves the decisions of assigning products of customer orders to the batches (i.e., time intervals) while satisfying the batch capacity constraint and assuring that the total number of components of a product is included in the same batch (i.e., components of a product cannot be splitted).

Model-PL:
Model-A is given by Equations (24-33).While Equations (24, 25, 26, 31, and 32) are the common constraints with Model-NL, in addition to dropping of variables w b and z bs from Model-NL, another distinction in Model-A is related with the formulation of completion time, C i .Binary variable S ib is introduced to find which batch is completed latest including any product of order i.Equation ( 27) guarantees that C i corresponds to the completion time of exactly one batch.Equation ( 28) gives that the lower bound on C i is the maximum one among the completion times of batches in which any product of order i is processed.Equation ( 29) is introduced to stipulate C i equals its upper bound.Equation ( 30) means that S ib must be zero unless batch b contains any product of order i.

Experimental Study
In this section performances of the models developed in the study are tested on test instances with varying sizes.This test data is generated by scaling down real life cases.The aim is to find out capability of Model-A in solving larger instances compared to Model-NL and Model-PL.The next subsection explains generation of the test instances and then computational results are given in subsection 4.2.

Generation of Test Instances
A real life furniture manufacturing system was examined in order to generate test instances.In the system, there are approximately 250 working days a year.Each day, a batch of components of one or more products must be cut on a single cutting machine.Each batch has a fixed capacity of 3000 components of the product.The number of customer orders changes between 70 and 250 daily.To generate test instances, this manufacturing environment was scaled down by 1/50.The number of batches should be at least 5 according to the scaled data.The run times of Model-NL, Model-PL, and Model-A were limited to 120 minutes in order to sustain effective planning time.
The test instances are generated by changing some parameters systematically and selecting other parameters randomly as given in Table 1.The only fixed parameters are process time, P = 10-hour and batch capacity, B = 60 components.

Systematically changed parameters
Randomly selected parameters • The number of customer orders, m = (from 2 to 10) • Number of components, K ij , for product j of each order i = (the number of product component types from the bill of materials of product j) × (Uniform(0,5)) • The number of product types, n = (from 1 to 14) • Earliness and tardiness penalties of each order i: • Due dates are selected from the set {P, 2P, …, ɣP} where ɣ = 6 for small or moderate sized problems, ɣ = 10 for larger problems Table 1.Parameter generation for the test instances A total of 87 instances are generated.In Appendix A, the test instances are named using number of customers (m), number of products (n), number of batches (nb) and total number of parts (∑K ).For example, m2 n3 nb2 K49 stands for an instance with 2 customer orders, 3 products, 2 batches and 49 total parts.

Computational Results
In this section Model-NL, Model-PL, and Model-A are run to solve the 87 test instances.All the models are run using LINGO v15.0 and are terminated if the computer time exceeds 120 minutes.The optimum cost of earliness and tardiness and the computer time to solve the instances using three models are given in detail in Table A1 of Appendix.Table 2 is a summary of Table A1.As shown in Table 2, only 19 instances out of the 87 are solved optimally using Model-NL, the remaining 68 test instances could not be solved because of the run time limit of 120 min.As the problem size gets larger in terms of m, n, and K, Model-NL performs quite poorly.Model-PL starts to perform worse when m ≥ 9 and ∑K ≥ 200, however there are several smaller sized instances which Model-PL cannot solve within the allowed time limit.Total number of instances which are solved by Model-PL is 38.On the other hand, Model-A is able to find optimum solutions quite efficiently for all of the test instances.As seen from Table 2, the average run time of Model-A is quite shorter than the corresponding average run times over the same instances that are solved by Model-NL and Model-PL.Additionally, Table 3 gives the number instances which are solved by the models with respect to the total number of components.
According to the results in Table 3, Model-NL is able to solve the instances up to only 200-component whereas Model-PL can solve the instances with at most 350-components.On the other hand, Model-A is capable of optimizing all the instances regardless of the component size.Figures 1-a, 1-b and 1-c show the number of instances solved by each model with respect to the average numbers of products, costumer orders, and components, respectively to figure out the performance of Model-A further.It is clear that, Model-A strongly outperforms the other two models considering the three problem parameters.These results confirm that Model-A is the best performing model among the three models.Consequently, we decided to apply Model-A to solve real-world problems.

Case Study
The case study is from one of the biggest modular bathroom furniture production factories in Turkiye.The company produces for both local and export markets.Products are made up of thermofoil, melamine and lacquer coated medium density fiber board (MDF) and coloring is done according to customer choices.Because of high customized nature of the business, it is troublesome to keep products in the stock and therefore maketo-order production strategy is implemented.Production process starts with the arrival of customer orders to factory.On the other hand customers are very sensitive to service level of delivery and orders must be delivered just in time.Partial deliveries are not accepted by the customer since products are complementary to each other.The factory uses pull production system and production process is designed based on lean manufacturing philosophy.
Manufacturing process in the factory flows through in order of "panel cutting -edge bending -assembly line" and finally ends in warehouse.Raw material is a sheet of melamine coated MDF board.Cutting machine receives the raw material and cuts a batch of the components of one or more products.The number of components to be cut out depends on the assigned product types to the batch and order quantities of products.Capacity of a batch is constrained by the total capacity of one day process which is 3000 components.Once components are cut, in other words, a batch is processed, edge banding process is done via a roller conveyor.Through the edge banding process, parts take drilling operation and products are assembled in pre-determined times.After the assembly, products are stored in warehouse and are awaited until all products in the same order are produced.Under these circumstances, the management targets to minimize products awaited in stock and also to provide deliveries of the completed orders to customers on time.As a result, we focused on solving the scheduling of the panel cutting process since the main factors that affect the managerial targets arise from this process.
Customer orders arrive the manufacturing system continuously and BPM-On-time scheduling problem should be solved each day by taking into account all new orders received and the orders which have not been processed yet.
The objective is to reduce total penalty cost of early and late completion of customer orders.To achieve this, all the products must be scheduled such that they will be completed as much as close to the promised due dates to customers.
In this section, only Model-A is used to solve BPM-On-time scheduling problem of the panel cutting machine, since the other models have already failed to solve test instances in Section 4.2.We obtain a set of real-case instances of the problem by extracting data from different five successive days of the system since pre-experiments showed that Model-A is able to solve the real-world problem for five successive days.The cases includes varying number of customer orders consisting of different number of products in different quantities.Size of the customer-product-component triple data gets huge as the planning horizon increases.To show the performance of Model-A in terms of total number of components, ∑K, the number of orders, m, the number of products, n, and the number of batches, nb, a problem size coefficient is proposed as given in Equation ( 34).Results obtained by Model-A for the eleven case instances drawn from the system are given in Table 4. Figure 2 also shows how the performance of Model-A changes with respect to P S coefficient.Naturally, run time requirement of the model increases as the coefficient rises.However, the results in Table 4 implie that Model-A is able to solve the cases which involve up to 8342 total number of components within approximately 6 hours.It is clear that all the case instances but the three (cases 1, 3, and 4) have an optimum solution which makes the completion of orders just in due dates promised to customers.Although the problem under study is one of NP-hard problems, this study encourages the practitioners to solve this planning problem optimally up to 9000 components in total using Model-A. (34)

Conclusion
In this study, BPM-On-time scheduling problem has been considered.The problem aims to minimize the weighted sum of early and tardy completion times of customer orders in order to provide both customer satisfaction and cost-effective production schedules in terms of reduced work-in-process and final product inventories.To achieve this objective, products from different customer orders are required to be clustered in batches and these batches must be scheduled on a single batch processing machine optimally.BPM-On-time scheduling problem differs from the literature with the addition of new constraints: Different products which belong to different customer orders can be processed simultaneously in the same batch.However, completion of the customer order is the completion of the latest batch which includes at least one product of this customer.Also, all components of the same product must be contained in the same batch.We examined the ways of solving this variant of batch scheduling problem developing three mathematical models.The two of the models, namely, Model-NL and Model-PL failed to solve even small sized instances of the problem.The last model, Model-A, however, has been found capable of solving all the test instances.The case study carried out also showed that Model-A can be used to solve real-world problems up to 9000 components.
For further research, we are planning to develop heuristic approaches to BPM-On-time problem to deal with very large sized instances considering longer planning horizons.

Appendix
w b start time of batch b T ijb completion time of j th product of i th customer order in batch b C i completion time of i th customer order y ijb = 1 if j th product of i th customer order in batch b 0 otherwise z bs = 1 if batch b precedes batch s 0 otherwise L i = Duration tardiness of customer order i E i = Duration earliness of customer order i 3.1.The Nonlinear Integer Programming Model BPM-On-time scheduling problem addressed in this study is, firstly, formulated as a nonlinear integer model, Model-NL, which is given by Equations (1-10).Objective function in Equation ( Alternative Integer Linear Model Our pre-experiments showed that Model-PL fails to find optimum solutions within reasonable amount of time as the problem size gets larger.To be able to solve larger sized instances, BPM-On-time scheduling problem was re-formulated by fixing the sequence of batches in advance.Fixing of the batch sequence allows us to drop w b (variable of start time for batch b), z bs (binary variable of successive batches b and s) and T ijb (completion time of batch b which includes product j of customer i) from the original nonlinear model.In the alternative formulation, the start time is taken as a parameter and computed by w b+1 = w b + P for b = 1, ..., nb -1 by setting w 1 = 0 a priori and thereby, a new batch is taken into process after each P hours.By the way, any customer order i processed between time duration [w b-1 , w b Figure 1.Comparison of Model-NL, Model-PL, and Model-A according to the varying ranges of number of products (1-a), number of orders (1-b) and number of components (1-c)

Table 4 .
Perfomance of Model-A on the real-world cases Figure 2. Run time performance of Model-A respect to P S coefficient