International Journal of Industrial Engineering Computations 1 (2010) 1–10

Article history: Received October 14 2014 Received in Revised Format February 1


Introduction
The classical theory of scheduling assumes that the processing time of a job is not affected by its position on a schedule (e.g. Morton & Pentico, 1993;Pinedo, 2002;Baker & Trietsch, 2009). However, there are situations where the processing time of a job scheduled at a position can be faster or slower than that at the previous position due to learning and forgetting effects (Wang & Cheng, 2007;Cheng, et al., 2010;Lai & Lee, 2013). Some researchers, i.e. Yang and Chand (2008), and Ji and  show that one of the crucial factors leading to the learning and forgetting effects is when operators or machines process jobs in batches. The learning effect is caused by the increase of the operator's competence after producing the same parts in a batch repeatedly. Meanwhile, the forgetting effect occurs during a break time between two consecutive batches so that the operator has to learn the operation again when beginning to process the parts in the next batch. Keachie and Fontana (1966) discuss both the effects of learning and forgetting on Economic Order Quantity (EOQ) model. Steedman (1970) proves that the optimal batch sizes in traditional EOQ model have smaller value than that on Keachie and Fontana. Meanwhile, Jaber and Salameh (1995) propose optimal batch sizes based on Economic Production Quantity (EPQ) model by considering learning situation. Other researchers in the same field are Cheng (1991), Cheng (1994), Li and Cheng (1994), Chiu (1997), Chiu et al. (2003), Chiu and Chen (2005), Chen et al. (2008), Teyarachakul et al. (2008), and Teyarachakul et al. (2011). Although the researchers have found a method to determine the batch sizes, they have not considered on how to schedule the resulting batches on a machine. Gaweijnowics (1996) and Biskup (1999) are pioneers who discuss job scheduling problems on a machine by considering the learning effect. They assume that job processing time is not a constant value. It may change due to learning and/or deterioration effects. Gaweijnowics (1996) discusses a single-machine scheduling problem to minimize makespan and shows that the optimal schedule should be obtained by scheduling jobs in accordance with the Shortest Processing Time (SPT) rule. In the meantime, Biskup (1999) proves the polynomial solutions for similar problems to that of Gaweijnowics (1996) for two objectives, i.e. minimizing the interval time between completion times of jobs and their common due date, and minimizing the sum of flow times. Biskup (1999) classifies the learning function into two models, i.e. the position-based learning and the sum-of-processing-times-based learning. The position-based learning assumes that the learning effect increases due to machine-driven and has no or near to zero human interference. The increase of learning effect depends on the position of jobs in a schedule (Cheng et al., 2011). However, the sum-ofprocessing-times-based learning model assumes that the learning effect increases in line with the number of jobs that the operator has previously completed (Cheng et al., 2009). Kuo and Yang (2006), Anzanello and Foglianto (2010), and Cheng et al. (2013) propose a learning model that combines the sum-ofprocessing-times-based model and the position-based learning model. Meanwhile, Janiak et al. (2011) propose an operator experience-based learning model and conclude that the learning effect should be restricted by a minimum job processing time called as learning threshold. The readers may get better understanding of learning function models in Janiak et al. (2011), Teyarachakul et al. (2011), and Lai and Lee (2013. The learning effect is always followed by forgetting effect (Jaber & Bonney, 1996;Jaber, 2011;Nembhard & Uzumeri, 2000). Arzi and Shtub (1997) discuss that any interruption in the course of the learning process generates a forgetting effect. There are various forgetting function models, some of them can be found in Jaber and Boney (1996) and Teyarachakul et al. (2011). Currently, the research on the simultaneous effects of learning and forgetting in the area of scheduling has become an interesting topic for researchers, such as Lai and Lee (2013) and Wu et al. (2014). The researchers deal with singlemachine scheduling problems with different objectives. Their research results reveal that in order to minimize both makespan and total completion time, an optimal schedule should be obtained by scheduling jobs in accordance with the SPT rule. Meanwhile, minimizing total weighted completion time can be obtained by arranging jobs in accordance with the Weighted Shortest Processing Time (WSPT) rule. In other case, i.e. to minimize the minimum lateness, maximum tardiness, and total tardiness, the jobs must be sequenced by adopting the Early Due Date (EDD) rule.
This research deals with batch scheduling problems for a single-machine that produces discrete parts where the processing time is affected by learning and forgetting effects simultaneously under a Just-In-Time (JIT) production system. The motivation of research is from a real-life situation, i.e. in the step of inserting components to Printed Circuit Board (PCB). There are several components inserted into PCB by an operator, and then the completed product is placed in a rack. The operator will stop processing and transfer the rack to a temporary warehouse when the number of parts in the rack reaches a certain quantity. After the operator delivers the parts, the operator prepares the process again such as to take the number of new materials from the previous step. The number of parts in one rack can be considered as a batch size. It can also be considered that the interval time when the operator prepares the process as a setup batch. The learning effect occurs because the operator processes the parts repeatedly. Meanwhile, a setup time leads to the forgetting effect. This research assumes that the arrival time of parts in all batches can be arranged at the time when the machine starts to process, and all finished parts must be delivered exactly at the time coinciding with their common due date. It also assumes that there is a setup time between two consecutive batches. The objective is to minimize the total actual flow time of parts in all batches, as defined by  as the total interval times between the arrival times of parts in all respective batches and their common due date.  prove that total actual flow time is effective to minimize total inventory cost and satisfy the due date simultaneously in a Just-In-Time production system. Due to the actual flow time adopt a backward scheduling approach, then the learning effect in this research is shown by the shorter processing time of parts in a batch scheduled at a position than that in another batch scheduled at the next position. On the contrary, the forgetting is shown by longer processing time. The decision variables are the number of batches, batch sizes and the sequence of the resulting batches.
The structure of this paper is as follows. The next section presents a single-machine batch scheduling problems with learning and forgetting effects. The third section shows the problem formulation. The fourth section discusses the solution method and several numerical experiments. Finally, the last is the concluding remarks. Dobson et al. (1987) describe that flow time criteria can be used in batch scheduling problems to minimize setup cost and inventory cost, simultaneously. Flow time in Dobson et al. (1987) is based on the so-called a forward scheduling approach. The researchers assume that all parts have been available since the beginning of the scheduling period (time zero), and all parts in respective batches should be delivered at the completion time of the batches. These assumptions are not always true in many real situations such as in a JIT production system. There are conditions where the completed parts must be delivered exactly at the time coinciding with a due date, and the company is capable of arranging the arrival of parts at the time which the machine starts to process.  propose an objective of actual flow time. The total actual flow time of all parts in a batch is calculated by multiplying the number of parts in a batch with the time interval between the common due date and the arrival time of parts in the batch. For single-machine batch scheduling problems, the constraints that should be considered are as follows: the number of all parts produced equals the demands; the completion time of all batches should not exceed the available time (the interval time from time zero to the due date); the completion of the batch scheduled in the first order (backwardly) must be delivered exactly at the time coinciding with the due date; the batch sizes should be positive value and the number of batches is a positive integer. The decision variables of the research are the number of batches, the number of parts in batches and the sequence of the resulting batches.  solve the problems using the Lagrange Relaxation method. The result shows that the minimum actual flow time is obtained by sequencing the resulting batches in the LPT rule in a backward scheduling approach.

Processing Time with Learning Effect
A learning effect can be explained as a phenomenon where the processing time of a job at a certain position is shorter than that at the earlier position. It is because the operator's experience increases in line with the number of jobs that the operator has previously completed. Wright (1936) is the pioneer who discusses a learning model the so-called Cumulative Average Power (CAP). The equation of CAP model is as follows.
It is notated that T[x] is the processing time when producing x-units, T[i] is the initial processing time or the processing time for the unit firstly processed, δ is learning rate and m is learning slope. The δ values are between 0<δ<1. However, in manufacturing system, it is between 0.7 and 0.9 (see Jaber & Bonney, 1996).The lower of δ, the greater of the learning effect.
This paper adopts the backward scheduling approach so that the learning effect is shown by a shorter or equal processing time of parts in a batch scheduled at a position than that in another batch scheduled at the next position. The learning function is developed from learning function by Janiak et al. (2011) and CAP model. The batch processing time is calculated on the basis of the maximum values of the learning function and learning threshold as shown in Eq. (2).
It is assumed that there are N batches, all of which are scheduled on a machine by using the backward scheduling approach. The number of parts in a batch (the batch size) is Q[i] and p stands for the initial processing time, i.e. the processing time of those parts scheduled at the last batch (Q[N]). The value of learning rate (δ) determines learning slope (m) according to the formula of Cumulative Average Power (CAP) model. It is also considered that there is a minimum processing time or learning threshold (v) so that the processing time will be constant after having reached a minimum processing time value.

Processing Time with a Forgetting Effect
A forgetting effect is defined as an increase of job processing time after an interruption during the specific time. It is because an operator must re-learn a process again when he starts to process job after the interruption. Carlson and Rowe (1976) carry out the calculation of processing times with some forgetting effect, well known as a power model as shown in the following equation.
T is a processing time for the x-th unit affected by some forgetting effect, T[i] is the initial processing time or the processing time for the first processed unit, x is the total accumulation of unit that can be produced during interruption time if there is no forgetting effect, and f is a forgetting slope. Jaber and Bonney (1996) assume that an operation process will be interrupted after the operator has produced q number of parts. It is assumed that forgetting parameter is affected by learning slope (m) so that since the operator experience increase in each batch, the forgetting parameter will continuously change too. Jaber and Bonney (1996) put forwards a formula for computing f values as shown in the following equation.
The forgetting effect in this research is shown by a longer or equal processing time of parts in a batch scheduled at a position than that in another batch scheduled at the next position in the backward scheduling approach. This paper develops forgetting function for batch processing time based on the Power model in Carlson and Rowe (1976), and assumes that there is a forgetting threshold that restricts the forgetting effect. The formula for calculating batch processing times considers forgetting effect as follows. [ Suppose, n units of demand are divided into N batches (i = 1, .., N). T[1] is the processing time of the i-th batch. The initial processing time is p, i.e. the processing time of those parts in the batch scheduled in the N-th position using backward scheduling approach, w is the maximum batch processing time or forgetting threshold, f is the forgetting parameter. The forgetting effect occurs due to time break in the form of setup between two consecutive batches. It causes the operator could potentially lose a chance of producing X number of parts. If it is assumed that such interruption takes place during tB units of time, the operator will undergo a maximum forgetting effect and potentially lose his chance of producing Y number of parts. Thus, the forgetting effect in the time of X should be divided by Y. This paper assumes that an interruption takes place during setup time, so the value of C is equal to X number of parts. It can be formulated as follows.
Applying Eq. (4) and Eq. (6) Jaber and Bonney (1996), and Arzi and Shtub (1997) show that an interruption of learning process results forgetting effect. It indicates that both learning and forgetting phenomena may happen simultaneously. Based on Eq. (2) and Eq. (5), the model of learning-forgetting functions is shown as follows.

Processing Time with Simultaneous Effect of Learning and Forgetting
The trend of batch processing time depends on the height of effect of learning or forgetting. If the learning effect is higher than the forgetting effect, the trend increases. On the contrary, if the forgetting effect is higher than learning effect, the trend decreases.

Problem Formulation
There is a single machine that processes n number of parts in N batches, and that needs a setup time between two consecutive batches. It is assumed that a company can arrange the arrivals of the parts as required and deliver the completed parts at the time that is exactly with the common due date. The processing time of parts in a batch depends on its position in the schedule due to the simultaneous effect of learning and forgetting. The objective is to minimize actual flow time. It is then modeled by using the following notations: It is stated in Eq. (9) the objective is to minimize total actual flow time where batch processing time affected by learning and forgetting effects simultaneously. It is explained in Constraint (10) that the produced number of all parts must be equal to demands. It is shown in Constraint (11) that all parts in the batches should be proceeded within the interval time from time zero to the due date. It is stated in Constraint (12) that the completion batch scheduled in the first order must be delivered exactly at the time coinciding the common due date. It is shown in Constraint (13) that batch sizes should be larger than or equal to one and integer. It is explained in Constraint (14) that the number of batches is a positive integer between 1 and the number of demands.

The Optimal Solution
This research proposes the optimal algorithm based on the Integer Composition method. The solution of the algorithm is searching the optimal solution of total actual flow time for all possible integer batch-size combinations. There are two steps to generate the combinations. The first step is to generate the basic combinations by using the Integer Partition method and then to re-arrange them into a one-to-one correspondence with itself by the Permutation method in the last step. For example, if there is a demand equal to five units, the combinations of batch sizes are showed in Table 1 as follows.  Table 1 shows for 5 unit demands, there are 16 integer batch-size combinations and 48 elements. Shen and Evan (1996) have proved that n units demand will produce 2 n-1 number of combinations and (n+1)2 n-2 number of elements. Table 2 shows the examples of the total quantity of batch sizes combinations and total quantity of elements for some number variety of demands.  Table 2 shows that both of the number of combinations and the number of elements increase in line with the increase of the number of demands. Based on Integer Composition method, It is proposed optimal algorithm (P-Algorithm) to solve the problems as follows.
Step 2: Generate sets of all integer batch-size combinations by using the Integer Composition Algorithm. Continue to Step 3.
Step 3: For each of the alternative solution batch sizes: Step 3.1: Calculate the processing time of batch (T[i]) using Eq. (8). Continue to Step 3.2 Step 3.2: Compute total actual flow time by using Eq. (9) with the constraints which are Eq. (10)-(14). Continue to Step 4.
Step 4: Find the solution that given minimum total actual flow time. STOP.
Numerical experiment for a model was conducted by giving the following input data parameters: n = 5, d = 12, p = 0.5, s = 1, δ = 0.9, v = 0.1, w = 1.1, tB = 100. Table 3 presents the solution of the algorithm. Table 3 shows there are 16 number of integer batch-size combinations. The minimum of total actual flow time is 10.35. The optimal number of batches (N) is 2, and batch sizes (Q[i]) are 3 and 2. Although the algorithm can generate an optimal solution, it will take a long time to compute and also needs higher physical memory when the results are reported by computer. It is because the problems are solved in polynomial time complexity. The proof which is shown by Lemma and Proposition as follows.

Lemma 1. All feasible integer batch-size combinations in
Step 2 can be solved in running time n2 n-1 .
Proof. Suppose there are n unit demands has 2 n-1 integer batch-size combinations. It is proved by Shen and Evan (1996) that the total number of combinations can be solved in running time T(n)=n2 n-1 . □ Lemma 2. Batch processing time with simultaneous effect of learning and forgetting in Step 3.1 can be solved in running time T(n)= (n+1)2 n-2 .

The Heuristic Solution
Since the problems proved by using Preposition 1, then it can be solved in a worst-case polynomial time complexity O(n2 n-1 ), this research develops the heuristic solution based on the Lagrange Relaxation method. The decision variables are the number of batches, batch sizes and the sequence of the resulting batches.

Determining Batch Sizes
The current research assumes that the batch sizes are integer. It is also considered that the processing time of parts in a batch scheduled at a position is different from that at the next position in backward scheduling approach. The learning and forgetting effect are started from the last position of batches to the first. It is proposed a backward computation for determining the batch sizes, that is, the calculation of the batch sizes are started from the last number of index to the first (i=N,..,1).  propose the formula for calculating the optimal batch sizes for single machine problems by using the Lagrange Relaxation as follows.

Determining the Maximum Number of Batches
The optimal number of batches cannot be determined precisely because batch processing time depend on its position on a schedule. The maximum number of batches can be calculated by assuming that all parts in all batches are processed on a machine by the minimum value of batch processing time. According to Constraints (11) and (14), the maximum number of batches (Nmax) can be calculated as follows.
( ) T minimum can be relaxed using the formula: Eq. (20) shows that minimum batch processing time is found when all parts are proceeded together and no forgetting effect. Substitute Tmin in Eq. (19) by Eq. (20) yields: Based on Eq. (14) and Eq. (21), it also can be observed that the optimal value of total actual flow time is within the closed interval [1,Nmax]. Lemma says as follows.
Lemma 5. If the objective function of total actual flow time is convex in a closed interval [1,Nmax], then the optimal value of total actual flow time is within the interval.
Proof. The optimal number of batches should be convex in a closed interval [1,Nmax] Using Silvester Criterion yields: Hessian Matrix is a definite positive. Therefore, the objective function is convex. The optimal number of batches is within the interval of [1,Nmax]. □

Determining Sequence of the Resulting Batches
Proposition 2. Minimizing total actual flow time in batch scheduling problems on single-machine with processing time affected by simultaneous effects of learning and forgetting can be obtained by sequencing the resulting batches by using the LPT rule in the backward scheduling approach.
Proof. There are two feasible schedules for N batches. The first schedule places batch of (i)-th position at the (i)-th position and batch of (i+1)-th position to the (i+1)-th position. The last schedule is only different from the first schedule in batch of (i)-th position at the (i+1)-th position and batch of (i+1)-th position at the (i)-th position. Both of them are arranged by using backward scheduling approach. If F a1 and F a2 are the value of total actual flow time for the first schedule and the second respectively, the following is obtained The value of total actual flow time at the left side will be less than the right side if the batch size at the left side is greater than the right side. Therefore, minimizing total actual flow time can be obtained by arranging the batches in order to the LPT rule in the backward scheduling approach.
Continue to Step 3.
Step 4: Calculate the value of M = np. If M ≤ d, then continue to Step 5, otherwise STOP because the demand cannot be scheduled.
Step 5: Calculate total actual flow time for j =1 by Eq. (9). Determine the value of F[1] as F*. Continue to Step 6.
Step 6: Determine the index of the number of batches j=j+1. If j <Nmax, continue to Step 7, otherwise determine F* as the best solution and then STOP.
Step 11, otherwise determine F* as the best solution and then STOP.
Step 11: Compute total actual flow time for j by Eq. (9). Continue to Step 12.
Step 12: Compare the value of total actual flow time F[j] and F*. If F[j] < F*, determine F[j] as F* and then return to Step 6, otherwise determine F* as the best solution and then STOP.
Numerical experiment test was conducted by giving the following input data parameters: n = 5, d = 12, p = 0.5, s = 1, δ = 0.9, v = 0.1, w = 1.1, tB = 100. The result of processing by the proposed algorithm yields Nmax = 5. Table 4 presents the solution of the algorithm. Table 4 shows that the solution searching method begins with the number of batches (N) that equals 1. The result of total actual flow time is 12.5. The search of the solution is increased for N=2. The result of the total actual flow time is 10.35. The total actual flow time for N=2 is compared with N=1, and it is found that the total actual flow time for N=2 is smaller than N=1. Thus, the total actual flow time for N=2 is temporarily best solution. The search of the solution continues for N=3. The result of the total actual flow time is 10.75. The total actual flow time for N=3 is compared with N=2, and it is found that the total actual flow time for N=2 is smaller than N=3. Thus, the algorithm is stopped by determining that the total actual flow time is 10.35 as the best solution obtained at N=2. For this case, the best solution of the H-Algorithm is equal to the optimal solution of the P-Algorithm.

Comparison test
The tests are continued by testing the optimality of both proposed algorithms. They are carried out by comparing the solution of the P-Algorithm and the H-Algorithm. The P-Algorithm and the H-Algorithm are coded in C++, and the results are reported by using computer processor Intel Core i3 with 6 GB of Random Access Memory (2 GB usable in 64-bit of platform) and 1 GB of Graphical Processor Unit. The comparison tests have been done on more than 100 problems. The results of comparison test show that the H-algorithm works adequately for any numbers of demands. However, it does not guarantee to produce an optimal solution. Meanwhile, the P-Algorithm guarantee to produce the optimal solution but it is only adequate for demands less than 23 units (small size problems). If there are more than 23 unit demands, the solution can not be found because of out-of-memory (o.o.m). In order to make well understanding of the behavior of comparison tests, Table 5 shows the examples of comparison tests for 10 problems where input parameters are generated randomly.  Table 5 shows that for some cases, the total actual flow time of the H-Algorithm has different results from the optimal solutions produced by the P-Algorithm. The average difference is about 0.2%. It proves that the H-Algorithm does not guarantee to produce an optimal solution. However, the H-Algorithm is very useful to solve the problems. In addition, the optimal solution that is generated by the P-Algorithm and the H-Algorithm becomes the proof of the Proposition 2 that the minimum of total actual flow time can be obtained by sequencing the resulting batches using the LPT rule in the backward scheduling approach. It also shows that the H-Algorithm takes time to compute, and uses memory less than the P-Algorithm.

Concluding Remarks
The current research deals with single-machine batch scheduling problems with the simultaneous effect of learning and forgetting to minimize total actual flow time. The problems are proved by using the Integer Composition method can be solved in a worst-case polynomial time complexity O(n2 n-1 ). This paper proposes two algorithms to solve these problems. The first algorithm produces the optimal solution that is developed by using the Integer Composition method. The second algorithm is the heuristic algorithm that is developed based on the Lagrange Relaxation method. Although the heuristic algorithm does not guarantee to produce an optimal solution, numerical experiments on randomly generated examples show that the heuristic algorithm gives outstanding results. The model introduced in this paper can be extended to discuss batch scheduling problems with learning and forgetting effects, as well as deterioration simultaneously. In a real system, it is also known that the changes in processing times occur not only on the operators but also on the machines.