Next Article in Journal
S-EPSO: A Socio-Emotional Particle Swarm Optimization Algorithm for Multimodal Search in Low-Dimensional Engineering Applications
Next Article in Special Issue
Testing the Effectiveness of Voxels for Structural Analysis
Previous Article in Journal
Cost-Effective Design, Content Management System Implementation and Artificial Intelligence Support of Greek Government AADE, myDATA Web Service for Generic Government Infrastructure, a Complete Analysis
Previous Article in Special Issue
Algorethics in Healthcare: Balancing Innovation and Integrity in AI Development
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Beyond Kanban: POLCA-Constrained Scheduling for Job Shops

Dipartimento di Ingegneria dell’Innovazione, Università del Salento, 73100 Lecce, Italy
*
Author to whom correspondence should be addressed.
Algorithms 2025, 18(6), 340; https://doi.org/10.3390/a18060340
Submission received: 25 April 2025 / Revised: 26 May 2025 / Accepted: 28 May 2025 / Published: 4 June 2025
(This article belongs to the Collection Feature Papers in Algorithms)

Abstract

This study investigates the integration of finite capacity scheduling with POLCA-based workload control in high-mix, low-volume production environments. We propose a proactive scheduling approach that embeds POLCA constraints into a constraint programming (CP) model, aiming to reconcile the trade-offs between utilization efficiency and system responsiveness. The proposed methodology is evaluated in two phases. First, a simplified job shop simulation compares a traditional reactive POLCA implementation with the CP-based proactive approach under varying system configurations, demonstrating significant reductions in lead times, tardiness, and deadlock occurrences. Second, an industrial case study in an aerospace manufacturing firm validates the practical applicability of the approach by retrospectively comparing the CP model against an existing commercial scheduler. The results underscore that the integrated framework not only enhances scheduling performance through improved workload control but also provides a more stable operational environment.

1. Introduction

The concept of the Intelligent Factory describes a highly digitalized and interconnected business model where industrial processes generate a Digital Twin, serving as a real-time simulation and optimization environment. This transformation necessitates a technological shift, including the adoption of Intelligent Decision Support Systems (IDSSs), which process large volumes of data to enhance decision-making through mathematical algorithms. Additionally, Advanced Production Scheduling (APS) and Finite Capacity Scheduling (FCS) software are becoming increasingly integrated with Enterprise Resource Planning (ERP) systems to provide real-time insights into workcenter utilization and job status, enabling more responsive production planning.
Despite these advancements, the implementation of an Intelligent Factory often prioritizes heavy capital investments in advanced machinery and cyber-physical systems, alongside significant efforts to integrate them with existing operations. Consequently, managers strive for maximum utilization to achieve the fastest return on investment. However, Make-to-Order (MTO) production systems face increasing market pressure for agility and rapid response times, conflicting with the operational focus on high utilization.
From a queuing theory perspective, Kingman’s equation demonstrates that excessive utilization leads to disproportionately longer lead times and reduced responsiveness to demand fluctuations. This effect is particularly critical in high-mix, low-volume (HMLV) job shops, where complex job routings and high workcenter utilization levels can make FCS-based scheduling less effective, as it prioritizes efficiency at the cost of flexibility for urgent orders.
To address these challenges, Production Control Systems (PCSs) in lean manufacturing environments employ feedback-driven mechanisms to regulate shop floor flow, reducing inventory levels and lead times—though often at the expense of top utilization rates. This study investigates the integration of finite capacity scheduling with POLCA (Paired-cell Overlapping Loops of Cards with Authorization) to bridge the gap between scheduling efficiency and responsiveness, thereby achieving a more balanced and adaptive production system. By integrating POLCA-based workload control into a mathematical framework, the objective is to demonstrate how incorporating production control constraints into formal models enhances decision-making and secures significant operational benefits, even in environments where established control methods are already in place.
The article is structured into two main experimental phases. The first phase evaluates POLCA’s impact within a controlled and simplified job shop environment, where the system’s performance is analyzed in comparison to a constraint programming model through simulation. The second phase extends this comparison to a real-world industrial case within the aerospace manufacturing sector, assessing how the integration of POLCA within a constraint-based optimization model affects multiple objective functions. Through this dual experimental approach, the study provides a comprehensive assessment of POLCA’s strengths and limitations, particularly in its capacity to handle multi-objective scheduling challenges.
By bridging the gap between theoretical scheduling models and practical production control systems, this research underscores the continued relevance of mathematical modeling in modern job shop environments, demonstrating its ability to enhance the effectiveness of existing workload control methods and unlock new performance gains in high-mix, low-volume production settings.

2. Literature Review

Over the years, several PCS strategies have emerged: Drum Buffer Rope, Kanban, CONWIP, COBACABANA, etc. This study deals with POLCA, which is a card-based PCS developed by Rajan Suri in 1998 for HMLV job shops organized into cells with multi-skilled workers [1]. This system establishes a loop between each pair of cells through which the so-called POLCA cards circulate, communicating upstream cells about capacity availability at the downstream cell. The card is a visual instrument that helps control the Work In Process (WIP) and guides workers in determining the next step of jobs routing. Compared to Kanban, POLCA is not item-specific, a feature that makes it suitable for HMLV systems [2]. Compared to CONWIP, jobs are authorized only if they can flow downstream without accumulating in the output buffer of the arriving cells. Compared to Drum Buffer Rope, POLCA can be used in job shops with shifting bottlenecks over time. Although COBACABANA is suitable for managing job shops with undirected routings and variable cycle times [3], the literature provides few contributions about real industrial cases [2,4].
The underlying mechanism is based on the principle of capacity reservation. Each loop has a limited number of cards assigned to jobs. A job can be authorized to be processed on a cell only if the following three conditions are met: (i) the corresponding part number has arrived in the input buffer of the cell; (ii) there is a card available for the loop formed with the subsequent cell required by the work cycle; (iii) the job’s authorization date has passed for that cell. The last condition explains why POLCA is defined as a hybrid push–pull mechanism. POLCA cards are not sufficient to ensure that cell capacity is utilized efficiently and that production aligns with real-time demand fluctuations. Therefore, the system requires a high-level MRP that calculates authorization dates for each cell in a job’s routing by working backward using cell lead times. Estimating the correct number of cards is a crucial aspect, because it determines the maximum level of WIP flowing between two cells in a fixed amount of time. In the literature, different approaches are employed: Little Law [5], mathematical programming models [6], and simulation-driven methods [7]. If each task requires a different amount of work, a minimum quantity is defined and called a quantum during the system design phase, serving as a unit of measure to determine the number of POLCA cards needed for authorization. The quantum represents the standardized minimum work quantity, which serves as the basis for sizing the control resources. The unit of measurement of workload can refer directly to the amount of material processed or to the working time. The systems that adopt the second option are called load-based (POLCA-LB) [8].
Ref. [9] provide the first comprehensive implementation roadmap for POLCA in HMLV systems. Their four-phase methodology–pre-POLCA assessment, loop design, system launch, and post implementation auditingn turns POLCA from theory into a workable practice. Evidence from three North-American plants shows up to 60% WIP reduction, shorter lead-times and significant improvements in on-time delivery, confirming the suitability of POLCA as a hybrid push-pull control strategy in MTO settings.
Recent empirical evidence further substantiates the industrial viability of POLCA integrated with Quick Response Manufacturing (QRM). Ref. [10] reports a full-scale implementation of a POLCA–QRM framework in a precision-parts job shop, achieving a 30–80% reduction in lead time and a commensurate decrease in WIP levels while simultaneously lowering profit–loss penalties to below 1% of sales. The study confirms the effectiveness of POLCA when embedded in an enterprise-wide QRM strategy, yet it relies on purely reactive control without an optimisation layer.
Several studies have investigated how POLCA compares to alternative production control systems, particularly in terms of throughput time, WIP levels, and the percentage of tardy jobs. While POLCA is designed to manage high-mix, low-volume (HMLV) production environments, its effectiveness relative to other systems, such as ATKS, GKS, and CONWIP, remains an active area of research. Some studies highlight its ability to regulate WIP effectively, while others suggest that its authorization mechanism may impose constraints on flow efficiency. A closer look at comparative analyses provides insights into where POLCA excels and where alternative systems might offer advantages. Ref. [11] compares three production control systems—ATKS, GKS, and POLCA—in a flexible flow shop environment, aiming to minimize total throughput time (TTT) and the percentage of tardy jobs. Using SIMIO simulation, the study evaluates different levels of control card availability and workcenter assignment rules. Results indicate that reducing control cards decreases shop floor throughput time (STT) by lowering WIP but increases TTT and tardy orders. Among the control systems, GKS performs best due to unrestricted order flow, while ATKS surpasses POLCA but lags slightly behind GKS. Moreover, the study finds that workcenter assignment using the least-loaded rule outperforms the minimum job number rule, better balancing workloads across workcenters. Ref. [12] investigates the impact of the authorization mechanism in POLCA by comparing it with a simplified variant, POLC, which removes job authorization and relies solely on earliest release date dispatching. Using ARENA simulation across 420 scenarios in two production structures (divergent and convergent flows), results show that POLC significantly outperforms POLCA in terms of total throughput time, percentage of tardy orders, and mean tardiness while maintaining lower WIP levels. Conversely, POLCA is more effective in reducing lateness variability. The study also reveals that high variability in processing times reduces the performance gap between the two systems, suggesting that neither is optimal in highly uncertain environments.
In addition to performance metrics such as throughput time and WIP levels, researchers have also focused on job release strategies, which are critical for synchronizing production flow. Since POLCA controls WIP by limiting the number of active jobs, the way in which jobs are released into the system significantly influences overall performance. Different strategies, such as centralized versus decentralized job release, affect synchronization across workstations and impact key metrics like throughput time and tardiness. Additionally, POLCA’s ability to manage both assembly and component manufacturing has been explored, further expanding its applicability. Ref. [13] compares centralized and decentralized job release strategies within POLCA systems, addressing synchronization challenges across workstations. The study employs discrete-event simulation in two configurations—pure flow-shop (PFS) and general flow-shop (GFS)—to assess throughput time, tardy orders, and lateness variability. Findings indicate that centralized job release, where jobs remain in a pre-shop pool until cards become available, outperforms decentralized release by reducing throughput time and improving tardiness metrics. Among dispatching rules, Modified Capacity Slack (MODCS) is shown to be the most effective in reducing tardy orders compared to Earliest Authorization Date (EAD) and First-Come-First-Serve (FCFS). However, the benefits of centralized release diminish in tightly synchronized PFS or GFS settings. Ref. [14] extends POLCA’s application beyond assembly operations to component manufacturing. Using ARENA-based discrete-event simulation, the study compares POLCA with Immediate Release (IMR) under varying WIP caps and quantum settings. Results confirm that as WIP caps increase, throughput time rises accordingly. Nonetheless, POLCA proves more effective than IMR in controlling tardy orders and stabilizing lead times, validating its applicability in multi-stage production systems.
While job release strategies contribute to POLCA’s efficiency, its robustness under conditions of uncertainty is another critical factor. Variability in processing times, demand fluctuations, and inventory stockouts can all challenge POLCA’s ability to maintain smooth production flow. Research has examined how different levels of variability influence POLCA’s performance, assessing whether alternative workload control mechanisms might provide greater resilience. In particular, studies have explored how stockouts affect WIP levels, tardiness, and overall system stability, offering valuable insights into POLCA’s adaptability in dynamic environments. Ref. [15] investigates the effects of inventory stockouts on POLCA, LB-POLCA, and Workload Control (WLC) in an Assemble-to-Order (ATO) system. Using SIMIO-based simulations, results show that stockouts negatively impact performance but do not alter the ranking of control systems: WLC consistently outperforms LB-POLCA, which in turn surpasses POLCA. Key performance metrics such as throughput, tardiness, and the percentage of late jobs indicate that WLC remains the most resilient system under stockout conditions. Ref. [12] (previously mentioned) also examines the impact of processing time variability on POLCA, concluding that high uncertainty weakens POLCA’s advantages over alternative control mechanisms. The study highlights that increasing the number of POLCA cards raises WIP and throughput times, with diminishing benefits as variability increases.
A systematic review by [16] provides further context for these comparative findings. By analyzing 44 simulation-based studies on production control in make-to-order environments, the authors identify the configuration of the control loop as the main factor driving differences in system performance. They also emphasize the significant impact of order release mechanisms, workload aggregation, and estimation methods. Importantly, their framework links these factors to specific shop-floor characteristics—such as routing variability and bottleneck dominance—offering practical guidance for selecting the most appropriate control strategy. In particular, their analysis highlights that card-based systems like POLCA tend to be more suitable in environments with high routing variability or shifting constraints, supporting the ongoing interest in hybrid and adaptive production control policies.
As research continues to refine POLCA’s mechanisms and applications, new approaches are emerging that leverage Industry 4.0 technologies to enhance production control. The advent of digitalized, non-hierarchical systems introduces new possibilities for improving flexibility and responsiveness in job shop environments. By integrating real-time decision-making into release, authorization, and dispatching processes, these advancements aim to overcome some of POLCA’s inherent limitations. The latest studies explore whether such innovations can offer superior WIP control, particularly in highly constrained or unpredictable manufacturing settings. Ref. [17] introduces DRACO, a novel, non-hierarchical WIP control system designed for Make-to-Order (MTO) production. Leveraging Industry 4.0 technologies, DRACO integrates release, authorization, and dispatching decisions simultaneously. Simulations in a six-workstation job shop demonstrate that DRACO significantly reduces WIP and lead times, particularly under tight production constraints, outperforming traditional hierarchical systems such as POLCA and CONWIP.
The existing literature provides valuable insights into POLCA’s strengths and limitations. Studies confirm that while POLCA effectively controls WIP and stabilizes lead times, its authorization mechanism may restrict overall performance in highly variable environments. Moreover, centralized job release strategies improve synchronization, but their benefits depend on shop floor conditions. Emerging research suggests that Industry 4.0 technologies could offer superior WIP control by integrating real-time decision-making into production scheduling. However, a clear gap remains in the integration of scheduling and control mechanisms for HMLV job shops. This study addresses that gap by investigating whether combining scheduling approaches with POLCA constraints can reduce lead times without compromising other key performance indicators.

3. POLCA and the Enhanced Contraint Programming: A Basic Case

3.1. Problem Description

In this section, we introduce the Basic Case, a simplified job shop environment designed to evaluate the integration of POLCA into a FCS framework. The objective is to compare a standard reactive POLCA system with a proactive scheduling approach that incorporates POLCA as a finite-capacity constraint. The job shop consists of m workcenters, each with a single processing resource, and n production orders. Job routings are randomly generated to introduce variability and accurately reflect the operational complexity inherent in HMLV production environments. Processing times are stochastic and follow a predefined distribution.
  • Baseline POLCA (Reactive Control): Jobs are released based on a high-level MRP, and job flow is controlled only by POLCA cards. Jobs queue in work centers and POLCA loops, with earliest due date (EDD) prioritization. The number of POLCA cards per loop is varied to assess its impact on WIP and lead time.
  • POLCA and FCS (Proactive Control): POLCA is embedded as a constraint in a constraint programming (CP) model, which pre-determines the start times of operations while respecting POLCA-imposed WIP limits. The scheduler optimizes job sequencing based on multiple performance objectives.
In both approaches, the number of POLCA cards is fixed at C for all workcenters. The experiment aims to determine whether a scheduling approach that integrates POLCA constraints improves performance in terms of lead time, tardiness, and WIP reduction compared to a purely reactive POLCA implementation. In the following subsections, we present the Constraint Programming model that enforces POLCA’s workload limits while scheduling, describe the Simulation model used to replicate the Basic Case dynamics and measure system performance, and finally outline the computational experiments conducted to compare the two approaches, highlighting key metrics such as lead time, tardiness, and WIP.

3.2. Modeling Assumptions

The environment analyzed in the Basic Case is modeled as a classical job shop with finite capacity and stochastic processing times. Each operation requires exclusive access to a single workcenter, with every workcenter modeled as a single-capacity, continuously available resource. Once the processing of a job on a given machine has started, preemption is not permitted: operations are executed non-preemptively and must run to completion without interruption. All workcenters are assumed to have identical processing capabilities; in other words, the processing speed is homogeneous, and the distinction between resources arises solely from their assignment in the job routings. Nevertheless, each workcenter can execute only one operation at a time, and alternative routing or parallel servers are not considered.
Job routings are predetermined at release and must respect strict technological precedence constraints, prohibiting overtaking or re-sequencing of operations within the same job. Each job follows a fixed sequence of operations defined by its specific routing vector, which establishes the ordered list of required workcenters. Sequence-independent set-up times, if present, are included in the reported processing times, ensuring that no additional idle periods are introduced between consecutive jobs at the same workcenter.
Regarding job prioritization, jobs awaiting service at the same workcenter are dispatched according to an Earliest Due Date (EDD) policy; ties between jobs with the same due date are broken according to a First-In-First-Out (FIFO) rule. The model assumes that once jobs enter the system, no order cancellation or reneging is allowed: every released order is processed through to completion.
The POLCA mechanism is introduced as the sole production control constraint: each POLCA loop is associated with a finite set of authorization cards, and no starvation cards are employed in the basic configuration. The number of cards per loop is constant and identical for all loops. This restriction ensures that the number of jobs authorized to move between workcenters at any given time is strictly bounded, directly linking the capacity control policy to the structure of the job routings.
Although the algorithm in Figure 1 supports a rolling-schedule paradigm—where the optimizer can be re-invoked whenever shop-floor deviations exceed a threshold Δ —for the Basic Case analyzed in Section 3, a single static schedule is generated at time zero and retained for the whole simulation horizon. Consequently, the rescheduling branch of the diagram is inactive in the numerical experiments, ensuring consistency with the assumptions of the computational study.

3.3. The Proposed Methodology

The methodology consists of two phases: an offline scheduling phase (detailed in Section 3.3.1) and a discrete-event simulation phase (described in Section 3.3.2). Initially, all production orders are generated in a batch process using a custom instance generator. In this process, order arrival times, due dates, and the associated job sequences are sampled from stochastic distributions. The Constraint Programming model, detailed in Section 3.3.1, is subsequently employed to schedule the entire set of orders under the assumption of full advance knowledge. This formulation explicitly integrates POLCA constraints by imposing a limit on the number of control cards available for any inter-workcenter transition. Once computed, the start and finish times of operations are stored for subsequent reference during the simulation phase.
In the second phase, a discrete-event simulation model, described in Section 3.3.2, is executed. In this simulation, orders are released into the system dynamically according to their arrival times. The simulation model interprets the schedule in two distinct modes. In the “as planned” mode, jobs adhere strictly to the precomputed start times, while in the dynamic mode, scheduling decisions are made in real time based on resource availability. This dual-mode approach facilitates a comprehensive performance evaluation, capturing both the benefits of proactive scheduling and the challenges arising from real-time variability.
Although the methodology can conceptually support periodic schedule updates in response to unexpected shop-floor events (rolling scheduling), the experiments conducted in this paper use a static scheduling approach, computing the schedule once at the beginning without further updates.
To clarify the operational logic of the two control approaches, Figure 1 presents an order-based flow-diagram that juxtaposes:
  • Reactive control (left branch): the standard POLCA mechanism driven by a high-level MRP, with jobs queued FIFO/EDD at each workcenter.
  • Proactive control (right branch): a finite-capacity schedule that respects POLCA card limits and can be periodically updated when shop-floor deviations become significant.
The diagram is expressed from the viewpoint of a single production order traversing its routing. An order can start the next operation only if the following three conditions hold:
  • the operation is authorized, meaning its release datetime from the Authorization List has been reached (this datetime is determined either by the MRP system in the reactive case or by the finite-capacity scheduler in the proactive case),
  • the POLCA card of the next loop is available and therefore taken,
  • the workcenter is free and the order is next in the queue according to the Authorization List.
After processing, the order releases the card of the previous loop, thereby freeing capacity upstream. Note that the diagram explicitly includes a feedback loop enabling rolling rescheduling in the proactive branch; however, this feedback mechanism remains inactive in the Basic Case experiments, where the schedule is computed once at time zero and never updated.

3.3.1. Constraint Programming Model

The constraint programming model is formulated to schedule jobs on workcenters while minimizing the total tardiness across all orders. Prior to presenting the model, Table 1 summarizes the notation employed in the formulation.
The CP model is constructed with the following objective and constraints:
Min StaticLex max i LengthOf ( ordItv i ) ( i ) Max Lead Time , i τ i ( ii ) Sum of Tardiness , i LengthOf ( ordItv i ) ( iii ) Sum of Lead Times
Subject to:
SizeOf ( jobItv i , j ) = p i , j , i N , j J i
Span ordItv i , { jobItv i , j : j J i } , i N
EndBeforeStart jobItv i , j , jobItv i , j + 1 , i N , j { 1 , , J i 1 }
StartOf ( ordItv i ) a i , i N
EndOf ( ordItv i ) d i + τ i , i N
NoOverlap { jobItv i , j : ( i , j ) O m } , m M
StartAtStart ( loopItv i , j , jobItv i , j 1 ) , i N , j 2 , , J i
EndAtEnd ( loopItv i , j , jobItv i , j ) , i N , j 2 , , J i
AlwaysIn ( i , j ) L m 1 , m 2 Pulse ( loopItv i , j , 1 ) , 0 , T , 0 , C , ( m 1 , m 2 ) M × M : m 1 m 2
Equation (1) defines the lexicographic multi-objective function, which minimizes sequentially (i) the maximum lead time across orders, (ii) the sum of tardiness, and (iii) the sum of lead times. Equation (4) ensures that, within each order, the start time of job j + 1 cannot precede the completion of job j. Equation (5) enforces that each order interval cannot start before its arrival time a i . Equation (3) ensures that the interval variable for each order i begins with the first scheduled job and ends with the last one. Equation (6) defines the tardiness τ i of each order as the non-negative difference between the completion time of the last job and the order’s due time d i . Equation (7) enforces that no two tasks assigned to the same workcenter m overlap in time, thereby guaranteeing the exclusive use of each workcenter. Equation (8) ensures that when the model is executed in the “late” mode, the POLCA card μ i , j 1 | μ i , j is engaged by order i at the start of job j 1 , i.e., at the latest possible moment. If the model is executed in the “early” mode and j 3 , the card is assigned as soon as the order completes the previous operation. In this case, Equation (8) is replaced with Equation (11).
StartAtEnd ( loopItv i , j , jobItv i , j 2 ) i N , j 3 , , J i
Finally, Equation (10) models the POLCA mechanism by limiting the number of active POLCA cards (represented by the pulse function) between any two workcenters m 1 and m 2 to a maximum of C. Here, each Pulse term returns a cumul function expression equal to 1 between the start and the end of the job interval variable, thereby counting the number of simultaneous active POLCA cards corresponding to the m 1 | m 2 loop. The model is implemented using IBM ILOG CP Optimizer. This solver efficiently manages interval variables, and global constraints such as NoOverlap, Span and AlwaysIn, enabling the rapid derivation of high-quality schedules under the imposed production and control constraints.

3.3.2. Simulation Model

The simulation model is implemented using the SimPy discrete-event simulation library and is designed to replicate the real-time operational dynamics of the production system under study. The model is encapsulated within a dedicated Simulation class, which is instantiated with a SimPy environment, a list of the available workcenters, a parameter representing the number of available cards for each POLCA loop, and a dataset containing the production orders along with their scheduling details as generated by the Constraint Programming model.
In the initialization phase of the Simulation class, each workcenter is represented as a SimPy PriorityResource with a capacity of one, ensuring that only a single job is processed on a given workcenter at any time. The workcenters are stored in a dictionary where the keys correspond to workcenter labels (e.g., “WC_1”, “WC_2”, etc.). In parallel, the POLCA mechanism is modeled by constructing a second dictionary where each key represents a unique ordered pair of distinct workcenters, concatenated into a string identifier (e.g., “WC_1|WC_2”). Each of these keys maps to a PriorityResource whose capacity is set to the available cards, thereby enforcing a finite limit on the number of concurrent inter-workcenter transitions. This design explicitly models the POLCA card constraint, where the number of cards available for any given transition directly influences the flow of jobs between workcenters.
The simulation model processes production orders in a dynamic manner. Orders are sorted based on their arrival times as specified in the dataset. For each order, the simulation waits for the appropriate interarrival time before instantiating an Order object. The Order object is responsible for managing the sequential execution of jobs, where each job must obtain access to its assigned workcenter and, when transitioning between workcenters, must secure the appropriate POLCA card. The process of securing a card is implemented by requesting access from the corresponding loop resource; if the request is granted, the card is assigned to the order, and a log entry is recorded. Conversely, upon the completion of the associated job, the card is released back to the loop resource. These card assignments and releases are carefully logged and monitored to capture the system’s behavior under the imposed POLCA constraints. In addition to processing orders, the Simulation class includes an observation process that continuously monitors and records the availability of both workcenter and POLCA card resources at each unit of simulation time. This monitoring is achieved by appending the current state of each resource to time-series lists, which are later exported for detailed performance analysis. Key performance indicators, such as the total number of orders completed, the number of tardy orders, aggregate tardiness, and detailed logs of card assignments and workcenter utilization, are tracked throughout the simulation run. The simulation supports two operational modes: “opt” and “sim”. In the “opt” mode, the simulation adheres to the start times and processing sequences provided by the precomputed schedule from the CP model. In the “sim” mode, jobs are dispatched based on real-time availability of resources and are queued according to the Earliest Due Date (EDD) rule. In this mode, the system continuously monitors workcenter availability and POLCA card status, dynamically adjusting the execution order of jobs in real time, in contrast to the predetermined sequence of the “as planned” mode. The simulation is executed over a predetermined time horizon 1 , , T , after which the collected performance metrics and logs are exported.
This integrated simulation framework, with its explicit modeling of workcenter capacities, POLCA card limitations, and dynamic order arrivals, provides a robust platform for evaluating the operational performance of the production system. The parameterization of the number of POLCA cards allows for sensitivity analyses on the impact of varying resource constraints, thereby offering insights into the trade-offs between system responsiveness and resource utilization in high-mix, low-volume production settings.

3.4. Computational Experiments

3.4.1. Instance Generation

The generation of production instances is a fundamental component of our experimental framework, ensuring that the simulation model accurately reflects the stochastic dynamics of the production environment. In our approach, key parameters—such as the number of workcenters M, the simulation horizon T, and the number of orders N—are explicitly defined. In particular, the number of orders is fixed to 200, and for each configuration with M { 6 , 9 , 12 } , 10 distinct instances are generated using different random seeds to ensure variability and reproducibility. At the outset, a list of workcenter identifiers is created, with labels WC 1 , , WC m corresponding to the configurations under study. The simulation time is initialized to zero, and for each order, the current time is recorded as its arrival time. An interarrival time is sampled from an exponential distribution with a mean value of μ a = 0.648 , (i.e., an arrival rate λ = 1 / μ a ); the simulation time is incremented accordingly to determine subsequent arrival times.
For each generated order, the number of jobs J i is randomly determined between 1 and m. A unique subset of workcenters is then selected without replacement to form the job routing for that order. Processing times for each job are sampled from a clipped Erlang-2 distribution (mean 1, upper limit 4) to capture realistic variability. The total processing time—obtained by summing the processing times of all jobs in an order—defines the order’s lead time, which, when added to the arrival time, yields the due time.
All pertinent details (arrival times, due times, workcenter assignments, processing times, etc.) are recorded in CSV format. This dataset is used as input for both the scheduling and simulation modules, thereby ensuring a consistent evaluation of performance across various test configurations.

3.4.2. Simulation Model Validation

The accuracy of the SimPy-based simulation model was verified through a two-step protocol. First, the implementation was tested on deterministic benchmark instances, where the “run as planned” simulation exactly reproduced the optimal schedule generated by the constraint programming model, with no deviations in job start or completion times.
Second, the model was exercised under varying POLCA card limits and routing configurations, and the resulting system dynamics (e.g., throughput, WIP, lead times) were found to align with theoretical expectations and prior literature on POLCA-controlled production systems. Additional targeted scenarios were implemented to verify specific behavioral properties, such as the correct emergence of deadlocks under minimal card settings with “late” card retrieval, and the expected linear scaling of average work-in-process with the number of POLCA cards, as predicted by Little’s Law.
These checks confirm that the simulation code faithfully represents the logic and constraints of the modeled environment. Further details and validation scripts are available upon request.

3.4.3. Computational Results

In this section, we present and analyze the computational outcomes obtained from the integrated scheduling and simulation experiments. The results discussed herein are derived from an extensive experimental campaign that examines the performance of our proposed framework under a variety of system configurations. Our analysis focuses on key performance metrics related to lead times, tardiness, and throughput, and it provides insights into the trade-offs between a proactive scheduling approach and a reactive, simulation-driven control strategy. The experimental campaign was conducted on instances containing 200 orders, with job routings generated by randomly selecting a number of operations between 1 and the number of available workcenters M. The tests were performed on configurations with M 6 , 9 , 12 workcenters, and for each configuration, 10 distinct instances were generated using different random seeds. For every instance, the CP model was executed under varying settings for the number of POLCA cards, denoted by C 1 , 2 , 3 , and under two alternative card retrieval mechanism, also named optimization modes, referred to as “early” and “late”. Each CP solution was then evaluated by means of a discrete-event simulation executed in two alternative simulation modes: “opt” and “sim”. All simulation runs were executed over a fixed time horizon of 100,000 time units, while the CP model employed a multi-objective lexicographic function that minimizes the maximum lead time, the total tardiness, and the total lead time, subject to a time limit of 1500 s. Notably, all simulations and CP runs were executed using an identical number of POLCA cards per workcenter.
During the simulations, deadlocks were carefully monitored. Deadlocks occur when a circular waiting situation arises among jobs and POLCA cards, leading to scenarios in which certain orders never complete because they remain permanently blocked within the system. For example, a workcenter may be unable to proceed without acquiring a specific POLCA card, yet all such cards may already be held by downstream workcenters that, in turn, are waiting for cards. Although such deadlocks are rare in practical applications, their occurrence was systematically tracked by identifying orders that lack a recorded finish time in the order data sheet. The average number of deadlocked orders was subsequently aggregated according to the card retrieval mode, number of workcenters, POLCA card settings, and simulation mode. It is important to note that, in addition to the standard POLCA cards, starvation cards are sometimes employed in production control systems to mitigate the risk of deadlocks. Starvation cards serve as a mechanism to break potential circular waiting by preemptively releasing resources, thereby enabling blocked jobs to proceed and preventing indefinite waiting. However, in the experimental tests reported herein, no starvation cards were utilized. This deliberate omission means that no additional measures were taken to prevent deadlocks, ensuring that any deadlock occurrence was a direct consequence of the inherent system dynamics under the specified configurations. As a result, instances with deadlocked orders were identified and excluded from subsequent analyses, thereby ensuring that the key performance indicators (KPIs) reflect only the intended operational dynamics without any artificial deadlock resolution interventions. Table 2 succinctly summarizes the incidence of deadlocks observed across different experimental configurations. The data indicate that when only a single POLCA card ( C = 1 ) is available, the reactive simulation mode “sim” consistently exhibits deadlocks in configurations with 6 and 9 workcenters, with a 100% occurrence rate. In the case of 12 workcenters, the incidence drops to 50% under the same resource limitation. Conversely, when employing two or three POLCA cards ( C 2 , 3 ), no deadlocks were observed in either simulation mode. These results underscore the critical importance of adequate POLCA card availability in mitigating deadlock risks, particularly when employing reactive simulation strategies. Notably, in the proactive simulation mode “opt”, where job start times are strictly set by the CP model, no deadlocks occur. This is because the CP model must produce a valid schedule for all orders that avoids any circular waiting. As a result, the CP model naturally provides a deadlock-free solution, eliminating the need for additional measures like starvation cards. This demonstrates a clear benefit of integrating POLCA with finite capacity scheduling: by properly controlling the timing of POLCA card retrieval, deadlocks can be prevented, thus improving the overall robustness of the system. In addition to the deadlock analysis, a comprehensive set of descriptive statistics was computed for each experimental group to assess system performance. For each order, total tardiness was calculated as the sum of delays beyond the order’s due date, and summary statistics were derived including the average tardiness, its standard deviation, as well as the minimum and maximum tardiness observed. The percentage of tardy orders was also computed, indicating the proportion of orders that missed their due dates. Furthermore, the total waiting time per order—aggregating the waiting periods for both machine availability and POLCA card availability—was recorded. The Shop Floor Throughput Time (STT) was measured as the time interval between the start of the first job and the finish of the last job within an order, with both average and maximum STT values reported. Finally, the Total Throughput Time (TTT), defined as the elapsed time from order arrival to the finish of the last job, was determined, again providing average and maximum values. These statistics, as summarized in Table 3, offer a detailed overview of the system’s operational performance under the various experimental conditions.
Table 3 presents the descriptive statistics for key performance indicators across the different experimental groups. In general, these statistics vary considerably with the number of workcenters, the POLCA card settings, and the simulation mode. For instance, configurations with a higher POLCA card count tend to yield lower average tardiness and reduced waiting times. Moreover, the proactive simulation mode “opt”, which enforces the start times provided by the CP model, generally exhibits more consistent and lower maximum tardiness and throughput times compared to the reactive simulation mode “sim”.
To evaluate the influence of experimental parameters and the effectiveness of the scheduling approach, we first performed a series of independent two-sample t-tests. The outcome of the statistical tests is visually reflected in the boxplots (Figure 2, Figure 3 and Figure 4), where the distribution for the optimization-based approach (“opt”) typically appears lower and less dispersed than for the simulation-driven approach (“sim”) across all key metrics and most configurations. The position of the medians and the clear separation between the boxplots directly mirror the negative values of the t-statistic and the highly significant p-values observed.
For every experimental configuration, defined by the combination of optimization mode, number of workcenters, and number of POLCA cards, we compared the proactive optimization approach (“opt”) with the reactive simulation-driven approach (“sim”). The comparison was conducted on three key performance metrics: average Tardiness (avg_tardiness), average Shop Throughput Time (avg_stt), and maximum Shop Throughput Time (max_stt). For each solved instance, the average tardiness is calculated as the mean tardiness across all orders, providing a direct measure of the system’s ability to deliver jobs on time and to minimize late deliveries. STT represents the lead time of an order, that is, the total time from the order’s release to its completion. Considering both the average and the maximum STT allows us to assess not only the overall efficiency of the system but also its robustness against extreme delays, which is particularly relevant in high-mix, low-volume production environments. The average STT reflects how quickly, on average, orders are completed, while the maximum STT captures the worst case scenario within each configuration, highlighting situations where a single order could experience excessive delay.
For each configuration and metric, the null hypothesis was that the distributions of the two methods are equal. Before each t test, Levene’s test was used to verify the equality of variances; whenever the assumption was rejected ( p < 0.05 ), Welch’s correction was applied to account for heteroskedasticity. For each comparison, the mean and standard deviation for both approaches, the t statistic, the p-value, Levene’s p-value, and the equal variance assumption are reported. The detailed results are presented in Table 4, Table 5 and Table 6.
The results of the two-sample t-tests demonstrate a clear and consistent advantage of the optimization-based approach (“opt”) over the simulation-driven approach (“sim”) across almost all experimental configurations and performance metrics. For both avg_tardiness and avg_stt, the mean values obtained under the “opt” mode are systematically and substantially lower than those observed with “sim”, often by several hundreds of units, indicating that the proactive scheduling method is markedly more effective in reducing both average tardiness and mean lead times.
This difference is strongly statistically significant, as shown by p-values well below the conventional 0.05 threshold in the vast majority of cases. Notably, the effect is especially pronounced in configurations with higher numbers of workcenters, where the gap between the two approaches becomes even more evident. This trend is particularly visible in the boxplots of avg_stt and max_stt, where not only the medians but also the entire range of the “opt” distribution remain consistently below those of “sim”, especially as the number of workcenters increases. Furthermore, the extreme values (upper whiskers and outliers) for “sim” are much more pronounced, highlighting the lower robustness of the simulation-driven approach in the worst cases.
Only in a limited number of configurations—typically for avg_tardiness in the most complex settings with twelve workcenters—the difference between the two approaches was not statistically significant ( p > 0.05 ). In these cases, as confirmed by the boxplots, the distributions tend to overlap more, indicating greater heterogeneity of the instances and a lower statistical robustness of the advantage, although the median and the interquartile range for “opt” remain generally lower than for “sim”.
An increase in the number of POLCA Cards tends to reduce the performance gap between the two approaches, as also visible in the boxplots, where the two distributions converge as the system becomes more saturated.

4. Industrial Case: Aerospace Manufacturing Firm

4.1. Problem Description

The industrial case examines a leading aerospace manufacturer operating in a complex, structured job shop environment. While the Basic Case provided a simplified simulation benchmark, the industrial study is conducted in a live plant where a digital POLCA workload-control system already regulates work in process (WIP). Production orders progress through fixed technological routings comprising multiple jobs that must be executed at designated workcenters, each subject to material availability (release dates) and stringent due dates.
The scheduling problem involves the joint coordination of two finite-capacity resource layers: (i) workcenters, often restricted to single-order processing, and (ii) skilled operators, whose specific qualifications and shift calendars determine machine activation windows. Some operations are further constrained to start within narrowly defined intervals after the completion of their predecessors, tightening precedence requirements due to technological constraints. The optimization task is to determine, in a single run, both the start times of all jobs and the assignment of appropriately qualified operators, while respecting resource calendars and POLCA limits that control the number of concurrent virtual cards on each loop.
In the remainder of this section, we outline the structure of our industrial case analysis. Subsequent sections provide a detailed exposition of the proposed methodology, including a comparative analysis between the firm’s existing commercial scheduler and our novel constraint programming model. An in-depth description of the digital POLCA implementation is also presented, highlighting how virtual POLCA cards are utilized to regulate work-in-process flows between production cells. Finally, comprehensive computational experiments based on real production instances are reported.

4.2. The Proposed Methodology

The proposed methodology for the industrial case is based on a retrospective comparison between the outcomes produced by the firm’s existing commercial scheduler and those generated by our newly developed CP model. Instead of conducting a discrete-event simulation as in the Basic Case, both scheduling approaches are applied directly to real production instances. These instances, which are derived from actual operational data, reflect the real-world complexity of the aerospace manufacturing environment. It is important to note that the instances are not mutually independent—although collected at intervals of at least one week, they originate from the same operational context—and that the firm continued to implement its commercial scheduler for ongoing production. The evaluation focuses on comparing key performance metrics, specifically tardiness and lead times, as obtained from both scheduling systems. By applying our CP model to these real instances, we aim to assess whether integrating POLCA constraints within a finite capacity scheduling framework can achieve superior performance compared to the existing commercial scheduler. This methodology allows us to isolate the potential benefits of our multi-objective CP model without altering the firm’s standard operational procedures and to demonstrate significant operational improvements in terms of scheduling robustness and efficiency when integrated with workload control systems such as POLCA.

4.2.1. POLCA Implementation

The existing POLCA system is implemented as a fully digital hybrid push–pull control mechanism that, unlike in the Basic Case, constructs loops between pairs of cells rather than between individual workcenters. In the industrial case, workcenters are grouped into cells based on location and type; consequently, it is possible for consecutive jobs within a production cycle to be executed on different workcenters that belong to the same cell. This digital POLCA system retains its pull characteristics by requiring virtual POLCA cards to authorize work-in-process (WIP) movements between cells, thereby strictly limiting the WIP for each part number and ensuring that no cell becomes overloaded. At the same time, it incorporates push elements via order release dates provided by the ERP system, which dictate when a job is eligible to enter the production process. For each workcenter, key parameters such as annual working hours and target throughput times are determined, from which a standard WIP level is derived to represent the average processing duration. The standard WIP for a cell is then obtained by aggregating the standard WIP levels of its constituent workcenters. Production cycles are defined by a predetermined sequence of cell crossings, and for each cell a workload quantum is calculated based on the cumulative processing times of tasks performed within that cell. The quantum for a POLCA loop is determined by summing the workload quanta for each pair of consecutive cells. In this digital framework, virtual POLCA cards are managed without any physical representation; instead, each part number digitally subtracts from the available WIP level associated with the cell and its corresponding loop, thereby establishing the total number of virtual POLCA cards available. A traffic-light visual tool is employed to monitor and highlight overload conditions within each loop by comparing the standard WIP level with the post-authorization WIP—which accounts for additional work already in process. The system generates an authorization list for each cell, indicating the sequence of jobs awaiting permission to commence processing. Authorization dates and the dispatching policy are derived from the start times computed by the existing commercial scheduler. Under normal operating conditions, the system adheres to the pre-established schedule; however, if an anomaly is detected, the production controller for each cell can intervene without exceeding the loop WIP norm. In the subsequent shift, a new schedule is generated, and operations resume accordingly.
Developing an accurate model required substantial data engineering effort. The dynamic data sets extracted from the ERP were subjected to rigorous cleansing. These datasets enabled the precise encoding of POLCA logic within a multi-objective constraint programming (CP) formulation designed to minimize total tardiness and lead times.
Embedding the optimizer into the shop-floor decision-support process demanded careful change management. A set of post-run analytics and aggregated dashboards was made available to clarify how POLCA and capacity constraints influenced each scheduling decision, significantly improving user acceptance and trust.

4.2.2. Constraint Programming Model

The constraint programming model for the industrial case integrates resource constraints—pertaining to both workers and workcenters—with POLCA card–based workload control to address the complexities of aerospace manufacturing scheduling. The model leverages a rich set of interval variables and global constraints to capture the nuances of processing times, resource availability, and inter-cell workload control. Table 7 summarizes the notation used in the formulation, including the sets, indices, parameters, and decision variables that delineate workcenters, workers, production cells, orders, and jobs. The objective function is defined through a lexicographic multi-objective criterion that sequentially minimizes the maximum order lead time, the aggregate tardiness, and the total lead time across all orders, thereby balancing responsiveness and efficiency. To accurately represent job processing, three types of interval variables are introduced for each job: the worker interval, the workcenter interval, and the overall processing interval, where the latter accounts for the cumulative processing time on the worker, the additional processing time on the workcenter, and an extra processing time associated with the part number.
Table 7 presents the notation used in the model, including sets, indices, parameters, and decision variables.
The objective function, presented in Equation (12), employs a lexicographic optimization strategy identical to the commercial scheduler used by the firm. It sequentially minimizes (i) the maximum order lead time, (ii) the total lead time, (iii) the number of tardy orders, (iv) the aggregate tardiness, (v) the maximum order completion time (makespan), and (vi) the sum of all completion times, ensuring a balanced trade-off between schedule responsiveness and operational efficiency for a direct and fair comparison.
Minimize StaticLex ( max i N LengthOf ordItv i ( i ) Max Lead Time , i N LengthOf ordItv i ( ii ) Sum of Lead Times , i N ifThenElse τ i > 0 , 1 , 0 ( iii ) Number of tardy orders , i N τ i ( iv ) Sum of tardiness , max i N EndOf ordItv i ( v ) Makespan , i N EndOf ordItv i ( vi ) Sum of completion times )
Subject to:
SizeOf ( jobItv i , j W K ) = p i , j W K , i N , j J i
SizeOf ( jobItv i , j W C ) = p i , j W K + p i , j W C , i N , j J i
SizeOf ( jobItv i , j P N ) = p i , j W K + p i , j W C + p i , j P N , i N , j J i
StartAtStart ( jobItv i , j W K , jobItv i , j P N ) , i N , j J i
StartAtStart ( jobItv i , j W C , jobItv i , j P N ) , i N , j J i
Span ordItv i , { jobItv i , j P N : j J i } , i N
EndBeforeStart jobItv i , j 1 P N , jobItv i , j P N , δ i , j , i N , j { 2 , , J i }
Δ i , j M I N δ i , j Δ i , j M A X , i N , j { 2 , , J i }
Alternative ( jobItv i , j W K , { workerItv i , j , w : w K i , j } ) , i N , j { 1 , , J i }
StartOf ( ordItv i ) a i , i N
EndOf ( ordItv i ) d i + τ i , i N
NoOverlap { jobItv i , j W C : ( i , j ) O m } , m M : π m W C = 0
NoOverlap { workerItv i , j , w : ( i , j ) Ω w } , w W : π w W K = 0
ForbidExtent jobItv i , j W C , StepFunction S m W C , 0 , 1 , ( i , j ) O m , m M
ForbidExtent workerItv i , j , w , StepFunction S w W K , 0 , 1 , ( i , j ) Ω w , w W
StartAtStart loopItv i , j 1 , j 2 , jobItv i , j 1 P N , ( i , j 1 , j 2 ) L g 1 , g 2 , ( g 1 , g 2 ) G × G : g 1 g 2
EndAtEnd loopItv i , j 1 , j 2 , jobItv i , j 2 P N , ( i , j 1 , j 2 ) L g 1 , g 2 , ( g 1 , g 2 ) G × G : g 1 g 2
AlwaysIn ( i , j 1 , j 2 ) L g 1 , g 2 Pulse loopItv i , j 1 , j 2 , q i , j 1 , j 2 , 0 , T , 0 , C g 1 , g 2 , ( g 1 , g 2 ) G × G : g 1 g 2
Job processing is modeled through three distinct interval variables for each job ( i , j ) . According to Equation (13), the worker processing interval jobItv i , j W K is set to have a size equal to p i , j W K ; the processing time on the worker as defined in Table 7. In Equation (14), the workcenter processing interval jobItv i , j W C is defined with a duration equal to the sum p i , j W K + p i , j W C , where p i , j W C represents the additional processing time on the workcenter. Equation (15) further extends this definition by introducing the overall processing interval jobItv i , j P N , whose size is the total of p i , j W K + p i , j W C + p i , j P N , incorporating the extra processing time for the part number.
Synchronization among these intervals is enforced through Equations (16) and (17), which require that the start of both the worker and workcenter intervals aligns with the start of the overall processing interval jobItv i , j P N . Moreover, Equation (18) applies the Span constraint to bind the order interval ordItv i to the sequence of overall processing intervals for all jobs within order i, ensuring that the order’s time window encapsulates all its constituent jobs.
Sequencing of jobs is achieved via the precedence constraint in Equation (19), which mandates that the overall processing interval of job ( i , j 1 ) must end before that of job ( i , j ) can start, with the delay between them captured by the integer variable δ i , j . The allowable delay is then bounded by Δ i , j M I N and Δ i , j M A X in Equation (20), parameters that are detailed in Table 7. Additionally, Equation (21) employs an Alternative constraint to assign each job to a qualified worker chosen from the set K i , j .
Temporal feasibility for orders is maintained by Equations (22) and (23), which ensure, respectively, that the order interval ordItv i does not begin before the order’s arrival time a i and does not extend beyond its due date d i plus tardiness τ i . Resource capacity is further safeguarded by the NoOverlap constraints. In Equation (24), the workcenter intervals for jobs assigned to a workcenter m (where π m W C = 0 , as indicated in Table 7) are prevented from overlapping, and a similar restriction is imposed on worker intervals via Equation (25) when π w W K = 0 . The model also integrates external availability restrictions through the ForbidExtent constraints. Equation (26) prohibits the execution of workcenter intervals during time slots when a workcenter is unavailable, as defined by S m W C , while Equation (27) applies the same logic to worker intervals using the set S w W K . These constraints utilize step functions to block out periods when the resources cannot be utilized. A novel feature of the model is its incorporation of POLCA card–based workload control. Equations (28) and (29) define the POLCA interval variable loopItv i , j 1 , j 2 for transitions between production cells. Specifically, Equation (28) ensures that the start of the POLCA interval coincides with the start of the overall processing interval jobItv i , j 1 P N of the first job in the transition, while Equation (29) forces the end of the POLCA interval to match the end of the overall processing interval jobItv i , j 2 P N of the last job. Finally, Equation (30) employs the AlwaysIn constraint, together with a Pulse function weighted by the quantum q i , j 1 , j 2 , to limit the cumulative number of concurrently active POLCA cards to C g 1 , g 2 for transitions between cells g 1 and g 2 , as defined in Table 7. Overall, by carefully integrating processing time definitions, synchronization and precedence constraints, resource capacity restrictions, and advanced POLCA card–based workload control, this constraint programming model provides a comprehensive framework for optimizing job scheduling in high-mix, low-volume manufacturing environments. The formulation not only ensures operational feasibility through its detailed temporal and resource constraints but also enhances flexibility and responsiveness in dynamic industrial settings.

4.3. Computational Experiments

4.3.1. Datasets

The experimental data employed in this study are subject to strict confidentiality and cannot be shared due to industrial secrecy agreements. The datasets consist of five distinct instances, collected over a period of six months of the company’s operation. This temporal span was chosen to maximize the independence of the datasets, ensuring that the majority of the production orders included in the analysis are unique and representative of varying operational conditions. For each workcenter, detailed information is provided regarding the periods of unavailability, which reflect scheduled maintenance and other operational downtimes. Each workcenter is also uniquely associated with a POLCA cell, thereby facilitating the integration of POLCA-based workload control within the scheduling model. In addition, comprehensive records for each worker are available, including their skill sets and weekly work shifts, ensuring that the assignment of tasks is restricted to suitably qualified personnel. Furthermore, the production orders are pre-processed to identify those relevant for scheduling. Orders that are not yet released are suspended, those are already completed are excluded from the analysis. This pre-processing ensures that the datasets used in the computational experiments reflect only active orders requiring scheduling, thereby providing a realistic and comprehensive representation of the firm’s production environment.

4.3.2. Computational Results

In this section, we present and analyze the outcomes of our experimental campaign obtained under a 3 h timelimit using eight threads. Both the firm’s existing commercial scheduler and our proposed CP model ar executed on the same real production instances, and their scheduling results are exported into Excel files containing, for each production order and job, the start and finish times, the assigned workcenter and cell, the corresponding POLCA loop, the assigned worker, and the order’s release and due dates. Our evaluation focuses exclusively on the objective function values, specifically the following six key performance indicators: maximum order lead time, sum of lead times, number of tardy orders, aggregate tardiness, makespan, and the sum of all completion times. All computational experiments are performed on a computer equipped with an Intel Core i7-6700 CPU running at 3.40 GHz with 16 GB of RAM (Intel, Santa Clara, CA, USA). It is important to note that, although the commercial scheduler does not implement POLCA constraints—resulting in an overly optimistic scheduling outcome—the CP model explicitly integrates these constraints, leading to more realistic and improved performance. Table 8 reports a transposed summary of the performance metrics, with the KPIs listed in the rows and five independent runs arranged in the columns for both the commercial scheduler and the CP model.
Notably, the CP model yields lower values across all key performance indicators compared to the commercial scheduler, underscoring its superior capability in reducing lead times and tardiness. The detailed computational results provided in Table 8 enable a direct comparison of the two scheduling approaches, illustrating the trade-offs between schedule responsiveness and operational efficiency and highlighting the impact of integrating POLCA constraints into the scheduling process via the proposed CP model.

4.3.3. Stakeholder Feedback

Managers and production planners recognize that the optimization model effectively reduces worst-case waiting times and alleviates persistent bottlenecks; flows that previously accumulated excessive work-in-process now run more evenly and predictably. They also recognize the value of having a clearer and more actionable view of capacity constraints resulting from the direct integration of POLCA rules within the scheduling process. In addition, stakeholders acknowledge that the model’s ability to proactively prevent deadlocks contributes to greater operational reliability on a daily basis. Overall, the optimization model is regarded as a practical and targeted improvement to the planning process, enabling steadier flow control and enhanced predictability of performance while remaining compatible with existing environment.

5. Conclusions

The experimental outcomes presented in this study provide compelling evidence that integrating finite capacity scheduling with POLCA-based workload control yields substantial operational benefits in high-mix, low-volume production environments. Our analyses demonstrate that the proactive scheduling approach—implemented via a constraint programming model that explicitly incorporates POLCA constraints—consistently improves key performance indicators such as lead time, tardiness, and makespan compared to the firm’s existing commercial scheduler. In particular, the proactive model achieves significant deadlock reduction and exhibits greater robustness and distributional consistency across various system configurations, thereby ensuring a more realistic and effective scheduling framework. Despite these promising results, it should be noted that the commercial scheduler, which does not implement POLCA constraints, tends to generate overly optimistic scheduling outcomes that may underestimate the challenges of effective workload control. This discrepancy underscores the importance of embedding realistic control mechanisms within scheduling models to better capture the dynamics of complex production systems. Future research could explore several promising avenues to further enhance the proposed framework. One potential direction is the integration of dynamic scheduling strategies that adapt in real time to unanticipated disruptions, thereby improving system responsiveness under varying operational conditions. Additionally, hybrid approaches that combine constraint programming with metaheuristic or machine learning techniques could be investigated to automatically adjust POLCA parameters and optimize resource allocation under uncertainty. Finally, implementing the proposed model in a live production setting and conducting longitudinal studies would provide valuable insights into its scalability and long-term performance, ultimately paving the way for more flexible and efficient scheduling systems in industrial practice.

Author Contributions

Conceptualization, A.G.; methodology, A.G., P.C. and P.M.; software, P.M.; validation, P.M. and P.C.; writing—original draft preparation, P.M.; writing—review and editing, A.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The data related to the Basic Case are contained within the the paper. The data related with the industrial case are covered by industrial restrictions.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
POLCAPaired-cell Overlapping Loops of Cards with Authorization
HMLVHigh-Mix, Low-Volume
FCSFinite Capacity Scheduling
CPConstraint Programming
MRPMaterial Requirements Planning
PCSProduction Control System
APSAdvanced Production Scheduling
ERPEnterprise Resource Planning
WIPWork In Process
EDDEarliest Due Date
LB-POLCALoad-based POLCA
WLCWorkload Control
IMRImmediate Release
ATKSAdaptive Token-based Kanban System
GKSGeneralized Kanban System
DRACONon-Hierarchical WIP Control System
CONWIPConstant Work In Progress
COBACABANAControl of Balance by Card-Based Navigation
MODCSModified Capacity Slack
FCFSFirst-Come-First-Serve
PFSPure Flow Shop
GFSGeneral Flow Shop
RLReinforcement Learning
STTShop Floor Throughput Time
TTTTotal Throughput Time
KPIKey Performance Indicator
IDSSIntelligent Decision Support Systems
MTOMake To Order

References

  1. Suri, R. Quick Response Manufacturing: A Companywide Approach to Reducing Lead Times; Taylor & Francis Inc.: Portland, OR, USA, 1998. [Google Scholar]
  2. Suri, R. The Practitioner’s Guide to POLCA—The Production Control System for High-Mix, Low-Volume and Custom Products; Productivity Press Taylor and Francis: Thames, UK, 2018. [Google Scholar]
  3. Land, M.J. Cobacabana (control of balance by card-based navigation): A card-based system for job shop control. Int. J. Prod. Econ. 2009, 117, 97–103. [Google Scholar] [CrossRef]
  4. Braglia, M.; Marrazzini, L.; Padellini, L. COBACABANA: A real industrial application in a job shop system. Prod. Plan. Control. 2020; in press. [Google Scholar]
  5. Suri, R. It’s About Time—The Competitive Advantage of Quick Response Manufacturing; Productivity Press Taylor and Francis: Thames, UK, 2010. [Google Scholar]
  6. Luan, S.-C.; Jia, G.-Z.; Kong, W. A Mathematical Programming Formulation Approach to the Number of POLCA Cards. In Proceedings of the 19th International Conference on Management Science & Engineering, Dallas, TX, USA, 20–22 September 2012. [Google Scholar]
  7. Braglia, M.; Castellano, D.; Frosolini, M. Optimization of POLCA-controlled production systems with a simulation-driven genetic algorithm. Int. J. Adv. Manuf. Technol. 2014, 70, 385–395. [Google Scholar] [CrossRef]
  8. Vandaele, N.; Van Nieuwenhuyse, I.; Claerhout, D.; Cremmery, R. Load-Based POLCA: An Integrated Material Control System for Multiproduct, Multimachine Job Shops. Manuf. Serv. Oper. Manag. 2008, 10, 181–197. [Google Scholar] [CrossRef]
  9. Krishnamurthy, A.; Suri, R. Planning and implementing POLCA: A card-based control system for high variety or custom engineered products. Prod. Plan. Control 2009, 20, 596–610. [Google Scholar] [CrossRef]
  10. Wang, W.; Khalid, Q.S.; Abas, M.; Li, H.; Azim, S.; Babar, A.R.; Saleem, W.; Khan, R. Implementation of POLCA Integrated QRM Framework for Optimized Production Performance—A Case Study. Sustainability 2021, 13, 3452. [Google Scholar] [CrossRef]
  11. Silva, C.; Reis, V.; Morais, A.; Brilenkov, I.; Vaza, J.; Pinheiro, T.; Neves, M.; Henriques, M.; Varela, M.L.; Pereira, G.; et al. A comparison of production control systems in a flexible flow shop. Procedia Manuf. 2017, 13, 1090–1095. [Google Scholar] [CrossRef]
  12. Thürer, M.; Fernandes, N.O.; Stevenson, M.; Silva, C.; Carmo-Silva, S. POLC-A: An assessment of POLCA’s authorization element. J. Intell. Manuf. 2019, 30, 2435–2447. [Google Scholar] [CrossRef]
  13. Fernandes, N.O.; Thürer, M.; Ferreira, L.P.; Carmo-Silva, S. POLCA: Centralised vs. Decentralised Job Release. IFAC-PapersOnLine 2019, 52, 1427–1431. [Google Scholar] [CrossRef]
  14. Fernandes, N.O.; Thürer, M.; Mirzaei, N.; Ferreira, L.P.; Silva, F.J.G.; Carmo-Silva, S. POLCA Control in Two-Stage Production Systems. Procedia Manuf. 2020, 51, 1491–1496. [Google Scholar] [CrossRef]
  15. Fernandes, A.S.; Oliveira, C.M.; Costa, H.M.; Coelho, J.M.; Varela, L.R.; Henriques, M.; Dias, L.; Pereira, G.; Fernandes, N.O.; Carmo-Silva, S. Evaluating the effects of inventory stockouts in the performance of production control systems. Procedia Manuf. 2021, 55, 417–423. [Google Scholar] [CrossRef]
  16. Gómez Paredes, F.J.; Godinho Filho, M.; Thürer, M.; Fernandes, N.O.; Jabbour, C.J.C. Factors for choosing production control systems in make-to-order shops: A systematic literature review. J. Intell. Manuf. 2020; in press. [Google Scholar]
  17. Kasper, T.A.A.; Land, M.J.; Teunter, R.H. Non-hierarchical work-in-progress control in manufacturing. Int. J. Prod. Econ. 2023, 257, 108768. [Google Scholar] [CrossRef]
Figure 1. Order-based flow-diagram of the integrated scheduling-and-control algorithm. (Left): standard reactive POLCA (MRP-driven release, FIFO/EDD dispatching). (Right): proactive finite-capacity schedule with POLCA constraints and optional rolling rescheduling. In the Basic Case experiments presented in Section 3, only a static schedule is computed at the beginning, and no rescheduling occurs.
Figure 1. Order-based flow-diagram of the integrated scheduling-and-control algorithm. (Left): standard reactive POLCA (MRP-driven release, FIFO/EDD dispatching). (Right): proactive finite-capacity schedule with POLCA constraints and optional rolling rescheduling. In the Basic Case experiments presented in Section 3, only a static schedule is computed at the beginning, and no rescheduling occurs.
Algorithms 18 00340 g001
Figure 2. Boxplots comparing Avg Tardiness distributions for each simulation mode under the same configuration.
Figure 2. Boxplots comparing Avg Tardiness distributions for each simulation mode under the same configuration.
Algorithms 18 00340 g002
Figure 3. Boxplots comparing Avg STT for each simulation mode under the same configuration.
Figure 3. Boxplots comparing Avg STT for each simulation mode under the same configuration.
Algorithms 18 00340 g003
Figure 4. Boxplots comparing Max STT for each simulation mode under the same configuration.
Figure 4. Boxplots comparing Max STT for each simulation mode under the same configuration.
Algorithms 18 00340 g004
Table 1. Notation used in the constraint programming model.
Table 1. Notation used in the constraint programming model.
SymbolDescription
MNumber of workcenters
NNumber of orders
J i Number of jobs of order i
M = { 1 , , M } Set of all workcenters
N = { 1 , , N } Set of all orders
J i = { 1 , , J i } Sorted set of all jobs of order i
p i , j Processing time of job j in order i
μ i , j Workcenter of job j in order i
O m = { ( i , j ) : i N , j J i | μ i , j = m } Set of jobs assigned to workcenter m
L m 1 , m 2 = { ( i , j ) : i N , j J i | ( μ i , j 1 , μ i , j ) = ( m 1 , m 2 ) } Set of jobs representing transitions between workcenters m 1 and m 2
a i Arrival time of order i
d i Due time of order i
CMaximum number of active POLCA cards
ordItv i Interval variable for order i
jobItv i , j Interval variable for job j in order i
loopItv i , j Interval variable for POLCA card μ i , j 1 | μ i , j utilization
τ i Integer variable corresponding to tardiness of order i
Table 2. Summary of deadlock occurrences across experimental configurations.
Table 2. Summary of deadlock occurrences across experimental configurations.
opt Modenb MachinesPolca CardsSimulation ModeInstanceswith Deadlockpct with Deadlock
early61opt1000.00
sim1010100.00
2opt1000.00
sim1000.00
3opt1000.00
sim1000.00
91opt1000.00
sim1010100.00
2opt1000.00
sim1000.00
3opt1000.00
sim1000.00
121opt1000.00
sim10550.00
2opt1000.00
sim1000.00
3opt1000.00
sim1000.00
late61opt1000.00
sim1010100.00
2opt1000.00
sim1000.00
3opt1000.00
sim1000.00
91opt1000.00
sim1010100.00
2opt1000.00
sim1000.00
3opt1000.00
sim1000.00
121opt1000.00
sim10550.00
2opt1000.00
sim1000.00
3opt1000.00
sim1000.00
Table 3. Descriptive Statistics per configuration.
Table 3. Descriptive Statistics per configuration.
opt Modenb MachinesPolcasim Modeavg Tardinessstd Tardinessmin Tardinessmax Tardinesspct Tardysum Waiting Timeavg sttmax sttavg tttmax ttt
early61opt908.661240.900.0013,042.0093.551,817,351.00463.431111.001260.1813,955.00
sim
2opt654.70986.610.0010,971.0093.151,309,432.00473.581111.001006.2211,478.00
sim931.52695.610.003157.0096.051,863,081.00849.653974.001283.044001.00
3opt641.391103.240.0012,560.0092.601,282,818.00477.471111.00992.9113,460.00
sim905.20648.880.002885.0096.051,810,430.00829.093448.001256.713797.00
91opt1041.771515.550.0012,972.0093.302,083,557.00693.271629.001537.5314,432.00
sim
2opt806.921161.210.0011,117.0092.501,613,847.00731.891629.001302.6712,577.00
sim1013.90785.820.003930.0096.402,027,823.001161.944822.001509.665009.00
3opt840.891302.410.0012,917.0093.601,681,803.00721.191629.001336.6513,934.00
sim999.69756.280.003573.0096.601,999,402.001133.334189.001495.454458.00
121opt1753.362399.490.0015,465.0094.753,506,686.001004.571976.002404.5016,273.00
sim1280.771188.760.006832.0096.101,280,725.001608.936469.001910.458179.00
2opt1316.501783.910.0013,065.0095.452,632,964.001029.991976.001967.6413,886.00
sim1210.89930.190.004747.0096.752,421,760.001505.765701.001862.036314.00
3opt1322.171847.200.0013,329.0094.752,644,302.001035.781976.001973.3015,156.00
sim1234.76938.410.004303.0097.102,469,509.001519.325721.001885.915768.00
late61opt794.131166.730.0011,468.0092.501,588,276.00474.721111.001145.6412,434.00
sim
2opt678.521005.670.0010,155.0092.951,357,080.00479.031111.001030.0411,265.00
sim931.52695.610.003157.0096.051,863,081.00849.653974.001283.044001.00
3opt658.051074.140.0011,551.0092.651,316,133.00473.401111.001009.5712,462.00
sim905.20648.880.002885.0096.051,810,430.00829.093448.001256.713797.00
91opt946.631400.260.0013,496.0092.701,893,265.00706.181629.001442.3814,633.00
sim
2opt800.251160.160.0010,939.0092.201,600,520.00715.541629.001296.0112,399.00
sim1013.90785.820.003930.0096.402,027,823.001161.944822.001509.665009.00
3opt775.861162.900.0010,949.0093.101,551,735.00704.811629.001271.6212,350.00
sim999.69756.280.003573.0096.601,999,402.001133.334189.001495.454458.00
121opt1530.772113.410.0014,709.0095.043,520,746.001039.961976.002175.6816306.00
sim1287.561171.310.006832.0095.921,673,782.001610.686917.001911.168179.00
2opt1250.681838.220.0015,187.0094.202,501,320.00992.641976.001901.8116,784.00
sim1210.89930.190.004747.0096.752,421,760.001505.765701.001862.036314.00
3opt1302.501987.930.0015,528.0094.202,604,968.001019.171976.001953.6416,514.00
sim1234.76938.410.004303.0097.102,469,509.001519.325721.001885.915768.00
Table 4. Independent two-sample t-test results for the comparison of “opt” and “sim” modes across all experimental configurations, metric: avg_tardiness.
Table 4. Independent two-sample t-test results for the comparison of “opt” and “sim” modes across all experimental configurations, metric: avg_tardiness.
Opt. ModeMachinesPOLCAMean (opt)Std (opt)Mean (sim)Std (sim)t-statp-ValueLevene pEqual var
early61
2654.701126.251931.521179.359−3.9910.0010.117True
3641.394160.338905.196156.665−3.7210.0020.999True
91
2806.920170.4081013.899141.613−2.9540.0080.495True
3840.894193.575999.687160.194−1.9980.0610.326True
1211753.359808.4341280.766499.8741.1860.2570.267True
21316.496612.0081210.892384.2020.4620.6500.163True
31322.166646.3001234.764379.8120.3690.7170.330True
late61
2678.525172.576931.521179.359−3.2140.0050.607True
3658.054148.399905.196156.665−3.6220.0020.818True
91
2800.254194.1221013.899141.613−2.8120.0120.242True
3775.861175.774999.687160.194−2.9760.0080.612True
1211590.305749.8871322.260475.0420.7230.4830.447True
21250.678558.0071210.892384.2020.1860.8550.423True
31302.504802.2211234.764379.8120.2410.8120.250True
Table 5. Independent two-sample t-test results for the comparison of “opt” and “sim” modes across all experimental configurations, metric: avg_stt.
Table 5. Independent two-sample t-test results for the comparison of “opt” and “sim” modes across all experimental configurations, metric: avg_stt.
Opt. ModeMachinesPOLCAMean (opt)Std (opt)Mean (sim)Std (sim)t-statp-ValueLevene pEqual var
early61
2473.57635.815849.65296.355−11.5690.0000.002False
3477.47134.543829.08784.533−12.1760.0000.011False
91
2731.89344.0791161.94294.263−13.0690.0000.030False
3721.18642.0341133.33392.866−12.7860.0000.055True
1211004.566126.8211608.930407.973−3.2350.0280.038False
21029.989130.8621505.763283.209−4.8230.0000.108True
31035.781118.8541519.316279.517−5.0340.0000.049False
late61
2479.03340.507849.65296.355−11.2130.0000.004False
3473.39636.795829.08784.533−12.2000.0000.019False
91
2715.54139.2511161.94294.263−13.8250.0000.011False
3704.81438.5521133.33392.866−13.4770.0000.036False
1211038.370105.0141644.480383.543−3.4690.0230.028False
2992.641108.6221505.763283.209−5.3490.0000.056True
31019.169132.5811519.316279.517−5.1120.0000.070True
Table 6. Independent two-sample t-test results for the comparison of “opt” and “sim” modes across all experimental configurations, metric: max_stt.
Table 6. Independent two-sample t-test results for the comparison of “opt” and “sim” modes across all experimental configurations, metric: max_stt.
Opt. ModeMachinesPOLCAMean (opt)Std (opt)Mean (sim)Std (sim)t-statp-ValueLevene pEqual var
early61
2987.20061.8273042.900476.465−13.5300.0000.015False
3987.20061.8272736.100414.941−13.1830.0000.013False
91
21411.100137.6183771.300473.882−15.1250.0000.085True
31411.100137.6183648.000363.773−18.1870.0000.011False
1211764.700127.0055062.6001247.055−5.8980.0040.012False
21759.200129.7724565.300815.713−10.7430.0000.000False
31743.900140.2924391.800898.081−9.2120.0000.001False
late61
2987.20061.8273042.900476.465−13.5300.0000.015False
3987.20061.8272736.100414.941−13.1830.0000.013False
91
21411.100137.6183771.300473.882−15.1250.0000.085True
31411.100137.6183648.000363.773−18.1870.0000.011False
1211791.000116.1405570.2001405.684−6.0010.0040.016False
21748.500133.7744565.300815.713−10.7760.0000.000False
31749.600134.3454391.800898.081−9.2010.0000.001False
Table 7. Notation used in the constraint programming model.
Table 7. Notation used in the constraint programming model.
SymbolDescription
MNumber of workcenters
WNumber of workers
GNumber of cells
NNumber of orders
J i Number of jobs in order i
M = { 1 , , M } Set of all workcenters m
W = { 1 , , W } Set of all workers w
G = { 1 , , G } Set of all cells g
N = { 1 , , N } Set of all orders i
J i = { 1 , , J i } Sorted set of all jobs j in order i
π m W C Boolean parameter: 1 if workcenter m
can process multiple jobs simultaneously, 0 otherwise
π w W K Boolean parameter: 1 if worker w
can process multiple jobs simultaneously, 0 otherwise
S m W C Set of time slots when workcenter m is unavailable
S w W K Set of time slots when worker w is unavailable
p i , j W K Processing time of job ( i , j ) on the worker
p i , j W C Additional processing time of job ( i , j ) on the workcenter
p i , j P N Additional processing time of job ( i , j ) on the part number
μ i , j Workcenter of job ( i , j )
K i , j Set of workers qualified to process job ( i , j )
γ i , j Cell of job ( i , j )
Δ i , j M I N Minimum delay between the end of job ( i , j 1 ) and the
start of job ( i , j )
Δ i , j M A X Maximum delay between the end of job ( i , j 1 ) and the
start of job ( i , j )
O m = { ( i , j ) : i N , j J i | μ i , j = m } Set of jobs assigned to workcenter m
Ω w = { ( i , j ) : i N , j J i | w K i , j } Set of jobs assignable to worker w
L g 1 , g 2 = { ( i , j 1 , j 2 ) : i N , j 1 , j 2 J i | ( γ i , j 1 , γ i , j 2 ) = ( g 1 , g 2 ) } Set of jobs ( i , j 1 , j 2 ) representing transitions between
cells g 1 and g 2 . Such that j 1 < j 2 ,
j 1 = 1 γ i , j 1 1 γ i , j 1 , j 2 = J i γ i , j 2 γ i , j 2 + 1 and
j 3 { j 1 + 1 , , j 2 1 } : γ i , j 1 γ i , j 3 γ i , j 2 γ i , j 3
a i Arrival time of order i
q i , j 1 , j 2 Quantum for POLCA loop ( i , j 1 , j 2 )
d i Due time of order i
C g 1 , g 2 Maximum number of active POLCA g 1 | g 2 cards
ordItv i Interval variable for order i
workerItv i , j , w Optional Interval variable for worker w executing job ( i , j )
jobItv i , j W K Interval variable for processing job ( i , j ) on the worker
jobItv i , j W C Interval variable for processing job ( i , j ) on the workcenter
jobItv i , j P N Interval variable for the overall processing for job ( i , j )
loopItv i , j 1 , j 2 Interval variable for POLCA card g i , j 1 | g i , j 2 utilization
δ i , j Integer variable representing the actual delay between
the end of job ( i , j 1 ) and the start of job ( i , j )
τ i Integer variable corresponding to tardiness of order i
Table 8. KPI Comparison for Commercial Scheduler and CP Model.
Table 8. KPI Comparison for Commercial Scheduler and CP Model.
KPIRun 1Run 2Run 3Run 4Run 5
Commercial Scheduler
Max Lead Time [days]614.45678.17496.34726.35337.02
Sum of Lead Times [days]83,174.7497,395.3361,859.5871,348.7943,385.88
Number of Tardy Orders941.00928.00857.00935.00863.00
Sum of Tardiness [days]88,851.72112,643.8393,476.54104,375.12116,645.50
Makespan [days]615.70725.95584.93821.93518.27
Sum of Completion Times [days]91,803.64168,673.14192,756.19215,136.93287,286.95
CP Model
Max Lead Time [days]381.02336.02386.02378.69293.02
Sum of Lead Times [days]55,786.7850,133.7242,947.6044,207.3134,769.23
Number of Tardy Orders819.00777.00771.00800.00834.00
Sum of Tardiness [days]68,136.8175,059.2784,392.8288,183.42111,596.68
Makespan [days]382.27382.27474.27543.68474.27
Sum of Completion Times [days]65,311.06125,158.34179,170.48194,153.20282,755.81
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Grieco, A.; Caricato, P.; Margiotta, P. Beyond Kanban: POLCA-Constrained Scheduling for Job Shops. Algorithms 2025, 18, 340. https://doi.org/10.3390/a18060340

AMA Style

Grieco A, Caricato P, Margiotta P. Beyond Kanban: POLCA-Constrained Scheduling for Job Shops. Algorithms. 2025; 18(6):340. https://doi.org/10.3390/a18060340

Chicago/Turabian Style

Grieco, Antonio, Pierpaolo Caricato, and Paolo Margiotta. 2025. "Beyond Kanban: POLCA-Constrained Scheduling for Job Shops" Algorithms 18, no. 6: 340. https://doi.org/10.3390/a18060340

APA Style

Grieco, A., Caricato, P., & Margiotta, P. (2025). Beyond Kanban: POLCA-Constrained Scheduling for Job Shops. Algorithms, 18(6), 340. https://doi.org/10.3390/a18060340

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop