Multi-items Batch Scheduling Model for a Batch Processor to Minimize Total Actual Flowtime of Parts through the Shop

This study is inspired by a batch scheduling problem in metal working industry which guarantees to satisfy a due date. The actual flowtime adopts the backward scheduling approach and considers the due date. Using the actual flowtime as the objective, means that the solution is oriented to satisfy the due date, and simultaneosly to minimize the length of time of the parts spending in the shop. This research is to address a problem of scheduling batches consisting of multiple items of parts processed on a batch processor where the completed parts must be delivered several time at different due dates. We propose an algorithm maximize the utilization of the batch processor and to schedule the resulting batches in backwardly non increasing batch size.


Introduction
A number of parts processed simultaneously with sharing a setup time could be defined as a batch, and a batch processor is a machine that processes one batch at a time.Today the batch processor is encountered in many different environments, such as burnin operations in semiconductor industry (Cheng, et al. [1]), heating and pressure operations in aeronautical industry (Malapert, et al. [2]), hardening and soaking operations in automobile gear manufacturing (Gokhalea and Mathirajan [3]), and drying operations in lumber industry (Gaudreault,et al. [4]).The batch processor is also used in iron and steel industry for heating ingots up to a proper processing temperature (Gong, et al. [5]), microbiological laboratory for producing agar that is used in food testing (Chakhlevit, et al. [6]), and bicycle rim manufacturing (Damodaran,et al. [7]).Those pieces of research work have addressed problems of batch scheduling on the batch processor.
The solution for batch scheduling problems on a batch processor is determined through two phases, that are batching and scheduling.Decisions on the batch size are madein the batching phase i.e., grouping the parts into some batches, while arranging the resulting batches into a specific sequence is performed in the scheduling phase.The size of a batch represents a number of parts in the batch, and it is limited by capacity of the batch processor.
Grouping parts in the batching phase should be based on a certain rule.Guo, Chengtao [8] has grouped parts based on the order of processing machines which is required by the parts.While Dauzère-Peres and Monch [9] and Chakhlevitch et al. [6] have grouped parts based on the type of family of the parts, all parts in the same batch must come from the same type of family.
The entire parts in the same batch are processed simultaneously during a certain period of time called batch processing time, although each part requires a certain processing time which may differ from others.In Cheng et al. [1] and Condotta et al [10] the entire parts in the batch have the same processing time, and the processing time of batch equals the processing time of parts.While in Noroozi, et al. [11], Behnamian et al. [12], Khasan, et al. [13] and Parsa, et al. [14] the processing time for each part is different.They set the processing time of batch equals the longest processing time of parts in the batch because they assume that an excessive duration of processing the parts could not lead to any defect.On the contrary, in Bellanger, et al. [15] each part has the processing time and a certain limit of processing time.They allow the real processing time of parts exceed its processing time as long as it does not exceed its certain limit of processing time because the excessive processing time from its limit may cause any defects.Therefore, only parts whose processing time intervals intersect can be formed into a batch.
Those studies adopt the forward scheduling approach, i.e., sequencing jobs starts from the time zero, then moving forward to the due date until all jobs have been scheduled.The schedule is feasible, but there is no guarantee it could meet the due date.On the other hand, Halim et al. [16] defined the actual flowtime of parts as the time that the parts spend in the shop from the starting time of processing until their due date as the delivery time of the processed parts, and the actual flowtime adopts a backward scheduling approach i.e., sequencing jobs starts from the due date then moving backward to the time zero until all jobs have been scheduled.The backward scheduling approach can satisfy the due date, but it may lead to an infeasible schedule.This research is inspired by a batch scheduling problem in metal working industry which guarantees to satisfy the due date as a commitment to its customer, thus adopting backward scheduling approach is a must.It is assumed that the resulted schedule is always feasible, and the infeasible schedule case will be discussed in future research.
The actual flowtime has been applied to problems of batch scheduling by Halim et al. [17,18,19], Sukoyo et al. [20] and Zahedi et al. [21] but they conduct batch scheduling research for job processors i.e., the machine that processes one job at a time.Hidayat et al. [22,23] develop the actual flowtime of parts for batch scheduling problems on batch processors, and adopt it as an objective where parts to be processed are a single item with a common due date.Those model is further developed by Hidayat et al. [24] into a condition where the parts should be delivered at different due dates.Halim et al. [25] also develop the actual flowtime of parts for batch scheduling problems on batch processors into a condition where a batch could have different set up time from those of the other batches.This research is concerned on batch scheduling problems at the coating stage performed on a batch processor in metal working industry.The length of time for the coating process is determined by coating thickness of part.When the parts are processed less or more than the time required for coating, then the part will not in accordance with the product specifications.Therefore, only parts which have the same processing time can be grouped into the same batch.We define that the parts which have the same requirement of coating thickness are compatible and have the same type of item.Therefore, grouping parts into batches should be based on the same type of item.The metal working industry produces some different products and demanded at different due dates.Each part requires a certain coating thickness depending on the product that will be formed by the parts, so that at the coating stage, there are some parts require different thickness and demanded at different due dates.Accordingly, we need to develop the model in Hidayat, et al. [24] into a condition of multiple items of parts with multiple due dates (abbreviated as MIMD).The model is developed in two steps; the first step is that the single item is developed into multiple items of parts with a common due date, and at the second step the developed model is further developed into multiple items of parts with multiple due dates.

Methods
The MIMD problem can be explained as follows.Let there be numbers, of multiple items parts demanded at due dates, respectively.The parts must be processed on a batch processor, and is the part processing time of item g.The batch processor needs to be set up before processing a batch, the set up times depends on the item type of parts in the batch, and is the set up time for item g.The set up time is independent to the sizes of batches and the position of batches in the shop.The problems are both to determine batch size of the multiple items parts and to sequence the formed batches so as to minimize the total actual flowtime of parts through the shop ( ).
The following the symbols and notations are used in this paper.: starting time of processing batch sequenced at position i : starting time of processing batch sequenced at position within interval : number of parts processed within interval : total actual flowtime of parts through the shop : type of item part in the batch sequenced at position i : number of shortage parts within interval : number of batches which consisting of part item : number of batches in the whole scheduling period : number of batches which consisting of part item within interval : number of batches within interval , ∑ : number of parts in batch sequenced at position i : number of parts in batch sequenced at position within interval : number of parts item requested to be processed within interval : binary variable equals 1 if parts in the batch sequenced at position i are members of item , otherwise 0 : binary variable equals 1 if parts in the batch sequenced at position within interval are members of item , otherwise 0

Actual Flowtime as a Performance Measurement
The actual flowtime of parts is defined as the time required by parts to be on a shop.It is measured from the processing starting times to their due date or to their delivery time (Halim,et al. [16]).In an ideal condition, the part spends in the shop when it is processed.So that the part's actual flowtime equals to the part procesing time.It can be happened if the part arrives exactly at its processing starting time and delivers right after completing the process.It is assumed that the arrival of parts as a batch can be setup exactly at its processing starting time.The actual flowtime of parts will be higher than its processsing time if those parts are completed before their due date.In this case, the parts require longer time on the shop, since they have to wait until they deliver to the customer at the due date.Therefore, minimizing the actual flowtime of parts is essentially minimizing the waiting time before the delivery time (due date).Hence, the time duration spends by those parts in the shop is minimized.
Using the definition in Halim, et al. [16], denotes the actual flowtime of part in batch , and is part in batch , then the actual flowtime of part is as follows. (1) The actual flowtime of batch (denoted by ) states the length of time the batch spends on the shop from its arrival time until its due date (see.equation ( 2)) (2) A concept of the actual flowtime for parts of single item demanded on a common due date have been developed in Hidayat, et al. [22].Figure 1 shows the sequence of the N batches processed on a single batch processor.
is determined in equation ( 3), and the total actual flowtime of batches through the shop (expressed by ) is determined in equation (4).

{∑ ( ) }
(3) The actual flowtime of each part in the same batch equals the actual flowtime of batch, and total actual flowtime of parts in a batch is a multiplication of the actual flowtime of the batch by the number of parts in the batch.The total actual flowtime of parts through the shop for a single item with a common due date on a batch processor is determined in equation (5).

Model Development
The first model was developed for multiple items of parts with a common due date problem (MICD).The MICD is a development of a single item with common due date problem (abbreviated as SICD) in Hidayat, et al. [22].The difference between those two lies in the number of item type of parts, while simultaneously on a common due date.Under the condition of multiple items, the processed part consist of several different items and each item has different processing time and set up time.
It is not allowed to place any parts in any batch if the parts from other item are already in the batch.The processing time and setup time of each batch depend on the item type of parts in the batch.Therefore, we need a binary variable to indicate the item type of parts in a batch i.e.
. Where if batch consist of part item g then , otherwise .It establishes several conditions that must be met, as follows.
(1) The processing time of batch is ∑ (2) The setup time of batch is ∑ (3) The number of batches which consist of part item g is ∑ (4) The number of demanded parts which come from item g is ∑ The entire batch on the shop must be processed within [0,d], which is the available time for processing the parts.It can be seen from Figure 1 that the required time for the processing of batches equals to ∑ ( ) .Definitely we need ∑ ( ) as a constraint.Processing of the last batch should be completed exactly at the common due date.The last processed batch is the first batch on the schedule, so that we need as a constraint.In equation ( 6), it can be seen that depends on variable decision parameters and , the item type of part does not determine .Therefore for MICD problem is the same as for SICD problem although the characteristic of the parts is developed from a single item into multiple items.
Problem MICD is formulated as model M1.
Subject to: { Constraint (7) shows that the processing time of batch depends on the item type of parts in batch .It is the consequence of only parts which have the same item type is grouped into the same batch.It also applies to the setup time of batch in constraint (8).Constraint (9) ensures that the number of batches which consist of item equals to the sum of the binary variable for each type of item.Constraint (10) ensures a balance of materials on the shop.It is necessary to ensure that the number of demanded parts of item equals the total of the size of batches which consist of item .Constraint (11) shows that the entire batches must be processed within an interval [0,d].Constraint (12) states that the completion time of the first batch must be equal to the common due date.Constraint (13) is the upper limit and lower limit for the size of each batch.Constraint (14) states that the number of the batch on the shop is higher than the number of the item, this indicates that each item can form more than one batch.Constraint (14) is the value of the binary variable.It is apparent that if index is eliminated, model M1 becomes SICD model in Hidayat, et al. [22] The second model is developed for MIMD problem, which is the development of a single item with multi due dates problem (abbreviated as SIMD) in Hidayat, et al. [24]., where if batch consists of item g then , otherwise . It establishes several conditions that must be met, as follow.
(1) The processing time of batch is ∑ (2) The set up time of batch is ∑ (3) The number of batches which consist of part item g is ∑ The number of demanded parts item is

∑ and ∑
The ideal condition is when the entire parts can be processed within intervals , but if it can not be met then the part can be processed in other intervals before .From Figure 2 it can be seen that if could not entirely be satisfied in then the shortage of will be fulfilled in other intervals .Each interval can process its demanded parts and the shortage of other interval's demanded parts.unless interval , therefore, the condition of can happen in interval .
Definitely, we need constraints which are formulated as ∑ ( ) ( ) and ∑ ( ) . Figure 3 shows that the required time for processing of batches within interval equals to (∑ ∑ ) ( ) . This means we need ∑ ∑ as a constraint.
Hidayat, et al. [19] have developed model for SIMD problem, as follows.
It can be seen that the item type of part does not determine .Therefore for MIMD problem is the same as for SIMD problem although characteristic of the parts is developed from single item into multiple items.
Problem MIMD is formulated as model M2.

Model M2:
Constraint (18) shows that in each interval, the entire of formed batches must be processed within interval .Constraint (19) shows that the setup time of batch depends on the item type of parts in batch .It also applies to the processing time of batch in constraint (20).Constraint (21) to ensure that the sum of the binary variable for each type of item in each interval equals to the number of batches which consist of item in each interval .Constraint ( 22) is necessary to ensure a balance of material in each interval.It shows that in each interval, the number of parts in all of formed batches which consists of item , must be equal to the number of processed parts of item .Constraint (23) is necessary due to conditions of multi due date.It shows that the number of processed parts within a time interval of up to must be greater or equals to the number of demanded parts within the time interval.Constraint ( 24) is necessary to ensure a balance of materials on the shop.It shows that in the scheduling period, the processed parts must be equal to the demanded parts.Constraint ( 25) is necessary to ensure a balance of material in each interval.It shows that in each interval the number of processed parts must be equal to the number of parts in all of the formed batches.Constraint (26) states that the completion time of the first batch in each interval must be equals the due date of that interval ( ).Constraint (27) states the upper and lower bounds for the size of each batch.Constraint (28) is the value of the binary variable.Constraint (29) states the number of processed parts of item g in each interval must be positive.
It is apparent that if the index g is eliminated, model M2 becomes SIMD model in Hidayat, et al. [24].If the index is eliminated model M2 becomes model M1.Subsequently, if the index and are eliminated, model M2 becomes SICD model in Hidayat, et al. [22].

Solution Procedure
will be minimum if the batching and the scheduling phase provide a minimum solution.The size of each batch could not exceed the capacity of the batch processor so that the highest of batch size equals to the batch processor capacity, and the lowest is one.At the maximum batch size, the number of formed batches will be minimum, which around up the result of the total demand divided by the capacity, ( ⁄ ).Rounding up is needed because the number of the batch must be an integer while the results of ( ⁄ ) is not always an integer.The decimal point indicates the unaccommodated parts in a batch.Rounding up also indicates an idle batch, in which the size of that batch is lower than the processor capacity.
Theorem 1.For a shop with N batches and each of which consists of the same single item.Each batch has processing time , setup time and size of the batch ( ).Using backward scheduling, the total actual flowtime of parts through the shop will be minimum if the batches are arranged so that It is obtained that ) ) The first sequence will be less than or equal to the second sequence if and only if: ) ) or ) ) ( ) The best sequence will be obtained if this procedure is continued until all the batches are in an increasing order of ( ) ⁄ , for There are N generated batches, that will be scheduled on a batch processor.First, arrange the N batches in any order, so that a sequence of batch for i = 1, 2, ..., N is obtained.Next, sort the sequence of batches increasingly in ( ) , for i = 1, 2, ..., N (see Theorem 1).Algorithm A1 to solve problem MICD is developed, and it is presented as a flowchart in Figure 4.
Set Improve the sequence of N batches with folowing the Theorem and proceed to Step 8. Step 8.
Calculate using equation ( 6) and then stop.
From Figure 2, it can be seen that under the condition of multi due dates, the demanded parts ( ) can be fulfilled in some intervals before its due date ( ) unless .Definitely in each interval we need to distinguish between the demanded part ( ), the processed parts ( ), and the required part to process ( ) for .The difference between the required parts to process and the processed parts is the shortage of parts in interval , i.e, .Then for the next interval ( ) the required parts to process is equal to the sum of demanded parts and the shortage of parts in the previous interval, i.e., ( ) ( ) , and the resulting batches ( ( ) ) is equal to the round up of ( ) ⁄ .
Theorem 2. For a shop with r intervals (h=1,2,...,r) and each interval has batches, each bathces consists of the same single item.Each batch has processing time , set up time and size of batch (i=1,2,..., ).Using backward scheduling, the total actual flowtime of parts through the shop will be minimum if the batches in each interval are arranged so that Proof.Suppose in the interval there are two sequences of batches.The difference between the two lies only in that the first sequence shows that batch is in the position and batch ( ) is in the ( ) position, while the second sequence shows that the batch in the ( ) position and the batch ( ) is in the position.The total actual flowtime of parts through the interval under the first and the second sequences respectively are and .It is obtained that ) ) The first sequence will be better than or equivalent to the second sequence ( ) if and only if: ( ) The best sequence will be obtained if this procedure is continued until all the batches are in increasing order of ( ) ⁄ , for .
Algorithm A2 to solve problem MIMD is developed, and it is presented as a flowchart in Figure 5.

Algorithm A2
Step

Results and Discussions
In this section we give examples for MICD and MIMD consecutively.
For the MICD case, we have the numbers of multiple items parts demanded as many as 30, 20 and 25; and the due date is 1.000 unit time.Additionally, the capacity of batch processor is 20 parts, while the processing time and the setup time of each item are presented in Table 1.
The calculation is done using Algorithm A1.Table 2 shows the result of MICD numerical example and the Gantt chart is presented in Figure 6.
For the MIMD case; we have the numbers of multiple items parts demanded are 270, 260, 275, 310, 290 and 260; and the due dates are 10.000, 9.750, 9500, 9.250, 8.950 and 8.700 unit time respectively.The part processing time and the setup time of each item can be seen in Table 3.The calculation is done using Algorithm A2.The results are presented as gantt chart (see Figure 7) and tables (see Table 4 and Table 5).

Analysis
The proposed algorithm shows that we should maximize the utilization of the batch processor.We should also schedule backwardly the resulting batches in a non-increasing batch size.The batch size is always equal to the batch processor capacity unless the value of ( ⁄ ) and ( ⁄ ) is rounded up.This step is required in order to get the minimal number of generated bathces.Moreover, that value shows the presence of an idle capacity batch.The maximum number of the idle batch for each item type is 1, and the maximum number of the idle batch on the shop equals to the number of item type.
The batch on the first position is always a full capacity one which has the lowest ( ).Under the common due date condition, the first position on the shop is the ideal position, in which the batch completion time exactly coincide with the due date.In this condition, that batch will be delivered directly after the process is completed, so that the waiting time of all parts equals to zero.Then, for the batch on the second until the last position will have waiting time before they are delivered.As the result of the placement of a full capacity batch of item which has the lowest of ( ), the total waiting time as well as is reduced.

Conclusions
There are three steps that should be done to minimize the total actual flowtime.First, rounding up the total demand divided by the capacity of batch processor to find a minimum number of the batch.Second, the size of each batch equals to the batch processor capacity, unless there is an idle batch.Third, the batch on the first position (i.e closest to the due date) is a full capacity batch of item which has the lowest of the sum of processing and set up time.
The multi-stage scheduling problem is a complex problem.In the early stage, we have to understand the scheduling as a single stage.Therefore, discussion on the batch processor scheduling as a single stage is a must.
In this paper, we presented a simple system, i.e., a single stage with multi-item parts and multi due date.This study, is a step in a series of bigger research for solving the multi-stage scheduling which consist of job processor-batch processor -job processor.We also presented the scheduling for job processor using backward scheduling approach with flowtime as the performance criteria.

Figure 1 .
Figure 1.Illustration of the actual flowtime

Figure 2 .Figure 3 .
Figure 2. Available time of production Suppose there are two sequences of N batches.The difference between the two lies only in that the first sequence.It shows that batch is in the position and batch ( ) is in the ( ) position.For the second sequence shows that the batch in the ( ) position and the batch ( ) is in the position.The total actual flowtime of parts through the shop under the first and the second sequences respectively are and .

Figure 7 .
Figure 7. Gant chart for MIMD numerical example

Table 1 .
Data for MICD numerical example

Table 2 .
The result of MICD numerical example.

Table 3 .
Data for MIMD numerical example

Table 4 .
The result of MIMD numerical example

Table 5 .
The result of calculation for each interval