1. Introduction
The concept of pull production was introduced long ago, and numerous related studies have been conducted since then. However, most existing approaches assume either a linear production line or a single-shop environment where all jobs follow identical routing sequences [
1,
2,
3,
4]. Their methods focus on coordinating production between consecutive stages. For example, the market demand triggers the release of jobs from the final operation, which in turn pulls jobs from its immediate predecessor. This pull process continues upstream until the first operation draws in the raw materials.
In real-world production environments, multiple production shops (or independent production stages) are often connected in series [
5]. Based on our investigation of many manufacturing factories in Taiwan and Japan, a common issue exists: even when a production shop is optimized for a specific objective, this optimization does not necessarily contribute to improving the performance of the entire production chain. For example, minimizing the total completion time of all jobs (i.e., makespan) in one shop may result in the problem of being unable to transfer those jobs to the downstream shop, because the downstream shop might still be busy and unable to accept additional jobs due to limited capacity. This mismatch can lead to an accumulation of completed jobs between shops, increasing inventory levels and costs for storage and management. Previous research findings also suggested that there is a clear tradeoff between minimizing the makespan and just-in-time (JIT) production [
6]. Conversely, when the pull concept is applied to optimize the whole production chain, it becomes challenging to control the production speed of each individual shop so that it aligns with the intake rate of the next shop in the sequence.
This study addresses this gap by proposing a new pull-based control framework specifically designed for a flexible job shop (FJS) constrained by a downstream shop with limited intake capacity. Unlike prior pull and hybrid systems, the proposed approach integrates detailed job scheduling within the FJS with due-date assignment mechanisms that synchronize its output pace to the downstream shop’s intake rate. Through this integration, our method not only optimizes the internal efficiency of the FJS but also ensures smooth and capacity-aligned flow across production shops.
The proposed approach is based on a real factory case in Japan, where one of the production shops operates in an FJS environment. In such a complex production environment, jobs follow diverse processing routes and revisit certain machines, making traditional pull control between individual machines infeasible. Moreover, the shop faces the problem of unsmooth job flows to the downstream shop, where some operations are strictly limited in speed and capacity. Though the case might be specific, the underlying structure of the problem—an FJS upstream constrained by limited intake capacity of a downstream shop—is not rare in various industries. Examples may include food processing, pharmaceuticals, and semiconductor manufacturing [
7,
8,
9,
10], where upstream production must be tightly coordinated with bottleneck operations or limited-capacity finishing stages.
Existing studies on FJS problems focus on one single shop and mostly aim at objectives such as minimizing the makespan, flow time, tardiness [
11,
12], processing costs [
13], and machine idle time [
14]. They assign due dates by using benchmark or shop floor data. Some studies propose combinations of dispatching rules [
11,
12] and optimization algorithms such as Artificial Bee Colony [
13] and deep Q network [
14] to cope with dynamics including new job arrivals and machine failures, but none of them take into consideration the needs or limitations of a downstream shop. To make up this void and help a real factory we visited improve production performance, this study proposes a solution aiming at controlling an FJS’s production speed to align with the limited intake rate of its downstream production shop.
The FJS in the factory consists of multiple stations through which jobs go in predefined sequences. One of the stations has multiple workers performing the same work independently, while each of the other stations contains one machine. The worker station is frequently revisited by jobs, whereas the machine stations are accessed less often. However, many worker operations take only one-tenth as much time as a machine operation. Jobs arrive at the shop once per day in a batch. Transportation time between stations is considered negligible.
Figure 1 illustrates the FJS environment and provides an example of predefined job routings. In the figure, the number beside the letter “O” on each job’s routing indicates the job’s
ith operation. For example, job 1’s first operation is performed in station 1, second operation is performed in station 2, and third, fourth, and fifth operations are performed in station S.
To ensure a smooth job flow between this production shop and the subsequent one, this study proposes controlling the completion times of jobs based on the intake rate of the successor shop. Each job is assigned a due date
, which is determined based on the successor shop’s intake rate. Let
denote job
j’s completion time, then if a job is completed earlier than
, its earliness is defined as
; if it is completed later, its tardiness is defined as
. The objective is to minimize the total earliness and tardiness of all jobs. For evaluation, the average earliness and tardiness of all jobs are used:
In Equation (
1),
J represents the number of jobs received in one day. While the objective function allows a job to be completed after its due date
, the factory prefers that all jobs be completed on or before their due dates. Therefore, the proposed job scheduling method prioritizes completing jobs early rather than late. The following assumptions are made in this study:
- (1)
The processing of a job is non-preemptive.
- (2)
Machines do not fail.
- (3)
The job waiting buffer at each station is unlimited.
The main contributions of this study include modeling a real-world FJS where both machines and workers are required to perform operations, and proposing methods for achieving JIT production in the modeled shop. The methods extend the pull-based production concept to the complex FJS-downstream settings by developing algorithms that (1) assign job due dates based on scheduling and downstream constraints, (2) control the production pace of the FJS to match the downstream intake rate, and (3) maintain internal efficiency within the FJS while ensuring synchronized flow across shops.
The remainder of this paper is organized as follows: the proposed model and methods are detailed in
Section 2, they are evaluated through computer simulations and analysis in
Section 3, and the findings are summarized and directions for future research are discussed in
Section 4.
2. Methodology
| Notation | |
| m | index of machine |
| M | number of machine stations |
| jobs that go through the machine requiring rescheduling |
| jobs going through machine m |
| processing time of job j before it arrives at machine m |
| completion time of job j on machine m |
| j | index of job |
| processing time of job j on machine m |
| machines requiring rescheduling |
| earliest completion time of job j |
| interval between two consecutive due dates |
| H | hours for which the schedule is made |
| w | number of workers at the worker station |
| total processing time of job j at the worker station |
| the ith worker |
| b | total idle time of workers before |
| idle time of the ith worker after the due date of his previously assigned job |
This study proposes a scheduling and production control method for the FJS production shop described. The method includes two stages: an offline scheduling stage and an online processing control stage. The offline stage schedules jobs that go through the machine stations, assigns a due date to each job based on the intake rate of the downstream production shop, and determines the minimum number of workers required to complete all the jobs by their respective due dates. The online stage determines the processing sequence of the waiting jobs at the worker station and controls the start time of processing the jobs at their final operations.
The advantage of this semi-offline, semi-online approach, compared to methods that rely entirely on offline solutions, is its low computational cost, which enables faster calculation speed and makes it suitable for solving large-scale problems. All the algorithms presented are original heuristics, rather than adaptations of existing methods.
The first step of the offline scheduling stage is to schedule the jobs that go through the machine stations. This process is illustrated in the pseudocode Algorithm 1. The goal is to ensure that jobs going through the same machine arrive one after another in a sequence so that no job has to wait long for the machine. This effectively eliminates the possibility of long waiting times at any machine station, because a machine operation takes much longer time than a worker operation.
In Algorithm 1, line 6 gets the jobs that need to go through a machine. This step ensures that only the machine (bottleneck) operations are included in the scheduling. Line 8 sorts the jobs in increasing order of their processing times before they arrive at the machine. This step provides a possible arrival sequence of the jobs at the machine. Lines 14–20 compute for each of these jobs its expected completion time by the machine if the machine processes the jobs in the order obtained in line 8. When a job assigned to the current machine also has operations on another machine that has already been scheduled, conflicts may arise if the new completion time violates the precedence of that downstream machine. In such a case, the affected jobs are rescheduled to ensure feasibility and preserve the processing order across machines. This feedback step is described by lines 2–4, 10–13 and 21–28. It enables adjustment of the schedule whenever the sequencing on one machine impacts previously scheduled machines.
| Algorithm 1: Schedule the jobs that go through machines |
![Mathematics 13 03543 i001 Mathematics 13 03543 i001]() |
After the schedule is created, the due date of each job is assigned based on its completion time on the final machine it goes through as well as the intake rate of the subsequent production shop. This process is described in the pseudocode Algorithm 2, which first calculates the earliest completion time for each job (lines 1–3) and then sets the job’s due date according to the intake rate of the next production shop (lines 4–12). The intake rate represents how frequently the subsequent production system can accept new jobs and is expressed as a time interval between consecutive intakes. This procedure effectively spaces the job due dates in a way that matches the flow capacity of the next shop. If the upstream schedule produces jobs faster than the downstream intake allows, the due dates will automatically be extended to maintain synchronization.
The purpose of this algorithm is to ensure smooth job flow between multiple shops and to prevent overloading or idling in the downstream shop. By integrating scheduling information from Algorithm 1 with the downstream intake constraint, it minimizes waiting times and ensures a balanced and continuous flow throughout the multi-shop production system.
| Algorithm 2: Due date setting |
![Mathematics 13 03543 i002 Mathematics 13 03543 i002]() |
Finally, Algorithm 3 is proposed to determine the minimum number of workers required to execute the production schedule generated by Algorithm 1, thereby establishing a link between job scheduling and workforce planning. While Algorithms 1 and 2 focus on aligning production pace and due dates with downstream capacity, Algorithm 3 quantifies the human resource requirement necessary to implement that schedule at the lowest possible labor cost.
| Algorithm 3: Determine number of workers |
![Mathematics 13 03543 i003 Mathematics 13 03543 i003]() |
Algorithm 3 starts by reading the detailed job due dates obtained from Algorithm 2. Based on this information, it computes the number of workers by checking if their total working time would be longer than the total processing time of worker operations. The algorithm assumes that if a worker finishes a job early, any remaining idle time before the job’s due date can be used to process other operations, provided sufficient time is available to complete them. This represents an idealized utilization scenario, which may not be perfectly achievable in practice due to the non-preemptive nature of operations. Therefore, the worker count derived from this algorithm should be interpreted as the minimum feasible number rather than an exact operational requirement.
The three algorithms described above constitute the offline scheduling stage. After being combined with the online processing control stage, they form the complete workflow of the proposed method, as illustrated in
Figure 2.
In
Figure 2, the offline scheduling stage is shown with a grey background, whereas the online processing control stage appears on a white background. During the online stage, machines process jobs in their order of arrival. Workers process jobs in the sequence of slack time per remaining operation, with priority given to jobs at their final operations. If a final-operation job would be tardy, a worker will process it first. This ensures that final-operation jobs wait only when there is sufficient time before their due dates. By allowing waiting, earliness is reduced, and as the due date approaches, the worker processes the job immediately, minimizing tardiness.
3. Simulation and Analysis
The proposed method is simulated using the real factory data. The FJS environment consists of 21 stations, including 1 worker station and 20 machine stations. There are 6 workers in the worker station. Jobs arrive once per day and must be completed within 16 h. All completed jobs are delivered to a downstream production shop, which has a maximum intake rate of one job per 20 min.
Currently, jobs in the production shop are processed based on empirical rules. Although it is possible to complete all the jobs within the required 16-h timeframe, many of the jobs end up as intermediate inventory because they are completed much earlier and need to wait through many intervals before entering the downstream shop. However, the last few jobs are often completed just near the end of the 16-h timeframe.
The routing and processing time for each job are presented in
Table 1, where jobs are listed vertically and their operations horizontally. Each cell shows the station index and the corresponding processing time for an operation. Station 1 represents the worker station, while the remaining stations are machine stations.
According to the shop floor information described above, the parameters in the proposed method are set as follows: , , and . Using the proposed Algorithm 3, the minimum number of workers required for the provided data is determined to be .
The evaluation is made based on the following performance measures, with several due date-related dispatching rules—EDD (earliest due date), MDD (modified due date), and MST (minimum slack time)—selected for comparison. These rules are found to be among the most effective for completing jobs while minimizing either tardiness alone [
15,
16,
17] or the total of earliness and tardiness [
18,
19]. They are widely employed for performance comparison in studies on dynamic FJS problems [
14,
17,
20,
21].
Table 2 presents the simulation results, where PSM denotes the proposed scheduling method.
starts from 820 because it is the earliest possible completion time of the last job according to the results obtained by Algorithm 2. As shown in the table,
changes in line with
under PSM, indicating the effectiveness of the proposed online processing control stage, where jobs are ordered depending on both due dates and slack time per remaining operation.
It is observed that when the due date parameter = 900 (equivalent to 15 h), the proposed scheduling method successfully completes all jobs without any instances of tardiness. Furthermore, the average earliness in job completion times from their respective due dates is limited to just 7.6 min, indicating a high level of scheduling precision. From the perspective of JIT production, where minimizing both early and tardy job completions is critical, this outcome is notably effective. In comparison to alternative scheduling rules, the proposed method demonstrates clear superiority across multiple performance indicators, including the average earliness and tardiness (), the number of tardy jobs (), and the corresponding standard deviations. These improvements suggest that the proposed method not only ensures timeliness, reducing inventory space and management, but also provides higher efficiency and less labor costs.
Figure 3 illustrates the performance differences between the methods based on the measures
,
, and
. The proposed method achieves an
that is approximately one-fifth or less compared to the other methods, an
that is around one-tenth or lower, and a
that is even reduced to zero when all the jobs are completed within 15 h.
Table 3 shows the result of an analysis of variance (ANOVA) test. ANOVA is widely used to check if a method has a significant impact on a performance measure. The closer to 0 the
p-value is, the larger the significance is; and the closer to 1, the less the significance is. Usually, if the
p-value is less than 0.05, it is believed that the corresponding method has a significant impact on the performance measure. Since the results in
Table 3 all have a
p-value of 0.0000, they represent a significant improvement under the three performance measures by using the proposed method.
4. Conclusions
This study applies the pull production concept to a production chain consisting of several sequentially connected production shops. In this framework, the production speed of each individual shop is not set independently but is instead governed by the demand rate of the subsequent downstream shop. This demand-driven approach ensures that each shop aligns its output pace with the needs (required input pace) of the next, thereby promoting synchronization across the entire production chain. The determined production speeds are then used as key parameters in guiding both job scheduling and processing decisions within a shop.
The research focuses on a real-world FJS environment as a case study. For this setting, a comprehensive control method for scheduling and job processing is developed. The proposed method is divided into two stages: an offline stage and an online stage. The offline stage is responsible for determining the appropriate due dates for each job and calculating the minimum number of workers required in the shop. These outputs contribute to a smoother job flow between adjacent shops and facilitate the elimination of surplus labor resources, enhancing overall efficiency. Meanwhile, the online stage dynamically manages the execution phase of production. It determines the optimal job processing sequence in real time and decides the precise start times for processing jobs at their final operations. This ensures responsiveness to current shop-floor conditions such as delay in worker operations and helps maintain alignment with the upstream-downstream synchronization goals.
The proposed method might be integrated into Manufacturing Execution Systems (MESs) as a plug-in or decision-support module that receives live job status data. It can provide dynamic scheduling recommendations or real-time control feedback. It may also help update job processing schedules in ERP systems.
Although the method is specifically developed for FJS environments, several key principles embedded in the method such as prioritizing scheduling bottleneck stations, synchronizing production rates between adjacent shops, eliminating redundant workers, sequencing jobs in a rational and efficient order, and actively managing the completion timing of jobs nearing their final operations offer valuable insights for addressing a broader range of general scheduling and production control problems.
Future work would focus on generalizing the method to other contexts including multi-factory environments where similar production constraints exist, or further considering machine failures, to validate the method’s applicability.