1. Introduction
Optimizing machine allocation and workforce scheduling is critical for minimizing operational costs in industries such as automotive, textile, and electronics. However, traditional scheduling models often overlook key factors such as machine interference and the cyclical nature of production demands. This study proposes a novel bin-packing-based approach to determine the optimal number of machines and operators in cyclic manufacturing environments. By systematically incorporating production constraints, the model addresses limitations in existing heuristic methods and significantly improves resource allocation efficiency.
Many industries, including food, textiles, plastics, electronics, and rubber, face significant manufacturing challenges, such as determining the number of production machines, operators, and production scheduling. A paint factory may produce multiple types of paint, each considered a distinct product; a food processing facility produces items with different packaging, colors, and shapes; and a textile factory may produce clothing in multiple colors and sizes. These challenges highlight the need for an optimal manufacturing strategy in production environments where multiple product types are manufactured using several nearly identical machines with limited capacity; efficient workforce management and cyclic production planning are essential. The primary goals in such settings include optimizing the number of machines and operators, establishing a production schedule that aligns with these objectives, and ensuring the timely fulfillment of customer orders. These considerations become particularly important when skilled labor is scarce to operate costly machinery and equipment.
A key feature of such production systems is that a single operator manages multiple, nearly identical machines. Assessing the efficiency of these systems requires analyzing the average cycle time, which consists of machine runtime, service time, and downtime. Downtime can occur when one or more machines require setup or service, but the operator is busy servicing another machine, leaving the machines requiring service idle until the operator becomes available. This phenomenon is referred to as machine interference [
1]. Integrating machines and human labor is crucial in modern manufacturing, directly impacting efficiency, precision, and production speed. As technology evolves, the interaction between machines and human operators becomes increasingly sophisticated, emphasizing the need for a well-balanced approach that enhances productivity while supporting workforce development.
The optimization of machine scheduling is one of the most critical issues in modern manufacturing, and many studies have been conducted on optimizing production schedules [
2,
3]. In this context, determining the optimal number of machines required to meet the total demand for various products and the number of operators needed for those machines is a challenging problem. This paper analyzes the problem of minimum machines and operators as a combinatorial optimization closely related to the bin packing problem (BPP), a well-known NP-hard problem involving efficiently allocating items to a finite number of bins. In our proposed model, the machines are bins containing (produce) several product types, and the operators are bins containing (operate) several machines. The bin packing problem is one of the most widely studied problems in combinatorial optimization [
4] and the references there.
In this study, repetitive (cyclic) production refers to a planning framework where all product types are manufactured in repeating cycles within a fixed time horizon, such as a week or a month. Each product is produced in batches that exactly match its demand for the cycle, and the production sequence repeats identically in each cycle. This cyclic structure simplifies scheduling and capacity planning and reflects real-world industrial practices in environments with stable and recurring customer orders. Our algorithm leverages this structure to optimize resource usage efficiently.
The rest of the paper is organized as follows.
Section 2 provides a literature review.
Section 3 presents the proposed model.
Section 4 presents a case study, and
Section 5 is a summary.
3. The Proposed Algorithm
We aim to determine the minimum number of machines needed to fulfil production needs and the minimum number of operators required to perform the machines’ setup. We deal with a production problem with n different product types, all of which must be produced in every cycle. The products can be manufactured using the same type of machines, subject to the availability of the machines. Upon completing the production of one product, the machine requires an operator to set it up to produce a different product.
The proposed algorithm for a solution consists of two stages:
Stage 1: Determine the minimum number of machines needed to fulfill the production needs and the production schedule of the products on each machine.
Stage 2: Determine the minimum number of operators required to perform the machines’ setups as determined in Stage 1.
3.1. Assumptions
Shortage is prohibited. All the required demands must be met.
The machines are identical. Each machine can produce all product types but can handle only one at a time.
The setup times are identical and fixed and do not depend on the schedule of the product or the machine. During setup, the machine is idle.
Each product’s production rate (machine time) is continuously fixed. Each product may have a different production rate.
The demand rate is constant, continuous, and known.
A machine can produce the required demand of any product type in one cycle. In other words, the production rate of one machine is higher than the demand rate for each product type.
The production plan is continuous and cyclic for a period (month, quarter, etc.). The batch size of one product in each cycle is identical to its demand.
One machine produces all the units to be supplied of the same product type without splitting production between several machines.
3.2. Notations
—the number of product types.
—the number of machines required to meet the demands of the product types.
—number of operators required to operate the machines.
—the periodical production rate of product on any machine.
—the periodical demand rate for product . According to our assumptions,
—the production time for producing of product in one cycle.
—the time in one cycle that the machine produces other products (and does not produce products ) or is idle.
—the setup time for producing products . According to our assumptions, the setup times are identical and fixed and do not depend on the schedule.
—the batch size of product produced in each cycle (equal to demand for product . In other words, ).
—the cycle time of product . The cycle time is equal to 1 for each product .
— the optimal (minimum) number of machines required to meet the demands of the product types.
—the number of machines that is determined by a heuristic method, which is a “good” feasible solution to ,
3.3. Economic Production Quantity
A system in which a product is manufactured on a machine while simultaneously consumed during production can be modeled by the economic production quantity (EPQ) model, initially developed by [
40]. However, we adjust the EPQ model to a case where, for each product type
the quantity produced in a cycle is identical to the demand for that specific product type
, meaning the production cycle time is 1 for each product type
. Our model defines a production cycle as a fixed-length period (e.g., one month or one quarter) during which all product types must be produced precisely once to satisfy their demand. The term cycle refers to this recurring, standardized interval. For simplicity and normalization purposes, we assume that the cycle time is set to 1, meaning that each machine’s total available production time during a cycle is treated as a one-time unit. Each product’s production and setup times are then expressed as fractions of this unit. This convention allows us to model the machines as bins of capacity one in the bin packing formulation.
Figure 1 illustrates how this cycle-based production framework governs inventory levels and production timing. This adjustment allowed us to calculate the production time
and the idle time when the machine is neither producing the product nor being set up for it
. The idle time can be used to produce other products on the same machine if the available time is sufficient to produce a quantity sufficient for a complete cycle of different products (this and additional constraints will be detailed later).
Figure 1 illustrates the EPQ model for a single product type under a cycle time of 1.
Since the production is continuous and cyclic, and due to the special form of the problem as formulated, several products can be assigned to one machine, denoted , as long as the following condition is fulfilled: .
3.4. Model Development for the Number of Machines Needed
For any product, the batch size must be sufficient for the entire cycle period (e.g., month, quarter, etc.). Therefore, the cycle time for each product type can be set as 1, and each product has only one setup
in every production cycle. The time that a machine is busy setting up and producing the product type
in one cycle is (2):
The total time needed for producing all the
n types of products is (3):
Therefore, the minimum number of machines required to theoretically meet the production plan (lower bound-LB) in one period is (4):
The upper bound (UB) for the number of machines is the number of product types (each produces one product type). Therefore, the number of machines M is in the range:
This problem of minimizing the number of machines required to produce n products is a special case of the BPP and the cyclic scheduling problem. In this context, each machine can be viewed as a circular “container” with a perimeter (capacity) of 1, and each product represents an “item” that must be placed in one container (produced by one machine). Since the problem is continuous and the cycle time for all products is 1, we can model the task of determining the minimum number of machines equivalent to solving a BPP. In this model, each machine is a “container” with a maximum capacity of 1, and the production time of each product, including the required setup time, represents an “item” to be packed into these containers. The goal is to allocate each product + setup time to a minimum number of machines so that the total time assigned to any single machine does not exceed its capacity within each cycle. As mentioned, the BPP is classified as NP-HARD, meaning no efficient algorithm exists to solve it. However, many heuristic algorithms exist to provide approximate solutions. For relatively small instances of the BPP, it can be solved optimally by formulating it as a binary linear programming problem. To obtain an optimal solution, we formulate an Integer Linear Programming (ILP) model that represents our adapted version of the bin packing problem. This formulation is presented later as Equation (5).
The first step for optimization of (1) is to find a “good” feasible solution for the number of machines C, commonly by a heuristic method. This ensures that a feasible solution exists, even if it is not optimal. One can apply the First-fit-decreasing (FFD), a well-known algorithm for the bin packing problem, to calculate the initial C. Its input is a sorted list of items of different sizes, where the biggest is the first. Its output is a partition of the items into bins of fixed capacity. For more details about the FFD see [
12], who proved that
. Therefore, one can set
as an upper bound in the linear programming formulation (1). If the result of the FFD is
, then
and the linear programming of (1) is not needed.
Applying the FFD algorithm, in our case, needs the following steps:
Step 1: Rank the product types in descending order according to (2).
Step 2: Assign the product type ranked first to the first machine.
Step 3: Try to assign the product type ranked second to the first machine. If it cannot be assigned to the first machine due to a lack of capacity (the setup time + the processing time of the first product type and the setup time + the processing time of the second product type is more than 1), then assign this product type to the next machine.
Step 4: Do step 3, with the necessary adjustments, until all the product types have been assigned to a machine.
The number of machines needed to assign all the product types according to this algorithm is C, which is used as an upper bound to a linear integer programming problem (5) that yields the optimal number of machines. If C equals the lower bound , then C and the product type assignment on the machines are an optimal solution.
The linear integer programming problem formulation is:
where,
The number of binary variables in (2) is . The output of (5) is the number of machines needed and a partition of the product types among the machines.
A flow diagram of Stage 1 of the algorithm, the minimum number of needed machines, is illustrated in
Figure 2.
Our modeling is unique because our container (the machine) is designed like a circle. As a result, the cycle time of all products is 1, even though their production occurs sequentially, one product after another.
Figure 3 illustrates a situation where two products are produced on a single machine. The setup time for each product is
out of the total cycle time of 1, and the production time for each product is
. On the second machine, a different product is produced, with the same setup time
but the production time is
.
Figure 3 presents a possible partition of three product types between two machines and conveys the concept that each machine functions as a circular container.
3.5. The Number of Needed Operators
The number of operators can be (M obtained in the previous section) if a single operator is assigned to each machine. But, if a single operator can perform all the setups for all the M machines and meet the production plan, then O = 1. Therefore, the number of workers is in the range .
Determining the minimum number of operators required to operate M machines, as established in the previous step (including the internal scheduling in each machine), can also be modeled as a special case of the bin packing problem. In this scenario, each machine functions as a different “item” to be packed, while each operator serves as a “container”. Even though the machines are identical, since each machine has been assigned several different types of products, the machines can be considered as not identical “items.”
For a single operator to effectively operate multiple machines, two critical conditions must be fulfilled:
- (1)
The cumulative setup time across all his/her assigned machines must be 1 or less than 1.
- (2)
Under a single operator’s responsibility, no two setup operations occur simultaneously on any machine.
Consequently, this special case of the bin packing problem evolves into a conflict-based problem, necessitating a more complex approach than standard bin-packing algorithms. This variant accounts for both capacity constraints (total setup time) and scheduling conflicts (simultaneous setups), adding complexity to the optimization process.
The problem where a single operator must operate several machines is the machine interference problem (see, for example, [
1]). In our case, machine interference is forbidden. Here are some claims to demonstrate the problem of assigning several machines to a single operator without interference.
Claim 1. If the cumulative setup time across all the assigned machines is 1 or less, and only one product is produced on each machine, then a single operator can operate up to machines without overlap. Therefore, if there are M machines, each produces only one product, then a single operator will operate machines.
Proof. There is a simple way to schedule the M setups without overlap. Since the cycle time with the setup is 1 for all product types, and each cycle on each machine is represented by a circle with a perimeter of 1, the setup for the first machine can be completed, and then immediately the setup for the second machine can be performed, and so on, without any overlap. Since each machine requires only one setup and the total setup time across all machines does not exceed 1, the cycles can be scheduled across all machines without conflicts in setup timing. □
Claim 2. Even in a situation with two machines, with two products on one machine and one product on the other, and the necessary condition is met, a single operator will not necessarily be able to operate both machines due to overlapping setup times.
Proof. Here is an example of such a situation. Three products must be produced on two machines, where each product needs
for setup. The total setup of the two machines is
, so the first condition that a single operator can operate these two machines is fulfilled. Moreover, the production time of the two products on the first machine are
and the production time of the product on the second machine is
. This example is illustrated in
Figure 3, and it is easy to verify that there is no continuous range on machine 1 with a length of at least 0.330 that enables scheduling the setup of the second machine without setup overlapping. □
3.6. A Heuristic Algorithm for the Assignment of Machines to Operators
The term is an index of the machines and is the number of the product types that were assigned to machine in the previous section.
Step 1: Calculate the value for each machine. This is the total time that machine needs an operator for setup. Since the cycle time is 1, it is also the load caused by machine on the operator.
Step 2: Rank the M machines according to in ascending order. This ranking facilitates assigning more machines to a single operator, assuming a machine that causes a low load is more likely to be adopted by the current operators.
Step 3: Assign the machine that was first ranked to Operator 1. Check if the machine ranked second can also be assigned to Operator 1. If yes, assign this machine to Operator 1; if no, assign this machine to Operator 2.
Step 4: Check if the machine that ranked third can be assigned to Operator 1. If so, assign it to Operator 1 and proceed to assign the next machine. If no, check if it can be assigned to Operator 2; if so, assign it to Operator 2; if not, add an additional operator and assign this machine to a new operator. The procedure for checking whether a single operator can operate a specific group of machines will be presented in the next paragraph.
Step 5: Repeat the process until all the machines have been assigned to an operator. At the end of this step, we get the number of operators and a partition of the M machines among the operators.
Checking whether a single operator can operate a specific group of machines G should be done in the following two steps:
- (1)
The initial and simplest examination is to assess whether an additional machine can be assigned to group G by verifying that the necessary condition is met—specifically, that the total load does not exceed 1, .
- (2)
If the first condition is fulfilled, we propose a mathematical programming formulation (6) to examine whether the addition of another machine to an operator is feasible without setup overlap.
The machine assignment procedure described in
Section 3.4 determined the required number of machines and the internal production schedule for each machine. Based on this assignment, the following additional data can be derived:
—the scheduling of the product that was ranked on machine
—the start time of the setup of the product that was scheduled on a machine
—the completion time of the setup of the product that was scheduled on a machine where
The values of and are computed such:
The setup timing of the product that ranked first on machine is and The setup timing of the second ranked product is and Similarly, and for can be calculated.
To enable a single operator to run multiple machines, ensuring no overlap in the operator’s setup time on two machines (machine interference) is essential. One way to check if overlap can be avoided is to examine whether it is possible to rotate the cycle of the machines like rings. Define:
—a decision variable that represents the rotation angle of the cycle on machine , with the aim of preventing overlap among setups on several machines,
When the cycle on machine is rotated by , the setup timing is also rotated by according to the following formulas: and where mod 1 denotes the fractional part obtained from division by 1.
Here is the mathematical formulation of the problem, considering
G is a subgroup of the
M machines
, where the cycle of each machine
contains
setup segments that may need rotation to avoid overlap:
For any segments,
on machine
use the parameter
to calculate:
For any two segments,
on machine
and
on machine
the
non-overlap constraints are:
The rotation
is a real value between 0 and 1.
End.
If the mathematical programming problem has a feasible solution, a single operator can operate the group of G machines that were examined. If that mathematical programming problem is not feasible, a single operator cannot operate G due to setup overlap. At the end of the process, we get a partition of the M machines among operators.
A flow diagram of Stage 2 of the algorithm, the minimum number of operators required, is illustrated in
Figure 4.
3.7. Theoretical Justification and Computational Efficiency
Given that the real-world case analyzed in this study involves a relatively small instance (17 product types) and that the solution obtained is optimal, we assess the effectiveness of the proposed algorithm through analytical means, focusing on performance and computational complexity.
The first stage, which determines the minimum number of machines, begins with the heuristic FFD, which runs in time and has a well-established performance bound. In our case study, the result obtained by FFD matched the theoretical lower bound, thus proving optimality. In general, if the FFD result does not match the lower bound, an integer linear programming (ILP) model may be used to verify optimality. However, since the BPP is NP-hard, solving its ILP formulation can require exponential time in the worst case and may become computationally impractical for larger instances. In such cases, the FFD solution offers a fast, effective, and practical approximation.
The second stage, which assigns machines to operators while avoiding overlapping setup intervals, is also NP-hard in the general case. The assignment process involves evaluating, for each of the M machines, whether it can be added to one of the existing operator groups without conflicts. This is done by first checking a simple capacity condition and, when needed, solving a small ILP with cyclic non-overlap constraints. In the worst case, up to M ILP problems of size may be solved for each machine (where K is the number of setups per machine and is the size of the operator group), resulting in an overall complexity of . Nevertheless, since most assignments are rejected early via simple feasibility checks and the ILPs involve small groups (typically three to five machines per operator), the algorithm performs efficiently in practice. Suppose an ILP instance fails to solve or becomes too time-consuming. In that case, the algorithm can fall back to the heuristic assignment by simply allocating the machine to the next operator, ensuring progress and maintaining low computational overhead.
Combining both stages, the overall computational complexity of this heuristic algorithm is: . This hybrid approach balances optimality, feasibility, and runtime performance. It is particularly well-suited for real-world manufacturing environments and can be extended in future work to incorporate larger instances or alternative solution techniques.
Although no formal benchmarking has been conducted against metaheuristics in this study, the presented algorithm demonstrates practical efficiency in the real-world case examined. Future research will explore systematic performance comparisons with established heuristics and metaheuristics.
4. A Real Case Study
A factory continuously produces 17 product types . The demand for each product is continuous, and the production is made in batches. The setup time for each product is (about 5.76 h). The setup time is fixed for each type of product and does not depend on the production schedule.
The monthly production rate for each type of product manufactured
was calculated by dividing the number of working hours per machine in 1 cycle (200 working hours in 1 month) by the production time needed to produce one unit in hours, obtained by work-study methods. The demand rate monthly for each type of product
is determined by long-range customers’ orders.
Table 1 presents the monthly production rate and the monthly demand rate for each of the 17 types of products that should be produced. The monthly production time required to produce a batch of each type of product is
(see
Figure 1). In our case,
, so
.
4.1. The Number of Needed Machines
The first step in our model is to calculate the number of machines needed to produce these 17 product types. As proposed, applying the FFD algorithm needs the following steps:
Step 1: Rank the product types in descending order according to (2). The ranking criterion and the ranking are given in
Table 1.
Step 2: Assign the product type that is ranked first to the first machine. In our case, product
that was ranked first was assigned to machine 1, see
Table 2.
Step 3: Try to assign the product type that is ranked second to the first machine. In our case, product
that was ranked second can also be assigned to machine 1,
, see
Table 2.
Step 4: Do step 3, with the necessary adjustments, until all the product types have been assigned to any machine. Similarly, all the product types were assigned, see
Table 2.
Table 2.
Assignment of the 17 product types among the machines.
Table 2.
Assignment of the 17 product types among the machines.
Products | Ranking Criterion | Ranking | M1 | M2 | M3 | M4 | M5 |
---|
| | | | | | | |
1 | 0.4177 | 3 | | 0.4177 | | | |
2 | 0.3742 | 5 | | | 0.3742 | | |
3 | 0.1268 | 14 | | | | | 0.1268 |
4 | 0.3635 | 6 | | | 0.3635 | | |
5 | 0.4878 | 1 | 0.4878 | | | | |
6 | 0.2794 | 8 | | | | 0.2794 | |
7 | 0.2904 | 7 | | | | 0.2904 | |
8 | 0.4609 | 2 | 0.4609 | | | | |
9 | 0.3886 | 4 | | 0.3886 | | | |
10 | 0.0925 | 17 | | | | | 0.0925 |
11 | 0.2364 | 10 | | | 0.2364 | | |
12 | 0.1142 | 15 | | | | | 0.1142 |
13 | 0.1606 | 12 | | 0.1606 | | | |
14 | 0.2337 | 11 | | | | | 0.2337 |
15 | 0.2629 | 9 | | | | 0.2629 | |
16 | 0.1009 | 16 | | | | | 0.1009 |
17 | 0.1439 | 13 | | | | 0.1439 | |
SUM | 4.5344 | | 0.9487 | 0.9670 | 0.9741 | 0.9766 | 0.6681 |
| 2 | 3 | 3 | 4 | 5 |
| 0.0576 | 0.0864 | 0.0864 | 0.1152 | 0.1440 |
Ranking | 1 | 2 | 2 | 4 | 5 |
In our case, the lower bound of the number of machines needed is: . Therefore, our heuristic solution that gives 5 machines is also optimal. i.e., . The internal order of the product type on each machine is preserved to the next step.
4.2. The Number of Needed Operators
We applied the allocation procedure described in
Section 3.5 to determine the number of operators needed. The load imposed by each machine on an operator was calculated as the product of the number of product types assigned to the machine and the fixed setup time per product. These values, representing the total setup time per machine, are presented in
Table 2 and were used to guide the machine-to-operator assignment.
The feasibility of assigning multiple machines to a single operator was evaluated in two steps:
(1) Verifying that the total load for a group of machines does not exceed one unit.
(2) Applying the mathematical programming model (5) to ensure that the sequence of setup and production times across machines does not result in time conflicts (machine interference).
Our analysis indicates that machines 1 through 4 can be assigned to a single operator without violating the total load or setup-time overlap constraints. However, machine 5 must be assigned to a second operator. The mathematical model (5) failed to yield a feasible solution when all five machines were assigned to one operator. Therefore, the result of our algorithm is a solution that requires two operators.
Specifically, Operator 1 is assigned to machines 1–4, and Operator 2 is assigned to machine 5. We note that this solution is not necessarily optimal and is not balanced between the two operators. The heuristic algorithm does not explore all possible assignments; it maintains the original production sequence and does not permit reallocation of slot times to minimize the number of operators further. In addition, the algorithm preserves all idle times at the end of the cycle rather than distributing them throughout the schedule, which may further limit optimization.
The assignments are illustrated in
Figure 5 and
Figure 6 and summarized in
Table 3. These figures confirm the result obtained via mathematical programming: machines 1–4 can be managed by a single operator without overlapping setup times, but adding machine 5 would violate the non-overlap constraint. The doughnut diagram (
Figure 6) illustrates that machine 5’s setup intervals conflict with those of machines 1–4. Thus, a second operator is required.
Table 3 presents the allocation of products to machines and machines to operators, along with the start and end times of each product’s production during a single cycle.
Figure 5 provides a Gantt chart illustrating the production schedule for a representative cycle assigned to the first operator. It shows no overlapping setup times for the twelve products produced on these four machines. The schedule in
Figure 5 can be directly translated into an operational timeline for the operator: starting with the setup of product 2 on machine 3, followed, after 0.1957 of the cycle, by the setup of product 6 on machine 4, and so forth.
The machine utilization rates (excluding setup times) are as follows:
The operators’ workload is:
Figure 6 illustrates the allocation of machines 1–5 to operators using a donut chart. The red segments represent setup times, the yellow segments indicate idle times, and the blue/gray segments denote production times. It is clearly visible that the setup times for machine 5 overlap with those of machines 1–4, reinforcing the conclusion that a second operator is required. This visual evidence complements the results of the mathematical programming model and enhances the transparency of the operator assignment decision.
4.3. The Number of Required Operators
We applied the allocation procedure described in
Section 3.5 to determine the number of operators needed. The load imposed by each machine on an operator was calculated as the product of the number of product types assigned to the machine and the fixed setup time per product. These values, representing the total setup time per machine, are presented in
Table 2 and were used to guide the machine-to-operator assignment. The feasibility of assigning multiple machines to a single operator was explained in
Section 4.2.
Our analysis indicates that machines 1 through 4 can be assigned to a single operator without violating either the total load constraint or setup-time overlap constraints. However, machine 5 must be assigned to a second operator. The mathematical model (5) failed to yield a feasible solution when all five machines were assigned to one operator. Therefore, the result of our algorithm is a solution that requires two operators.
Specifically, Operator 1 is assigned to machines 1–4, and Operator 2 is assigned to machine 5. We note that this solution is not necessarily optimal and is not balanced between the two operators. The heuristic algorithm does not explore all possible assignments; it maintains the original production sequence and does not permit reallocation of slot times to further minimize the number of operators. In addition, the algorithm preserves all idle times at the end of the cycle rather than distributing them throughout the schedule, which may further limit optimization.
5. Summary of Conclusions and Future Research
This study examined a manufacturing scenario with multiple product types, each with a different production rate and a predetermined, cyclical demand. All the products can be produced using identical machines operated by several operators. Each machine can produce any product, and changing between product types requires an operator’s fixed time for a setup process. The goal is to determine the minimum number of machines and operators needed to meet production requirements while ensuring that all product types are produced in every cycle. The problem is classified as NP-hard because it is analogous to the BPP with conflicts.
To tackle this challenge, we developed a two-stage algorithm. In the first stage, the algorithm identifies the minimum number of machines needed to meet production requirements and creates a production schedule for each machine. This process includes determining the order in which different product types will be produced on each machine, utilizing a well-known heuristic algorithm. In the second stage, the algorithm calculates the number of operators required to carry out the setup processes defined in the first stage. This stage is also addressed using heuristic methods. We examined both the upper and lower bounds to evaluate the quality of the solution and assess its potential optimality.
The algorithm was validated using a real-world test case. In the first stage, the heuristic algorithm identified the optimal number of machines needed. The second stage presented some complexity, as it is a special case of the BPP problem with constraints. We illustrate the solution to the second-stage problem using rings to demonstrate that overlapping is prevented.
The model provides practical tools for industrial managers seeking to reduce costs and optimize production under resource constraints. Its adaptability to various manufacturing contexts, including industries facing high product variety and cost pressures, highlights its strategic value. Although this study focuses on a manufacturing system, the model can also be applied to other contexts.
Limitations and Future Research
Although the proposed algorithm yields promising results and demonstrates practical applicability, it has several limitations. It is a heuristic approach that does not guarantee optimal solutions in all instances. Additionally, it assumes a fixed production sequence and does not allow for the reallocation of idle time, which may reduce its flexibility in more dynamic or uncertain production environments.
Future research should aim to enhance the algorithm’s adaptability and performance by exploring hybrid metaheuristic approaches or integrating dynamic scheduling capabilities. Another direction involves applying the model in scenarios where production quantities are optimized based on trade-offs among inventory holding costs, setup costs, and limited storage capacity. Moreover, extending the model to non-manufacturing domains—such as healthcare, logistics, and services—could further validate its versatility and broaden its impact. These efforts would contribute to developing a more robust and generalizable framework for resource optimization in cyclic systems.