[go: up one dir, main page]

Academia.eduAcademia.edu
Jurnal Teknik Industri, Vol. 25, No. 2, December 2023 ISSN 1411-2485 print / ISSN 2087-7439 online DOI: https://doi.org/10.9744/jti.25.2.179-194 A Two-Machine Flow Shop Batch Scheduling Model to Minimize Total Actual Flow Time Rinto Yusriski1*, Andri Rachmat Kumalasian Nasution1, Lukas2, Linda Wijayanti2, Sandra Octaviani2 Fakultas Teknologi Manufaktur Universitas Jenderal Achmad Yani, Jalan Terusan Jenderal Achmad Yani, Bandung 40285, Indonesia 2) Professional Engineer department Universitas Katolik Indonesia Atma Jaya, BSD, Lantai 6, Jl. Raya Cisauk Lapan, Sampora, Kec. Cisauk, Kabupaten Tangerang, Banten 15345, Indonesia Email: rinto.yusriski@lecture.unjani.ac.id *Corresponding author 1) Abstract: This study introduces a scheduling model for a two-machine flow shop batch system to minimize the actual flow time. In this system, two machines are responsible for processing raw materials and producing finished products, with a single bottleneck machine. The entity overseeing the manufacturing process organizes demand units into batches, ensures the accurate and timely arrival of raw materials, and delivers all finished products punctually to meet an expected due date. The study addresses crucial challenges, including determining the optimal number of batches, sizes, and sequences to achieve the specified objective. The analysis adopted an algorithm grounded in the Lagrange relaxation method to tackle these challenges. Moreover, the algorithm is operated by identifying the bottleneck machine as a scheduling reference and determining the appropriate number of batches and sizes. The analysis showed the efficacy of the developed algorithm by using Johnson's rule for making batch sequence decisions through numerical experiments conducted across 1000 cases. The results showed a 1.44% to 4.43% improvement in efficiency compared to previous research, accompanied by a 2 to 8 times reduction in computational time. Keywords: Batch scheduling, two-machine flow shop, actual flow time. Introduction Experts are deeply involved in addressing scheduling problems, as evidenced by the extensive collection of literature reviews over the past two decades [1]–[11]. Baker [12] classified scheduling problems based on machine types (single and multiple), flow patterns [Job Shop (JSS), Flow Shop (FSS), and Open Shop (OSS)], job arrival patterns (static and dynamic), and information patterns (deterministic and stochastic). Additionally, batch and job scheduling represent two distinct types of organizing problems. The optimization of job sequences in flow shop has fascinated experts for an extended period, as evidenced by the substantial body of research over references [13]–[16]. The primary objective is to identify the most efficient sequence for executing jobs. Johnson [13] explores job problems in two and three-machines, proposing an optimal algorithm and establishing the NP-hard nature of flow shop problem with more than three-machine. Campbell et al. [14] presented a heuristic solution with more than three machines, while Brucker [15] stated that the optimal solution was achieved through the branch and bound method. Yusriski et al. [16] examined the dynamic arrival of job problems in the context of flow shops, complementing operational research with discussions on metaheuristics [17]–[19]. Beyond job organizing, batch scheduling problems extends into flow shop patterns, observed in industries such as apparel manufacturing, automotive component manufacturing, and the food industry, where identical orders are processed in batches to minimize make span [20]–[22]. Key decisions in these scenarios focus on defining the optimal number of batches, size, and the applicable batch scheduling rules. In the context of this study, particular attention is given to considering setup time when the machine initiates batch processing and ensuring the availability of raw materials at the scheduling period’s outset (𝑡 = 0). The strategy inventory minimization includes the delivering of finished items in stages, correlating with the completion of each batch on the last machine (batch completion time). However, real-world scenarios often require simultaneous delivery at the agreed-upon due date, assuming the company can manage the timely and sufficient arrival of raw materials at the first machine for inventory minimization. 179 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 Halim et al. [23] presented a model for single-machine batch scheduling that prioritizes minimizing the total actual flow time with respect to the due date. The total actual flow time, defined as the duration from raw material arrival to the due date, plays a crucial role in achieving on-time delivery and reducing inventory time. The research considered dividing raw materials arrival into batches, each with regulated sizes in quantity and time, based on the requirements of the production floor. Additionally, the analysis reiterated the importance of delivering finished product on time to correlate with the common due date. This metric, measuring the total actual flow time, has found widespread application in various batch scheduling problems, showing the effectiveness in not only ensuring on-time delivery but also minimizing inventory time [24]–[31]. An extension of the total actual flow time criterion is observed in batch scheduling problem within flow shop systems [32]–[34]. Halim and Ohta [32] examined the scheduling problem into two sub-problems, namely batch and scheduling. In batch sub-problem, decisions include determining the number of batches and batch size. The algorithmic commences by selecting a reference machine, using the decision solution as a guide for others. The reference machine is selected by comparing the total actual flow time performance using the single machine algorithm from research [23]. In the scheduling sub-problem, batch sequences are developed through semienumeration using the pairwise interchange method. While the solution in Halim and Ohta [32] does not guarantee to produce an optimal solution, it [32] has inspired and been developed for other flow shop problems, including in [33] and [34]. Suryadhini et al. [33] discussed batch scheduling problems assuming two product types in a two-stage flow shop, while Maulidya et al. [34] developed a two-stage flow shop model with continuous batch sizes [35]–[37]. The investigation into the research model by Halim and Ohta [32] specifically centers on discrete batch sizes and proposes an enhanced approach. The focus is on a two-machine flow shop, considering Johnson's [13] ability to produce optimal solutions for job scheduling in these settings. Scheduling research on two-machine flow shops has attracted attention, discussed in the context of job scheduling [38]–[41] and batch scheduling [20]–[22]. For validation in a real system, the study takes inspiration from manufacturing companies in the apparel industry. A single job with an order quantity of n units undergoes processing in the sewing and finishing stages, each assumed to be a machine. The machines process the job into batches, framing the problem as two-machine flow shop batch scheduling issue. The challenge faced by the company is to deliver products to consumers by the due date (minimize delivery time) while minimizing inventory buildup (raw materials, semi-finished goods, and finished goods). The company practice of bringing fabric materials to the production floor before the scheduling period (t = 0) results in accumulating raw materials, semi-finished products, and finished products. This practice is modified by introducing raw materials in stages based on the production floor needs. The key decisions include determining the frequency of raw materials imports (number of batches), the quantity in each batch (batch size), and priority rules for scheduling batches to ensure timely order delivery with minimal waiting time. Consequently, the total actual flow time criterion is applied as a performance measure for scheduling. Methods Problem Formulation and Mathematical Models Halim and Ohta [32] proposed a heuristic procedure for the single-item flow shop batch scheduling problem with a common due date to minimize total actual flow time. The algorithm was divided into two steps, namely batch and scheduling stages. In the first step, the number of batches (𝑁) and batch size (𝑄[𝑖] , 𝑖 = 1, … , 𝑁) were calculated using the solution for the common due date single machine problem [23]. Halim and Ohta [32] assumed that the demand for units could be divided into several continuous batch sizes, potentially resulting in 𝑚 alternative solutions (𝑁) and 𝑄[𝑖] , 𝑖 = 1, … , 𝑁). The second step included examining pairwise comparisons of the resulting batches from the first stage, and a final solution minimizing total actual flow time was selected from the 𝑚resolutions Due to the large number of combinations, determining the effectiveness of the algorithm was challenging, necessitating the development of a comparison system to find a better solution. The analysis built on the research of Halim and Ohta [32], considering that batches consisted of discrete parts and reduced the number of machines to two (𝑚 = 1,2). The algorithm solution from [32] was enhanced by identifying the bottleneck machine and determining batch solution. Specifically, the research considered a single job with a certain number of units (𝑛) and a common due date (𝑑). It assumed the company could organize the arrival of raw materials in several batches (𝑁) with batch sizes (𝑄[𝑖] , 𝑖 = 1, … , 𝑁) according to the research needs. Backward scheduling method was adopted, with the first batch index being the closest to the common due date. Batches were processed in flow shop, starting on Machine 1 at time (𝑡1 ) and continuing 180 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 Machine 2 with time (𝑡2 ). The starting times of two-machine to process batches were denoted by 𝐵m[𝑖] , 𝑖 = 1, … , 𝑁. Since each batch consisted of multiple parts, a setup time (𝑠𝑚 ) was needed before the machine was processed. The objective function was the total actual flow time of batches (𝐹 𝑎 ). The trade-off in this study was evident by the maximizing number of batches (𝑁 = 𝑛, 𝑄[𝑖] = 1) and the total setup time, leading to maximum total actual flow time. Meanwhile, minimizing the number of batches (𝑁 = 1, 𝑄[𝑖] = 𝑛) increased the duration between the starting time to process batch with the due date, also resulting in maximum total actual flow time. The actual flow time of batch was calculated by finding the duration between the starting time to process batch on Machine 𝑎 1 with the due date (𝐶[𝑖] ), performed by batch sizes (𝐹[𝑖] = 𝐶1[𝑖] 𝑄[𝑖] ). The formula for the total actual flow time was as follows: 𝐹 𝑎 = ∑𝑁 𝑖=1(𝐶[𝑖] )𝑄[𝑖] (1) There were two alternatives for calculating 𝐶[𝑖] in two-machine flow shop scheduling problem. The selected method depended on the bottleneck machine, as shown in Figure 1. 𝑡=0 𝐶[3] 𝑠1 𝑄[3] 𝐵1[3] 𝑠1 𝐵1[2] 𝑠2 𝐵2[3] 𝑄[3] 𝐶[2] 𝑠1 𝑄[2] 𝑠2 𝐵2[2] 𝑡=𝑑 𝐶[1] 𝐵1[1] 𝑄[2] 𝑄[1] M1 𝑠2 𝐵2[1] 𝑄[1] M2 Figure 1. A Gantt chart for two-machine flow shop problem with three batches Figure 1 shows the processing of the number of units into three batches (𝑁 = 3) in a two-machine flow shop. The assumed sequence of the three batches was 𝑄[1] , 𝑄[2] , and 𝑄[3] consecutively. Batches were scheduled using backward scheduling method and the 𝐶[𝑖] , 𝑖 = 1, … ,3, was calculated as follows: 𝐶[1] = 𝑡2 𝑄[1] + 𝑡1 𝑄[1] 𝐶[2] = 𝑡2 𝑄[1] + 𝑚𝑎𝑥{(𝑡1 𝑄[1] + 𝑠1 ), (𝑠2 + 𝑡2 𝑄[2] )} + 𝑡1 𝑄[2] 𝐶[3] = 𝑄[1] 𝑡2 + 𝑚𝑎𝑥{(𝑡1 𝑄[1] + 𝑠1 + 𝑡1 𝑄[2] + 𝑠1 ), (𝑠2 + 𝑡2 𝑄[2] + 𝑠2 + 𝑡2 𝑄[3] )} + 𝑡1 𝑄[3] 𝐶[𝑖] = 𝑡2 𝑄[1] + 𝑚𝑎𝑥{(𝑖 − 1)𝑠1 + 𝑡1 ∑𝑖𝑗=1 𝑄[𝑗] , (𝑖 − 1)𝑠2 + 𝑡2 ∑𝑖𝑗=1 𝑄[𝑗] } + 𝑡1 𝑄[𝑖] 𝑖 = 1, … , 𝑁 (2) The formula for 𝑚𝑎𝑥{(𝑖 − 1)𝑠1 + 𝑡1 ∑𝑖𝑗=1 𝑄[𝑗] , (𝑖 − 1)𝑠2 + 𝑡2 ∑𝑖𝑗=1 𝑄[𝑗] } showed the bottleneck machine. When the value of (𝑖 − 1)𝑠1 + 𝑡1 ∑𝑖𝑗=1 𝑄[𝑗] was the maximum, then Machine 1 became the bottleneck machine and vice versa, Machine 2 was identified as the bottleneck machine. The notation and mathematical models of the problem were as follows: 181 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 index 𝑖 𝑚 parameter 𝑛 𝑑 𝑡𝑚 𝑠𝑚 variable 𝐵𝑚[𝑖] 𝐹[𝑖] 𝐶[𝑖] 𝑁 𝑄[𝑖] : : the batch index, 𝑖 = 1, . . , 𝑁. the machine index, 𝑚 = 1,2. : : : : the number of parts demanded during a scheduled period. the common due date. the processing time of part on 𝑚𝑎𝑐ℎ𝑖𝑛𝑒𝑠. the setup time required before processing any batch on 𝑚𝑎𝑐ℎ𝑖𝑛𝑒. : : : : : the starting time of 𝑚-th machine to process 𝑖-th batch the flow time for 𝑖-th batch. the duration between the starting time to process 𝑖-th batch with the due date the number of batches (the decision variable). the batch size, which consisted of the number of parts (the decision variable). objective function 𝐹𝑎 : the total actual flow time A mathematical model is shown as follows: 𝑖 𝑖 Min 𝐹 𝑎 = ∑𝑁 𝑖=1(𝑡2 𝑄[1] + 𝑚𝑎𝑥{[(𝑖 − 1)𝑠1 + 𝑡1 ∑𝑗=1 𝑄[𝑗] ], [(𝑖 − 1)𝑠2 + 𝑡2 ∑𝑗=1 𝑄[𝑗] ]} + 𝑡1 𝑄[𝑖] )𝑄[𝑖] (3) Subject to: ∑𝑁 𝑖=1 𝑄[𝑖] = 𝑛 ; (4) 𝑑 − 𝑠1 − 𝐶[𝑁] ≥ 0; (6) 𝐵1[1] + 𝐶[1] = 𝑑; (5) 𝑑 − 𝑡2 𝑛 − 𝑁𝑠2 ≥ 0; (7) 𝑁 ≥ 1; 𝑄[𝑖] ≥ 1; 𝑖 = 1, … , 𝑁; 𝑄[𝑖] ∈ ℕ; (8) Equation (3) represented the objective function, aiming to minimize the total actual flow time. This time was defined as a total interval for all components in batches (𝑄[𝑖] , 𝑖 = 1, … , 𝑁) from the arrival at the shop until the common due date (𝑑). Constraint (4) showed the material balance, asserting that the total number of unit components in all batches should be equal to the total unit components of demand. Constraint (5) stipulated that the first batch in backward scheduling would be completed exactly at the common due date (𝑑). Constraints (6) and (7) declared that all batches were processed during the scheduling period, ranging from 𝑡 = 0 to the due date. Constraint (8) specified that the minimum batch number and size were 1, and the element was a natural figure. Problem Solution In this section, the decision variables were determined along with the formula for calculating the minimum total actual flow time. 1) Determining the Bottleneck Machine In two-machine flow shop problem, it was essential to identify the machine to serve as a reference in scheduling. The solution for calculating the number of batches and batch sizes on the machine would subsequently be applied to other devices. This determination of the reference machine was derived from the bottleneck machine, which was the device with the smallest capacity in comparison to others. The capacity calculation was obtained by substituting Equation (2) into (6). 𝑑 − 𝑠1 − 𝑚𝑎𝑥{𝑄[1] 𝑡2 + [(𝑖 − 1)𝑠1 + 𝑡1 ∑𝑖𝑗=1 𝑄[𝑗] ], [(𝑖 − 1)𝑠2 + 𝑡2 ∑𝑖𝑗=1 𝑄[𝑗] ] + 𝑄[𝑖] 𝑡1 } = 0; (9) Equation (9) was dissected into two separate equations to show the bottleneck condition on Machine 1 and 2. 182 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 Machine 1: 𝑑 − 𝑠1 − (𝑄[1] 𝑡2 + [(𝑖 − 1)𝑠1 + 𝑡1 ∑𝑖𝑗=1 𝑄[𝑗] ]) = 0; Machine 2: 𝑑 − 𝑠1 − ([(𝑖 − 1)𝑠2 + 𝑡2 ∑𝑖𝑗=1 𝑄[𝑗] ] + 𝑄[𝑁] 𝑡1 ) = 0; The calculation for the maximum capacity was derived when i=N, and it was obtained as follows: Machine 1: 𝑑 − 𝑠1 − (𝑄[𝑁] 𝑡2 + [(𝑁 − 1)𝑠1 + 𝑡1 ∑𝑁 𝑗=1 𝑄[𝑗] ]) = 0; (10) (11) (12) Machine 2: 𝑑 − 𝑠1 − ([(𝑁 − 1)𝑠2 + 𝑡2 ∑𝑁 𝑗=1 𝑄[𝑗] ] + 𝑄[𝑁] 𝑡1 ) = 0; (13) Machine 1: 𝑑 − 𝑠1 − (𝑄[1] 𝑡2 + [(𝑁 − 1)𝑠1 + 𝑡1 𝑛]) = 0; Machine 2: 𝑑 − 𝑠1 − ([(𝑁 − 1)𝑠2 + 𝑡2 𝑛] + 𝑄[𝑁] 𝑡1 ) = 0; (14) (15) Machine 1: 𝑑 − 𝑠1 − (𝑡2 + [(𝑁 − 1)𝑠1 + 𝑡1 (𝑛 − 1)]) = 0; Machine 2: 𝑑 − 𝑠1 − ([(𝑁 − 1)𝑠2 + 𝑡2 (𝑛 − 1)] + 𝑡1 ) = 0; (16) (17) Machine 1: 𝑑 − 𝑡2 − 𝑁𝑠1 − 𝑡1 (𝑛 − 1) = 0; (18) By substituting Equation (4) into (12) and (13), Equations (14) and (15) were generated, as presented below: The subsequent step included the current calculation of the maximum capacity of flow shop. This was achieved by computing the maximum capacity on two-machine consecutively. The capacity of Machine 1 reached the maximum when the distance between the 𝐵2[1] and the due date was significantly close. This study assumed that batch size was a discrete unit, hence, the minimum distance was found when determining 𝑄[1] = 1. The capacity of Machine 2 attained the maximum when 𝑄[𝑁] = 1, as the distance between time zero and the 𝐵2[𝑁] was very close. Consequently, Equations (14) and (15) were rephrased as follows: Simplifying Equation (16) and concurrently solving Equations (7) and (17) simultaneously produced Equations (18) and (19) as follows: Machine 2: 𝑑 − 𝑚𝑎𝑥{𝑠1 ; (𝑠2 − 𝑡1 )} − 𝑡1 − (𝑁−1)𝑠2 − 𝑡2 (𝑛 − 1) = 0; (19) The capacity of the machine represented the number of requested units that the device could process during the scheduling period, formulated as follows: 𝐶𝑎𝑝 𝑀2 = 𝐶𝑎𝑝 𝑀1 = 𝑑 − 𝑁𝑠1 − 𝑡2 − 1; 𝑡1 (20) 𝑑 − 𝑚𝑎𝑥{𝑠1 ; (𝑠2 − 𝑡1 )} − (𝑁−1)𝑠2 − 𝑡1 − 1; 𝑡2 (21) 𝑑 − 𝑠1 − 𝑡2 − 1; 𝑡1 (22) The maximum capacity of each machine was determined by assuming N = 1, resulting in the rewriting of Equations (20) and (21) as follows: 𝐶𝑎𝑝 𝑀1 = 𝐶𝑎𝑝 𝑀2 = 𝑑 − 𝑚𝑎𝑥{𝑠1 ; (𝑠2 − 𝑡1 )} − 𝑡1 − 1; 𝑡2 (23) The capacity of the entire flow shop system was determined by the bottleneck machine, which was the device with the smallest capacity per period. The formula for calculating flow shop system capacity was formulated as follows: 𝐶𝑎𝑝 = min{𝐶𝑎𝑝 𝑀1 , 𝐶𝑎𝑝𝑀2 } (24) The decision solution for the bottleneck machine was subsequently used as the fundamental solution for other devices. 183 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 2) Determining Batch Size In this section, the formula for calculating batch size was determined. Substituting Equations (2) and (3) into Equation (1), assuming 𝐾 as the notation for the bottleneck machine, produced the following equation: 𝑖 𝐹 𝑎 = ∑𝑁 𝑖=1(𝑄[1] 𝑡2 + (𝑖 − 1)𝑠𝐾 + 𝑡𝐾 ∑𝑗=1 𝑄[𝑗] + 𝑄[𝑖] 𝑡1 )𝑄[𝑖] 𝐾 ∈ 𝑚; 𝑖 = 1, … , 𝑁 (25) The formula for the total actual flow time in Equation (25) was rewritten as follows: 1 1 2 2 𝑁 𝑁 𝑁 𝐾−1 𝐹 𝑎 = 𝑠𝐾 ∑𝑁 𝑖=1 𝑖𝑄[𝑖] + (𝑡𝐾 + 2 ∑𝑢=1 𝑡𝑢 ) ∑𝑖=1 𝑄[𝑖] + 𝑡𝐾 (∑𝑖=1 𝑄[𝑖] ) − [𝑠𝐾 − 𝑡2 𝑄[1] ] ∑𝑖=1 𝑄[𝑖] ; 2 2 (26) with ∑𝐾−1 𝑢=1 𝑡𝑢 = 0, 𝑖𝑓 𝑚 = 1; 𝐾 ∈ 𝑚; ; 𝑖 = 1, … , 𝑁 Solving Equation (26) using the Lagrange relaxation technique produced the following stationary points: 𝑁 𝑠𝐾 𝑖 + (𝑡𝐾 + 2 ∑𝐾−1 𝑢=1 𝑡𝑢 )𝑄[𝑖] + 𝑡𝐾 ∑𝑖=1 𝑄[𝑖] − 𝑠𝐾 + 𝑡2 𝑄[1] − 1 − 𝑡𝐾 2 = 0;` (27) with ∑𝐾−1 𝑢=1 𝑡𝑢 = 0, 𝑖𝑓 𝑚 = 1; 𝐾 ∈ 𝑚; 𝑖 = 1, … , 𝑁 Substituting Equation (4) into (27) resulted in: 𝑠2 𝑖 + (𝑡2 + 2𝑡1 )𝑄[𝑖] + 𝑡2 𝑛 − 𝑠2 + 𝑡2 𝑄[1] − 1 − 𝑡2 2 = 0; (28) with ∑𝐾−1 𝑢=1 𝑡𝑢 = 0, 𝑖𝑓 𝑚 = 1; 𝐾 ∈ 𝑚; 𝑖 = 1, … , 𝑁 The solution (28) to find 𝑄[𝑖] was obtained as follows: 𝑄[𝑖] = −(𝑠𝐾 𝑖 + 𝑡𝐾 𝑛 − 𝑠𝐾 + 𝑡2 𝑄[1] − 1 − 𝑡𝐾 2 ) (𝑡𝐾 + 2 ∑𝐾−1 𝑢=1 𝑡𝑢 ) (29) with ∑𝐾−1 𝑢=1 𝑡𝑢 = 0, 𝑖𝑓 𝑚 = 1; 𝐾 ∈ 𝑚; 𝑖 = 1, … , 𝑁 Substituting Equation (29) into (4) resulted in: 1 1 = (𝑡𝐾 + 2 ∑𝐾−1 𝑢=1 𝑡𝑢 )⁄𝑁 + 𝑡𝐾 𝑛 + 2 𝑠𝐾 (𝑁 + 1) − 𝑠𝐾 + 𝑡2 𝑄[1] − 𝑡𝑐 2 , (30) with ∑𝐾−1 𝑢=1 𝑡𝑢 = 0, 𝑗𝑖𝑘𝑎 𝑚 = 1; 𝐾 ∈ 𝑚; 𝑖 = 1, … , 𝑁 Substituting Equation (30) into (29) resulted in: 𝑄[𝑖] = 𝑛 𝑠𝐶 𝑁𝑠𝐶 𝑖𝑠𝐶 + + − 𝐾−1 𝐾−1 𝑁 2(𝑡𝐾 + 2 ∑𝑢=1 𝑡𝑢 ) 2(𝑡𝐾 + 2 ∑𝑢=1 𝑡𝑢 ) (𝑡𝐾 + 2 ∑𝐾−1 𝑢=1 𝑡𝑢 ) (31) With ∑𝐾−1 𝑢=1 𝑡𝑢 = 0, 𝑖𝑓 𝑚 = 1; 𝐾 ∈ 𝑚; 𝑖 = 1, … , 𝑁 The formula in Equation (31) produced a continuous batch size (a real number). However, the objective in this investigation aimed to achieve results represented by distinct batch sizes (integers), leading to the modification of Equation (31) in the subsequent manner. 184 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 𝑄[𝑁+1−𝑖] = ⌊ 𝑛 − ∑𝑖𝑗=1 𝑄𝑗 (𝑁 + 1 − 𝑖)𝑠𝐾 (𝑁 + 1 − 𝑖)𝑠𝐾 𝑠𝐾 ⌉ + + − 𝐾−1 𝑁+1−𝑖 2(𝑡𝐾 + 2𝑡1 ) 2(𝑡𝐾 + 2 ∑𝑢=1 𝑡𝑢 ) (𝑡𝐾 + 2 ∑𝐾−1 𝑢=1 𝑡𝑢 ) (32) with ∑𝐾−1 𝑢=1 𝑡𝑢 = 0, 𝑖𝑓 𝑚 = 1; 𝐾 ∈ 𝑚; 𝑖 = 1, … , 𝑁 ⌊x⌉ was rounding up when decimal of 𝑥 ≥ 0.5 3) Determining the Number of Batches After determining the formula for calculating batch size, the subsequent step was to establish the optimal batch number. In Constraint (8), it was established that all batch sizes should be positive, thereby 𝑄[𝑁] ≥ 1. Substitution 𝑖 = 𝑁 in Equation (31) produced the following outcome. 𝑄[𝑁] = 𝑛 𝑠𝐾 𝑁𝑠𝐾 𝑁𝑠𝐾 + + − ≥0 𝑁 2𝑌 2𝑌 𝑌 (33) Y=𝑡𝐾 + 2 ∑𝐾−1 𝑢=1 𝑡𝑢 𝐾 ∈ 𝑚; 𝑚 = 1,2; 𝑖 = 1, … , 𝑁 The completion of Equation (32) to obtain 𝑁𝑚𝑎𝑥 was accomplished. 𝑁𝑚𝑎𝑥 = ⌊ (34) 𝐴 ⌋−1 2𝑠𝐾 A=𝑠𝐾 + √(𝑠𝐾 )2 + 16𝑛𝑠𝐾 𝑌 + 8𝑛𝑠𝐾 𝑡𝐾 Y=𝑡𝐾 + 2 ∑𝐾−1 𝑢=1 𝑡𝑢 ⌊𝑋⌋ is the largest integer less than 𝑋. 𝐾 ∈ 𝑚; 𝑚 = 1,2; 𝑖 = 1, … , 𝑁 4) Determine the Initial Batch Quantity The initial batch number was calculated by solving Equations (20) and (21), resulting in the following formula: 𝑁0 = 𝑑 − 𝑡2 − 𝑡1 𝑛 ⌊ ⌋ ; if 𝐾 = 1; 𝑠1 (35) 𝑑 − 𝑚𝑎𝑥{𝑠1 ; (𝑠2 − 𝑡1 )} − 𝑡1 − 𝑡2 𝑛 ⌋ ; if 𝐾 = 2 𝑠2 { ⌊ ⌊𝑋⌋ was the largest integer less than 𝑋. 5) Determining the Number of Batches The number of batches was determined by Lemma as follows: Lemma 1. The objective function of total actual flow time was a convex function on the closed interval [1, 𝑁𝑚𝑎𝑥 ]. The minimum total actual flow time was obtained for the number of batches in this interval. Proof. The objective function of total actual flow time was a convex function on the closed interval 𝑖 = [1, 𝑁𝑚𝑎𝑥 ] when the Hesian matrix satisfied the positive definite condition. Each 𝑖 in Equation (26) was subsequently written as: 1 1 2 2 𝑁 𝑓(𝑖) = {𝑠𝐾 𝑖 − [𝑠𝐾 − 𝑡2 𝑄[1] ]} ∑𝑖𝑗=1 𝑄[𝑗] + (𝑡𝐾 + 2𝑡1 ) ∑𝑁 𝑖=1 𝑄[𝑖] + 𝑡𝐾 (∑𝑖=1 𝑄[𝑖] ) The first Derivative (∇2 𝑓(𝑖)) is obtained. 2 2 2𝑡2 𝑄[1] ; 𝑖 = 1; ∇2 𝑓(𝑖) = {{𝑡𝐾 + 2𝑡1 }𝑄[𝑖] + (𝑖 − 1)𝑠𝐾 + 𝑡𝐾 𝑄[𝑖] ; 𝑖 = 2, … . , 𝑁𝑚𝑎𝑥 ; 185 (36) (37) Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 Hessian Matrix: 0 2𝑡2 0 0 0 0 0 𝑡𝐾 + 2𝑡1 | 𝐻(𝑖) = ∇2 𝑓(𝑖) = || ⋮ … ⋮ ⋮ ⋮ | 0 𝑡 + 2𝑡 0 0 𝐾 1 0 0 𝑡𝐾 + 2𝑡1 0 𝑖 = 1,2, … . , 𝑁𝑚𝑎𝑥 , 𝑎, 𝐾 ∈ 𝑚 (38) The condition for a convex function was positive definite, namely 𝑑𝑒𝑡𝐻(𝑖) > 0 and 𝑑𝑒𝑡𝐻(𝑖) = 2𝑁𝑚𝑎𝑥 𝑡2 (𝑡𝐾 + 2𝑡1 )(𝑁𝑚𝑎𝑥−1) > 0, (positive definite). Therefore, the objective function was a convex function on the closed interval [1, 𝑁𝑚𝑎𝑥 ]. Proved ∎ 6) Define Batch Scheduling Rules In this study, batch scheduling adopted the rule of Johnson and was subsequently developed for the problems. The algorithm for determining batch size sequence was as follows: Batch Scheduling Sub-Algorithm Step 0. Set the initial schedule sequence by considering batch index (𝑄[𝑖] ), where 𝑖 = 1, . . , 𝑁. Step 1. Create a matrix A with dimensions M x N, where M represented the number of machines (M=2), and N signified the number of batches. Step 2. Calculate the elements of matrix A, where 𝐴𝑚,𝑖 = 𝑡𝑚 𝑄[𝑖] + 𝑠𝑚 , with 𝑚 = 1,2; 𝑖 = 1, … , 𝑁 and continue to Step 3. Step 3. The element in matrix A with the smallest value should be selected. Step 3.1. When the smallest element value occurred on Machine 1, batch index (𝑖) of that element was positioned at the end of the scheduled series. Step 3.2. When the smallest element value resided on Machine 2, batch index (𝑖) of the element was placed at the beginning of the scheduled series. Step 3.3. When the value of the smallest element was the same for Machines 1 and 2, batch index (𝑖) of the element was positioned at the beginning of the scheduled series, then continued to step 4. Step 4. The column where the smallest matrix element in Step 3 was eliminated. Step 5. When the number of columns in matrix A was no longer greater than 1, proceed to establish a new schedule order and conclude the process. ∎ Proposed Scheduling Algorithm PBFS-2M Algorithm (2 Machine Flow shop Batch Scheduling) Step 0. Input parameters 𝑛, 𝑑, 𝑡𝑚 , 𝑠𝑚 and continue to Step 1. Step 1. The bottleneck machine (𝐾) was selected. Step 1.1. 𝐶𝑎𝑝 𝑀1 and 𝐶𝑎𝑝 𝑀2 with Equations (22) and (23) was computed. Step 1.2. The bottleneck machine was selected and moved to Step 2. Step 2. 𝑁𝑚𝑎𝑥 with Equation (34) was calculated. Step 3. Equation (35) was subsequently used to calculate 𝑁 0 and to verify 𝑁𝑚𝑎𝑥 Step 3.1. When 𝑁 0 ≤ 1, then 𝑁 0 ≤ 1. Step 3.2. When 𝑁 0 ≥ 𝑁𝑚𝑎𝑥 , then 𝑁𝑚𝑎𝑥 = 𝑁𝑚𝑎𝑥 Step 3.3. When 1 < 𝑁 0 < 𝑁𝑚𝑎𝑥 , then 𝑁𝑚𝑎𝑥 = 𝑁 0 Step 4. Start from N=1. Step 5. N was used as input for Equation (32) in calculating 𝑄[𝑖] . Step 6. Batch Scheduling Sub Algorithm was adopted to find batch order index 𝑖 = 1, . . , 𝑁. Step 7. Batch was scheduled according to the parcel index order 𝑄[𝑖] , 𝑖 = 1, . . , 𝑁. Step 8. 𝐹 𝑎 was calculated with Equation (1). When 𝑁 = 1, move to Step 9 but when 𝑁 > 1 then skip Stage 9 and move to 10. Step 9. 𝐹 𝑎 𝑤𝑎𝑠 𝑠𝑒𝑡 as 𝐹 𝑎 ′ and moved to Step 11. Step 10. 𝐹 𝑎 was compared with 𝐹 𝑎 ′. When 𝐹 𝑎 <𝐹 𝑎 ′ then 𝐹 𝑎 ′=𝐹 𝑎 subsequently continuing with Step 11. Step 11. 𝑁 = 𝑁 + 1 was set. When 𝑁 < 𝑁𝑚𝑎𝑥 , return to Step 5, otherwise continue to Step 12. Step 12. The total actual flow time was set at 𝐹 𝑎 ′ then finally stopped the procedure. 186 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 Results and Discussions In this section, the outcomes of the implemented algorithm in straightforward scenarios were examined, alongside a discussion of the results derived from numerical experiments conducted on more intricate cases that comprised combinations of diverse parameters. Applying the algorithm to simple cases served the purpose of presenting a comprehensive understanding of the functionality and the outcomes achieved. Meanwhile, the objective of the numerical experiments was to obtain insights into algorithmic solutions for addressing complex problem scenarios. Results The application of the proposed algorithm was shown through two simple case examples. In the first case, the bottleneck machine was assigned to the other device, while in the second scenario, it was assigned to the first machine. First Case. Given the following parameters, 𝑛 = 5 unit, 𝑑 = 25 hours, 𝑡1 = 1 hours/unit, 𝑡2 = 2 hours/ unit, 𝑠1 = 3 hours/𝑏𝑎𝑡𝑐ℎ, 𝑠2 = 2 hours/𝑏𝑎𝑡𝑐ℎ. The number of batches, integer batch size, and batch scheduling were determined and the total actual flow time 𝐹 𝑎 was subsequently calculated. Completion. The application of the proposed algorithm resulted in the following outcomes. In the first step, the capacity of Machine 1 was determined to be fifteen units per scheduling period (25 hours), while the efficiency of Machine 2 was 7.5 units per 25 hours. Consequently, flow shop capacity was 7.5 units per 25 hours, identified on Machine 2 as the bottleneck machine (K=2). In the second step, 𝑁𝑚𝑎𝑥 was found to be five, and in the third step, 𝑁 0 was 3, thereby confirming that the previous 𝑁𝑚𝑎𝑥 value was indeed 3. The subsequent step included iteratively searching for the minimum total actual flow time in the range of 𝑁 = 1 to 𝑁 = 𝑁𝑚𝑎𝑥 . Following the guidelines of Lemma 1, the algorithm halted when the actual flow time value for 𝑁 in an iteration surpassed the value for N in the preceding recursion, or N had reached the value 𝑁𝑚𝑎𝑥 . In the initial iteration, 𝑁 = 1 yielded 𝑄[1] =5, resulting in 𝐹 𝑎 = 75. Subsequent calculations for N=2 yielded 𝑄[1] =3 and 𝑄[2] =2, with an associated 𝐹 𝑎 𝑣𝑎𝑙𝑢𝑒 𝑜𝑓 55. Recognizing this improvement, 𝐹 𝑎 = 55 was set as 𝐹 𝑎 ′. In the third iteration N=3, the values 𝑄[1] =2, 𝑄[2] =2, and 𝑄[3] =1 were obtained, yielding 𝐹 𝑎 = 52. Given the further enhancement in 𝐹 𝑎 , this value was designated as 𝐹 𝑎 ′. The third iteration marked the final recursion since N= 𝑁𝑚𝑎𝑥, prompting the algorithm to cease and establish the decision as N=3, 𝑄[1] =2, 𝑄[2] =2, and 𝑄[3] =1, with 𝐹 𝑎 = 52. Figure 2 shows the solution for each algorithm iteration (N versus 𝐹 𝑎 ). Actual Flow time VS Number of Batch (Fa VS N) 80 75 60 55 52 2 3 40 20 0 1 Figure 2. Actual flow time and number of batches graph for the first case The Gantt chart of the selected solution with 𝐹 𝑎 = 52 was shown in Figure 3. In Figure 3, the identification of the bottleneck machine was evident on the second machine. The outcome of the algorithm included the segmentation of a request for five units into three batches (𝑁 = 3) with batch sizes (𝑄[𝑖] , 𝑖 = 1,2,3) of 2 units, 2 units, and 1 unit, respectively. Raw materials were introduced to the production section at the 9th, 13th, and 19th hours to facilitate the simultaneous delivery of finished products on the due date (25th hour), minimizing the time inventory on the shop floor. The total actual flow time, representing the duration of inventory presence on the production floor, amounts to 52 hours. This duration consisted of 12, 24, and 16 hours for the 1st, 2nd, and 3rd batches, respectively. The results showed that the proposed algorithm signified efficacy in addressing the problem. 187 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 𝐹 13 =16 CAPTIONS batch size 𝑄 3 =1 setup First Machine 𝐵1 3 =9 Second Machine 1 2 3 4 𝐹 12 =24 5 6 7 8 𝐹 11 =12 𝑄 2 =2 𝐵1 2 =13 𝑄 3 =1 𝑄 1 =2 𝐵1 1 =19 𝑄 2 =2 𝑄 1 =2 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Figure 3. Gantt Chart batch scheduling solution for parameters: 𝑛 = 5 unit, 𝑑 = 25 hours , 𝑡1 = 1 hours/unit, 𝑡2 = 2 hours/unit, 𝑠1 = 3 hours/𝑏𝑎𝑡𝑐ℎ, 𝑠2 = 2 hours/𝑏𝑎𝑡𝑐ℎ Second Case. Given the following parameters, 𝑛 = 5 unit, 𝑑 = 25 hours, 𝑡1 = 2 hours/unit, 𝑡2 = 1 hours/ unit, 𝑠1 = 2 hours/𝑏𝑎𝑡𝑐ℎ, 𝑠2 = 3 hours/𝑏𝑎𝑡𝑐ℎ. The optimal batch count, integer batch size, batch schedule, and total actual flow time 𝑎𝑟𝑒𝐹 𝑎 were determined. Completion. The proposed algorithm yielded the following outcomes upon completion. In the initial step, the capacity of Machine 1 was obtained as 10 units per scheduling period (25 hours), while the output of Machine 2 was found to be 20 units per 25 hours. Consequently, flow shop capacity was established as 10 units per 25 hours, with Machine 2 identified as the bottleneck machine (𝐾 = 1). In the second step, 𝑁𝑚𝑎𝑥 was calculated to be 3, and in the third stage, 𝑁 0 was determined to be 7, confirming the consistency of the previous 𝑁𝑚𝑎𝑥 value as 3. The subsequent step included determining the minimum actual flow time iteratively for values 𝑁 𝑟𝑎𝑛𝑔𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 1 to 𝑁𝑚𝑎𝑥 . Following the criteria outlined in Lemma 1, the algorithm will terminate when the actual flow time value for 𝑁 in the iteration exceeded the figure for 𝑁 in the previous recursion or 𝑁 reaches 𝑁𝑚𝑎𝑥 . In the initial iteration, specifically for 𝑁 = 1, 𝑄[1] =5 was obtained with 𝐹 𝑎 = 75. The calculation continued for 𝑁 = 2, resulting in 𝑄[1] =2 and 𝑄[2] =3, yielding an 𝐹 𝑎 value of 54. As this 𝐹 𝑎 value was an improvement from the previous iteration, 𝐹 𝑎 =54 was designated as 𝐹 𝑎 ′. The third iteration corresponded to 𝑁 = 3, with 𝑄[1] =2, 𝑄[2] =2, and 𝑄[3] =1 being obtained and 𝐹 𝑎 value was equaled to 52. This 𝐹 𝑎 value was better than the previous iteration, leading to the designation as 𝐹 𝑎 ′. The third iteration marked the conclusion of the algorithm as 𝑁 = 𝑁𝑚𝑎𝑥 , prompting the procedure to halt and finalize the decision as 𝑁 = 3, 𝑄[1] = 2, 𝑄[2] = 2, and 𝑄[3] = 1, with 𝐹 𝑎 = 52. The progression of the algorithm iteration (𝑁 versus 𝐹 𝑎 ) is depicted in Figure 4. Actual Flow time VS Number of Batch (Fa VS N) 80 75 60 54 …52 2 3 40 20 0 1 Figure 4. Actual flow time and number of batches graph for the second case The Gantt chart of the selected solution with 𝐹 𝑎 = 52 can be seen in Figure 5. In the experimental example, both Cases 1 and 2 yielded the same solution, specifically 𝑁 = 2, with 𝑄[1] = 2, 𝑄[2] = 2, and 𝑄[3] = 1, resulting in an 𝐹 𝑎 value of 52. This similarity in solutions occurred despite the bottleneck machine being on different devices. The identical batch size solutions, influenced by rounding, and 188 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 the consistent schedule order contributed to this outcome. Figure 5. Gantt chart of batch scheduling solutions for parameters: 𝑛 = 5 unit, 𝑑 = 25 hours, 𝑡1 = 2 hours/unit, 𝑡2 = 1 hours/unit, 𝑠1 = 2 hours/𝑏𝑎𝑡𝑐ℎ, 𝑠2 = 3 hours/𝑏𝑎𝑡𝑐ℎ Both Case 1 and Case 2 allowed for solutions with continuous batch sizes. In Case 1, where the bottleneck machine was on Machine 2 (𝐾 = 2), the algorithm produced solutions with 𝑁 = 3, 𝑄[1} = 2.1667, 𝑄[2] = 1.6667, and 𝑄[3] = 1.1667, resulting in an actual flow time of 𝐹 𝑎 = 51.06. Meanwhile, in Case 2, where the bottleneck machine was on Machine 1 (𝐾 = 1), the algorithm generated solutions with N=3, 𝑄[1] = 1.6667, 𝑄[2] = 2.6667, and 𝑄[3] = 0.1667, leading to an 𝐹 𝑎 value of 52.78. The processing results from the proposed algorithm for both cases, including integer and continuous batch size solutions, showed the sensitivity of actual flow time to changes in one or more decision variable values. This sensitivity was evident when transitioning from continuous solutions to integer solutions (as observed in Case 1 and Case 2), showing that alterations in batch size and sequence could impact actual flow time, even when the number of batches remained constant. Discussions In this section, a comparative analysis is conducted between the performance of the proposed algorithm and the procedure outlined by Halim [23]. The objective is to assess how the proposed algorithm performs in comparison to existing procedures. The distinctions between the Halim procedure and the proposed algorithm are as follows. Halim and Ohta [32] introduced a procedure to address flow shop problem to minimize the total actual flow time. Halim procedure operates by determining the optimal solution through a comparison of solutions obtained from each flow shop machine (𝑚 = 1 and 𝑚 = 2). The search for a solution on a machine includes iteratively obtaining values for 𝑁 and 𝑄[𝑖] , 𝑖 = 1, … , 𝑁. It starts at 𝑁 = 1 and concludes when 𝑁 reaches 𝑁𝑚𝑎𝑥 or when the solution in an iteration is not superior to the previous recursion. In each 𝑁 iteration, the best sequence is determined by interchanging batch sizes using the pairwise interchange (PI) method. The outcome on a machine is then compared with the remedy on the other device, and the optimal resolution is identified as the algorithmic solution. Proposed Algorithm. The algorithm is devised by identifying the bottleneck machine on flow shop device, and the solution from the number of batches and batch size serves as the scheduling basis for others. Similar to Halim procedure, the search for the bottleneck machine solution commences iteratively from 𝑁 = 1 to 𝑁 = 𝑁𝑚𝑎𝑥 , or stops when the resolution in the iteration is not superior to the previous recursion. Batch order at each iteration is determined based on Lemma 2 and 3, eventually establishing the best resolution as the algorithmic solution. Consequently, the proposed algorithm features more concise steps compared to the procedure of Halim et al. [23]. Two algorithms are executed using MATLAB R2014A application, and the outcomes are being reported using an Intel® i7® 860 processor at 2.80 GHz (4 cores, eight threads) and 8 GB of RAM. Testing is conducted for two categories of problems, namely (1) where the machine processing time is greater than the setup time, and (2) where the machine processing time is smaller than the setup time. For the first category, the machine processing time data is randomly generated between the numbers 3 and 5, and the setup duration is produced between 0.5 and 1. In the second category, the machine processing time data is randomly formulated between 2 and 4, while the setup duration is divided between 6 and 8. The number of requests is generated between 12 189 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 and 60, and the deadline is produced between 600 and 900 to ensure optimal algorithm performance. Table 1. Example of algorithm comparison test results for input data (𝑛 = 13, 𝑑 = 606, 𝑡1 = 2, 𝑡2 = 3, 𝑠1 = 6.8764, 𝑡2 = 7.4702 ) 𝐾 2 2 Algorithm Proposed algorithm Halim Procedure Proposed algorithm Winner percentage Effectiveness (%) Time-saving ratio 𝑁 5 3 𝑄[𝑖], 𝑖 = 1, . . , 𝑁 4.7343, 3.6672, 2.6000, 1.5328, 0.4657 6.8234, 4.3333, 1.8433 𝐹𝑎 526.68 558.99 Time lapsed 0.158967 0.239596 =100% x 1/1 = 100% =100% x {(558.99 -526.68)/526.68} = 6% =0.158967: 0.239596 (1: 2) The simulation is carried out using 1000 cases for each category. The test results are evaluated by examining the number of winners, the percentage increase in effectiveness, and the ratio of computing time savings. Examples of comparison results are shown in Table 1, while Table 2 provides a summary of the comparison results for all cases. Table 2. Recapitulation of comparative testing results of the Proposed Algorithm versus Halim Procedure (Testing data of 1000 cases for each category) First category (t1 , t 2 > s1 , s2 ) Total actual flow time Mean Standard deviation Max Min Winner percentage (1000 cases) Draw percentage Effectiveness (%) Time computation Mean Standard deviation Max Min Time-saving ratio Second category (t1 , t 2 ≤ s1 , s2 ) Total actual flow time Mean Standard deviation Max Min Winner percentage Draw percentage Effectiveness (%) Time computation Mean Standard deviation Max Min Time-saving ratio Proposed algorithm Halim procedure 4035.231 2635.345 10496.51 377.8 67.2 % 23.8% 1.44% 4097.270 2663.331 10741.89 384.6 9% 23.8% 0.045 0.027209 0.216892 0.007265 1 0.334 0.227814 1.677439 0.030755 8 4332.411 2767.301 11415.72 501.88 69.6% 30.2% 4.34% 4520.584 2868.815 12364.33 538.72 0.2% 30.2% 0.009 0.006203 0.160918 0.001159 1 0.013 0.009355 0.229302 0.003007 2 Table 1 shows the outcomes of both the proposed and Halim procedure, along with examples implying the comparative analysis calculations between the two procedures. The proposed algorithm in this case identifies the bottleneck machine (𝐾) as Machine 2, with (𝑁) equal to 5 and a total actual flow time (𝐹 𝑎 ) of 526.68, achieved in 0.158967 seconds. Meanwhile, Halim procedure designates 𝐾 𝑎𝑠 2, 𝑁 𝑎𝑠 3, 𝐹 𝑎 𝑎𝑠 558.99, and a computing time of 0.239596 seconds. A comparative analysis shows the proposed algorithm as the winner in this instance, showing 6% effectiveness and a computing time efficiency ratio twice as short. Table 2 presents the results of the comparative analysis across distinct categories. Examining the experimental outcomes for both categories shows that the proposed algorithm consistently yields a shorter total actual flow 190 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 time compared to Halim procedure. In the first category, the proposed algorithm prevailed in 672 instances (67.2%), drew 238 times (23.8%), and lost nine times (2%) against Halim procedure. It showed a 1.44% enhancement in solution effectiveness with a computing time efficiency ratio eight times shorter. However, in the second category, the proposed algorithm secured victory 699 times (69.9%), achieved a draw in 302 instances (30.2%), and encountered defeat twice (2%) when compared to Halim procedure [22]. The proposed algorithm showed a 4.34% improvement in solution effectiveness with a computing time efficiency ratio twice as short. The results affirm the efficacy of the proposed algorithm in satisfactorily addressing two-machine flow shop problem. Conclusion In conclusion, this study explored batch scheduling model in a two-machine flow shop, where the process flow moved from Machine 1 to Machine 2, with the aim of minimizing the total actual flow time. In comparison to previous research [23], the analysis expanded on existing knowledge by, (1) establishing rules for using the bottleneck machine as reference points to determine the number and size of batches, (2) devising significant methods to ascertain the number of batches and sizes, (3) implementing the Johnson algorithm for batch scheduling, and (4) proposing an algorithm to address batch scheduling problems. Further development was needed to improve performance and expand the applicability of this study to M machine flow shop problems and more complex scheduling scenarios, including considerations of machine availability. Acknowledgment The authors are grateful to the editors and referees for the valuable comments and suggestions. This study received support from the Industrial Engineering Department of Jenderal Achmad Yani University (UNJANI) Bandung and the Professional Education of Engineer’s Department of Atma Jaya Indonesian Catholic University (UNIKA) Jakarta. References [1] A. Allahverd, “A survey of scheduling problems with uncertain interval/bounded processing/setup times,” Journal of Project Management, vol. 7, no. 4, pp. 255–264, 2022, doi: 10.5267/j.jpm.2022.3.003. [2] A. Allahverdi, “A survey of scheduling problems with no-wait in process,” European Journal of Operational Research, vol. 255, no. 3, pp. 665–686, 2016, doi: 10.1016/j.ejor.2016.05.036. [3] A. Allahverdi, C. T. Ng, T. C. E. Cheng, and M. Y. Kovalyov, “A survey of scheduling problems with setup times or costs,” European Journal of Operational Research, vol. 187, no. 3, pp. 985–1032, 2008, doi: 10.1016/j.ejor.2006.06.060. [4] B. Çaliş and S. Bulkan, “A research survey: review of AI solution strategies of job shop scheduling problem,” Journal of Intelligent Manufacturing, vol. 26, no. 5, pp. 961–973, 2015, doi: 10.1007/s10845-013-0837-8. [5] J. W. Fowler, and L. Mönch, “A survey of scheduling with parallel batch (p-batch) processing,” European Journal of Operational Research, vol. 298, no. 1, pp. 1–24, 2022, doi: 10.1016/j.ejor.2021.06.012. [6] S. Hartmann, and D. Briskorn, “An updated survey of variants and extensions of the resource-constrained project scheduling problem,” European Journal of Operational Research, vol. 297, no. 1, pp. 1–14, 2022, doi: 10.1016/j.ejor.2021.05.004. [7] B. M. T. Lin, “Fabrication scheduling on a single machine with due date constraints,” European Journal of Operational Research, vol. 136, no. 1, pp. 95–105, 2002, doi: 10.1016/S0377-2217(01)00036-4. [8] S. Reza Hejazi, and S. Saghafian, “Flowshop-scheduling problems with makespan criterion: A review,” International Journal of Production Research, vol. 43, no. 14, pp. 2895–2929, 2005, doi: 10.1080/00207540 50056417. [9] D. Shabtay, and G. Steiner, “A survey of scheduling with controllable processing times,” Discrete Applied Mathematics, vol. 155, no. 13, pp. 1643–1666, 2007, doi: 10.1016/j.dam.2007.02.003. [10] M. Sterna, “Late and early work scheduling: A survey,” Omega (United Kingdom), vol. 104, no. xxxx, 2021, doi: 10.1016/j.omega.2021.102453. [11] S. Suprayogi, and V. Valentine, “Teknik Relaksasi Lagrange untuk Penjadwalan Pekerjaan Majemuk dengan Penggunaan Sumberdaya Simultan,” Jurnal Teknik Industri: Jurnal Keilmuan dan Terapan Teknik Industri, UK. Petra, vol. 17, no. 2, pp. 71–80, Dec. 2015, doi: 10.9744/jti.17.2.71-80. [12] K. R. Baker, Introduction to Sequencing and Scheduling. New York: JOHN WILEY & SONS, INC, 1974. [13] S. M. Johnson, “Optimal two‐and three‐stage production schedules with setup times included,” Naval Research Logistics Quarterly, vol. 1, no. 1, pp. 61–68, 1954. 191 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 [14] H. G. Campbell, R. A. Dudek, and M. L. Smith, “A heuristic algorithm for the n job, m machine sequencing problem,” Management Science, vol. 16, no. 10, pp. B-630, 1970. [15] P. Brucker, B. Jurisch, and B. Sievers, “A branch and bound algorithm for the job-shop scheduling problem,” Discrete Applied Mathematics, vol. 49, no. 1–3, pp. 107–127, 1994, doi: 10.1016/0166-218X(94)90204-6. [16] R. Yusriski, R. Pardiyono, Zahedi, S. Rahmawati, and A. Ramdhani, “Dynamic flexible flow shop scheduling with theory of constraint and time window approach to minimize mean tardiness,” AIP Conference Proceedings, vol. 2510, no. 1, pp. 40026, Oct. 2023, doi: 10.1063/5.0128591. [17] C. Blum, and M. Sampels, “An ant colony optimization algorithm for shop scheduling problems,” Journal of Mathematical Modelling and Algorithms, vol. 3, no. 3, pp. 285–308, 2004, doi: 10.1023/B:JMMA.0000038 614.39977.6f. [18] T. Murata, H. Ishibuchi, and H. Tanaka, “Multiobjective genetic algorithm and its application to flowshop scheduling,” Computers and Industrial Engineering, vol. 30, pp. 957–968, 1996, doi: http://dx.doi.org/10.1016/03608352(96)00045-9. [19] E. Nowicki, and C. Smutnicki, “A fast tabu search algorithm for the permutation flow-shop problem,” European Journal of Operational Research, vol. 91, no. 1, pp. 160–175, 1996, doi: 10.1016/0377-2217(95)00037-2. [20] B. M. T. Lin, and T. C. E. Cheng, “Batch scheduling in the no-wait two-machine flowshop to minimize the makespan,” Computers & Operations Research, vol. 28, no. 7, pp. 613–624, 2001, doi: https://doi.org/ 10.1016/S0305-0548(99)00138-0. [21] M. Pranzo, “Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times,” European Journal of Operational Research, vol. 153, no. 3, pp. 581–592, 2004, doi: https://doi.org/10.1016/S0377-2217(03)00264-9. [22] L. Ben-Dati, G. Mosheiov, and D. Oron, “Batch scheduling on two-machine flowshop with machinedependent setup times,” in Advances in Operations Research, 2009, pp. 10. doi: 10.1155/2009/153910. [23] A. H. Halim, S. Miyazaki, and H. Ohta, “Batch-scheduling problems to minimize actual flow times of parts through the shop under JIT environment,” European Journal of Operational Research, vol. 72, no. 3, pp. 529–544, 1994, doi: 10.1016/0377-2217(94)90421-9. [24] D. Kurniawan, R. Yusriski, M. M. Isnaini, M. Anas, and A. H. Halim, “A flow shop batch scheduling model with part deterioration and operator learning-forgetting effects to minimize total actual flow time,” in Proceedings of the Second Asia Pacific International Conference on Industrial Engineering and Operations Management, 2021, pp. 644–655. [25] A. S. Indrapriyatna, S. Suprayogi, B. P. Iskandar, and A. H. Halim, “Model penjadwalan batch pada satu mesin yang mengalami deteriorasi untuk minimasi total biaya simpan dan biaya kualitas,” Jurnal Teknik Industri: Jurnal Keilmuan dan Terapan Teknik Industri, vol. 10, no. 1, pp. 26–37, Jul. 2008, doi: 10.9744/ jti.10.1.26-37. [26] R. Yusriski, Sukoyo, T. M. A. A. Samadhi, and A. H. Halim, “An integer batch scheduling model for a single machine with simultaneous learning and deterioration effects to minimize total actual flow time,” IOP Conference Series: Materials Science and Engineering, vol. 114, no. 1, 2016, doi: 10.1088/1757-899X/114/1/ 012073. [27] R. Yusriski, B. Astuti, D. Biksono, and T. A. Wardani, “A single machine multi-job integer batch scheduling problem with multi due date to minimize total actual flow time,” Decision Science Letters, vol. 10, no. 3, pp. 231–240, 2021, doi: 10.5267/j.dsl.2021.4.002. [28] R. Yusriski, S. Sukoyo, T. M. A. A. Samadhi, and A. H. Halim, “Integer batch scheduling problems for a single-machine with simultaneous effects of learning and forgetting to minimize total actual flow time,” International Journal of Industrial Engineering Computations, vol. 6, no. 3, pp. 365–378, 2015, doi: 10.5267/ j.ijiec.2015.2.005. [29] Zahedi, Rojali, and R. Yusriski, “Stepwise optimization for model of integrated batch production and maintenance scheduling for single item processed on flow shop with two machines in jit environment,” Procedia Computer Science, vol. 116, pp. 408–420, 2017, doi: 10.1016/j.procs.2017.10.081. [30] Zahedi, T. A. Samadhi, Suprayogi, and A. H. Halim, “Model integrasi penjadwalan produksi batch dan penjadwalan perawatan dengan kendala due date,” Jurnal Teknik Industri: Jurnal Keilmuan dan Terapan Teknik Industri, UK. Petra, vol. 16, no. 2, pp. 75–83, 2014, doi: 10.9744/jti.16.2.73-82. [31] Z. Zahedi, A. Salim, R. Yusriski, and H. Haris, “Optimization of an integrated batch production and maintenance scheduling on flow shop with two machines,” International Journal of Industrial Engineering Computations, vol. 10, no. 2, pp. 225–238, 2019, doi: 10.5267/j.ijiec.2018.7.001. [32] A. Hakim Halim, and H. Ohta, “Batch-scheduling problems through the flowshop with both receiving and delivery just in time,” International Journal of Production Research, vol. 31, no. 8, pp. 1943–1955, 1993, doi: 10.1080/00207549308956833. [33] R. Maulidya, Suprayogi, R. Wangsaputra, and A. H. Halim, “Batch scheduling for hybrid assembly 192 Yusriski et al./ A Two-Machine Flow Shop Batch Scheduling Model / JTI, Vol. 25, No. 2., December 2023, pp. 179-194 [34] [35] [36] [37] [38] [39] [40] [41] differentiation flow shop to minimize total actual flow time,” IOP Conference Series: Materials Science and Engineering, vol. 319, no. 1, 2018, doi: 10.1088/1757-899X/319/1/012042. P. P. Suryadhini, S. Sukoyo, S. Suprayogi, and A. H. Halim, “A batch scheduling model for a three-stage flow shop with job and batch processors considering a sampling inspection to minimize expected total actual flow time,” Journal of Industrial Engineering and Management, vol. 14, no. 3, pp. 520–537, 2021, doi: 10.3926/JIEM.3438. H. Triha, A. S. Indrapriyatna, J. Jonrinaldi, and B. Yuliandra, “Algoritma penentuan ukuran batch integer pada penjadwalan flowshop satu mesin,” Jurnal Optimasi Sistem Industri, vol. 15, no. 1, p. 1, 2016, doi: 10.25077/josi.v15.n1.p1-15.2016. R. Yusriski, B. Astuti, M. Ilham, and Zahedi, “Integrated batch production and multiple preventive maintenance scheduling on a single machine to minimize total actual flow time,” IOP Conference Series: Materials Science and Engineering, vol. 598, no. 1, 2019, doi: 10.1088/1757-899X/598/1/012083. R. Yusriski, B. Astuti, Sukoyo, T. M. A. A. Samadhi, and A. H. Halim, “Integer batch scheduling problems for a single-machine to minimize total actual flow time,” Procedia Manufacturing, vol. 2, no. February, pp. 118–123, 2015, doi: 10.1016/j.promfg.2015.07.021. A. Ageev, “Approximating the 2-machine flow shop problem with exact delays taking two values,” Journal of Global Optimization, vol. 76, no. 3, pp. 491–497, 2020, doi: 10.1007/s10898-019-00775-0. B. C. Choi, and M. J. Park, “Correction to: Two-machine flow shop scheduling with convex resource consumption functions,” Optimization Letters, vol. 17, no. 5, pp. 1261–1262, 2023, doi: 10.1007/s11590-023-01982-1. S. A. Mansouri, E. Aktas, and U. Besikci, “Green scheduling of a two-machine flowshop: Trade-off between makespan and energy consumption,” European Journal of Operational Research, vol. 248, no. 3, pp. 772– 788, 2016, doi: https://doi.org/10.1016/j.ejor.2015.08.064. M.-J. Park, B.-C. Choi, Y. Min, and K. M. Kim, “Two-machine ordered flow shop scheduling with generalized due dates,” Asia-Pacific Journal of Operational Research, vol. 37, no. 1, pp. 1–16, 2020, [Online]. Available: https://api.semanticscholar.org/CorpusID:202126506 193