In the modern manufacturing landscape, the sand casting industry faces significant challenges in optimizing production processes, particularly in post-casting operations such as grinding. As a key step in finishing sand casting parts, grinding ensures surface quality and dimensional accuracy, but it is often plagued by inefficiencies due to manual scheduling. Traditional approaches lead to unbalanced task分配, accumulation of sand casting parts at certain workers, and poor resource utilization. To address this, I propose an enhanced scheduling framework based on an improved artificial bee colony algorithm, tailored for the parallel machine scheduling problem in grinding processes for sand casting parts. This article delves into the mathematical modeling, algorithmic improvements, and empirical validation of this approach, aiming to provide a robust solution for foundries operating in multi-variety, small-batch environments.
The grinding process in sand casting involves removing excess material and smoothing surfaces of sand casting parts to meet specified roughness requirements. Each sand casting part varies in weight, material, surface finish demands, and other factors, making the scheduling problem complex. Typically, workers with different skill levels handle these tasks, and the goal is to allocate sand casting parts to workers efficiently to minimize disparities in workload and task counts. This scenario fits the unrelated parallel machine scheduling paradigm, where each job (i.e., sand casting part) can be processed by any machine (i.e., worker) but with varying effectiveness based on constraints. The core issue is to assign sand casting parts to workers while considering multiple objectives and real-world limitations.

To formalize the problem, I first define a grinding coefficient for each sand casting part, which quantifies the effort and difficulty based on key attributes. Let $F_j$ represent the grinding coefficient for part $j$, calculated as:
$$F_j = F_w \times F_r \times F_m \times F_p$$
where $F_w$ is the weight coefficient, $F_r$ is the surface roughness coefficient, $F_m$ is the material coefficient, and $F_p$ is the pickling coefficient. This coefficient serves as a proxy for the workload, allowing for a standardized measure across diverse sand casting parts. The classification of sand casting parts into categories (e.g., A, B, C, D based on surface roughness) and workers into skill groups (e.g., high-skill H and low-skill L) adds layers of complexity, as higher-category sand casting parts may require specific worker skills.
The scheduling model aims to minimize two primary objectives: the variance in total grinding coefficients among workers and the variance in the number of sand casting parts assigned to each worker. This dual focus ensures both workload balance and equitable task distribution, preventing bottlenecks where sand casting parts pile up at certain stations. The mathematical formulation is as follows. Define parameters: $m$ workers, $n$ sand casting parts, $F_i$ as the cumulative grinding coefficient sum for worker $i$, $S_i$ as the number of unfinished tasks for worker $i$, and $G_{ij}$ as the decision variable where $G_{ij} = 1$ if part $j$ is assigned to worker $i$, and 0 otherwise. The objectives are combined into a single function:
$$f = T_1 \cdot \sqrt{\frac{1}{m} \sum_{i=1}^{m} \left(F_i – \bar{F}\right)^2} + T_2 \cdot \sqrt{\frac{1}{m} \sum_{i=1}^{m} \left(S_i – \bar{S}\right)^2}$$
where $\bar{F} = \frac{1}{m} \sum_{i=1}^{m} F_i$ and $\bar{S} = \frac{1}{m} \sum_{i=1}^{m} S_i$ are the averages, and $T_1$ and $T_2$ are weighting factors (e.g., $T_1=0.7$, $T_2=0.3$). The constraints include:
$$\sum_{i=1}^{m} G_{ij} = 1 \quad \forall j = 1,\dots,n$$
ensuring each sand casting part is assigned to exactly one worker, along with limits on cumulative tasks and weights per worker, such as $S_i \leq 25$ and $E_i \leq 8000$ for unfinished tasks, and monthly limits like $S_{c_i} \leq 100$ and $E_{c_i} \leq 30000$. These constraints reflect practical capacities in handling sand casting parts.
To solve this model, I developed an Improved Discrete Artificial Bee Colony Algorithm (IDABC), which adapts the standard ABC for discrete optimization. The algorithm involves four key enhancements: discrete encoding of sand casting part sequences, a heuristic decoding rule for task assignment, a crossover operator that prevents inbreeding, and a scout bee phase embedded with tabu search. Below, I outline these components in detail.
The encoding scheme represents a solution as a permutation of sand casting part indices. For example, with 10 sand casting parts, a candidate solution might be [2, 6, 1, 3, 7, 4, 8, 9, 5, 10], where the order dictates priority in assignment. During decoding, I use a heuristic that assigns each sand casting part to the worker with the smallest cumulative grinding coefficient sum, while respecting skill constraints (e.g., D-category sand casting parts only to high-skill workers). This approach promotes balance from the outset.
The fitness function is the inverse of the objective $f$, as we aim to minimize $f$. Thus:
$$\text{fitness} = \frac{1}{f}$$
This encourages solutions with lower disparities in grinding coefficients and task counts among workers handling sand casting parts.
In the employed bee phase, I introduce a crossover operator inspired by genetic algorithms. Two solutions are selected for crossover only if their fitness difference exceeds a threshold, avoiding “inbreeding” that stagnates search. The crossover uses two-point order crossover (TP), which preserves permutation validity. For instance, given parent solutions, segments are exchanged and repaired to maintain unique sand casting part indices. This diversifies the population.
The onlooker bee phase employs roulette wheel selection based on fitness probabilities. Selected solutions undergo mutation with equal chance from three operators: swap (exchanging two positions), inversion (reversing a subsequence), and insertion (moving an element). These mutations explore the neighborhood effectively for sand casting part sequences.
For the scout bee phase, instead of random reinitialization, I embed a tabu search when a solution hasn’t improved for a limit (e.g., 10 iterations). The current solution serves as the initial point for tabu search, which performs local moves (e.g., swaps) and maintains a tabu list to avoid cycles. This enhances local exploitation while maintaining diversity.
To validate the algorithm, I conducted simulation experiments using synthetic data mimicking real-world sand casting parts. Five datasets of varying sizes were generated, as summarized in Table 1, representing different scales of sand casting part batches.
| Dataset | Number of Sand Casting Parts | Surface Roughness Category | Eligible Worker Groups |
|---|---|---|---|
| p1 | 10 | D | High-skill only |
| p2 | 20 | C | All workers |
| p3 | 30 | B | All workers |
| p4 | 40 | A | All workers |
| p5 | 50 | A | All workers |
The algorithm parameters were set as: population size NP=60, maximum iterations IG=100, and limit LIMIT=10. Each dataset was solved 10 times independently using IDABC, standard ABC, and a genetic algorithm (GA) for comparison. The results, shown in Table 2, include average fitness (Avg.), standard deviation (Std.), and average runtime (Tavg). Fitness here is the objective value $f$ (lower is better).
| Dataset | Algorithm | Avg. Fitness | Std. | Tavg (seconds) |
|---|---|---|---|---|
| p1 | GA | 0.9151 | 0.0038 | 1.6271 |
| ABC | 0.9142 | 0.0007 | 1.6372 | |
| IDABC | 0.9164 | 0.0009 | 1.6932 | |
| p2 | GA | 1.5771 | 0.0821 | 1.7024 |
| ABC | 1.5817 | 0.0792 | 1.9023 | |
| IDABC | 1.6033 | 0.0737 | 1.8073 | |
| p3 | GA | 2.0395 | 0.2466 | 1.8321 |
| ABC | 2.2192 | 0.2713 | 1.8143 | |
| IDABC | 2.2963 | 0.1882 | 1.7490 | |
| p4 | GA | 2.8427 | 0.5132 | 2.4157 |
| ABC | 2.8321 | 0.5462 | 2.4257 | |
| IDABC | 3.2362 | 0.5308 | 2.3252 | |
| p5 | GA | 3.1305 | 0.6924 | 1.9714 |
| ABC | 3.5675 | 0.7113 | 1.8831 | |
| IDABC | 3.9781 | 0.4944 | 1.8031 |
From Table 2, IDABC shows competitive or superior performance as dataset size increases. For larger sets like p5, IDABC achieves a lower standard deviation, indicating better stability in scheduling sand casting parts. The convergence behavior, plotted over iterations, demonstrates that IDABC reaches near-optimal solutions within 30 iterations, leveraging its heuristic decoding and tabu search enhancements. This efficiency is crucial for real-time scheduling of sand casting parts.
To further assess practical utility, I applied the IDABC-assisted scheduling to a real foundry environment over one month. The company typically uses manual scheduling for its sand casting parts grinding, leading to imbalances. Key statistics are in Table 3.
| Metric | Value |
|---|---|
| Total Workers | 14 |
| High-skill Workers | 5 |
| Total Sand Casting Parts | 543 |
| High-requirement Sand Casting Parts (Category D) | 237 |
The scheduling outcomes were compared between manual and IDABC methods, focusing on key metrics: standard deviation of grinding coefficient sums, standard deviation of part counts, maximum backlog of sand casting parts per worker, and the maximum proportion of low-requirement sand casting parts assigned to high-skill workers. Results in Table 4 highlight improvements.
| Metric | Manual Scheduling | IDABC-assisted Scheduling |
|---|---|---|
| Std. Dev. of Grinding Coefficient Sums | 12.45 | 8.92 |
| Std. Dev. of Part Counts | 5.67 | 3.21 |
| Max Backlog of Sand Casting Parts | 18 | 10 |
| Max Proportion of Low-requirement Parts to High-skill Workers | 0.65 | 0.42 |
The IDABC approach reduces disparities, minimizes backlog of sand casting parts, and better matches part requirements with worker skills. For instance, the lower proportion of low-requirement sand casting parts assigned to high-skill workers indicates more efficient resource use. This validates the model’s effectiveness in real-world handling of sand casting parts.
The mathematical underpinnings of the grinding coefficient can be expanded. Let’s define the coefficients more precisely. Suppose the weight coefficient $F_w$ is derived from the part weight $W_j$ (in kg) using a scaling function, e.g., $F_w = \alpha \cdot \log(W_j + 1)$ for normalization. The surface roughness coefficient $F_r$ might be categorical: for categories A, B, C, D, assign values 1.0, 1.5, 2.0, 3.0 respectively, reflecting increasing difficulty. Similarly, material coefficient $F_m$ could be 1.0 for cast iron, 1.2 for steel, and 1.5 for alloys, while pickling coefficient $F_p$ is 1.0 if no pickling, 1.1 if required. Thus, the grinding coefficient for a sand casting part becomes:
$$F_j = (\alpha \cdot \log(W_j + 1)) \times F_r \times F_m \times F_p$$
This formula encapsulates the multifaceted nature of sand casting parts grinding effort.
In the algorithm, the heuristic decoding rule is critical. For a sequence of sand casting parts, assignment proceeds iteratively. Let $C_i$ be the cumulative grinding coefficient for worker $i$, initialized to their backlog. For each part $j$ in sequence, find the set of eligible workers $E_j$ (based on skill and constraints). Then, assign $j$ to worker $i^* = \arg\min_{i \in E_j} C_i$, and update $C_{i^*} = C_{i^*} + F_j$. This greedy strategy tends to balance loads early, especially when scheduling numerous sand casting parts.
The crossover operator in IDABC ensures diversity. Given two parent sequences $P1$ and $P2$, compute their fitness difference $\Delta = |fitness(P1) – fitness(P2)|$. If $\Delta > \theta$ (e.g., $\theta = 0.1$), perform two-point crossover: select random cut points, exchange subsequences, and repair to avoid duplicates by replacing repeated sand casting part indices with missing ones from the other parent. This mimics biological evolution while preventing similarity collapse.
Mutation operators for sand casting part sequences include: Swap (randomly exchange two positions), Inversion (reverse a contiguous subsequence), and Insertion (move a part to a random new position). Each is applied with probability $1/3$ during the onlooker phase, ensuring broad exploration of the solution space for sand casting parts scheduling.
Tabu search in the scout phase uses a short-term memory list to forbid recently visited moves. For a solution representing a sequence of sand casting parts, a move is defined as swapping two parts. The tabu list stores these swaps for $L$ iterations (e.g., $L=5$). The search evaluates neighbors, selects the best non-tabu move, and updates the solution. This intensifies local search around promising areas, crucial for refining assignments of sand casting parts.
Additional experiments were conducted to sensitivity analysis of weighting factors $T_1$ and $T_2$. Table 5 shows how varying these weights affects scheduling outcomes for a dataset of 30 sand casting parts.
| Weight Combination (T1, T2) | Avg. Fitness | Std. Dev. of Coefficient Sums | Std. Dev. of Part Counts |
|---|---|---|---|
| (0.9, 0.1) | 2.45 | 7.89 | 4.56 |
| (0.7, 0.3) | 2.30 | 8.12 | 3.21 |
| (0.5, 0.5) | 2.67 | 9.34 | 2.98 |
| (0.3, 0.7) | 2.89 | 10.45 | 2.45 |
Balancing the weights allows trade-offs: higher $T_1$ prioritizes grinding coefficient balance, while higher $T_2$ emphasizes task count equity. For sand casting parts, a balance around (0.7, 0.3) often yields good overall performance, as seen in earlier results.
The algorithm’s scalability was tested on larger datasets of sand casting parts, up to 200 parts. Runtime scales approximately linearly with $n$, as the decoding heuristic is $O(n \cdot m)$, and the population-based search maintains efficiency. This makes IDABC suitable for dynamic scheduling where new sand casting parts arrive frequently.
In practice, the scheduling system can integrate with enterprise resource planning (ERP) systems. When a batch of sand casting parts completes casting, their attributes are input to calculate grinding coefficients, and IDABC generates an assignment plan. Workers receive tasks via digital interfaces, reducing manual intervention. This aligns with Industry 4.0 trends for smart manufacturing of sand casting parts.
Future work could extend the model to include more real-world factors. For instance, learning effects where workers become faster with similar sand casting parts, or fatigue effects that reduce efficiency over time. These can be incorporated by modifying the grinding coefficient dynamically based on historical data. Another direction is multi-objective optimization using Pareto fronts to handle conflicting goals directly. Additionally, hybridizing IDABC with other metaheuristics like particle swarm optimization could further enhance performance for complex sand casting parts scheduling scenarios.
In conclusion, the improved artificial bee colony algorithm offers a robust solution for parallel machine scheduling in sand casting parts grinding. By leveraging discrete encoding, heuristic decoding, and tabu search enhancements, it effectively balances workloads and reduces backlogs. Simulation and real-world validation confirm its superiority over traditional methods. As the sand casting industry moves towards digital transformation, such algorithmic approaches pave the way for more efficient and equitable production of high-quality sand casting parts.
